From c202d8d535bc76c49213d227ae297fb9d9638538 Mon Sep 17 00:00:00 2001 From: Dean Smart Date: Wed, 27 Nov 2024 09:29:29 +0000 Subject: [PATCH 001/167] updated module files to align with other better checkout modules --- README.md | 27 +++++++++++++++- assets/logo.svg | 32 +++++++++++++++++++ composer.json | 3 +- view/frontend/web/js/checkout/.eslintrc.cjs | 2 ++ .../ExpressPayments/ApplePay/ApplePay.min.js | 2 +- .../GooglePay/GooglePay.min.js | 7 +++- .../ExpressPayments/PayPal/PayPal.min.js | 2 +- .../runtime-core.esm-bundler-BkTYBQhz.min.js | 17 ++++++++++ .../web/js/checkout/package-lock.json | 11 +++---- view/frontend/web/js/checkout/package.json | 18 +++++------ .../frontend/web/js/checkout/rollup.config.js | 5 ++- 11 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 assets/logo.svg create mode 100644 view/frontend/web/js/checkout/dist/runtime-core.esm-bundler-BkTYBQhz.min.js diff --git a/README.md b/README.md index 25dab4d..cbb5645 100644 --- a/README.md +++ b/README.md @@ -1 +1,26 @@ -Gene Better Checkout Module - PPCP Extension \ No newline at end of file +![Better Checkout Powered by GENE](./assets/logo.svg) + +# Better Checkout PPCP Module + +## Requirements + +- Magento 2.4.6 or higher +- Node 16 or higher (for development purposes only) +- Latest version of Gene Better Checkout + +## Installation + +Ensure you have installed the latest version of Gene Better Checkout, which can be found here, [Gene Better Checkout](https://github.com/genecommerce/module-better-checkout). + +To install the Better Checkout PPCP module, run the following command in your Magento 2 root directory: + +``` composer require gene/module-better-checkout-ppcp:^1.0 ``` + +Better Checkout PPCP follows the standard installation process for Adobe Commerce. + +For information about a module installation in Adobe Commerce, see [Enable or disable modules](https://experienceleague.adobe.com/en/docs/commerce-operations/installation-guide/tutorials/manage-modules). + +Remember to clear any appropriate caches. + +Once installed the module follows the same configuration settings as prescribed by the official rvvup integration documentation, see [PPCP for Magento](https://commercemarketplace.adobe.com/media/catalog/product/paypal-module-ppcp-1-0-0-ece/user_guides.pdf?1732699597). + diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..a613a2b --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/composer.json b/composer.json index 4f43bff..7e61535 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,8 @@ } }, "require": { - "magento/framework": "*" + "magento/framework": "*", + "gene/module-better-checkout": "^1.0" }, "require-dev": { "bitexpert/phpstan-magento": "^0.27", diff --git a/view/frontend/web/js/checkout/.eslintrc.cjs b/view/frontend/web/js/checkout/.eslintrc.cjs index 99a8d58..75047a5 100644 --- a/view/frontend/web/js/checkout/.eslintrc.cjs +++ b/view/frontend/web/js/checkout/.eslintrc.cjs @@ -13,8 +13,10 @@ module.exports = { rules: { 'import/no-cycle': [0], 'max-len': ['error', { code: 120, ignorePattern: 'd="([\\s\\S]*?)"' }], + 'no-async-promise-executor': [0], 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], 'no-underscore-dangle': [0], + 'vue/max-len': ['error', { code: 120, ignorePattern: 'd="([\\s\\S]*?)"' }], 'vue/multi-word-component-names': [0], }, }; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js index ede287a..1013734 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js @@ -1 +1 @@ -import{c as e,o as p}from"../../../runtime-core.esm-bundler-YEfPgpQK.min.js";var n={name:"PpcpApplePay",mounted(){console.log("PpcpApplePay")}};n.render=function(n,r,s,a,l,o){return p(),e("p",null,"Express PpcpApplePay")},n.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{n as default}; +import{c as e,o as p}from"../../../runtime-core.esm-bundler-BkTYBQhz.min.js";var n={name:"PpcpApplePay",mounted(){console.log("PpcpApplePay")}};n.render=function(n,r,s,a,l,o){return p(),e("p",null,"Express PpcpApplePay")},n.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{n as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js index d428e84..f647477 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js @@ -1 +1,6 @@ -import{c as e,o}from"../../../runtime-core.esm-bundler-YEfPgpQK.min.js";var n={name:"PpcpGooglePay",mounted(){console.log("google pay")}};n.render=function(n,r,s,a,l,p){return o(),e("p",null,"Express googlepay")},n.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{n as default}; +import{h as e,i as t,r as a,w as n,a as o,m as p,e as r,b as s,d as i,t as c,n as l,g as _,f as d,j as u,k as y,c as h,l as g,o as m}from"../../../runtime-core.esm-bundler-BkTYBQhz.min.js"; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let v;const P=e=>v=e,b=Symbol();function f(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var C;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(C||(C={}));const A="undefined"!=typeof window,S="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&A,w=()=>{};function I(e,t,a,n=w){e.push(t);const o=()=>{const a=e.indexOf(t);a>-1&&(e.splice(a,1),n())};return!a&&_()&&d(o),o}function O(e,...t){e.slice().forEach((e=>{e(...t)}))}const M=e=>e();function L(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,a)=>e.set(a,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const a in t){if(!t.hasOwnProperty(a))continue;const n=t[a],o=e[a];f(o)&&f(n)&&e.hasOwnProperty(a)&&!s(n)&&!i(n)?e[a]=L(o,n):e[a]=n}return e}const N=Symbol();const{assign:k}=Object;function D(e,t,_={},d,u,y){let h;const g=k({actions:{}},_),m={deep:!0};let v,b,A,D=[],E=[];const T=d.state.value[e];y||T||(d.state.value[e]={});const x=a({});let $;function j(t){let a;v=b=!1,"function"==typeof t?(t(d.state.value[e]),a={type:C.patchFunction,storeId:e,events:A}):(L(d.state.value[e],t),a={type:C.patchObject,payload:t,storeId:e,events:A});const n=$=Symbol();l().then((()=>{$===n&&(v=!0)})),b=!0,O(D,a,d.state.value[e])}const R=y?function(){const{state:e}=_,t=e?e():{};this.$patch((e=>{k(e,t)}))}:w;function V(t,a){return function(){P(d);const n=Array.from(arguments),o=[],p=[];let r;O(E,{args:n,name:t,store:q,after:function(e){o.push(e)},onError:function(e){p.push(e)}});try{r=a.apply(this&&this.$id===e?this:q,n)}catch(e){throw O(p,e),e}return r instanceof Promise?r.then((e=>(O(o,e),e))).catch((e=>(O(p,e),Promise.reject(e)))):(O(o,r),r)}}const G=p({actions:{},getters:{},state:[],hotState:x}),U={_p:d,$id:e,$onAction:I.bind(null,E),$patch:j,$reset:R,$subscribe(t,a={}){const o=I(D,t,a.detached,(()=>p())),p=h.run((()=>n((()=>d.state.value[e]),(n=>{("sync"===a.flush?b:v)&&t({storeId:e,type:C.direct,events:A},n)}),k({},m,a))));return o},$dispose:function(){h.stop(),D=[],E=[],d._s.delete(e)}},q=o(S?k({_hmrPayload:G,_customProperties:p(new Set)},U):U);d._s.set(e,q);const F=(d._a&&d._a.runWithContext||M)((()=>d._e.run((()=>(h=r()).run(t)))));for(const t in F){const a=F[t];if(s(a)&&(!s(z=a)||!z.effect)||i(a))y||(!T||f(H=a)&&H.hasOwnProperty(N)||(s(a)?a.value=T[t]:L(a,T[t])),d.state.value[e][t]=a);else if("function"==typeof a){const e=V(t,a);F[t]=e,g.actions[t]=a}}var H,z;if(k(q,F),k(c(q),F),Object.defineProperty(q,"$state",{get:()=>d.state.value[e],set:e=>{j((t=>{k(t,e)}))}}),S){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(q,t,k({value:q[t]},e))}))}return d._p.forEach((e=>{if(S){const t=h.run((()=>e({store:q,app:d._a,pinia:d,options:g})));Object.keys(t||{}).forEach((e=>q._customProperties.add(e))),k(q,t)}else k(q,h.run((()=>e({store:q,app:d._a,pinia:d,options:g}))))})),T&&y&&_.hydrate&&_.hydrate(q.$state,T),v=!0,b=!0,q}var E,T,x=function(a,n,o){let r,s;const i="function"==typeof n;function c(a,o){const c=e();(a=a||(c?t(b,null):null))&&P(a),(a=v)._s.has(r)||(i?D(r,n,s,a):function(e,t,a){const{state:n,actions:o,getters:r}=t,s=a.state.value[e];let i;i=D(e,(function(){s||(a.state.value[e]=n?n():{});const t=u(a.state.value[e]);return k(t,o,Object.keys(r||{}).reduce(((t,n)=>(t[n]=p(y((()=>{P(a);const t=a._s.get(e);return r[n].call(t,t)}))),t)),{}))}),t,a,0,!0)}(r,s,a));return a._s.get(r)}return"string"==typeof a?(r=a,s=i?o:n):(s=a,r=a.id),c.$id=r,c}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null}}),getters:{selectedVaultMethod:e=>[]},actions:{setData(e){this.$patch(e)},getInitialConfigValues:()=>"\n storeConfig {\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n \n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n \n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n \n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n \n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n \n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n ",handleInitialConfig({storeConfig:e}){e&&this.setData({environment:e.ppcp_environment,isPPCPenabled:e.ppcp_active,sandboxClientId:e.ppcp_sandbox_client_id,productionClientId:e.ppcp_client_id_production,buyerCountry:e.ppcp_buyer_country,card:{enabled:e.ppcp_card_active,vaultActive:e.ppcp_card_vault_active,title:e.ppcp_card_title,paymentAction:e.ppcp_card_payment_action,threeDSecureStatus:e.ppcp_card_three_d_secure,sortOrder:e.ppcp_card_sort_order},google:{buttonColor:e.ppcp_googlepay_button_colour,enabled:e.ppcp_googlepay_active,paymentAction:e.ppcp_googlepay_payment_action,sortOrder:e.ppcp_googlepay_sort_order,title:e.ppcp_googlepay_title},apple:{merchantName:e.ppcp_applepay_merchant_name,enabled:e.ppcp_applepay_active,paymentAction:e.ppcp_applepay_payment_action,sortOrder:e.ppcp_applepay_sort_order,title:e.ppcp_applepay_title},venmo:{vaultActive:e.ppcp_venmo_payment_action,enabled:e.ppcp_venmo_active,paymentAction:e.ppcp_venmo_payment_action,sortOrder:e.ppcp_venmo_sort_order,title:e.ppcp_venmo_title},apm:{enabled:e.ppcp_apm_active,title:e.ppcp_apm_title,sortOrder:e.ppcp_apm_allowed_methods,allowedPayments:e.ppcp_apm_sort_order},paypal:{enabled:e.ppcp_paypal_active,vaultActive:e.ppcp_paypal_vault_active,title:e.ppcp_paypal_title,paymentAction:e.ppcp_paypal_payment_action,requireBillingAddress:e.ppcp_paypal_require_billing_address,sortOrder:e.ppcp_paypal_sort_order,buttonLabel:e.ppcp_paypal_button_paypal_label,buttonColor:e.ppcp_paypal_button_paypal_color,buttonShape:e.ppcp_paypal_button_paypal_shape,payLaterActive:e.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:e.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:e.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:e.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:e.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:e.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:e.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:e.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:e.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:e.ppcp_paypal_paylater_message_text_align}})},async createClientToken(){},setClientInstance(e){this.setData({clientInstance:e})},setThreeDSInstance(e){this.setData({threeDSecureInstance:e})},setErrorMessage(e){this.setData({errorMessage:e})},clearErrorMessage(){this.setData({errorMessage:null})},escapeNonAsciiCharacters:e=>e.split("").map((e=>/[^\x00-\x7F]$/.test(e)?e:e.split("").map((e=>`\\u00${e.charCodeAt().toString(16)}`)).join(""))).join(""),async getVaultedMethods(){},selectVaultedMethod(e){this.unselectVaultedMethods(),this.setData({vaultedMethods:{[e.publicHash]:{selected:!0}}})},mapCartTypes(e){switch(e){case"AE":return"american-express";case"DI":return"discover";case"DN":return"diners-club";case"JCB":return"jcb";case"MC":return"master-card";case"MI":return"maestro";case"UPD":return"unionpay";case"VI":return"visa";default:return""}},unselectVaultedMethods(){Object.keys(this.vaultedMethods).forEach((e=>{this.setData({vaultedMethods:{[e]:{selected:!1}}})}))},getCachedResponse(e,t,a={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const n=e(a);return this.$patch({cache:{[t]:n}}),n},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}}),$={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",instance:null,googleClient:null,googlePaymentInstance:null,googlePayLoaded:!1,key:"ppcpGooglePay",method:"ppcp_googlepay"}),computed:{...(E=x,T=[],Array.isArray(T)?T.reduce(((e,t)=>(e[t]=function(){return E(this.$pinia)[t]},e)),{}):Object.keys(T).reduce(((e,t)=>(e[t]=function(){const e=E(this.$pinia),a=T[t];return"function"==typeof a?a.call(this,e):e[a]},e)),{}))},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();const n=t.availableMethods.find((e=>e.code===this.method));if(!n)return t.removeExpressMethod(this.key),void(this.googlePayLoaded=!0);await this.createClientToken(),this.googleClient=p(new window.google.payments.api.PaymentsClient({environment:"sandbox"===this.environment?"TEST":"PRODUCTION",paymentDataCallbacks:{...e.cart.is_virtual?{}:{onPaymentDataChanged:this.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized}})),this.instance=await p(braintree.client.create({authorization:this.clientToken})),braintree.googlePayment.create({client:this.instance,googlePayVersion:2},((e,t)=>{this.googlePaymentInstance=p(t),this.googleClient.isReadyToPay({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:t.createPaymentDataRequest().allowedPaymentMethods,existingPaymentMethodRequired:!0}).then((async e=>{if(e){const e=this.googleClient.createButton({buttonColor:this.google.buttonColor,buttonType:"buy",buttonSizeMode:"fill",onClick:()=>this.onClick(n.code)});this.$refs.braintreeGooglePay.append(e),this.googlePayLoaded=!0}}))}))},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...function(e,t){return Array.isArray(t)?t.reduce(((t,a)=>(t[a]=function(...t){return e(this.$pinia)[a](...t)},t)),{}):Object.keys(t).reduce(((a,n)=>(a[n]=function(...a){return e(this.$pinia)[t[n]](...a)},a)),{})}(x,["createClientToken"]),async onClick(e){const[t,a,n,o,p,r,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useCustomerStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);s.setErrorMessage("");if(!t.validateAgreements())return!1;r.setNotClickAndCollect();const i=["PAYMENT_AUTHORIZATION"];a.cart.is_virtual||i.push("SHIPPING_ADDRESS","SHIPPING_OPTION");const c={transactionInfo:{countryCode:n.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(a.cartGrandTotal/100).toString()},emailRequired:!0,shippingAddressRequired:!a.cart.is_virtual,shippingAddressParameters:{phoneNumberRequired:!a.cart.is_virtual},shippingOptionRequired:!a.cart.is_virtual,callbackIntents:i};"sandbox"!==this.environment&&(c.merchantInfo={merchantId:this.google.merchantId});const l=this.googlePaymentInstance.createPaymentDataRequest(c),_=l.allowedPaymentMethods[0];return _.parameters.billingAddressRequired=!0,_.parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:!0},window.geneCheckout.helpers.expressPaymentOnClickDataLayer(e),o.setLoadingState(!0),this.googleClient.loadPaymentData(l).then(this.makePayment).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){p.createNewAddress("shipping"),s.setErrorMessage(e)}}))},getGooglePayMethod:e=>e.paymentMethods.find((({type:e})=>"paywithgoogle"===e||"googlepay")),async onPaymentDataChanged(e){const[t,a,n,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((p=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async r=>{const s=r.shipping_addresses[0].available_shipping_methods,i=s.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)} ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!i.length)return void p({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?s[0]:s.find((({method_code:t})=>t===e.shippingOptionData.id))||s[0];await o.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0);const l={newShippingOptionParameters:{defaultSelectedOptionId:c.method_code,shippingOptions:i},newTransactionInfo:{displayItems:[{label:"Shipping",type:"LINE_ITEM",price:t.cart.shipping_addresses[0].selected_shipping_method.amount.value.toString(),status:"FINAL"}],currencyCode:t.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:t.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:a.countryCode}};p(l)}))}))},async onPaymentAuthorized(e){const[t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const{androidPayCards:n}=JSON.parse(e.paymentMethodData.tokenizationData.token);if(!n?.[0]?.nonce||!n?.[0]?.details?.bin)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"Unable to validate payment. Please try again with another payment method.",intent:"SHIPPING_OPTION"}});const{email:o}=e,{billingAddress:p}=e.paymentMethodData.info,{phoneNumber:r}=p,s=this.mapAddress(p,o,r);let i=null;if(!t.cart.is_virtual){const{shippingAddress:t}=e,{phoneNumber:a}=t;i=this.mapAddress(t,o,a)}try{window.geneCheckout.services.setAddressesOnCart(i,s,o).then((()=>{a({transactionState:"SUCCESS"})}))}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},makePayment(e){const t={email:e.email,paymentMethod:{method:this.method,additional_data:{payment_method_nonce:e.nonce},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPayment(t)},async mapAddress(e,t,a){const[n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[o,...p]=e.name.split(" "),r=n.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:o,lastname:p.length?p.join(" "):"UNKNOWN",city:e.locality,telephone:a,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}}}};$.render=function(e,t,a,n,o,p){return m(),h("div",{id:"ppcp-google-pay",ref:"PPCPGooglePay",class:g(o.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)},$.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{$ as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js index c9d6eed..8d5dd04 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js @@ -1 +1 @@ -import{c as e,o as a}from"../../../runtime-core.esm-bundler-YEfPgpQK.min.js";var n={name:"PpcpPayPal",mounted(){console.log("PpcpPayPal")}};n.render=function(n,r,P,s,l,o){return a(),e("p",null,"Express PpcpPayPal")},n.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{n as default}; +import{c as e,o as a}from"../../../runtime-core.esm-bundler-BkTYBQhz.min.js";var n={name:"PpcpPayPal",mounted(){console.log("PpcpPayPal")}};n.render=function(n,r,P,s,l,o){return a(),e("p",null,"Express PpcpPayPal")},n.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{n as default}; diff --git a/view/frontend/web/js/checkout/dist/runtime-core.esm-bundler-BkTYBQhz.min.js b/view/frontend/web/js/checkout/dist/runtime-core.esm-bundler-BkTYBQhz.min.js new file mode 100644 index 0000000..e0bb824 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/runtime-core.esm-bundler-BkTYBQhz.min.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function t(t,e){const n=new Set(t.split(","));return e?t=>n.has(t.toLowerCase()):t=>n.has(t)}const e={},n=[],s=()=>{},r=t=>111===t.charCodeAt(0)&&110===t.charCodeAt(1)&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),i=Object.assign,o=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},c=Object.prototype.hasOwnProperty,l=(t,e)=>c.call(t,e),u=Array.isArray,a=t=>"[object Map]"===y(t),h=t=>"[object Set]"===y(t),f=t=>"function"==typeof t,d=t=>"string"==typeof t,_=t=>"symbol"==typeof t,p=t=>null!==t&&"object"==typeof t,g=t=>(p(t)||f(t))&&f(t.then)&&f(t.catch),v=Object.prototype.toString,y=t=>v.call(t),w=t=>y(t).slice(8,-1),b=t=>"[object Object]"===y(t),m=t=>d(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,S=(t,e)=>!Object.is(t,e);let k;function x(t){if(u(t)){const e={};for(let n=0;n{if(t){const n=t.split(O);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function C(t){let e="";if(d(t))e=t;else if(u(t))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),$()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=H,e=F;try{return H=!0,F=this,this._runnings++,T(this),this.fn()}finally{z(this),this._runnings--,F=e,H=t}}stop(){var t;this.active&&(T(this),z(this),null==(t=this.onStop)||t.call(this),this.active=!1)}}function N(t){return t.value}function T(t){t._trackId++,t._depsLength=0}function z(t){if(t.deps.length>t._depsLength){for(let e=t._depsLength;e{const n=new Map;return n.cleanup=t,n.computed=e,n},Y=new WeakMap,Z=Symbol(""),tt=Symbol("");function et(t,e,n){if(H&&F){let e=Y.get(t);e||Y.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=X((()=>e.delete(n)))),G(F,s)}}function nt(t,e,n,s,r,i){const o=Y.get(t);if(!o)return;let c=[];if("clear"===e)c=[...o.values()];else if("length"===n&&u(t)){const t=Number(s);o.forEach(((e,n)=>{("length"===n||!_(n)&&n>=t)&&c.push(e)}))}else switch(void 0!==n&&c.push(o.get(n)),e){case"add":u(t)?m(n)&&c.push(o.get("length")):(c.push(o.get(Z)),a(t)&&c.push(o.get(tt)));break;case"delete":u(t)||(c.push(o.get(Z)),a(t)&&c.push(o.get(tt)));break;case"set":a(t)&&c.push(o.get(Z))}q();for(const t of c)t&&Q(t,4);D()}const st=t("__proto__,__v_isRef,__isVue"),rt=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(_)),it=ot();function ot(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Bt(this);for(let t=0,e=this.length;t{t[e]=function(...t){B(),q();const n=Bt(this)[e].apply(this,t);return D(),$(),n}})),t}function ct(t){_(t)||(t=String(t));const e=Bt(this);return et(e,0,t),e.hasOwnProperty(t)}class lt{constructor(t=!1,e=!1){this._isReadonly=t,this._isShallow=e}get(t,e,n){const s=this._isReadonly,r=this._isShallow;if("__v_isReactive"===e)return!s;if("__v_isReadonly"===e)return s;if("__v_isShallow"===e)return r;if("__v_raw"===e)return n===(s?r?Mt:Vt:r?At:It).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=u(t);if(!s){if(i&&l(it,e))return Reflect.get(it,e,n);if("hasOwnProperty"===e)return ct}const o=Reflect.get(t,e,n);return(_(e)?rt.has(e):st(e))?o:(s||et(t,0,e),r?o:Xt(o)?i&&m(e)?o:o.value:p(o)?s?Tt(o):Nt(o):o)}}class ut extends lt{constructor(t=!1){super(!1,t)}set(t,e,n,s){let r=t[e];if(!this._isShallow){const e=Ht(r);if(Kt(n)||Ht(n)||(r=Bt(r),n=Bt(n)),!u(t)&&Xt(r)&&!Xt(n))return!e&&(r.value=n,!0)}const i=u(t)&&m(e)?Number(e)t,_t=t=>Reflect.getPrototypeOf(t);function pt(t,e,n=!1,s=!1){const r=Bt(t=t.__v_raw),i=Bt(e);n||(S(e,i)&&et(r,0,e),et(r,0,i));const{has:o}=_t(r),c=s?dt:n?Dt:qt;return o.call(r,e)?c(t.get(e)):o.call(r,i)?c(t.get(i)):void(t!==r&&t.get(e))}function gt(t,e=!1){const n=this.__v_raw,s=Bt(n),r=Bt(t);return e||(S(t,r)&&et(s,0,t),et(s,0,r)),t===r?n.has(t):n.has(t)||n.has(r)}function vt(t,e=!1){return t=t.__v_raw,!e&&et(Bt(t),0,Z),Reflect.get(t,"size",t)}function yt(t){t=Bt(t);const e=Bt(this);return _t(e).has.call(e,t)||(e.add(t),nt(e,"add",t,t)),this}function wt(t,e){e=Bt(e);const n=Bt(this),{has:s,get:r}=_t(n);let i=s.call(n,t);i||(t=Bt(t),i=s.call(n,t));const o=r.call(n,t);return n.set(t,e),i?S(e,o)&&nt(n,"set",t,e):nt(n,"add",t,e),this}function bt(t){const e=Bt(this),{has:n,get:s}=_t(e);let r=n.call(e,t);r||(t=Bt(t),r=n.call(e,t)),s&&s.call(e,t);const i=e.delete(t);return r&&nt(e,"delete",t,void 0),i}function mt(){const t=Bt(this),e=0!==t.size,n=t.clear();return e&&nt(t,"clear",void 0,void 0),n}function St(t,e){return function(n,s){const r=this,i=r.__v_raw,o=Bt(i),c=e?dt:t?Dt:qt;return!t&&et(o,0,Z),i.forEach(((t,e)=>n.call(s,c(t),c(e),r)))}}function kt(t,e,n){return function(...s){const r=this.__v_raw,i=Bt(r),o=a(i),c="entries"===t||t===Symbol.iterator&&o,l="keys"===t&&o,u=r[t](...s),h=n?dt:e?Dt:qt;return!e&&et(i,0,l?tt:Z),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:c?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function xt(t){return function(...e){return"delete"!==t&&("clear"===t?void 0:this)}}function Rt(){const t={get(t){return pt(this,t)},get size(){return vt(this)},has:gt,add:yt,set:wt,delete:bt,clear:mt,forEach:St(!1,!1)},e={get(t){return pt(this,t,!1,!0)},get size(){return vt(this)},has:gt,add:yt,set:wt,delete:bt,clear:mt,forEach:St(!1,!0)},n={get(t){return pt(this,t,!0)},get size(){return vt(this,!0)},has(t){return gt.call(this,t,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:St(!0,!1)},s={get(t){return pt(this,t,!0,!0)},get size(){return vt(this,!0)},has(t){return gt.call(this,t,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:St(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{t[r]=kt(r,!1,!1),n[r]=kt(r,!0,!1),e[r]=kt(r,!1,!0),s[r]=kt(r,!0,!0)})),[t,n,e,s]}const[Ot,Lt,jt,Ct]=Rt();function Et(t,e){const n=e?t?Ct:jt:t?Lt:Ot;return(e,s,r)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(l(n,s)&&s in e?n:e,s,r)}const Ft={get:Et(!1,!1)},Pt={get:Et(!0,!1)},It=new WeakMap,At=new WeakMap,Vt=new WeakMap,Mt=new WeakMap;function Nt(t){return Ht(t)?t:zt(t,!1,ht,Ft,It)}function Tt(t){return zt(t,!0,ft,Pt,Vt)}function zt(t,e,n,s,r){if(!p(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const i=r.get(t);if(i)return i;const o=(c=t).__v_skip||!Object.isExtensible(c)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(w(c));var c;if(0===o)return t;const l=new Proxy(t,2===o?s:n);return r.set(t,l),l}function Wt(t){return Ht(t)?Wt(t.__v_raw):!(!t||!t.__v_isReactive)}function Ht(t){return!(!t||!t.__v_isReadonly)}function Kt(t){return!(!t||!t.__v_isShallow)}function Ut(t){return!!t&&!!t.__v_raw}function Bt(t){const e=t&&t.__v_raw;return e?Bt(e):t}function $t(t){return Object.isExtensible(t)&&((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t}const qt=t=>p(t)?Nt(t):t,Dt=t=>p(t)?Tt(t):t;class Gt{constructor(t,e,n,s){this.getter=t,this._setter=e,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new M((()=>t(this._value)),(()=>Qt(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Bt(this);return t._cacheable&&!t.effect.dirty||!S(t._value,t._value=t.effect.run())||Qt(t,4),Jt(t),t.effect._dirtyLevel>=2&&Qt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Jt(t){var e;H&&F&&(t=Bt(t),G(F,null!=(e=t.dep)?e:t.dep=X((()=>t.dep=void 0),t instanceof Gt?t:void 0)))}function Qt(t,e=4,n){const s=(t=Bt(t)).dep;s&&Q(s,e)}function Xt(t){return!(!t||!0!==t.__v_isRef)}function Yt(t){return function(t,e){if(Xt(t))return t;return new Zt(t,e)}(t,!1)}class Zt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Bt(t),this._value=e?t:qt(t)}get value(){return Jt(this),this._value}set value(t){const e=this.__v_isShallow||Kt(t)||Ht(t);t=e?t:Bt(t),S(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:qt(t),Qt(this,4))}}function te(t){const e=u(t)?new Array(t.length):{};for(const n in t)e[n]=ne(t,n);return e}class ee{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return t=Bt(this._object),e=this._key,null==(n=Y.get(t))?void 0:n.get(e);var t,e,n}}function ne(t,e,n){const s=t[e];return Xt(s)?s:new ee(t,e,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function se(t,e,n,s){try{return s?t(...s):t()}catch(t){ie(t,e,n)}}function re(t,e,n,s){if(f(t)){const r=se(t,e,n,s);return r&&g(r)&&r.catch((t=>{ie(t,e,n)})),r}if(u(t)){const r=[];for(let i=0;i>>1,r=le[s],i=ye(r);inull==t.id?1/0:t.id,we=(t,e)=>{const n=ye(t)-ye(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function be(t){ce=!1,oe=!0,le.sort(we);try{for(ue=0;ueye(t)-ye(e)));if(ae.length=0,he)return void he.push(...t);for(he=t,fe=0;feEe(xe),Oe={};function Le(t,n,r){return function(t,n,{immediate:r,deep:i,flush:c,once:l,onTrack:a,onTrigger:h}=e){if(n&&l){const t=n;n=(...e)=>{t(...e),L()}}const d=Qe,_=t=>!0===i?t:je(t,!1===i?1:void 0);let p,g,v=!1,y=!1;Xt(t)?(p=()=>t.value,v=Kt(t)):Wt(t)?(p=()=>_(t),v=!0):u(t)?(y=!0,v=t.some((t=>Wt(t)||Kt(t))),p=()=>t.map((t=>Xt(t)?t.value:Wt(t)?_(t):f(t)?se(t,d,2):void 0))):p=f(t)?n?()=>se(t,d,2):()=>(g&&g(),re(t,d,3,[b])):s;if(n&&i){const t=p;p=()=>je(t())}let w,b=t=>{g=R.onStop=()=>{se(t,d,4),g=R.onStop=void 0}};if(Xe){if(b=s,n?r&&re(n,d,3,[p(),y?[]:void 0,b]):p(),"sync"!==c)return s;{const t=Re();w=t.__watcherHandles||(t.__watcherHandles=[])}}let m=y?new Array(t.length).fill(Oe):Oe;const k=()=>{if(R.active&&R.dirty)if(n){const t=R.run();(i||v||(y?t.some(((t,e)=>S(t,m[e]))):S(t,m)))&&(g&&g(),re(n,d,3,[t,m===Oe?void 0:y&&m[0]===Oe?[]:m,b]),m=t)}else R.run()};let x;k.allowRecurse=!!n,"sync"===c?x=k:"post"===c?x=()=>Ae(k,d&&d.suspense):(k.pre=!0,d&&(k.id=d.uid),x=()=>ge(k));const R=new M(p,s,x),O=A(),L=()=>{R.stop(),O&&o(O.effects,R)};n?r?k():m=R.run():"post"===c?Ae(R.run.bind(R),d&&d.suspense):R.run();w&&w.push(L);return L}(t,n,r)}function je(t,e,n=0,s){if(!p(t)||t.__v_skip)return t;if(e&&e>0){if(n>=e)return t;n++}if((s=s||new Set).has(t))return t;if(s.add(t),Xt(t))je(t.value,e,n,s);else if(u(t))for(let r=0;r{je(t,e,n,s)}));else if(b(t))for(const r in t)je(t[r],e,n,s);return t}let Ce=null;function Ee(t,e,n=!1){const s=Qe||me;if(s||Ce){const r=s?null==s.parent?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:Ce._context.provides;if(r&&t in r)return r[t];if(arguments.length>1)return n&&f(e)?e.call(s&&s.proxy):e}}function Fe(){return!!(Qe||me||Ce)}const Pe=Object.create(null),Ie=t=>Object.getPrototypeOf(t)===Pe,Ae=function(t,e){var n;e&&e.pendingBranch?u(t)?e.effects.push(...t):e.effects.push(t):(u(n=t)?ae.push(...n):he&&he.includes(n,n.allowRecurse?fe+1:fe)||ae.push(n),ve())},Ve=Symbol.for("v-fgt"),Me=Symbol.for("v-txt"),Ne=Symbol.for("v-cmt"),Te=[];let ze=null;function We(t=!1){Te.push(ze=t?null:[])}function He(t){return t.dynamicChildren=ze||n,Te.pop(),ze=Te[Te.length-1]||null,ze&&ze.push(t),t}function Ke(t,e,n,s,r,i){return He($e(t,e,n,s,r,i,!0))}const Ue=({key:t})=>null!=t?t:null,Be=({ref:t,ref_key:e,ref_for:n})=>("number"==typeof t&&(t=""+t),null!=t?d(t)||Xt(t)||f(t)?{i:me,r:t,k:e,f:!!n}:t:null);function $e(t,e=null,n=null,s=0,r=null,i=(t===Ve?0:1),o=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ue(e),ref:e&&Be(e),scopeId:Se,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:me};return c?(Je(l,n),128&i&&t.normalize(l)):n&&(l.shapeFlag|=d(n)?8:16),!o&&ze&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&ze.push(l),l}const qe=function(t,e=null,n=null,s=0,r=null,o=!1){t&&t!==ke||(t=Ne);if(c=t,c&&!0===c.__v_isVNode){const s=De(t,e,!0);return n&&Je(s,n),!o&&ze&&(6&s.shapeFlag?ze[ze.indexOf(t)]=s:ze.push(s)),s.patchFlag|=-2,s}var c;(function(t){return f(t)&&"__vccOpts"in t})(t)&&(t=t.__vccOpts);if(e){e=function(t){return t?Ut(t)||Ie(t)?i({},t):t:null}(e);let{class:t,style:n}=e;t&&!d(t)&&(e.class=C(t)),p(n)&&(Ut(n)&&!u(n)&&(n=i({},n)),e.style=x(n))}const l=d(t)?1:(t=>t.__isSuspense)(t)?128:(t=>t.__isTeleport)(t)?64:p(t)?4:f(t)?2:0;return $e(t,e,n,s,r,l,o,!0)};function De(t,e,n=!1){const{props:s,ref:i,patchFlag:o,children:c}=t,l=e?function(...t){const e={};for(let n=0;n{let s;return(s=t[e])||(s=t[e]=[]),s.push(n),t=>{s.length>1?s.forEach((e=>e(t))):s[0](t)}};e("__VUE_INSTANCE_SETTERS__",(t=>Qe=t)),e("__VUE_SSR_SETTERS__",(t=>Xe=t))}let Xe=!1;const Ye=(t,e)=>{const n=function(t,e,n=!1){let r,i;const o=f(t);return o?(r=t,i=s):(r=t.get,i=t.set),new Gt(r,i,o||!i,n)}(t,0,Xe);return n};export{Nt as a,Xt as b,Ke as c,Wt as d,I as e,V as f,A as g,Fe as h,Ee as i,te as j,Ye as k,C as l,$t as m,pe as n,We as o,Yt as r,Bt as t,Le as w}; diff --git a/view/frontend/web/js/checkout/package-lock.json b/view/frontend/web/js/checkout/package-lock.json index 5810ddb..aeaf017 100644 --- a/view/frontend/web/js/checkout/package-lock.json +++ b/view/frontend/web/js/checkout/package-lock.json @@ -8,7 +8,9 @@ "name": "gene-better-checkout-ppcp", "license": "ISC", "dependencies": { - "pinia": "^2.1.7" + "lodash.debounce": "^4.0.8", + "pinia": "^2.1.7", + "vue": "^3.4.20" }, "devDependencies": { "@rollup/plugin-commonjs": "^25.0.7", @@ -19,14 +21,12 @@ "eslint": "^8.57.0", "eslint-plugin-jest": "^28.2.0", "eslint-plugin-vue": "^9.25.0", - "lodash.debounce": "^4.0.8", "rollup": "^4.14.3", "rollup-plugin-multi-input": "^1.4.1", "rollup-plugin-scss": "^3.0.0", "rollup-plugin-svg": "^2.0.0", "rollup-plugin-vue": "^6.0.0", - "sass": "^1.75.0", - "vue": "^3.4.20" + "sass": "^1.75.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -3295,8 +3295,7 @@ "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.merge": { "version": "4.6.2", diff --git a/view/frontend/web/js/checkout/package.json b/view/frontend/web/js/checkout/package.json index d34dd0c..da98a19 100644 --- a/view/frontend/web/js/checkout/package.json +++ b/view/frontend/web/js/checkout/package.json @@ -11,25 +11,25 @@ }, "author": "", "license": "ISC", + "dependencies": { + "lodash.debounce": "^4.0.8", + "pinia": "^2.1.7", + "vue": "^3.4.20" + }, "devDependencies": { + "@vue/eslint-config-airbnb": "^8.0.0", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "^5.0.5", "@rollup/plugin-terser": "^0.4.4", - "@vue/eslint-config-airbnb": "^8.0.0", - "eslint": "^8.57.0", - "eslint-plugin-jest": "^28.2.0", - "eslint-plugin-vue": "^9.25.0", - "lodash.debounce": "^4.0.8", "rollup": "^4.14.3", "rollup-plugin-multi-input": "^1.4.1", "rollup-plugin-scss": "^3.0.0", "rollup-plugin-svg": "^2.0.0", "rollup-plugin-vue": "^6.0.0", "sass": "^1.75.0", - "vue": "^3.4.20" - }, - "dependencies": { - "pinia": "^2.1.7" + "eslint": "^8.57.0", + "eslint-plugin-jest": "^28.2.0", + "eslint-plugin-vue": "^9.25.0" } } diff --git a/view/frontend/web/js/checkout/rollup.config.js b/view/frontend/web/js/checkout/rollup.config.js index 94412d9..a50e41b 100644 --- a/view/frontend/web/js/checkout/rollup.config.js +++ b/view/frontend/web/js/checkout/rollup.config.js @@ -6,13 +6,12 @@ import commonjs from '@rollup/plugin-commonjs'; import scss from 'rollup-plugin-scss'; import svg from 'rollup-plugin-svg'; import terser from '@rollup/plugin-terser'; -import path from 'path'; export default { input: ['src/callbacks/**/*.js', 'src/components/**/*.vue'], output: { dir: 'dist', - chunkFileNames: "[name]-[hash].min.js" + chunkFileNames: '[name]-[hash].min.js', }, plugins: [ vue(), @@ -22,7 +21,7 @@ export default { preventAssignment: true, }), multiInput.default({ - transformOutputPath: (output, input) => `${output.replace(/(.+)+(.js|.vue)/, '$1.min$2')}` + transformOutputPath: (output, input) => `${output.replace(/(.+)+(.js|.vue)/, '$1.min$2')}`, }), commonjs(), scss({ output: 'dist/styles.css' }), From 16ab77d132dab3f987e80b7236398ddcdeaef0e5 Mon Sep 17 00:00:00 2001 From: Gary Mawdsley Date: Tue, 3 Dec 2024 13:37:41 +0000 Subject: [PATCH 002/167] Adding Circle CI --- .circleci/config.yml | 163 +++++ .eslintignore | 5 + .eslintrc.js | 4 + .gitignore | 4 + README.md | 20 + Test/Unit/autoload.php | 22 + Test/Unit/bootstrap.php | 54 ++ composer.json | 14 +- package-lock.json | 1241 +++++++++++++++++++++++++++++++++++++++ package.json | 23 + phpcs.xml | 46 ++ phpstan.neon | 12 + phpunit.xml | 14 + 13 files changed, 1616 insertions(+), 6 deletions(-) create mode 100644 .circleci/config.yml create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 Test/Unit/autoload.php create mode 100644 Test/Unit/bootstrap.php create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 phpcs.xml create mode 100644 phpstan.neon create mode 100644 phpunit.xml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..5423b7b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,163 @@ +version: 2.1 +jobs: + build: + docker: + - image: cimg/php:8.2.15-browsers + - image: cimg/mariadb:10.4 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: m2build + - image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0 + environment: + transport.host: 127.0.0.1 + network.host: 127.0.0.1 + http.port: 9200 + cluster.name: es-cluster + discovery.type: single-node + xpack.security.enabled: "false" + ES_JAVA_OPTS: "-Xms256m -Xmx256m" + working_directory: ~/magento2 + steps: + - run: + name: Waiting for MySQL startup + command: | + for i in `seq 1 20`; + do + nc -z 127.0.0.1 3306 && echo Success && exit 0 + echo -n . + sleep 1 + done + echo MySQL failed to start && exit 1 + - run: + name: Wait for ES startup + command: dockerize -wait tcp://localhost:9200 -timeout 30s + - run: + name: Install System Packages + command: | + sudo apt-get update -y && sudo apt-get install -y \ + cron \ + git \ + gzip \ + libbz2-dev \ + libfreetype6-dev \ + libicu-dev \ + libjpeg-dev \ + libmcrypt-dev \ + libonig-dev \ + libpng-dev \ + libsodium-dev \ + libssh2-1-dev \ + libxslt1-dev \ + libzip-dev \ + lsof \ + default-mysql-client \ + vim \ + zip \ + zlib1g-dev \ + sendmail \ + procps \ + nginx + - run: + name: Install PHP Packages + command: | + sudo docker-php-ext-install \ + sysvshm \ + xsl + sudo composer self-update + - run: + name: Composer Configure + command: | + composer config -g http-basic.repo.magento.com $MAGENTO_REPO_KEY $MAGENTO_REPO_SECRET + composer config -g http-basic.repo.packagist.com "token" $GENE_PACKAGIST_TOKEN + composer config -g allow-plugins true + - run: + name: Composer Create Project + command: | + php -d memory_limit=-1 /usr/local/bin/composer create-project --no-interaction --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.6 . --no-install --no-plugins + php -d memory_limit=-1 /usr/local/bin/composer require --no-update colinmollenhour/php-redis-session-abstract:" 'Error', + E_WARNING => 'Warning', + E_PARSE => 'Parse', + E_NOTICE => 'Notice', + E_CORE_ERROR => 'Core Error', + E_CORE_WARNING => 'Core Warning', + E_COMPILE_ERROR => 'Compile Error', + E_COMPILE_WARNING => 'Compile Warning', + E_USER_ERROR => 'User Error', + E_USER_WARNING => 'User Warning', + E_USER_NOTICE => 'User Notice', + E_STRICT => 'Strict', + E_RECOVERABLE_ERROR => 'Recoverable Error', + E_DEPRECATED => 'Deprecated', + E_USER_DEPRECATED => 'User Deprecated', + ]; + + $errName = isset($errorNames[$errNo]) ? $errorNames[$errNo] : ""; + + throw new \PHPUnit\Framework\Exception( + sprintf("%s: %s in %s:%s.", $errName, $errStr, $errFile, $errLine), + $errNo + ); + } + } + ); +} diff --git a/composer.json b/composer.json index 7e61535..eaddc9d 100644 --- a/composer.json +++ b/composer.json @@ -15,11 +15,12 @@ "gene/module-better-checkout": "^1.0" }, "require-dev": { - "bitexpert/phpstan-magento": "^0.27", - "magento/magento-coding-standard": "^29.0", - "phpstan/phpstan": "*", - "phpcompatibility/php-compatibility": "^9.3", - "phpunit/phpunit": "^9.5" + "magento/magento-coding-standard": "*", + "phpcompatibility/php-compatibility": "*", + "phpunit/phpunit": "*", + "phpstan/phpstan": "^1.9", + "squizlabs/php_codesniffer": "^3.6", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0" }, "repositories": [ { @@ -39,7 +40,8 @@ ], "config": { "allow-plugins": { - "magento/composer-dependency-version-audit-plugin": true + "magento/composer-dependency-version-audit-plugin": true, + "dealerdirect/phpcodesniffer-composer-installer": true } } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5eef180 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1241 @@ +{ + "name": "gene-better-checkout-ppcp", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "gene-better-checkout-ppcp", + "license": "ISC", + "devDependencies": { + "eslint": "^8.50.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..d375761 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "gene-better-checkout-ppcp", + "description": "", + "main": ".eslintrc", + "scripts": { + "lint": "eslint . --rulesdir ./vendor/magento/magento-coding-standard/eslint/rules", + "lint-fix": "eslint . --rulesdir ./vendor/magento/magento-coding-standard/eslint/rules --fix" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/genecommerce/module-better-checkout-ppcp.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/genecommerce/module-better-checkout-ppcp/issues" + }, + "homepage": "https://github.com/genecommerce/module-better-checkout-ppcp#readme", + "devDependencies": { + "eslint": "^8.50.0" + } +} + \ No newline at end of file diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 0000000..5b9a374 --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,46 @@ + + + Blog module ruleset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *\.phtml + + + + . + *\.phtml + *\.html + *\.less + vendor + diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..a4f3aed --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,12 @@ +parameters: + reportUnmatchedIgnoredErrors: false + level: 0 + paths: + - . + excludePaths: + - 'vendor' + - 'node_modules' + ignoreErrors: + - '#Property .*?Factory has unknown class .*?Factory as its type.#' + - '#Parameter .*?Factory of method .*? has invalid type .*?Factory.#' + - '#Call to method .*? on an unknown class .*?Factory.#' diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..12b71f4 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,14 @@ + + + + + ./Test/* + + + \ No newline at end of file From 9e90828d4efe7d0ad95f13493e1c400e8308ec7a Mon Sep 17 00:00:00 2001 From: Gary Mawdsley Date: Tue, 3 Dec 2024 13:39:49 +0000 Subject: [PATCH 003/167] Adding the Circle CI status badge to the readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 87dec35..00a9f96 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![CircleCI](https://dl.circleci.com/status-badge/img/gh/genecommerce/module-better-checkout-ppcp/tree/main.svg?style=svg&circle-token=CCIPRJ_shdRbwX6CZwdWayXko8Kf_fc053dfb47603a733a4b4265ff8be69118cffec9) + ![Better Checkout Powered by GENE](./assets/logo.svg) # Better Checkout PPCP Module From b6c88f950771660ddd8cddd654f59f60515d8f7d Mon Sep 17 00:00:00 2001 From: Gary Mawdsley Date: Tue, 3 Dec 2024 15:53:08 +0000 Subject: [PATCH 004/167] Deleting the composer.lock file --- composer.lock | 6652 ------------------------------------------------- 1 file changed, 6652 deletions(-) delete mode 100644 composer.lock diff --git a/composer.lock b/composer.lock deleted file mode 100644 index c96c954..0000000 --- a/composer.lock +++ /dev/null @@ -1,6652 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "187284e9a659ceb7ccd28dcc4e6733b0", - "packages": [ - { - "name": "brick/math", - "version": "0.9.3", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.9.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "brick", - "math" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.3" - }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], - "time": "2021-08-15T20:50:18+00:00" - }, - { - "name": "colinmollenhour/credis", - "version": "v1.14.0", - "source": { - "type": "git", - "url": "https://github.com/colinmollenhour/credis.git", - "reference": "dccc8a46586475075fbb012d8bd523b8a938c2dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/dccc8a46586475075fbb012d8bd523b8a938c2dc", - "reference": "dccc8a46586475075fbb012d8bd523b8a938c2dc", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.6.0" - }, - "suggest": { - "ext-redis": "Improved performance for communicating with redis" - }, - "type": "library", - "autoload": { - "classmap": [ - "Client.php", - "Cluster.php", - "Sentinel.php", - "Module.php" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Colin Mollenhour", - "email": "colin@mollenhour.com" - } - ], - "description": "Credis is a lightweight interface to the Redis key-value store which wraps the phpredis library when available for better performance.", - "homepage": "https://github.com/colinmollenhour/credis", - "support": { - "issues": "https://github.com/colinmollenhour/credis/issues", - "source": "https://github.com/colinmollenhour/credis/tree/v1.14.0" - }, - "time": "2022-11-09T01:18:39+00:00" - }, - { - "name": "colinmollenhour/php-redis-session-abstract", - "version": "v1.4.7", - "source": { - "type": "git", - "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", - "reference": "15209b18ba69819b6638c720640b0bdb48f395a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/15209b18ba69819b6638c720640b0bdb48f395a7", - "reference": "15209b18ba69819b6638c720640b0bdb48f395a7", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "colinmollenhour/credis": "~1.6", - "php": "^5.5 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9" - }, - "type": "library", - "autoload": { - "psr-0": { - "Cm\\RedisSession\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin Mollenhour" - } - ], - "description": "A Redis-based session handler with optimistic locking", - "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", - "support": { - "issues": "https://github.com/colinmollenhour/php-redis-session-abstract/issues", - "source": "https://github.com/colinmollenhour/php-redis-session-abstract/tree/v1.4.7" - }, - "time": "2022-11-16T19:41:39+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "69098eca243998b53eed7a48d82dedd28b447cd5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/69098eca243998b53eed7a48d82dedd28b447cd5", - "reference": "69098eca243998b53eed7a48d82dedd28b447cd5", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-10-12T12:08:29+00:00" - }, - { - "name": "composer/composer", - "version": "2.2.18", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "84175907664ca8b73f73f4883e67e886dfefb9f5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/84175907664ca8b73f73f4883e67e886dfefb9f5", - "reference": "84175907664ca8b73f73f4883e67e886dfefb9f5", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/pcre": "^1.0", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0 || ^3.0", - "justinrainbow/json-schema": "^5.2.11", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0 || ^2.0", - "react/promise": "^1.2 || ^2.7", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" - }, - "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.2-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.2.18" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-08-20T09:33:38+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/1.0.1" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-01-21T20:24:37+00:00" - }, - { - "name": "composer/semver", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-04-01T19:23:25+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.7", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "c848241796da2abf65837d51dce1fae55a960149" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", - "reference": "c848241796da2abf65837d51dce1fae55a960149", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.7" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-05-23T07:37:50+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, - { - "name": "ezyang/htmlpurifier", - "version": "v4.16.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" - }, - "require-dev": { - "cerdic/css-tidy": "^1.7 || ^2.0", - "simpletest/simpletest": "dev-master" - }, - "suggest": { - "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", - "ext-bcmath": "Used for unit conversion and imagecrash protection", - "ext-iconv": "Converts text to and from non-UTF-8 encodings", - "ext-tidy": "Used for pretty-printing HTML" - }, - "type": "library", - "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], - "psr-0": { - "HTMLPurifier": "library/" - }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" - }, - "time": "2022-09-18T07:06:19+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.5.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba", - "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.9 || ^2.4", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "ext-curl": "*", - "php-http/client-integration-tests": "^3.0", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "7.5-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.5.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2022-08-28T15:39:27+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "1.5.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "b94b2807d85443f9719887892882d0329d1e2598" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", - "reference": "b94b2807d85443f9719887892882d0329d1e2598", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2022-08-28T14:55:35+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.4.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "67c26b443f348a51926030c83481b85718457d3d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", - "reference": "67c26b443f348a51926030c83481b85718457d3d", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2022-10-26T14:07:24+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.12", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" - }, - "time": "2022-04-13T08:02:27+00:00" - }, - { - "name": "laminas/laminas-code", - "version": "4.5.2", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-code.git", - "reference": "da01fb74c08f37e20e7ae49f1e3ee09aa401ebad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/da01fb74c08f37e20e7ae49f1e3ee09aa401ebad", - "reference": "da01fb74c08f37e20e7ae49f1e3ee09aa401ebad", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.4, <8.2" - }, - "require-dev": { - "doctrine/annotations": "^1.13.2", - "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.3.0", - "laminas/laminas-stdlib": "^3.6.1", - "phpunit/phpunit": "^9.5.10", - "psalm/plugin-phpunit": "^0.16.1", - "vimeo/psalm": "^4.13.1" - }, - "suggest": { - "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", - "laminas/laminas-stdlib": "Laminas\\Stdlib component" - }, - "type": "library", - "autoload": { - "files": [ - "polyfill/ReflectionEnumPolyfill.php" - ], - "psr-4": { - "Laminas\\Code\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", - "homepage": "https://laminas.dev", - "keywords": [ - "code", - "laminas", - "laminasframework" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-code/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-code/issues", - "rss": "https://github.com/laminas/laminas-code/releases.atom", - "source": "https://github.com/laminas/laminas-code" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-06-06T11:26:02+00:00" - }, - { - "name": "laminas/laminas-escaper", - "version": "2.10.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "58af67282db37d24e584a837a94ee55b9c7552be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/58af67282db37d24e584a837a94ee55b9c7552be", - "reference": "58af67282db37d24e584a837a94ee55b9c7552be", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-ctype": "*", - "ext-mbstring": "*", - "php": "^7.4 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-escaper": "*" - }, - "require-dev": { - "infection/infection": "^0.26.6", - "laminas/laminas-coding-standard": "~2.3.0", - "maglnet/composer-require-checker": "^3.8.0", - "phpunit/phpunit": "^9.5.18", - "psalm/plugin-phpunit": "^0.16.1", - "vimeo/psalm": "^4.22.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Escaper\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", - "homepage": "https://laminas.dev", - "keywords": [ - "escaper", - "laminas" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-escaper/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-escaper/issues", - "rss": "https://github.com/laminas/laminas-escaper/releases.atom", - "source": "https://github.com/laminas/laminas-escaper" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-03-08T20:15:36+00:00" - }, - { - "name": "laminas/laminas-http", - "version": "2.16.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-http.git", - "reference": "838825d42b03aedcb1d8b5a61ebfe28967bbfbfb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-http/zipball/838825d42b03aedcb1d8b5a61ebfe28967bbfbfb", - "reference": "838825d42b03aedcb1d8b5a61ebfe28967bbfbfb", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "laminas/laminas-loader": "^2.8", - "laminas/laminas-stdlib": "^3.6", - "laminas/laminas-uri": "^2.9.1", - "laminas/laminas-validator": "^2.15", - "php": "^7.3 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-http": "*" - }, - "require-dev": { - "ext-curl": "*", - "laminas/laminas-coding-standard": "~2.2.1", - "phpunit/phpunit": "^9.5.5" - }, - "suggest": { - "paragonie/certainty": "For automated management of cacert.pem" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Http\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", - "homepage": "https://laminas.dev", - "keywords": [ - "http", - "http client", - "laminas" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-http/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-http/issues", - "rss": "https://github.com/laminas/laminas-http/releases.atom", - "source": "https://github.com/laminas/laminas-http" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-11-11T09:12:35+00:00" - }, - { - "name": "laminas/laminas-loader", - "version": "2.8.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-loader.git", - "reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/d0589ec9dd48365fd95ad10d1c906efd7711c16b", - "reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-loader": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.2.1", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Loader\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Autoloading and plugin loading strategies", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "loader" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-loader/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-loader/issues", - "rss": "https://github.com/laminas/laminas-loader/releases.atom", - "source": "https://github.com/laminas/laminas-loader" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-09-02T18:30:53+00:00" - }, - { - "name": "laminas/laminas-mail", - "version": "2.16.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-mail.git", - "reference": "1ee1a384b96c8af29ecad9b3a7adc27a150ebc49" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mail/zipball/1ee1a384b96c8af29ecad9b3a7adc27a150ebc49", - "reference": "1ee1a384b96c8af29ecad9b3a7adc27a150ebc49", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-iconv": "*", - "laminas/laminas-loader": "^2.8", - "laminas/laminas-mime": "^2.9.1", - "laminas/laminas-stdlib": "^3.6", - "laminas/laminas-validator": "^2.15", - "php": "^7.3 || ~8.0.0 || ~8.1.0", - "symfony/polyfill-intl-idn": "^1.24.0", - "symfony/polyfill-mbstring": "^1.12.0", - "webmozart/assert": "^1.10" - }, - "conflict": { - "zendframework/zend-mail": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", - "laminas/laminas-crypt": "^2.6 || ^3.4", - "laminas/laminas-db": "^2.13.3", - "laminas/laminas-servicemanager": "^3.7", - "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.15.1", - "symfony/process": "^5.3.7", - "vimeo/psalm": "^4.7" - }, - "suggest": { - "laminas/laminas-crypt": "Crammd5 support in SMTP Auth", - "laminas/laminas-servicemanager": "^2.7.10 || ^3.3.1 when using SMTP to deliver messages" - }, - "type": "library", - "extra": { - "laminas": { - "component": "Laminas\\Mail", - "config-provider": "Laminas\\Mail\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Laminas\\Mail\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mail" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-mail/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-mail/issues", - "rss": "https://github.com/laminas/laminas-mail/releases.atom", - "source": "https://github.com/laminas/laminas-mail" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-02-23T21:08:17+00:00" - }, - { - "name": "laminas/laminas-mime", - "version": "2.10.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-mime.git", - "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/62a899a7c9100889c2d2386b1357003a2cb52fa9", - "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "laminas/laminas-stdlib": "^2.7 || ^3.0", - "php": "^7.3 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-mime": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.2.1", - "laminas/laminas-mail": "^2.12", - "phpunit/phpunit": "^9.5" - }, - "suggest": { - "laminas/laminas-mail": "Laminas\\Mail component" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Mime\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Create and parse MIME messages and parts", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mime" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-mime/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-mime/issues", - "rss": "https://github.com/laminas/laminas-mime/releases.atom", - "source": "https://github.com/laminas/laminas-mime" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-08-30T09:38:41+00:00" - }, - { - "name": "laminas/laminas-servicemanager", - "version": "3.17.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "360be5f16955dd1edbcce1cfaa98ed82a17f02ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/360be5f16955dd1edbcce1cfaa98ed82a17f02ec", - "reference": "360be5f16955dd1edbcce1cfaa98ed82a17f02ec", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "laminas/laminas-stdlib": "^3.2.1", - "php": "~7.4.0 || ~8.0.0 || ~8.1.0", - "psr/container": "^1.0" - }, - "conflict": { - "ext-psr": "*", - "laminas/laminas-code": "<3.3.1", - "zendframework/zend-code": "<3.3.1", - "zendframework/zend-servicemanager": "*" - }, - "provide": { - "psr/container-implementation": "^1.0" - }, - "replace": { - "container-interop/container-interop": "^1.2.0" - }, - "require-dev": { - "composer/package-versions-deprecated": "^1.0", - "laminas/laminas-coding-standard": "~2.4.0", - "laminas/laminas-container-config-test": "^0.7", - "laminas/laminas-dependency-plugin": "^2.1.2", - "mikey179/vfsstream": "^1.6.10@alpha", - "ocramius/proxy-manager": "^2.11", - "phpbench/phpbench": "^1.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.17.0", - "vimeo/psalm": "^4.8" - }, - "suggest": { - "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services" - }, - "bin": [ - "bin/generate-deps-for-config-factory", - "bin/generate-factory-for-class" - ], - "type": "library", - "autoload": { - "files": [ - "src/autoload.php" - ], - "psr-4": { - "Laminas\\ServiceManager\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Factory-Driven Dependency Injection Container", - "homepage": "https://laminas.dev", - "keywords": [ - "PSR-11", - "dependency-injection", - "di", - "dic", - "laminas", - "service-manager", - "servicemanager" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-servicemanager/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-servicemanager/issues", - "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", - "source": "https://github.com/laminas/laminas-servicemanager" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-09-22T11:33:46+00:00" - }, - { - "name": "laminas/laminas-stdlib", - "version": "3.13.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/66a6d03c381f6c9f1dd988bf8244f9afb9380d76", - "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.4 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-stdlib": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.3.0", - "phpbench/phpbench": "^1.2.6", - "phpstan/phpdoc-parser": "^0.5.4", - "phpunit/phpunit": "^9.5.23", - "psalm/plugin-phpunit": "^0.17.0", - "vimeo/psalm": "^4.26" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Stdlib\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-08-24T13:56:50+00:00" - }, - { - "name": "laminas/laminas-uri", - "version": "2.9.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-uri.git", - "reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/7e837dc15c8fd3949df7d1213246fd7c8640032b", - "reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "laminas/laminas-escaper": "^2.9", - "laminas/laminas-validator": "^2.15", - "php": "^7.3 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-uri": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~2.2.1", - "phpunit/phpunit": "^9.5.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Uri\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "uri" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-uri/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-uri/issues", - "rss": "https://github.com/laminas/laminas-uri/releases.atom", - "source": "https://github.com/laminas/laminas-uri" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2021-09-09T18:37:15+00:00" - }, - { - "name": "laminas/laminas-validator", - "version": "2.25.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-validator.git", - "reference": "42de39b78e73b321db7d948cf8530a2764f8b9aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/42de39b78e73b321db7d948cf8530a2764f8b9aa", - "reference": "42de39b78e73b321db7d948cf8530a2764f8b9aa", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "laminas/laminas-servicemanager": "^3.12.0", - "laminas/laminas-stdlib": "^3.13", - "php": "^7.4 || ~8.0.0 || ~8.1.0" - }, - "conflict": { - "zendframework/zend-validator": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "^2.4.0", - "laminas/laminas-db": "^2.15.0", - "laminas/laminas-filter": "^2.18.0", - "laminas/laminas-http": "^2.16.0", - "laminas/laminas-i18n": "^2.17.0", - "laminas/laminas-session": "^2.13.0", - "laminas/laminas-uri": "^2.9.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.24", - "psalm/plugin-phpunit": "^0.17.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", - "vimeo/psalm": "^4.27.0" - }, - "suggest": { - "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", - "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator", - "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", - "laminas/laminas-i18n-resources": "Translations of validator messages", - "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator", - "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators", - "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators" - }, - "type": "library", - "extra": { - "laminas": { - "component": "Laminas\\Validator", - "config-provider": "Laminas\\Validator\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Laminas\\Validator\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "validator" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-validator/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-validator/issues", - "rss": "https://github.com/laminas/laminas-validator/releases.atom", - "source": "https://github.com/laminas/laminas-validator" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-09-20T11:33:19+00:00" - }, - { - "name": "magento/composer-dependency-version-audit-plugin", - "version": "0.1.1", - "dist": { - "type": "zip", - "url": "https://repo.magento.com/archives/magento/composer-dependency-version-audit-plugin/magento-composer-dependency-version-audit-plugin-0.1.1.0.zip", - "shasum": "bc997d887abff6d34ca8743eda7d028cabd8ef9a" - }, - "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "composer/composer": "^1.9 || ^2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9" - }, - "type": "composer-plugin", - "extra": { - "class": "Magento\\ComposerDependencyVersionAuditPlugin\\Plugin" - }, - "autoload": { - "psr-4": { - "Magento\\ComposerDependencyVersionAuditPlugin\\": "src/" - } - }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "description": "Validating packages through a composer plugin" - }, - { - "name": "magento/framework", - "version": "103.0.5-p1", - "dist": { - "type": "zip", - "url": "https://repo.magento.com/archives/magento/framework/magento-framework-103.0.5.0-patch1.zip", - "shasum": "c8ad949db6ce780a18983d67f0b00e661372ce30" - }, - "require": { - "colinmollenhour/php-redis-session-abstract": "~1.4.5", - "composer/composer": "^1.9 || ^2.0, !=2.2.16", - "ext-bcmath": "*", - "ext-curl": "*", - "ext-dom": "*", - "ext-gd": "*", - "ext-hash": "*", - "ext-iconv": "*", - "ext-intl": "*", - "ext-openssl": "*", - "ext-simplexml": "*", - "ext-sodium": "*", - "ext-xsl": "*", - "ezyang/htmlpurifier": "^4.14", - "guzzlehttp/guzzle": "^7.4.2", - "laminas/laminas-code": "~4.5.0", - "laminas/laminas-escaper": "~2.10.0", - "laminas/laminas-http": "^2.15.0", - "laminas/laminas-mail": "^2.16.0", - "laminas/laminas-mime": "^2.9.1", - "laminas/laminas-stdlib": "^3.7.1", - "laminas/laminas-uri": "^2.9.1", - "laminas/laminas-validator": "^2.17.0", - "lib-libxml": "*", - "magento/composer-dependency-version-audit-plugin": "~0.1", - "magento/zendframework1": "~1.15.0", - "monolog/monolog": "^2.7", - "php": "~7.4.0||~8.1.0", - "ramsey/uuid": "~4.2.0", - "symfony/console": "~4.4.0", - "symfony/process": "~4.4.0", - "tedivm/jshrink": "~1.4.0", - "webonyx/graphql-php": "~14.11.6", - "wikimedia/less.php": "^3.0.0" - }, - "suggest": { - "ext-imagick": "Use Image Magick >=3.0.0 as an optional alternative image processing library" - }, - "type": "magento2-library", - "autoload": { - "files": [ - "registration.php" - ], - "psr-4": { - "Magento\\Framework\\": "" - } - }, - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "description": "N/A" - }, - { - "name": "magento/zendframework1", - "version": "1.15.1", - "source": { - "type": "git", - "url": "https://github.com/magento/zf1.git", - "reference": "2381396d2a9a528be2f367b5ce2dddf650eac1d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/magento/zf1/zipball/2381396d2a9a528be2f367b5ce2dddf650eac1d0", - "reference": "2381396d2a9a528be2f367b5ce2dddf650eac1d0", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/dbunit": "1.3.*", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.12.x-dev" - } - }, - "autoload": { - "psr-0": { - "Zend_": "library/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "include-path": [ - "library/" - ], - "license": [ - "BSD-3-Clause" - ], - "description": "Magento Zend Framework 1", - "homepage": "http://framework.zend.com/", - "keywords": [ - "ZF1", - "framework" - ], - "support": { - "issues": "https://github.com/magento/zf1/issues", - "source": "https://github.com/magento/zf1/tree/1.15.1" - }, - "time": "2022-06-21T01:22:39+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.8.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "provide": { - "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7 || ^8", - "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", - "guzzlehttp/guzzle": "^7.4", - "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", - "predis/predis": "^1.1 || ^2.0", - "rollbar/rollbar": "^1.3 || ^2 || ^3", - "ruflin/elastica": "^7", - "swiftmailer/swiftmailer": "^5.3|^6.0", - "symfony/mailer": "^5.4 || ^6", - "symfony/mime": "^5.4 || ^6" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "ext-openssl": "Required to send log messages using SSL", - "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.8.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2022-07-24T11:55:47+00:00" - }, - { - "name": "psr/container", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" - }, - "time": "2021-11-05T16:50:12+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "time": "2020-06-29T06:28:15+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "time": "2019-04-30T12:38:16+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.3 || ^8", - "symfony/polyfill-php81": "^1.23" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.2" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-10-10T03:01:02+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.2.3", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "brick/math": "^0.8 || ^0.9", - "ext-json": "*", - "php": "^7.2 || ^8.0", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php80": "^1.14" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5 || ^9", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.x-dev" - }, - "captainhook": { - "force-install": true - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.3" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2021-09-25T23:10:38+00:00" - }, - { - "name": "react/promise", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.9.0" - }, - "funding": [ - { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-02-11T10:27:51+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "4211420d25eba80712bff236a98960ef68b866b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", - "reference": "4211420d25eba80712bff236a98960ef68b866b7", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2022-04-01T13:37:23+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" - }, - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "symfony/console", - "version": "v4.4.49", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/33fa45ffc81fdcc1ca368d4946da859c8cdb58d9", - "reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/console/tree/v4.4.49" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-05T17:10:16+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:53:40+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.4.13", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.13" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-09-21T19:53:16+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.11", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.11" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-07-29T07:37:50+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/process", - "version": "v4.4.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", - "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1.3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v4.4.44" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-06-27T13:16:42+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-05-30T19:17:29+00:00" - }, - { - "name": "tedivm/jshrink", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/tedious/JShrink.git", - "reference": "0513ba1407b1f235518a939455855e6952a48bbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tedious/JShrink/zipball/0513ba1407b1f235518a939455855e6952a48bbc", - "reference": "0513ba1407b1f235518a939455855e6952a48bbc", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^5.6|^7.0|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.8", - "php-coveralls/php-coveralls": "^1.1.0", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-0": { - "JShrink": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Robert Hafner", - "email": "tedivm@tedivm.com" - } - ], - "description": "Javascript Minifier built in PHP", - "homepage": "http://github.com/tedious/JShrink", - "keywords": [ - "javascript", - "minifier" - ], - "support": { - "issues": "https://github.com/tedious/JShrink/issues", - "source": "https://github.com/tedious/JShrink/tree/v1.4.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/tedivm/jshrink", - "type": "tidelift" - } - ], - "time": "2020-11-30T18:10:21+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "webonyx/graphql-php", - "version": "v14.11.8", - "source": { - "type": "git", - "url": "https://github.com/webonyx/graphql-php.git", - "reference": "04a48693acd785330eefd3b0e4fa67df8dfee7c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/04a48693acd785330eefd3b0e4fa67df8dfee7c3", - "reference": "04a48693acd785330eefd3b0e4fa67df8dfee7c3", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.1 || ^8" - }, - "require-dev": { - "amphp/amp": "^2.3", - "doctrine/coding-standard": "^6.0", - "nyholm/psr7": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "0.12.82", - "phpstan/phpstan-phpunit": "0.12.18", - "phpstan/phpstan-strict-rules": "0.12.9", - "phpunit/phpunit": "^7.2 || ^8.5", - "psr/http-message": "^1.0", - "react/promise": "2.*", - "simpod/php-coveralls-mirror": "^3.0", - "squizlabs/php_codesniffer": "3.5.4" - }, - "suggest": { - "psr/http-message": "To use standard GraphQL server", - "react/promise": "To leverage async resolving on React PHP platform" - }, - "type": "library", - "autoload": { - "psr-4": { - "GraphQL\\": "src/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP port of GraphQL reference implementation", - "homepage": "https://github.com/webonyx/graphql-php", - "keywords": [ - "api", - "graphql" - ], - "support": { - "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v14.11.8" - }, - "funding": [ - { - "url": "https://opencollective.com/webonyx-graphql-php", - "type": "open_collective" - } - ], - "time": "2022-09-21T15:35:03+00:00" - }, - { - "name": "wikimedia/less.php", - "version": "v3.1.0", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/less.php.git", - "reference": "a486d78b9bd16b72f237fc6093aa56d69ce8bd13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/less.php/zipball/a486d78b9bd16b72f237fc6093aa56d69ce8bd13", - "reference": "a486d78b9bd16b72f237fc6093aa56d69ce8bd13", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.2.9" - }, - "require-dev": { - "mediawiki/mediawiki-codesniffer": "34.0.0", - "mediawiki/minus-x": "1.0.0", - "php-parallel-lint/php-console-highlighter": "0.5.0", - "php-parallel-lint/php-parallel-lint": "1.2.0", - "phpunit/phpunit": "^8.5" - }, - "bin": [ - "bin/lessc" - ], - "type": "library", - "autoload": { - "psr-0": { - "Less": "lib/" - }, - "classmap": [ - "lessc.inc.php" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Josh Schmidt", - "homepage": "https://github.com/oyejorge" - }, - { - "name": "Matt Agar", - "homepage": "https://github.com/agar" - }, - { - "name": "Martin Jantošovič", - "homepage": "https://github.com/Mordred" - } - ], - "description": "PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt)", - "keywords": [ - "css", - "less", - "less.js", - "lesscss", - "php", - "stylesheet" - ], - "support": { - "issues": "https://github.com/wikimedia/less.php/issues", - "source": "https://github.com/wikimedia/less.php/tree/v3.1.0" - }, - "time": "2020-12-11T19:33:31+00:00" - } - ], - "packages-dev": [ - { - "name": "bitexpert/phpstan-magento", - "version": "v0.27.0", - "source": { - "type": "git", - "url": "https://github.com/bitExpert/phpstan-magento.git", - "reference": "d50c840ea0b29029b596cf3b55311ee616bf22d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bitExpert/phpstan-magento/zipball/d50c840ea0b29029b596cf3b55311ee616bf22d2", - "reference": "d50c840ea0b29029b596cf3b55311ee616bf22d2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "laminas/laminas-code": "~3.3.0 || ~3.4.1 || ~3.5.1 || ~4.5.0 || ~4.5.2", - "php": "^7.2.0 || ^8.1.0", - "phpstan/phpstan": "~1.9.2", - "symfony/finder": "^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "conflict": { - "magento/framework": "<102.0.0" - }, - "require-dev": { - "captainhook/captainhook": "^5.10.9", - "captainhook/plugin-composer": "^5.3.3", - "league/commonmark": "^2.3.1", - "madewithlove/license-checker": "^0.10.0 || ^1.4", - "magento/framework": ">=102.0.0", - "mikey179/vfsstream": "^1.6.10", - "nette/neon": "^3.3.3", - "nikic/php-parser": "^4.13.2", - "phpstan/extension-installer": "^1.1.0", - "phpstan/phpstan-phpunit": "^1.1.1", - "phpstan/phpstan-strict-rules": "^1.2.3", - "phpunit/phpunit": "^9.5.20", - "squizlabs/php_codesniffer": "^3.6.2" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "bitExpert\\PHPStan\\": "src/bitExpert/PHPStan" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephan Hochdörfer", - "email": "S.Hochdoerfer@bitExpert.de", - "homepage": "http://www.bitExpert.de" - } - ], - "description": "PHPStan Magento Extension", - "support": { - "issues": "https://github.com/bitExpert/phpstan-magento/issues", - "source": "https://github.com/bitExpert/phpstan-magento/tree/v0.27.0" - }, - "time": "2022-11-12T19:54:18+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.22" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-03-03T08:28:38+00:00" - }, - { - "name": "magento/magento-coding-standard", - "version": "29", - "source": { - "type": "git", - "url": "https://github.com/magento/magento-coding-standard.git", - "reference": "04cae89cc3eb07c34a2c04fad05a2c8bc52c6b0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/magento/magento-coding-standard/zipball/04cae89cc3eb07c34a2c04fad05a2c8bc52c6b0d", - "reference": "04cae89cc3eb07c34a2c04fad05a2c8bc52c6b0d", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-dom": "*", - "ext-simplexml": "*", - "php": ">=7.3", - "phpcompatibility/php-compatibility": "^9.3", - "rector/rector": "^0.14.8", - "squizlabs/php_codesniffer": "^3.6.1", - "webonyx/graphql-php": "^14.9" - }, - "require-dev": { - "phpunit/phpunit": "^9.5.8" - }, - "type": "phpcodesniffer-standard", - "autoload": { - "psr-4": { - "Magento2\\": "Magento2/", - "Magento2Framework\\": "Magento2Framework/" - }, - "classmap": [ - "PHP_CodeSniffer/Tokenizers/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "OSL-3.0", - "AFL-3.0" - ], - "description": "A set of Magento specific PHP CodeSniffer rules.", - "support": { - "issues": "https://github.com/magento/magento-coding-standard/issues", - "source": "https://github.com/magento/magento-coding-standard/tree/v29" - }, - "time": "2022-12-21T18:10:47+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2022-03-03T13:19:32+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.15.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" - }, - "time": "2022-11-12T15:38:23+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" - }, - "time": "2021-07-20T11:28:43+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpcompatibility/php-compatibility", - "version": "9.3.5", - "source": { - "type": "git", - "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", - "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", - "shasum": "" - }, - "require": { - "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" - }, - "conflict": { - "squizlabs/php_codesniffer": "2.6.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" - }, - "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", - "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." - }, - "type": "phpcodesniffer-standard", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Wim Godden", - "homepage": "https://github.com/wimg", - "role": "lead" - }, - { - "name": "Juliette Reinders Folmer", - "homepage": "https://github.com/jrfnl", - "role": "lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" - } - ], - "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", - "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", - "keywords": [ - "compatibility", - "phpcs", - "standards" - ], - "support": { - "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", - "source": "https://github.com/PHPCompatibility/PHPCompatibility" - }, - "time": "2019-12-27T09:44:58+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "1.9.4", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d03bccee595e2146b7c9d174486b84f4dc61b0f2", - "reference": "d03bccee595e2146b7c9d174486b84f4dc61b0f2", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.9.4" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], - "time": "2022-12-17T13:33:52+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.22", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "e4bf60d2220b4baaa0572986b5d69870226b06df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e4bf60d2220b4baaa0572986b5d69870226b06df", - "reference": "e4bf60d2220b4baaa0572986b5d69870226b06df", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.14", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "*", - "ext-xdebug": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.22" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-12-18T16:40:55+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.5.27", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38", - "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "doctrine/instantiator": "^1.3.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.5-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2022-12-09T07:31:23+00:00" - }, - { - "name": "rector/rector", - "version": "0.14.8", - "source": { - "type": "git", - "url": "https://github.com/rectorphp/rector.git", - "reference": "46ee9a173a2b2645ca92a75ffc17460139fa226e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/46ee9a173a2b2645ca92a75ffc17460139fa226e", - "reference": "46ee9a173a2b2645ca92a75ffc17460139fa226e", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.9.0" - }, - "conflict": { - "rector/rector-doctrine": "*", - "rector/rector-downgrade-php": "*", - "rector/rector-php-parser": "*", - "rector/rector-phpoffice": "*", - "rector/rector-phpunit": "*", - "rector/rector-symfony": "*" - }, - "bin": [ - "bin/rector" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.14-dev" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Instant Upgrade and Automated Refactoring of any PHP code", - "support": { - "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/0.14.8" - }, - "funding": [ - { - "url": "https://github.com/tomasvotruba", - "type": "github" - } - ], - "time": "2022-11-14T14:09:49+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:08:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T15:52:27+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:10:38+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-04-03T09:37:03+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T06:03:37+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-02-14T08:28:10+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-11-28T06:42:11+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:17:30+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:45:17+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-12T14:47:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "3.7.1", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619", - "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "bin": [ - "bin/phpcs", - "bin/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards" - ], - "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" - }, - "time": "2022-06-18T07:21:10+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "", - "mirrors": [ - { - "url": "https://repo.packagist.com/gene/dists/%package%/%version%/r%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://repo.packagist.com/gene/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2021-07-28T10:34:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.2.0" -} From 34432cdd068b610f89496164f67936d1db5c63fb Mon Sep 17 00:00:00 2001 From: Gary Mawdsley Date: Tue, 3 Dec 2024 16:53:51 +0000 Subject: [PATCH 005/167] Adding repositories to composer.json --- composer.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/composer.json b/composer.json index 8ad5fe4..eaddc9d 100644 --- a/composer.json +++ b/composer.json @@ -22,6 +22,16 @@ "squizlabs/php_codesniffer": "^3.6", "dealerdirect/phpcodesniffer-composer-installer": "^1.0" }, + "repositories": [ + { + "type": "composer", + "url": "https://repo.magento.com/" + }, + { + "type": "composer", + "url": "https://repo.packagist.com/gene/" + } + ], "authors": [ { "name": "", From ef95cb477b1c7cee4204b72e549ed1585cfc4b20 Mon Sep 17 00:00:00 2001 From: Gary Mawdsley Date: Wed, 4 Dec 2024 22:49:38 +0000 Subject: [PATCH 006/167] Updating Circle CI status badge and module name in readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 00a9f96..384415d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![CircleCI](https://dl.circleci.com/status-badge/img/gh/genecommerce/module-better-checkout-ppcp/tree/main.svg?style=svg&circle-token=CCIPRJ_shdRbwX6CZwdWayXko8Kf_fc053dfb47603a733a4b4265ff8be69118cffec9) +[![CircleCI](https://dl.circleci.com/status-badge/img/gh/genecommerce/module-better-checkout-ppcp/tree/main.svg?style=svg&circle-token=CCIPRJ_shdRbwX6CZwdWayXko8Kf_fc053dfb47603a733a4b4265ff8be69118cffec9)](https://dl.circleci.com/status-badge/redirect/gh/genecommerce/module-better-checkout-ppcp/tree/main) ![Better Checkout Powered by GENE](./assets/logo.svg) @@ -24,7 +24,7 @@ For information about a module installation in Adobe Commerce, see [Enable or di Remember to clear any appropriate caches. -Once installed the module follows the same configuration settings as prescribed by the official rvvup integration documentation, see [PPCP for Magento](https://commercemarketplace.adobe.com/media/catalog/product/paypal-module-ppcp-1-0-0-ece/user_guides.pdf?1732699597). +Once installed the module follows the same configuration settings as prescribed by the official PPCP for Magento integration documentation, see [PPCP for Magento](https://commercemarketplace.adobe.com/media/catalog/product/paypal-module-ppcp-1-0-0-ece/user_guides.pdf?1732699597). ## CircleCi From 3434790dc89bd8a13b2106c3a5e7aa168ca97db0 Mon Sep 17 00:00:00 2001 From: Alla Nehaenko Date: Thu, 5 Dec 2024 16:16:26 +0000 Subject: [PATCH 007/167] added paypal/paylater/messaging/venmo component on payment step --- .../checkout/dist/addScript-Cpuh15JN.min.js | 6 + .../ExpressPayments/ApplePay/ApplePay.min.js | 2 +- .../GooglePay/GooglePay.min.js | 2 +- .../ExpressPayments/PayPal/PayPal.min.js | 2 +- .../PaymentMethods/ApplePay/ApplePay.min.js | 2 +- .../PaymentMethods/GooglePay/GooglePay.min.js | 2 +- .../PaymentMethods/PayPal/PayPal.min.js | 2 +- .../PayPalPayLater/PayPalPayLater.min.js | 2 +- .../PaymentMethods/Venmo/Venmo.min.js | 2 +- .../PaymentPage/PaymentMethodsList.min.js | 2 +- .../createPPCPPaymentRest-B4CZyU_b.min.js | 6 + .../createPPCPPaymentRest-D8ScYQjr.min.js | 1 + .../createPPCPPaymentRest-aIORhHuc.min.js | 6 + .../dist/finishPpcpOrder-CiCZAt-M.min.js | 1 + .../dist/finishPpcpOrder-DYJ9R0Yl.min.js | 1 + .../dist/finishPpcpOrder-Dtoq9XJQ.min.js | 1 + .../checkout/dist/getTotals-CvXxIERM.min.js | 1 + .../checkout/dist/getTotals-Dp8N2_-z.min.js | 1 + .../checkout/dist/getTotals-ott0DgJx.min.js | 1 + view/frontend/web/js/checkout/dist/styles.css | 22 +- .../PaymentMethods/PayPal/PayPal.vue | 16 +- .../PaymentMethods/Venmo/Venmo.vue | 320 +++++++++++++++++- .../PaymentPage/icons/venmo_logo_blue.png | Bin 0 -> 9506 bytes .../PaymentPage/paymentMethods.scss | 3 +- .../src/services/createPPCPPaymentRest.js | 7 +- 25 files changed, 384 insertions(+), 27 deletions(-) create mode 100644 view/frontend/web/js/checkout/dist/addScript-Cpuh15JN.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B4CZyU_b.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-D8ScYQjr.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-aIORhHuc.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-CiCZAt-M.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-DYJ9R0Yl.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-Dtoq9XJQ.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-CvXxIERM.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-Dp8N2_-z.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-ott0DgJx.min.js create mode 100644 view/frontend/web/js/checkout/src/components/PaymentPage/icons/venmo_logo_blue.png diff --git a/view/frontend/web/js/checkout/dist/addScript-Cpuh15JN.min.js b/view/frontend/web/js/checkout/dist/addScript-Cpuh15JN.min.js new file mode 100644 index 0000000..08c17c3 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/addScript-Cpuh15JN.min.js @@ -0,0 +1,6 @@ +import{h as e,i as t,j as p,k as a,l as n,p as o,q as r,t as c,s,u as i,v as _,x as l,y as u,z as d,A as y}from"./runtime-core.esm-bundler-BJoG9T7Y.min.js"; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let g;const m=e=>g=e,h=Symbol();function f(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var v;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(v||(v={}));const b="undefined"!=typeof window,C="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&b,A=()=>{};function O(e,t,p,a=A){e.push(t);const n=()=>{const p=e.indexOf(t);p>-1&&(e.splice(p,1),a())};return!p&&_()&&l(n),n}function w(e,...t){e.slice().forEach((e=>{e(...t)}))}const S=e=>e();function L(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,p)=>e.set(p,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const p in t){if(!t.hasOwnProperty(p))continue;const a=t[p],n=e[p];f(n)&&f(a)&&e.hasOwnProperty(p)&&!o(a)&&!r(a)?e[p]=L(n,a):e[p]=a}return e}const P=Symbol();const{assign:$}=Object;function x(i,_,l={},u,d,y){let g;const h=$({actions:{}},l),b={deep:!0};let x,M,E,k=[],j=[];const I=u.state.value[i];y||I||(u.state.value[i]={});const U=e({});let T;function R(e){let t;x=M=!1,"function"==typeof e?(e(u.state.value[i]),t={type:v.patchFunction,storeId:i,events:E}):(L(u.state.value[i],e),t={type:v.patchObject,payload:e,storeId:i,events:E});const p=T=Symbol();s().then((()=>{T===p&&(x=!0)})),M=!0,w(k,t,u.state.value[i])}const z=y?function(){const{state:e}=l,t=e?e():{};this.$patch((e=>{$(e,t)}))}:A;function D(e,t){return function(){m(u);const p=Array.from(arguments),a=[],n=[];let o;w(j,{args:p,name:e,store:q,after:function(e){a.push(e)},onError:function(e){n.push(e)}});try{o=t.apply(this&&this.$id===i?this:q,p)}catch(e){throw w(n,e),e}return o instanceof Promise?o.then((e=>(w(a,e),e))).catch((e=>(w(n,e),Promise.reject(e)))):(w(a,o),o)}}const N=a({actions:{},getters:{},state:[],hotState:U}),F={_p:u,$id:i,$onAction:O.bind(null,j),$patch:R,$reset:z,$subscribe(e,p={}){const a=O(k,e,p.detached,(()=>n())),n=g.run((()=>t((()=>u.state.value[i]),(t=>{("sync"===p.flush?M:x)&&e({storeId:i,type:v.direct,events:E},t)}),$({},b,p))));return a},$dispose:function(){g.stop(),k=[],j=[],u._s.delete(i)}},q=p(C?$({_hmrPayload:N,_customProperties:a(new Set)},F):F);u._s.set(i,q);const B=(u._a&&u._a.runWithContext||S)((()=>u._e.run((()=>(g=n()).run(_)))));for(const e in B){const t=B[e];if(o(t)&&(!o(G=t)||!G.effect)||r(t))y||(!I||f(V=t)&&V.hasOwnProperty(P)||(o(t)?t.value=I[e]:L(t,I[e])),u.state.value[i][e]=t);else if("function"==typeof t){const p=D(e,t);B[e]=p,h.actions[e]=t}}var V,G;if($(q,B),$(c(q),B),Object.defineProperty(q,"$state",{get:()=>u.state.value[i],set:e=>{R((t=>{$(t,e)}))}}),C){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(q,t,$({value:q[t]},e))}))}return u._p.forEach((e=>{if(C){const t=g.run((()=>e({store:q,app:u._a,pinia:u,options:h})));Object.keys(t||{}).forEach((e=>q._customProperties.add(e))),$(q,t)}else $(q,g.run((()=>e({store:q,app:u._a,pinia:u,options:h}))))})),I&&y&&l.hydrate&&l.hydrate(q.$state,I),x=!0,M=!0,q}function M(e,t){return Array.isArray(t)?t.reduce(((t,p)=>(t[p]=function(){return e(this.$pinia)[p]},t)),{}):Object.keys(t).reduce(((p,a)=>(p[a]=function(){const p=e(this.$pinia),n=t[a];return"function"==typeof n?n.call(this,p):p[n]},p)),{})}function E(e,t){return Array.isArray(t)?t.reduce(((t,p)=>(t[p]=function(...t){return e(this.$pinia)[p](...t)},t)),{}):Object.keys(t).reduce(((p,a)=>(p[a]=function(...p){return e(this.$pinia)[t[a]](...p)},p)),{})}var k=function(e,t,p){let n,o;const r="function"==typeof t;function c(e,p){const c=y();(e=e||(c?i(h,null):null))&&m(e),(e=g)._s.has(n)||(r?x(n,t,o,e):function(e,t,p){const{state:n,actions:o,getters:r}=t,c=p.state.value[e];let s;s=x(e,(function(){c||(p.state.value[e]=n?n():{});const t=u(p.state.value[e]);return $(t,o,Object.keys(r||{}).reduce(((t,n)=>(t[n]=a(d((()=>{m(p);const t=p._s.get(e);return r[n].call(t,t)}))),t)),{}))}),t,p,0,!0)}(n,o,e));return e._s.get(n)}return"string"==typeof e?(n=e,o=r?p:t):(o=e,n=e.id),c.$id=n,c}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,p){const a=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[n,...o]=e.name.split(" "),r=a.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:n,lastname:o.length?o.join(" "):"UNKNOWN",city:e.locality,telephone:p,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapAppleAddress(e,t,p){const a=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:p,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...a?{region_id:a}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,p,a){const n={email:e,paymentMethod:{method:p,additional_data:{"express-payment":a,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(n)},getCachedResponse(e,t,p={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const a=e(p);return this.$patch({cache:{[t]:a}}),a},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function j(){const e=new Map;return async function(t,p,a="paypal",n="checkout",o=""){if(p){const e=new URLSearchParams(p).toString();t=`${t}?${e}`}const r=((e,t,p="")=>`${e}${t}${p}`)(t,a,o);if(e.has(r))return e.get(r);const c=new Promise(((p,c)=>{const s=document.createElement("script");s.src=t,s.dataset.namespace=`paypal_${a}`,s.dataset.partnerAttributionId="GENE_PPCP",s.dataset.pageType=n,o&&(s.dataset.userIdToken=o),s.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:a});document.dispatchEvent(e),p()},s.onerror=()=>{e.delete(r),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(s)}));return e.set(r,c),c}}export{E as a,j as l,M as m,k as u}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js index f496ef4..1c0e075 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as o,l as i}from"../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{e as n,c as s,b as p,a as r,n as l,o as c}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; +import{m as e,a as t,c as a,u as o,l as i}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{e as n,c as s,b as p,a as r,n as l,o as c}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js index 43cae0b..6cd73ea 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as e,a as t,c as o,u as a,l as n}from"../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{c as s,n as i,a as r,o as d}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; +import{m as e,a as t,c as o,u as a,l as n}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{c as s,n as i,a as r,o as d}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js index ee535c1..5f318cb 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as s,l as o}from"../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{g as n,c as r,a as p}from"../../../getTotals-qYxIcC3X.min.js";import{f as i}from"../../../finishPpcpOrder-DNA37LyQ.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; +import{m as e,a as t,c as a,u as s,l as o}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{g as n,c as r,a as p}from"../../../getTotals-ott0DgJx.min.js";import{f as i}from"../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js index d3061fc..f83f026 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js @@ -1,4 +1,4 @@ -import{m as e,a as t,c as a,u as o,l as s}from"../../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{e as i,c as n,f as l,b as p,d as r,n as c,a as d,w as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js"; +import{m as e,a as t,c as a,u as o,l as s}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{e as i,c as n,f as l,b as p,d as r,n as c,a as d,w as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js"; /** * @vue/runtime-dom v3.4.23 * (c) 2018-present Yuxi (Evan) You and Vue contributors diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js index c6aa671..87f9634 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as A,a as e,c as t,u as n,l as a}from"../../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{c as o,f as l,b as r,d,n as s,a as p,g as i,o as c}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.selectedMethod);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.selectedMethod,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; +import{m as A,a as e,c as t,u as n,l as a}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{c as o,f as l,b as r,d,n as s,a as p,g as i,o as c}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.selectedMethod);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.selectedMethod,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js index 3e1383a..ce5619e 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as s,l as o}from"../../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{f as p}from"../../../../finishPpcpOrder-DNA37LyQ.min.js";import{c as i,f as c,b as l,d as n,n as r,a as d,g as y,o as h}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var g={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=s,this.PrivacyPolicy=t},async created(){const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.selectedMethod}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(s,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t=window[`paypal_${this.selectedMethod}`];if(t){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?t.FUNDING.PAYLATER:t.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.selectedMethod),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(a.setLoadingState(!0),!0)},onApprove:async()=>{try{await p({orderId:this.orderID,method:this.selectedMethod}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},o={...s,fundingSource:window[`paypal_${this.selectedMethod}`].FUNDING.PAYPAL};if(await window[`paypal_${this.selectedMethod}`].Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:window[`paypal_${this.selectedMethod}`].FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.selectedMethod}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const i={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.selectedMethod}`].Messages(i).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const m=["src"],u={key:1,class:"pay-pal-content"};g.render=function(e,t,a,s,o,p){return h(),i("div",{class:r([{active:o.isMethodSelected},"pay-pal-container"])},[c("div",{class:r(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e))},[(h(),l(n(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:p.selectPaymentMethod,onKeydown:p.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),c("img",{width:"48px",class:"pay-pal-logo",src:p.payPalLogo,alt:"pay-pal-logo"},null,8,m)],34),o.errorMessage?(h(),l(n(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):d("v-if",!0),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(h(),i("div",u,[(h(),l(n(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(h(),l(n(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):d("v-if",!0),(h(),l(n(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):d("v-if",!0)],2)},g.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{g as default}; +import{m as e,a,c as t,u as s,l as o}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{f as p}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as i,f as c,b as l,d as n,n as r,a as d,g as y,o as h}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var g={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:a,RadioButton:t,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=t,this.Recaptcha=s,this.PrivacyPolicy=a},async created(){const[e,a,t,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=a.paymentEmitter,this.isPaymentMethodAvailable=a.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,a.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await t.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.selectedMethod}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...a(s,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),a=o(),t={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(t.components+=",messages"),this.paypal.payLaterActive&&(t["enable-funding"]="paylater"),a("https://www.paypal.com/sdk/js",t,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),a=window[`paypal_${this.selectedMethod}`];if(a){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?a.FUNDING.PAYLATER:a.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await t(this.selectedMethod,this.paypal.vaultActive,1),a=JSON.parse(e),[s]=a;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(t.setLoadingState(!0),!0)},onApprove:async()=>{try{await p({orderId:this.orderID,method:this.selectedMethod}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},o={...s,fundingSource:a.FUNDING.PAYPAL};if(await a.Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:a.FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await a.Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const i={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await a.Messages(i).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const m=["src"],u={key:1,class:"pay-pal-content"};g.render=function(e,a,t,s,o,p){return h(),i("div",{class:r([{active:o.isMethodSelected},"pay-pal-container"])},[c("div",{class:r(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:a[0]||(a[0]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e)),onKeydown:a[1]||(a[1]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e))},[(h(),l(n(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:p.selectPaymentMethod,onKeydown:p.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),c("img",{width:"48px",class:"pay-pal-logo",src:p.payPalLogo,alt:"pay-pal-logo"},null,8,m)],34),o.errorMessage?(h(),l(n(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):d("v-if",!0),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(h(),i("div",u,[(h(),l(n(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(h(),l(n(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):d("v-if",!0),(h(),l(n(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):d("v-if",!0)],2)},g.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{g as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js index 0c77927..39ceb9b 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as s,l as o}from"../../../../createPPCPPaymentRest-D76zA3Dz.min.js";import{g as n,c as r,a as p}from"../../../../getTotals-qYxIcC3X.min.js";import{f as i}from"../../../../finishPpcpOrder-DNA37LyQ.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; +import{m as e,a as t,c as a,u as s,l as o}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{g as n,c as r,a as p}from"../../../../getTotals-ott0DgJx.min.js";import{f as i}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js index 9b07162..45252f7 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js @@ -1 +1 @@ -import{c as e,o as n,f as m}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var o={name:"PpcpVenmoPayment"};const r=[m("p",null,"VENMO",-1)];o.render=function(m,o,t,a,s,u){return n(),e("div",null,[...r])},o.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{o as default}; +import{m as e,a as t,c as i,u as o,l as a}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{f as s}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as n,f as c,b as r,d,n as l,a as h,g as p,o as g}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var E={name:"PpcpVenmoPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_venmo",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,venmoLoaded:!1}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["venmo","paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),venmoLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAACVCAYAAADMmcw2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA99pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEwQ0VGMkM2QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEwQ0VGMkM1QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNS4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUY3RjExNzQwNzIwNjgxMTk5NENEQjI3NEI1REVGQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3RjExNzQwNzIwNjgx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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:i,Recaptcha:o,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=e,this.RadioButton=i,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,i,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await i.getInitialConfig(),await o.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.venmo.enabled&&(this.namespace=`${this.selectedMethod}_venmo`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_venmo"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_venmo")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=a(),i={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(i["buyer-country"]=this.buyerCountry,i["client-id"]=this.sandboxClientId):i["client-id"]=this.productionClientId,i["enable-funding"]="venmo",t("https://www.paypal.com/sdk/js",i,"ppcp_venmo")},async renderPaypalInstance(){const e=window[`paypal_${this.selectedMethod}`];if(e){const t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:"gold"===this.paypal.buttonColor?"blue":this.paypal.buttonColor,tagline:!1},fundingSource:e.FUNDING.VENMO,createOrder:async()=>{try{const e=await i(this.selectedMethod),t=JSON.parse(e),[o]=t;return this.orderID=o,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(i.setLoadingState(!0),!0)},onApprove:async()=>{try{await s({orderId:this.orderID,method:this.selectedMethod}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}};await e.Buttons(t).render("#paypal-button-container-venmo"),this.venmoLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const u=["src"],m={key:1,class:"venmo-content"};E.render=function(e,t,i,o,a,s){return g(),n("div",{class:l([{active:a.isMethodSelected},"venmo-container"])},[c("div",{class:l(["venmo-title",a.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>s.selectPaymentMethod&&s.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>s.selectPaymentMethod&&s.selectPaymentMethod(...e))},[(g(),r(d(a.RadioButton),{id:"venmo-select",text:e.venmo.title,checked:a.isMethodSelected,"data-cy":"venmo-radio",class:"venmo-radio",onClick:s.selectPaymentMethod,onKeydown:s.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),c("img",{width:"48px",class:"venmo-logo",src:s.venmoLogo,alt:"venmo-logo"},null,8,u)],34),a.errorMessage?(g(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):h("v-if",!0),c("div",{style:p({display:a.isMethodSelected?"block":"none"}),class:l(["paypal-button-container",a.venmoLoaded?"":"text-loading"]),id:"paypal-button-container-venmo","data-cy":"instant-checkout-ppcpPayPalVenmo"},null,6),a.isMethodSelected?(g(),n("div",m,[(g(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(g(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):h("v-if",!0),(g(),r(d(a.Agreements),{id:"ppcp-checkout-venmo"}))])):h("v-if",!0)],2)},E.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{E as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js index fb89a25..daac1d7 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js @@ -1 +1 @@ -import{m as e,a as t,u as a}from"../../createPPCPPaymentRest-D76zA3Dz.min.js";import o from"./PaymentMethods/GooglePay/GooglePay.min.js";import n from"./PaymentMethods/ApplePay/ApplePay.min.js";import s from"./PaymentMethods/PayPal/PayPal.min.js";import p from"./PaymentMethods/Venmo/Venmo.min.js";import m from"./PaymentMethods/CreditCard/CreditCard.min.js";import{c as P,F as i,r,a as d,o as l,b as y,m as c,d as h}from"../../runtime-core.esm-bundler-BJoG9T7Y.min.js";import"../../finishPpcpOrder-DNA37LyQ.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=o,this.PpcpApplePayPayment=n,this.PpcpPayPalPayment=s,this.PpcpCreditCardPayment=m,this.PpcpVenmoPayment=p,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,o,n,s){return n.dataLoaded?(l(),P("div",u,[(l(!0),P(i,null,r(s.sortedPaymentMethods,((e,t)=>(l(),y(h(e.component),c({key:t},{open:0===t}),null,16)))),128))])):d("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; +import{m as e,a as t,u as a}from"../../createPPCPPaymentRest-aIORhHuc.min.js";import o from"./PaymentMethods/GooglePay/GooglePay.min.js";import n from"./PaymentMethods/ApplePay/ApplePay.min.js";import s from"./PaymentMethods/PayPal/PayPal.min.js";import p from"./PaymentMethods/Venmo/Venmo.min.js";import m from"./PaymentMethods/CreditCard/CreditCard.min.js";import{c as P,F as i,r,a as d,o as l,b as y,m as c,d as h}from"../../runtime-core.esm-bundler-BJoG9T7Y.min.js";import"../../finishPpcpOrder-DYJ9R0Yl.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=o,this.PpcpApplePayPayment=n,this.PpcpPayPalPayment=s,this.PpcpCreditCardPayment=m,this.PpcpVenmoPayment=p,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,o,n,s){return n.dataLoaded?(l(),P("div",u,[(l(!0),P(i,null,r(s.sortedPaymentMethods,((e,t)=>(l(),y(h(e.component),c({key:t},{open:0===t}),null,16)))),128))])):d("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B4CZyU_b.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B4CZyU_b.min.js new file mode 100644 index 0000000..9a2d511 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B4CZyU_b.min.js @@ -0,0 +1,6 @@ +import{h as e,i as t,j as a,k as p,l as n,p as o,q as r,t as c,s,u as i,v as _,x as l,y as d,z as u,A as y}from"./runtime-core.esm-bundler-BJoG9T7Y.min.js"; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let g;const m=e=>g=e,h=Symbol();function f(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var v;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(v||(v={}));const b="undefined"!=typeof window,C="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&b,A=()=>{};function w(e,t,a,p=A){e.push(t);const n=()=>{const a=e.indexOf(t);a>-1&&(e.splice(a,1),p())};return!a&&_()&&l(n),n}function O(e,...t){e.slice().forEach((e=>{e(...t)}))}const S=e=>e();function L(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,a)=>e.set(a,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const a in t){if(!t.hasOwnProperty(a))continue;const p=t[a],n=e[a];f(n)&&f(p)&&e.hasOwnProperty(a)&&!o(p)&&!r(p)?e[a]=L(n,p):e[a]=p}return e}const P=Symbol();const{assign:k}=Object;function $(i,_,l={},d,u,y){let g;const h=k({actions:{}},l),b={deep:!0};let $,x,E,M=[],U=[];const I=d.state.value[i];y||I||(d.state.value[i]={});const T=e({});let j;function R(e){let t;$=x=!1,"function"==typeof e?(e(d.state.value[i]),t={type:v.patchFunction,storeId:i,events:E}):(L(d.state.value[i],e),t={type:v.patchObject,payload:e,storeId:i,events:E});const a=j=Symbol();s().then((()=>{j===a&&($=!0)})),x=!0,O(M,t,d.state.value[i])}const D=y?function(){const{state:e}=l,t=e?e():{};this.$patch((e=>{k(e,t)}))}:A;function z(e,t){return function(){m(d);const a=Array.from(arguments),p=[],n=[];let o;O(U,{args:a,name:e,store:F,after:function(e){p.push(e)},onError:function(e){n.push(e)}});try{o=t.apply(this&&this.$id===i?this:F,a)}catch(e){throw O(n,e),e}return o instanceof Promise?o.then((e=>(O(p,e),e))).catch((e=>(O(n,e),Promise.reject(e)))):(O(p,o),o)}}const N=p({actions:{},getters:{},state:[],hotState:T}),q={_p:d,$id:i,$onAction:w.bind(null,U),$patch:R,$reset:D,$subscribe(e,a={}){const p=w(M,e,a.detached,(()=>n())),n=g.run((()=>t((()=>d.state.value[i]),(t=>{("sync"===a.flush?x:$)&&e({storeId:i,type:v.direct,events:E},t)}),k({},b,a))));return p},$dispose:function(){g.stop(),M=[],U=[],d._s.delete(i)}},F=a(C?k({_hmrPayload:N,_customProperties:p(new Set)},q):q);d._s.set(i,F);const B=(d._a&&d._a.runWithContext||S)((()=>d._e.run((()=>(g=n()).run(_)))));for(const e in B){const t=B[e];if(o(t)&&(!o(G=t)||!G.effect)||r(t))y||(!I||f(V=t)&&V.hasOwnProperty(P)||(o(t)?t.value=I[e]:L(t,I[e])),d.state.value[i][e]=t);else if("function"==typeof t){const a=z(e,t);B[e]=a,h.actions[e]=t}}var V,G;if(k(F,B),k(c(F),B),Object.defineProperty(F,"$state",{get:()=>d.state.value[i],set:e=>{R((t=>{k(t,e)}))}}),C){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(F,t,k({value:F[t]},e))}))}return d._p.forEach((e=>{if(C){const t=g.run((()=>e({store:F,app:d._a,pinia:d,options:h})));Object.keys(t||{}).forEach((e=>F._customProperties.add(e))),k(F,t)}else k(F,g.run((()=>e({store:F,app:d._a,pinia:d,options:h}))))})),I&&y&&l.hydrate&&l.hydrate(F.$state,I),$=!0,x=!0,F}function x(e,t){return Array.isArray(t)?t.reduce(((t,a)=>(t[a]=function(){return e(this.$pinia)[a]},t)),{}):Object.keys(t).reduce(((a,p)=>(a[p]=function(){const a=e(this.$pinia),n=t[p];return"function"==typeof n?n.call(this,a):a[n]},a)),{})}function E(e,t){return Array.isArray(t)?t.reduce(((t,a)=>(t[a]=function(...t){return e(this.$pinia)[a](...t)},t)),{}):Object.keys(t).reduce(((a,p)=>(a[p]=function(...a){return e(this.$pinia)[t[p]](...a)},a)),{})}var M=function(e,t,a){let n,o;const r="function"==typeof t;function c(e,a){const c=y();(e=e||(c?i(h,null):null))&&m(e),(e=g)._s.has(n)||(r?$(n,t,o,e):function(e,t,a){const{state:n,actions:o,getters:r}=t,c=a.state.value[e];let s;s=$(e,(function(){c||(a.state.value[e]=n?n():{});const t=d(a.state.value[e]);return k(t,o,Object.keys(r||{}).reduce(((t,n)=>(t[n]=p(u((()=>{m(a);const t=a._s.get(e);return r[n].call(t,t)}))),t)),{}))}),t,a,0,!0)}(n,o,e));return e._s.get(n)}return"string"==typeof e?(n=e,o=r?a:t):(o=e,n=e.id),c.$id=n,c}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,a){const p=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[n,...o]=e.name.split(" "),r=p.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:n,lastname:o.length?o.join(" "):"UNKNOWN",city:e.locality,telephone:a,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapAppleAddress(e,t,a){const p=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:a,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...p?{region_id:p}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,a,p){const n={email:e,paymentMethod:{method:a,additional_data:{"express-payment":p,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(n)},getCachedResponse(e,t,a={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const p=e(a);return this.$patch({cache:{[t]:p}}),p},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function U(){const e=new Map;return async function(t,a,p="paypal",n="checkout",o=""){if(a){const e=new URLSearchParams(a).toString();t=`${t}?${e}`}const r=((e,t,a="")=>`${e}${t}${a}`)(t,p,o);if(e.has(r))return e.get(r);const c=new Promise(((a,c)=>{const s=document.createElement("script");s.src=t,s.dataset.namespace=`paypal_${p}`,s.dataset.partnerAttributionId="GENE_PPCP",s.dataset.pageType=n,o&&(s.dataset.userIdToken=o),s.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:p});document.dispatchEvent(e),a()},s.onerror=()=>{e.delete(r),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(s)}));return e.set(r,c),c}}var I=async e=>{const[t,a,p]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),n={"X-Requested-With":"XMLHttpRequest"},{maskedId:o,getMaskedId:r}=p;let c;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)c=o||await r();else{c=(await window.geneCheckout.services.getQuote()).id}try{const t=await window.geneCheckout.services.authenticatedRequest().post(await(async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=M();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`})(),{cartId:c,method:e,purchase_units:[{amount:{value:"10.00",currency_code:"USD"},shipping:{name:{full_name:"selectedAddress.addressLine1"},address:{address_line_1:"selectedAddress.addressLine1",address_line_2:"selectedAddress.addressLine1",admin_area_2:"selectedAddress.addressLine1",admin_area_1:"selectedAddress.addressLine1",postal_code:"selectedAddress.addressLine1",country_code:"selectedAddress.addressLine1"}}}],application_context:{shipping_preference:"SET_PROVIDED_ADDRESS"}},{headers:n});return t.data}catch(e){return t.setPaymentErrorMessage(e.response.data.message),null}};export{E as a,I as c,U as l,x as m,M as u}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-D8ScYQjr.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-D8ScYQjr.min.js new file mode 100644 index 0000000..ff1a1cf --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-D8ScYQjr.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Cpuh15JN.min.js";var t=async t=>{const[s,r,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),a={"X-Requested-With":"XMLHttpRequest"},{maskedId:n,getMaskedId:u}=o;let c;if(r.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)c=n||await u();else{c=(await window.geneCheckout.services.getQuote()).id}try{const s=await window.geneCheckout.services.authenticatedRequest().post(await(async()=>{const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:s}=e();return`${t.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?s.createGuestOrderUrl:s.createOrderUrl}`})(),{cartId:c,method:t},{headers:a});return s.data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as c}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-aIORhHuc.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-aIORhHuc.min.js new file mode 100644 index 0000000..37060a1 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-aIORhHuc.min.js @@ -0,0 +1,6 @@ +import{h as e,i as t,j as a,k as p,l as n,p as o,q as r,t as c,s,u as i,v as _,x as l,y as u,z as d,A as y}from"./runtime-core.esm-bundler-BJoG9T7Y.min.js"; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let g;const m=e=>g=e,h=Symbol();function f(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var v;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(v||(v={}));const b="undefined"!=typeof window,C="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&b,w=()=>{};function A(e,t,a,p=w){e.push(t);const n=()=>{const a=e.indexOf(t);a>-1&&(e.splice(a,1),p())};return!a&&_()&&l(n),n}function O(e,...t){e.slice().forEach((e=>{e(...t)}))}const S=e=>e();function P(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,a)=>e.set(a,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const a in t){if(!t.hasOwnProperty(a))continue;const p=t[a],n=e[a];f(n)&&f(p)&&e.hasOwnProperty(a)&&!o(p)&&!r(p)?e[a]=P(n,p):e[a]=p}return e}const k=Symbol();const{assign:L}=Object;function $(i,_,l={},u,d,y){let g;const h=L({actions:{}},l),b={deep:!0};let $,M,x,E=[],U=[];const I=u.state.value[i];y||I||(u.state.value[i]={});const T=e({});let j;function R(e){let t;$=M=!1,"function"==typeof e?(e(u.state.value[i]),t={type:v.patchFunction,storeId:i,events:x}):(P(u.state.value[i],e),t={type:v.patchObject,payload:e,storeId:i,events:x});const a=j=Symbol();s().then((()=>{j===a&&($=!0)})),M=!0,O(E,t,u.state.value[i])}const z=y?function(){const{state:e}=l,t=e?e():{};this.$patch((e=>{L(e,t)}))}:w;function D(e,t){return function(){m(u);const a=Array.from(arguments),p=[],n=[];let o;O(U,{args:a,name:e,store:F,after:function(e){p.push(e)},onError:function(e){n.push(e)}});try{o=t.apply(this&&this.$id===i?this:F,a)}catch(e){throw O(n,e),e}return o instanceof Promise?o.then((e=>(O(p,e),e))).catch((e=>(O(n,e),Promise.reject(e)))):(O(p,o),o)}}const N=p({actions:{},getters:{},state:[],hotState:T}),q={_p:u,$id:i,$onAction:A.bind(null,U),$patch:R,$reset:z,$subscribe(e,a={}){const p=A(E,e,a.detached,(()=>n())),n=g.run((()=>t((()=>u.state.value[i]),(t=>{("sync"===a.flush?M:$)&&e({storeId:i,type:v.direct,events:x},t)}),L({},b,a))));return p},$dispose:function(){g.stop(),E=[],U=[],u._s.delete(i)}},F=a(C?L({_hmrPayload:N,_customProperties:p(new Set)},q):q);u._s.set(i,F);const B=(u._a&&u._a.runWithContext||S)((()=>u._e.run((()=>(g=n()).run(_)))));for(const e in B){const t=B[e];if(o(t)&&(!o(G=t)||!G.effect)||r(t))y||(!I||f(V=t)&&V.hasOwnProperty(k)||(o(t)?t.value=I[e]:P(t,I[e])),u.state.value[i][e]=t);else if("function"==typeof t){const a=D(e,t);B[e]=a,h.actions[e]=t}}var V,G;if(L(F,B),L(c(F),B),Object.defineProperty(F,"$state",{get:()=>u.state.value[i],set:e=>{R((t=>{L(t,e)}))}}),C){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(F,t,L({value:F[t]},e))}))}return u._p.forEach((e=>{if(C){const t=g.run((()=>e({store:F,app:u._a,pinia:u,options:h})));Object.keys(t||{}).forEach((e=>F._customProperties.add(e))),L(F,t)}else L(F,g.run((()=>e({store:F,app:u._a,pinia:u,options:h}))))})),I&&y&&l.hydrate&&l.hydrate(F.$state,I),$=!0,M=!0,F}function M(e,t){return Array.isArray(t)?t.reduce(((t,a)=>(t[a]=function(){return e(this.$pinia)[a]},t)),{}):Object.keys(t).reduce(((a,p)=>(a[p]=function(){const a=e(this.$pinia),n=t[p];return"function"==typeof n?n.call(this,a):a[n]},a)),{})}function x(e,t){return Array.isArray(t)?t.reduce(((t,a)=>(t[a]=function(...t){return e(this.$pinia)[a](...t)},t)),{}):Object.keys(t).reduce(((a,p)=>(a[p]=function(...a){return e(this.$pinia)[t[p]](...a)},a)),{})}var E=function(e,t,a){let n,o;const r="function"==typeof t;function c(e,a){const c=y();(e=e||(c?i(h,null):null))&&m(e),(e=g)._s.has(n)||(r?$(n,t,o,e):function(e,t,a){const{state:n,actions:o,getters:r}=t,c=a.state.value[e];let s;s=$(e,(function(){c||(a.state.value[e]=n?n():{});const t=u(a.state.value[e]);return L(t,o,Object.keys(r||{}).reduce(((t,n)=>(t[n]=p(d((()=>{m(a);const t=a._s.get(e);return r[n].call(t,t)}))),t)),{}))}),t,a,0,!0)}(n,o,e));return e._s.get(n)}return"string"==typeof e?(n=e,o=r?a:t):(o=e,n=e.id),c.$id=n,c}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,a){const p=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[n,...o]=e.name.split(" "),r=p.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:n,lastname:o.length?o.join(" "):"UNKNOWN",city:e.locality,telephone:a,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapAppleAddress(e,t,a){const p=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:a,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...p?{region_id:p}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,a,p){const n={email:e,paymentMethod:{method:a,additional_data:{"express-payment":p,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(n)},getCachedResponse(e,t,a={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const p=e(a);return this.$patch({cache:{[t]:p}}),p},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function U(){const e=new Map;return async function(t,a,p="paypal",n="checkout",o=""){if(a){const e=new URLSearchParams(a).toString();t=`${t}?${e}`}const r=((e,t,a="")=>`${e}${t}${a}`)(t,p,o);if(e.has(r))return e.get(r);const c=new Promise(((a,c)=>{const s=document.createElement("script");s.src=t,s.dataset.namespace=`paypal_${p}`,s.dataset.partnerAttributionId="GENE_PPCP",s.dataset.pageType=n,o&&(s.dataset.userIdToken=o),s.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:p});document.dispatchEvent(e),a()},s.onerror=()=>{e.delete(r),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(s)}));return e.set(r,c),c}}var I=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=E();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},T=async(e,t=!1,a=0)=>{const[p,n,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),r={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:s}=o;let i;if(n.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await s();else{i=(await window.geneCheckout.services.getQuote()).id}const _=t&&0!==a?`${await I()}?vault=${t}&fromCheckout=1`:await I();try{return(await window.geneCheckout.services.authenticatedRequest().post(_,{cartId:i,method:e},{headers:r})).data}catch(e){return p.setPaymentErrorMessage(e.response.data.message),null}};export{x as a,T as c,U as l,M as m,E as u}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-CiCZAt-M.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-CiCZAt-M.min.js new file mode 100644 index 0000000..9256903 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-CiCZAt-M.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Cpuh15JN.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),r={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:a}=e(),o=a.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(o,t,{headers:r})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-DYJ9R0Yl.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DYJ9R0Yl.min.js new file mode 100644 index 0000000..6d6c056 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DYJ9R0Yl.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-aIORhHuc.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dtoq9XJQ.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dtoq9XJQ.min.js new file mode 100644 index 0000000..ae0115b --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dtoq9XJQ.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-B4CZyU_b.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-CvXxIERM.min.js b/view/frontend/web/js/checkout/dist/getTotals-CvXxIERM.min.js new file mode 100644 index 0000000..39ff3f8 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-CvXxIERM.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Cpuh15JN.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-Dp8N2_-z.min.js b/view/frontend/web/js/checkout/dist/getTotals-Dp8N2_-z.min.js new file mode 100644 index 0000000..c184fe8 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-Dp8N2_-z.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-B4CZyU_b.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-ott0DgJx.min.js b/view/frontend/web/js/checkout/dist/getTotals-ott0DgJx.min.js new file mode 100644 index 0000000..1a85630 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-ott0DgJx.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-aIORhHuc.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/styles.css b/view/frontend/web/js/checkout/dist/styles.css index 93b12e0..98bfc0c 100644 --- a/view/frontend/web/js/checkout/dist/styles.css +++ b/view/frontend/web/js/checkout/dist/styles.css @@ -1,6 +1,7 @@ .google-pay-container, .apple-pay-container, -.pay-pal-container { +.pay-pal-container, +.venmo-container { background-color: var(--radio-input-wrapper__background-color); border: var(--radio-input-wrapper__border-weight) var(--base__border-style) var(--radio-input-wrapper__border-color); border-radius: var(--radio-input-wrapper__border-radius); @@ -11,36 +12,43 @@ } .google-pay-container .selected, .apple-pay-container .selected, -.pay-pal-container .selected { +.pay-pal-container .selected, +.venmo-container .selected { margin-bottom: var(--indent__base); } .google-pay-container .ppcp-apple-pay-button apple-pay-button, .google-pay-container .ppcp-apple-pay-button.text-loading, .apple-pay-container .ppcp-apple-pay-button apple-pay-button, .apple-pay-container .ppcp-apple-pay-button.text-loading, .pay-pal-container .ppcp-apple-pay-button apple-pay-button, -.pay-pal-container .ppcp-apple-pay-button.text-loading { +.pay-pal-container .ppcp-apple-pay-button.text-loading, +.venmo-container .ppcp-apple-pay-button apple-pay-button, +.venmo-container .ppcp-apple-pay-button.text-loading { height: 55px; --apple-pay-button-height: var(--ppcp-express-button-height, 55px); width: 100%; } .google-pay-container #ppcp-google-pay, .apple-pay-container #ppcp-google-pay, -.pay-pal-container #ppcp-google-pay { +.pay-pal-container #ppcp-google-pay, +.venmo-container #ppcp-google-pay { max-height: 55px; } .google-pay-container #ppcp-google-pay button, .apple-pay-container #ppcp-google-pay button, -.pay-pal-container #ppcp-google-pay button { +.pay-pal-container #ppcp-google-pay button, +.venmo-container #ppcp-google-pay button { height: 55px; } .google-pay-content, .apple-pay-content, -.pay-pal-content { +.pay-pal-content, +.venmo-content { margin-top: var(--indent__base); } .google-pay-title, .apple-pay-title, -.pay-pal-title { +.pay-pal-title, +.venmo-title { display: flex; align-items: center; justify-content: space-between; diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue index 0c28fc5..ac89d33 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue @@ -261,7 +261,11 @@ export default { : paypalConfig.FUNDING.PAYPAL, createOrder: async () => { try { - const data = await createPPCPPaymentRest(this.selectedMethod); + const data = await createPPCPPaymentRest( + this.selectedMethod, + this.paypal.vaultActive, + 1, + ); const orderData = JSON.parse(data); const [orderID] = orderData; @@ -336,9 +340,9 @@ export default { // Render the PayPal button const paypalButtonData = { ...commonRenderData, - fundingSource: window[`paypal_${this.selectedMethod}`].FUNDING.PAYPAL, + fundingSource: paypalConfig.FUNDING.PAYPAL, }; - await window[`paypal_${this.selectedMethod}`].Buttons(paypalButtonData).render( + await paypalConfig.Buttons(paypalButtonData).render( '#ppcp-paypal_ppcp_paypal', ); @@ -346,14 +350,14 @@ export default { if (this.paypal.payLaterActive) { const payLaterButtonData = { ...commonRenderData, - fundingSource: window[`paypal_${this.selectedMethod}`].FUNDING.PAYLATER, + fundingSource: paypalConfig.FUNDING.PAYLATER, style: { ...commonRenderData.style, color: this.paypal.payLaterButtonColour, shape: this.paypal.payLaterButtonShape, }, }; - await window[`paypal_${this.selectedMethod}`].Buttons(payLaterButtonData).render( + await paypalConfig.Buttons(payLaterButtonData).render( '#ppcp-paypal_ppcp_paylater', ); } @@ -376,7 +380,7 @@ export default { // Render the PayPal messages (if active) if (this.paypal.payLaterMessageActive) { - await window[`paypal_${this.selectedMethod}`].Messages(payLaterMessagingConfig).render( + await paypalConfig.Messages(payLaterMessagingConfig).render( '#ppcp-paypal_messages', ); } diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue index ed23a7b..00a1436 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue @@ -1,11 +1,327 @@ diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/icons/venmo_logo_blue.png b/view/frontend/web/js/checkout/src/components/PaymentPage/icons/venmo_logo_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e4756e49d7b1dd7c446c348692053eba392022 GIT binary patch literal 9506 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 sCJyRmyvScXJ@L34{MgBQqDo9bG) { +export default async (method, vault = false, fromCheckout= 0) => { const [ paymentStore, customerStore, @@ -31,9 +31,12 @@ export default async (method) => { cartId = quote.id; } + const url = vault && fromCheckout !== 0 ? `${await buildPpcpCartUrl()}?vault=${vault}&fromCheckout=1` + : await buildPpcpCartUrl(); + try { const response = await window.geneCheckout.services.authenticatedRequest().post( - await buildPpcpCartUrl(), + url, { cartId, method, From 8ffdcb3eb0f183fca148a9baa0078d861440280d Mon Sep 17 00:00:00 2001 From: Alla Nehaenko Date: Mon, 9 Dec 2024 12:24:08 +0000 Subject: [PATCH 008/167] added structure for card payment --- .../checkout/dist/addScript-Pdb9JQSv.min.js | 22 + .../ExpressPayments/ApplePay/ApplePay.min.js | 2 +- .../GooglePay/GooglePay.min.js | 2 +- .../ExpressPayments/PayPal/PayPal.min.js | 2 +- .../PaymentMethods/ApplePay/ApplePay.min.js | 4 +- .../CreditCard/CreditCard.min.js | 2 +- .../PaymentMethods/GooglePay/GooglePay.min.js | 2 +- .../PaymentMethods/PayPal/PayPal.min.js | 2 +- .../PayPalPayLater/PayPalPayLater.min.js | 2 +- .../PaymentMethods/Venmo/Venmo.min.js | 2 +- .../PaymentPage/PaymentMethodsList.min.js | 2 +- .../createPPCPPaymentRest-BNgko7Rm.min.js | 22 + .../createPPCPPaymentRest-BXgzcOkO.min.js | 23 + .../createPPCPPaymentRest-CgwgV98F.min.js | 22 + .../createPPCPPaymentRest-DuGc4Vdl.min.js | 1 + .../createPPCPPaymentRest-qTNGWAjN.min.js | 22 + .../dist/finishPpcpOrder-C2h7NBJP.min.js | 1 + .../dist/finishPpcpOrder-DHp7VpU3.min.js | 1 + .../dist/finishPpcpOrder-DUGsfi96.min.js | 1 + .../dist/finishPpcpOrder-Dh6Fi_68.min.js | 1 + .../dist/finishPpcpOrder-DtrnFHPT.min.js | 1 + .../checkout/dist/getTotals-B1_ql7ou.min.js | 1 + .../checkout/dist/getTotals-BI4EWGEf.min.js | 1 + .../checkout/dist/getTotals-DKezoQ5E.min.js | 1 + .../checkout/dist/getTotals-DWZqFiJq.min.js | 1 + .../checkout/dist/getTotals-QPdFoW4k.min.js | 1 + view/frontend/web/js/checkout/dist/styles.css | 37 +- .../PaymentMethods/ApplePay/ApplePay.vue | 11 +- .../PaymentMethods/CreditCard/CreditCard.vue | 442 +++++++++++++++++- .../PaymentMethods/GooglePay/GooglePay.vue | 5 +- .../PaymentMethods/PayPal/PayPal.vue | 10 +- .../PaymentMethods/Venmo/Venmo.vue | 16 +- .../PaymentPage/paymentMethods.scss | 21 +- .../src/services/createPPCPPaymentRest.js | 4 +- 34 files changed, 643 insertions(+), 47 deletions(-) create mode 100644 view/frontend/web/js/checkout/dist/addScript-Pdb9JQSv.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BNgko7Rm.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BXgzcOkO.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-CgwgV98F.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DuGc4Vdl.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-qTNGWAjN.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-C2h7NBJP.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-DHp7VpU3.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-DUGsfi96.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-Dh6Fi_68.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-DtrnFHPT.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-B1_ql7ou.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-BI4EWGEf.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-DKezoQ5E.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-DWZqFiJq.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-QPdFoW4k.min.js diff --git a/view/frontend/web/js/checkout/dist/addScript-Pdb9JQSv.min.js b/view/frontend/web/js/checkout/dist/addScript-Pdb9JQSv.min.js new file mode 100644 index 0000000..46da06c --- /dev/null +++ b/view/frontend/web/js/checkout/dist/addScript-Pdb9JQSv.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,S=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},C=/-(\w)/g,O=S((e=>e.replace(C,((e,t)=>t?t.toUpperCase():"")))),A=S((e=>e.charAt(0).toUpperCase()+e.slice(1))),L=(e,t)=>!Object.is(e,t),k=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(R);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=B,t=F;try{return B=!0,F=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,F=t,B=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(B&&F){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),X(F,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}J();for(const e of c)e&&Z(e,4);Q()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),J();const n=He(this)[t].apply(this,e);return Q(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ue:Ne:a?Te:Fe).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=Be(a);if(qe(n)||Be(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(L(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Qe:Je;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(L(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Se(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?L(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Ce(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function Ae(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Qe:Je;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Le(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Qe:Je;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function ke(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Se,delete:Ce,clear:Oe,forEach:Ae(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Se,delete:Ce,clear:Oe,forEach:Ae(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:ke("add"),set:ke("set"),delete:ke("delete"),clear:ke("clear"),forEach:Ae(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:ke("add"),set:ke("set"),delete:ke("delete"),clear:ke("clear"),forEach:Ae(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Le(a,!1,!1),n[a]=Le(a,!0,!1),t[a]=Le(a,!1,!0),r[a]=Le(a,!0,!0)})),[e,n,t,r]}const[Pe,je,Re,Ee]=xe();function Ie(e,t){const n=t?e?Ee:Re:e?je:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Fe=new WeakMap,Te=new WeakMap,Ne=new WeakMap,Ue=new WeakMap;function ze(e){return Be(e)?e:De(e,!1,he,Me,Fe)}function Ve(e){return De(e,!0,fe,$e,Ne)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return Be(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function Be(e){return!(!e||!e.__v_isReadonly)}function qe(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&k(e,"__v_skip",!0),e}const Je=e=>f(e)?ze(e):e,Qe=e=>f(e)?Ve(e):e;class Xe{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new U((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!L(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;B&&F&&(e=He(e),X(F,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Xe?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Je(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||qe(e)||Be(e);e=t?e:He(e),L(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Je(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htNt(jt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),k()}}const d=pn,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=qe(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||qe(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(ln){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=Rt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const S=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>L(e,w[t]))):L(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let C;S.allowRecurse=!!n,"sync"===c?C=S:"post"===c?C=()=>Vt(S,d&&d.suspense):(S.pre=!0,d&&(S.id=d.uid),C=()=>gt(S));const O=new U(f,r,C),A=N(),k=()=>{O.stop(),A&&o(A.effects,O)};n?a?S():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(k);return k}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Ft(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Ut=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Ut,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),Bt=Symbol.for("v-cmt"),qt=Symbol.for("v-stc"),Gt=[];let Ht=null;function Kt(e=!1){Gt.push(Ht=e?null:[])}function Jt(e){return e.dynamicChildren=Ht||n,Gt.pop(),Ht=Gt[Gt.length-1]||null,Ht&&Ht.push(e),e}function Qt(e,t,n,r,a,s){return Jt(en(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Jt(tn(e,t,n,r,a,!0))}const Yt=({key:e})=>null!=e?e:null,Zt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:St,r:e,k:t,f:!!n}:e:null);function en(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yt(t),ref:t&&Zt(t),scopeId:Ct,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:St};return c?(on(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Ht&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Ht.push(p),p}const tn=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==Lt||(e=Bt);if(c=e,c&&!0===c.__v_isVNode){const r=nn(e,t,!0);return n&&on(r,n),!o&&Ht&&(6&r.shapeFlag?Ht[Ht.indexOf(e)]=r:Ht.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return en(e,t,n,r,a,p,o,!0)};function nn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?cn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Yt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Zt(t)):[a,Zt(t)]:Zt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nn(e.ssContent),ssFallback:e.ssFallback&&nn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function rn(e=" ",t=0){return tn(Wt,null,e,t)}function an(e,t){const n=tn(qt,null,e);return n.staticCount=t,n}function sn(e="",t=!1){return t?(Kt(),Xt(Bt,null,e)):tn(Bt,null,e)}function on(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),on(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&St&&(1===St.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=St}}else _(t)?(t={default:t,_ctx:St},n=32):(t=String(t),64&r?(n=16,t=[rn(t)]):n=8);e.children=t,e.shapeFlag|=n}function cn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>pn=e)),t("__VUE_SSR_SETTERS__",(e=>ln=e))}let ln=!1;const un=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Xe(a,s,o||!s,n)}(e,0,ln);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let _n;const dn=e=>_n=e,hn=Symbol();function fn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var yn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(yn||(yn={}));const gn="undefined"!=typeof window,vn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&gn,mn=()=>{};function bn(e,t,n,r=mn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&N()&&(s=a,$&&$.cleanups.push(s)),a}function wn(e,...t){e.slice().forEach((e=>{e(...t)}))}const Sn=e=>e();function Cn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];fn(a)&&fn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=Cn(a,r):e[n]=r}return e}const On=Symbol();const{assign:An}=Object;function Ln(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return An(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(un((()=>{dn(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=An({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:yn.patchFunction,storeId:e,events:u}):(Cn(r.state.value[e],t),n={type:yn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,wn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{An(e,t)}))}:mn;function m(t,n){return function(){dn(r);const a=Array.from(arguments),s=[],o=[];let c;wn(d,{args:a,name:t,store:S,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:S,a)}catch(e){throw wn(o,e),e}return c instanceof Promise?c.then((e=>(wn(s,e),e))).catch((e=>(wn(o,e),Promise.reject(e)))):(wn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:bn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=bn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:yn.direct,events:u},r)}),An({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},S=ze(vn?An({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,S);const C=(r._a&&r._a.runWithContext||Sn)((()=>r._e.run((()=>{return(o=new T(e)).run(t);var e}))));for(const t in C){const n=C[t];if(et(n)&&(!et(A=n)||!A.effect)||We(n))s||(!h||fn(O=n)&&O.hasOwnProperty(On)||(et(n)?n.value=h[t]:Cn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);C[t]=e,c.actions[t]=n}}var O,A;if(An(S,C),An(He(S),C),Object.defineProperty(S,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{An(t,e)}))}}),vn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(S,t,An({value:S[t]},e))}))}return r._p.forEach((e=>{if(vn){const t=o.run((()=>e({store:S,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>S._customProperties.add(e))),An(S,t)}else An(S,o.run((()=>e({store:S,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(S.$state,h),i=!0,l=!0,S}function xn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Pn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var jn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(pn||St||Tt)?Nt(hn,null):null))&&dn(e),(e=_n)._s.has(r)||(s?kn(r,t,a,e):Ln(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Rn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}export{Dt as F,Pn as a,sn as b,Qt as c,Xt as d,cn as e,kt as f,At as g,en as h,an as i,P as j,Rn as l,xn as m,M as n,Kt as o,Ft as r,jn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js index 1c0e075..4a80c29 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as o,l as i}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{e as n,c as s,b as p,a as r,n as l,o as c}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; +import{m as e,a as t,g as a,u as o,l as i,h as n,c as s,d as p,b as r,n as l,o as c}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js index 6cd73ea..e33358c 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as e,a as t,c as o,u as a,l as n}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{c as s,n as i,a as r,o as d}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; +import{m as e,a as t,g as o,u as a,l as n,c as s,n as i,b as r,o as d}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js index 5f318cb..9d82077 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as s,l as o}from"../../../createPPCPPaymentRest-aIORhHuc.min.js";import{g as n,c as r,a as p}from"../../../getTotals-ott0DgJx.min.js";import{f as i}from"../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; +import{m as e,a as t,g as a,u as s,l as o,c as n,i as p,n as r,F as i,o as d}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{g as c,c as l,a as h}from"../../../getTotals-DWZqFiJq.min.js";import{f as y}from"../../../finishPpcpOrder-Dh6Fi_68.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[p("div",{class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),p("div",{class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),p("div",{class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js index f83f026..14ace25 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js @@ -1,6 +1,6 @@ -import{m as e,a as t,c as a,u as o,l as s}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{e as i,c as n,f as l,b as p,d as r,n as c,a as d,w as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js"; +import{m as e,a as t,g as a,u as o,l as s,h as i,c as n,i as p,d as l,f as r,n as c,b as d,w as h,o as y}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js"; /** * @vue/runtime-dom v3.4.23 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const m=Symbol("_vod"),u=Symbol("_vsh"),A={beforeMount(e,{value:t},{transition:a}){e[m]="none"===e.style.display?"":e.style.display,a&&t?a.beforeEnter(e):g(e,t)},mounted(e,{value:t},{transition:a}){a&&t&&a.enter(e)},updated(e,{value:t,oldValue:a},{transition:o}){!t!=!a&&(o?t?(o.beforeEnter(e),g(e,!0),o.enter(e)):o.leave(e,(()=>{g(e,!1)})):g(e,t))},beforeUnmount(e,{value:t}){g(e,t)}};function g(e,t){e.style.display=t?e[m]:"none",e[u]=!t}var P={name:"PpcpApplePayPayment",data:()=>({isMethodSelected:!1,applePayLoaded:!1,applePayAvailable:!1,applePayConfig:null,isEligible:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_applepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"]),applePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABB5JREFUeNrsWVkodVEUds1zhogHQ5QpkSljhlzxwBOF8mAmKckQHhAPpEzFi4wPZhHyZshQCtf04NEQkSmZXfNXp/Z/uq7rXv+5fv9tr1J7r7P2cr691/ftdeCtrKwoKYqp4sfDw0MBkAgEAmUlBTIKhoKhYCgYCoaCoWB+Aszg4GB2dvbj4+Mv6s2+Z6WlpZWVlYaGhk1NTR+fon/t7+8/Pj5+fn5WU1Nzd3fPycn5pSczMzMDJBhMTEyIDUhJSRkYGLC1tXVwcNDT02ttbQXsjY0N+aLBFr7Jbg0NDQEBAYuLi58FuLi4NDc3sz1xcXH4dff392/yMQCR9mReX1+rq6u9vb2DgoJQVxjk5+ePj4+jfvh8fldXl0i8hobG2dkZ29Pb2wtnS0vLP+bM7e2tn5/f5uYmM52bm9PS0sIek4CpqanV1dXGxkbJedzc3JhKOzo66uzsXFtbA6MiIiLS09PhXFhYwDQ4OFhkFfx4gfDwcG44k5eXR5AwxkYCMzMzi4+P/zLP4eGhq6srBsnJySCbnZ2djY1NcXFxWFgYnCcnJyEhIXd3dyKrAgMDAZszzqirq0tOMjY2JrIEX6+1tbVsT3d3NyIvLi4wPjg4IH6hUAg/ChVjiAREkr2qo6PDwMBASs5IBUYyEijvzc2NyBIfHx8UD2hzdXW1vr5eUFDA0EZs/qysLJAQAyAxNjZmPwInMzIypASj+ve0gzbgjXV0dNhOExMTXKnb29vX19dPT09GRkZLS0teXl7sGIghPtxxViChtbU1PIWFhRUVFZiitDDFASLDyMgIlwKgra39sZSJvby81NTU1NfXs504E+w3DgeHZmVlJQJ1fn4e+w0VwSPQBvyG0MGPMKhleXn59PQ0pihUJycnS0tLLu+Z0NDQL/PgDc7Pz9mcqaqqEpttdnYW8WVlZeiDGE9JSYmvry8zxnWMpw8PDxhDIfr6+ji+ZxITE6UBg4L5o5LKyp/1bDiu6OhoxINsRBtVVFSYMaQZjIce7O7u8ni82NhYjtuZhISEL886NTUVzYs02fb39/39/dmeyclJEI9MMzMzh4aG6urqIiMj5dLOLC8vS0gCujOFQcze3r6oqEhsKhyLpqYmiQfjkSEmJoYEXF5empqa6urq4uaRSzvj6enZ09PDjB0dHXNzc9PS0nAtYGphYQH9YRhMzNzcHNUiNhUuHMga5CsqKgqKDKloa2sjZQbT19fHXkAYsEdybDS3trZAUDLFe6CRgfh+jIRYS+4ph4eHoYEk2+npKfups7MzBE3WRvObXbNcDc0OETeZwHBwaXJr+Lhob2/f29v70S9Nzg3KnpSUNDo6itqT4aL8nWAgYugJdnZ2mNbm/wYDDOhE6Z+aKBgKhoKhYCgYCuaH/gsgEAgUA8y7AAMADA24hckBBEQAAAAASUVORK5CYII="},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:o,Agreements:s}}}=await import(window.geneCheckout.main);this.Agreements=s,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await o.getCart(),await this.addSdkScript(),this.showApplePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_applepay"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["makePayment","mapSelectedAddress","mapAppleAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_applepay")},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=s(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.selectedMethod}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);s.setErrorMessage("");if(!e.validateAgreements())return;const i=window[`paypal_${this.selectedMethod}`].Applepay();try{const e={countryCode:a.countryCode,currencyCode:a.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredBillingContactFields:["name","phone","email","postalAddress"],requiredShippingContactFields:[],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},s=new window.ApplePaySession(4,e);s.onvalidatemerchant=e=>{i.validateMerchant({validationUrl:e.validationURL}).then((e=>{s.completeMerchantValidation(e.merchantSession)})).catch((e=>{console.error(e),s.abort(),o.setLoadingState(!1)}))},s.onpaymentauthorized=e=>this.onAuthorized(e,s),s.begin()}catch(e){await this.setApplePayError()}},async onAuthorized(e,t){const[o,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),i=window[`paypal_${this.selectedMethod}`].Applepay(),{billingContact:n}=e.payment,l=await this.mapAppleAddress(n,o.cart.email,o.cart.shipping_addresses[0].telephone);let p=null;if(o.cart.is_virtual||(p=await this.mapSelectedAddress(o.cart.shipping_addresses[0])),!s.countries.some((({id:e})=>e===l.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const r=await a(this.selectedMethod);[this.orderID]=JSON.parse(r),i.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(p,l,o.cart.email).then((()=>this.makePayment(o.cart.email,this.orderID,this.selectedMethod,!1))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))}}};const w=["src"],S={key:2,class:"apple-pay-content"};P.render=function(e,t,a,o,s,m){const u=i("apple-pay-button");return s.applePayAvailable?(y(),n("div",{key:0,class:c([{active:s.isMethodSelected},"apple-pay-container"])},[l("div",{class:c(["apple-pay-title",s.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e))},[(y(),p(r(s.RadioButton),{id:"apple-pay-select",text:e.apple.title,checked:s.isMethodSelected,"data-cy":"apple-pay-radio",class:"apple-pay-radio",onClick:m.selectPaymentMethod,onKeydown:m.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"apple-pay-logo",src:m.applePayLogo,alt:"apple-pay-logo"},null,8,w)],34),s.applePayAvailable&&s.isMethodSelected?(y(),n("div",{key:0,class:c(["ppcp-apple-pay-button",s.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[s.applePayLoaded?(y(),p(u,{key:0,onClick:m.onClick,id:"ppcp-apple-pay",type:"plain",locale:"en"},null,8,["onClick"])):d("v-if",!0)],2)):d("v-if",!0),s.errorMessage?(y(),p(r(s.ErrorMessage),{key:1,message:s.errorMessage,attached:!1},null,8,["message"])):d("v-if",!0),h(l("div",{id:"ppcp-apple-pay",class:c(!s.applePayLoaded&&s.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPApplePay"},null,2),[[A,s.isMethodSelected]]),s.isMethodSelected?(y(),n("div",S,[(y(),p(r(s.PrivacyPolicy))),s.isRecaptchaVisible("placeOrder")?(y(),p(r(s.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):d("v-if",!0),(y(),p(r(s.Agreements),{id:"ppcp-checkout-apple-pay"}))])):d("v-if",!0)],2)):d("v-if",!0)},P.__file="src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue";export{P as default}; +**/const m=Symbol("_vod"),u=Symbol("_vsh"),g={beforeMount(e,{value:t},{transition:a}){e[m]="none"===e.style.display?"":e.style.display,a&&t?a.beforeEnter(e):A(e,t)},mounted(e,{value:t},{transition:a}){a&&t&&a.enter(e)},updated(e,{value:t,oldValue:a},{transition:o}){!t!=!a&&(o?t?(o.beforeEnter(e),A(e,!0),o.enter(e)):o.leave(e,(()=>{A(e,!1)})):A(e,t))},beforeUnmount(e,{value:t}){A(e,t)}};function A(e,t){e.style.display=t?e[m]:"none",e[u]=!t}var P={name:"PpcpApplePayPayment",data:()=>({isMethodSelected:!1,applePayLoaded:!1,applePayAvailable:!1,applePayConfig:null,isEligible:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_applepay",method:"ppcp_applepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"]),applePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABB5JREFUeNrsWVkodVEUds1zhogHQ5QpkSljhlzxwBOF8mAmKckQHhAPpEzFi4wPZhHyZshQCtf04NEQkSmZXfNXp/Z/uq7rXv+5fv9tr1J7r7P2cr691/ftdeCtrKwoKYqp4sfDw0MBkAgEAmUlBTIKhoKhYCgYCoaCoWB+Aszg4GB2dvbj4+Mv6s2+Z6WlpZWVlYaGhk1NTR+fon/t7+8/Pj5+fn5WU1Nzd3fPycn5pSczMzMDJBhMTEyIDUhJSRkYGLC1tXVwcNDT02ttbQXsjY0N+aLBFr7Jbg0NDQEBAYuLi58FuLi4NDc3sz1xcXH4dff392/yMQCR9mReX1+rq6u9vb2DgoJQVxjk5+ePj4+jfvh8fldXl0i8hobG2dkZ29Pb2wtnS0vLP+bM7e2tn5/f5uYmM52bm9PS0sIek4CpqanV1dXGxkbJedzc3JhKOzo66uzsXFtbA6MiIiLS09PhXFhYwDQ4OFhkFfx4gfDwcG44k5eXR5AwxkYCMzMzi4+P/zLP4eGhq6srBsnJySCbnZ2djY1NcXFxWFgYnCcnJyEhIXd3dyKrAgMDAZszzqirq0tOMjY2JrIEX6+1tbVsT3d3NyIvLi4wPjg4IH6hUAg/ChVjiAREkr2qo6PDwMBASs5IBUYyEijvzc2NyBIfHx8UD2hzdXW1vr5eUFDA0EZs/qysLJAQAyAxNjZmPwInMzIypASj+ve0gzbgjXV0dNhOExMTXKnb29vX19dPT09GRkZLS0teXl7sGIghPtxxViChtbU1PIWFhRUVFZiitDDFASLDyMgIlwKgra39sZSJvby81NTU1NfXs504E+w3DgeHZmVlJQJ1fn4e+w0VwSPQBvyG0MGPMKhleXn59PQ0pihUJycnS0tLLu+Z0NDQL/PgDc7Pz9mcqaqqEpttdnYW8WVlZeiDGE9JSYmvry8zxnWMpw8PDxhDIfr6+ji+ZxITE6UBg4L5o5LKyp/1bDiu6OhoxINsRBtVVFSYMaQZjIce7O7u8ni82NhYjtuZhISEL886NTUVzYs02fb39/39/dmeyclJEI9MMzMzh4aG6urqIiMj5dLOLC8vS0gCujOFQcze3r6oqEhsKhyLpqYmiQfjkSEmJoYEXF5empqa6urq4uaRSzvj6enZ09PDjB0dHXNzc9PS0nAtYGphYQH9YRhMzNzcHNUiNhUuHMga5CsqKgqKDKloa2sjZQbT19fHXkAYsEdybDS3trZAUDLFe6CRgfh+jIRYS+4ph4eHoYEk2+npKfups7MzBE3WRvObXbNcDc0OETeZwHBwaXJr+Lhob2/f29v70S9Nzg3KnpSUNDo6itqT4aL8nWAgYugJdnZ2mNbm/wYDDOhE6Z+aKBgKhoKhYCgYCuaH/gsgEAgUA8y7AAMADA24hckBBEQAAAAASUVORK5CYII="},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:o,Agreements:s}}}=await import(window.geneCheckout.main);this.Agreements=s,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await o.getCart(),await this.addSdkScript(),this.showApplePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_applepay"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["makePayment","mapSelectedAddress","mapAppleAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_applepay")},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=s(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);s.setErrorMessage("");if(!e.validateAgreements())return;const i=window[`paypal_${this.method}`].Applepay();try{const e={countryCode:a.countryCode,currencyCode:a.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredBillingContactFields:["name","phone","email","postalAddress"],requiredShippingContactFields:[],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},s=new window.ApplePaySession(4,e);s.onvalidatemerchant=e=>{i.validateMerchant({validationUrl:e.validationURL}).then((e=>{s.completeMerchantValidation(e.merchantSession)})).catch((e=>{console.error(e),s.abort(),o.setLoadingState(!1)}))},s.onpaymentauthorized=e=>this.onAuthorized(e,s),s.begin()}catch(e){await this.setApplePayError()}},async onAuthorized(e,t){const[o,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),i=window[`paypal_${this.method}`].Applepay(),{billingContact:n}=e.payment,p=await this.mapAppleAddress(n,o.cart.email,o.cart.shipping_addresses[0].telephone);let l=null;if(o.cart.is_virtual||(l=await this.mapSelectedAddress(o.cart.shipping_addresses[0])),!s.countries.some((({id:e})=>e===p.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const r=await a(this.method);[this.orderID]=JSON.parse(r),i.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(l,p,o.cart.email).then((()=>this.makePayment(o.cart.email,this.orderID,this.method,!1))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))}}};const w=["src"],S={key:2,class:"apple-pay-content"};P.render=function(e,t,a,o,s,m){const u=i("apple-pay-button");return s.applePayAvailable?(y(),n("div",{key:0,class:c([{active:s.isMethodSelected},"apple-pay-container"])},[p("div",{class:c(["apple-pay-title",s.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e))},[(y(),l(r(s.RadioButton),{id:"apple-pay-select",text:e.apple.title,checked:s.isMethodSelected,"data-cy":"apple-pay-radio",class:"apple-pay-radio",onClick:m.selectPaymentMethod,onKeydown:m.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),p("img",{width:"48px",class:"apple-pay-logo",src:m.applePayLogo,alt:"apple-pay-logo"},null,8,w)],34),s.applePayAvailable&&s.isMethodSelected?(y(),n("div",{key:0,class:c(["ppcp-apple-pay-button",s.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[s.applePayLoaded?(y(),l(u,{key:0,onClick:m.onClick,id:"ppcp-apple-pay",type:"plain",locale:"en"},null,8,["onClick"])):d("v-if",!0)],2)):d("v-if",!0),s.errorMessage?(y(),l(r(s.ErrorMessage),{key:1,message:s.errorMessage,attached:!1},null,8,["message"])):d("v-if",!0),h(p("div",{id:"ppcp-apple-pay",class:c(!s.applePayLoaded&&s.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPApplePay"},null,2),[[g,s.isMethodSelected]]),s.isMethodSelected?(y(),n("div",S,[(y(),l(r(s.PrivacyPolicy))),s.isRecaptchaVisible("placeOrder")?(y(),l(r(s.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):d("v-if",!0),(y(),l(r(s.Agreements),{id:"ppcp-checkout-apple-pay"}))])):d("v-if",!0)],2)):d("v-if",!0)},P.__file="src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue";export{P as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js index 76c3a08..caeae71 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js @@ -1 +1 @@ -import{c as e,o as r,f as n}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var t={name:"PpcpCreditCardPayment"};const a=[n("p",null,"CREDIT CARD",-1)];t.render=function(n,t,d,m,o,s){return r(),e("div",null,[...a])},t.__file="src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue";export{t as default}; +import{m as e,a as t,g as a,u as s,l as r,c as i,i as o,d,f as n,n as l,b as c,j as h,o as u}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";var m={name:"PpcpCreditCardPayment",data:()=>({isMethodSelected:!1,errorMessage:"",hostedNumberErrorMessage:"",hostedDateErrorMessage:"",hostedCvvErrorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,MyButton:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_card",method:"ppcp_card",numberField:"#card-number-field-container",cvvField:"#card-cvv-field-container",expiryField:"#card-expiry-field-container",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["card","environment","buyerCountry","productionClientId","sandboxClientId"])},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:s,Agreements:r,MyButton:i}}}=await import(window.geneCheckout.main);this.Agreements=r,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=s,this.PrivacyPolicy=t,this.MyButton=i},async created(){const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await s.getCart(),await this.addScripts(),await this.initCardFields(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_card"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(s,["makePayment"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_card")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=r(),a={intent:this.card.paymentAction,currency:e.currencyCode,components:"card-fields"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",a,"ppcp_card")},async initCardFields(){if(window[`paypal_${this.method}`]){const e=window[`paypal_${this.method}`].CardFields({createOrder:async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"]);e.setLoadingState(!0);try{const e=await a(this.method,this.card.vaultActive,1),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(t){return e.setLoadingState(!1),console.error("Error during createOrder:",t),null}},onApprove:async(e,t)=>{const[a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(!e.liabilityShift||"NO"!==e.liabilityShift&&"UNKNOWN"!==e.liabilityShift)return this.makePayment(t.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{a.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){s.setErrorMessage(e)}}));throw new Error("Cannot validate payment")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setErrorMessage(e),a.setLoadingState(!1)},style:this.getStyles()});await this.renderFields(e)}},async renderFields(e){const[t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);if(t.setErrorMessage(""),e.isEligible()){const r=document.querySelector(this.numberField),i=document.querySelector(this.cvvField),o=document.querySelector(this.expiryField),d=e.NumberField({placeholder:"4111 1111 1111 1111",inputEvents:{onBlur:e=>{r.className=e.fields.cardNumberField.isValid||e.fields.cardNumberField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),n=e.CVVField({placeholder:"123",inputEvents:{onBlur:e=>{i.className=e.fields.cardCvvField.isValid||e.fields.cardCvvField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),l=e.ExpiryField({placeholder:"MM/YY",inputEvents:{onBlur:e=>{o.className=e.fields.cardExpiryField.isValid||e.fields.cardExpiryField.isEmpty?"valid":"invalid"},onFocus:()=>{}}});r&&!r.innerHTML.trim()&&d.render(r),i&&!i.innerHTML.trim()&&n.render(i),o&&!o.innerHTML.trim()&&l.render(o),document.getElementById("card-field-submit-button").addEventListener("click",(()=>a.validateAgreements()?(s.setLoadingState(!0),e.getState().then((a=>{a.isFormValid?e.submit().then((()=>{})).catch((e=>{t.setErrorMessage(e)})):(a.errors.includes("INVALID_NUMBER")&&(s.setLoadingState(!1),this.hostedNumberErrorMessage="Card number is not valid."),a.errors.includes("INVALID_EXPIRY")&&(s.setLoadingState(!1),this.hostedDateErrorMessage="Expiry date is not valid."),a.errors.includes("INVALID_CVV")&&(s.setLoadingState(!1),this.hostedCvvErrorMessage="CVV is not valid."))})),!0):(s.setLoadingState(!1),!1)))}},getStyles:()=>({".valid":{color:"green"},".invalid":{color:"red"},input:{padding:"8px 15px","font-size":"16px"}})}};const p={class:"field required"},y=o("label",{for:"card-number-field-container",class:"label"},[o("span",null," Credit Card Number ")],-1),g=o("div",{id:"card-number-field-container"},null,-1),v={class:"field required"},M=o("label",{for:"card-expiry-field-container",class:"label"},[o("span",null," Expiration Date ")],-1),C=o("div",{id:"card-expiry-field-container"},null,-1),b={class:"field required"},w=o("label",{for:"card-cvv-field-container",class:"label"},[o("span",null," Card Verification Number ")],-1),f=o("div",{id:"card-cvv-field-container"},null,-1),E={key:1,class:"card-content"};m.render=function(e,t,a,s,r,m){return u(),i("div",{class:l([{active:r.isMethodSelected},"card-container"])},[o("div",{class:l(["card-title",r.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e))},[(u(),d(n(r.RadioButton),{id:"card-select",text:e.card.title,checked:r.isMethodSelected,"data-cy":"card-radio",class:"card-radio",onClick:m.selectPaymentMethod,onKeydown:m.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"]))],34),r.errorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.errorMessage,attached:!1},null,8,["message"])):c("v-if",!0),o("fieldset",{class:"card-fieldset",style:h({display:r.isMethodSelected?"block":"none"})},[o("div",p,[y,g,r.hostedNumberErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedNumberErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",v,[M,C,r.hostedDateErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedDateErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",b,[w,f,r.hostedCvvErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedCvvErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)])],4),(u(),d(n(r.MyButton),{label:e.$t("Pay"),style:h({display:r.isMethodSelected?"block":"none"}),primary:"",id:"card-field-submit-button"},null,8,["label","style"])),r.isMethodSelected?(u(),i("div",E,[(u(),d(n(r.PrivacyPolicy))),r.isRecaptchaVisible("placeOrder")?(u(),d(n(r.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):c("v-if",!0),(u(),d(n(r.Agreements),{id:"ppcp-checkout-card"}))])):c("v-if",!0)],2)},m.__file="src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue";export{m as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js index 87f9634..7f501a3 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as A,a as e,c as t,u as n,l as a}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{c as o,f as l,b as r,d,n as s,a as p,g as i,o as c}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.selectedMethod);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.selectedMethod,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; +import{m as A,a as e,g as t,u as n,l as a,c as o,i as l,d as r,f as d,n as s,b as p,j as i,o as c}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",method:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.method);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js index ce5619e..4d42ca3 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a,c as t,u as s,l as o}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{f as p}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as i,f as c,b as l,d as n,n as r,a as d,g as y,o as h}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var g={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2VzPSIxIgogICBkYW06Qml0c3BlcnBpeGVsPSIyNCIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5pbmNoZXM9Ii0xLjAiCiAgIGRhbTpQaHlzaWNhbHdpZHRoaW5kcGk9Ii0xIgogICB0aWZmOkltYWdlTGVuZ3RoPSI0NCIKICAgdGlmZjpJbWFnZVdpZHRoPSI2OCIKICAgUGF5UGFsOnN0YXR1cz0iU291cmNlQXBwcm92ZWQiCiAgIFBheVBhbDpzb3VyY2VOb2RlUGF0aD0iL2NvbnRlbnQvZGFtL1BheVBhbERpZ2l0YWxBc3NldHMvc3BhcnRhSW1hZ2VzL0xvY2FsaXplZEltYWdlcy9lbl9VUy9pL2J1dHRvbnMvcHAtYWNjZXB0YW5jZS1tZWRpdW0ucG5nIgogICBQYXlQYWw6aXNTb3VyY2U9InRydWUiPgogICA8ZGM6bGFuZ3VhZ2U+CiAgICA8cmRmOkJhZz4KICAgICA8cmRmOmxpPmVuX1VTPC9yZGY6bGk+CiAgICA8L3JkZjpCYWc+CiAgIDwvZGM6bGFuZ3VhZ2U+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+C+8BNAAABvFJREFUeF7tmGtsFNcZht8zM7vr3fGy6zW+xuZiSrJYUJJaSRAJKG1VSEtV0kto+yMkVQmCiECjUBIaSJWkN2gKaUtKSkhEBE0gCqkrQkkpxcQQFDBSYpuLsfH1gu3d9bK7s7uzcztfGdVCoPCDRJU1WHlm5vya+fHoO3Pe7xycGkPYMjQmuCwiYAwxpmQk/L+JDGdW//7Q8ab+0pJxxGlEgOyLGIoC3lnVZd+bFw5XjXe+DI42D+zcehSm1R7ywSJcDQEW38fpmT8c3viLeU8svksSBUfL9PfG4XNjvAyXBCJ8GsYQS6/52Tuy17X8RzXMsf+MafGBIQWmBVEACNeFCGUBiMLrb52KxLPOrUxWM/sGU7AITAARwCAI1/Nh8MsD0Ww2qyHkc6hMOmt09FwCAIGBGADoSWZoYCJGIPsRBai5PFF2u0QAjpXRO/sTcItgBIiwdJYZhpmD4L561jGBkZbsiLt39epPlkBypoyS0RIJ1ZYBs29ugMg2Ea6tgCDYPqHg0x9nJ5fqiyrcTgzN/qGUqqhwS7AhWKY9MoZrgWnaerdXA9Kec4mMyZ0o03MxhYwJrwscNuAgDlwrI4lIJFBaiuppYDyimhbBcTKqbrW1x2Ca8IxUhln6SLBcSRhJwnAcnGjhApQWI6d7RDAHhqaum5FICiKDwMAZiMPQbbcrMW8YSKQg+7B4EWpmQlFgmuVeSRKY42SyOaOzLwk7+AFBgKYhmwYsMA7OwRiCQdTcTl+di6rJSCrQdUjCrGKPx4EyibTeNpCEzwUwZDLIk/CDhSgrQjpLEJDnxvhClBSDE+KXAI4cnxR0L5gsCwyOk7kYVeJKDh4XTAsZFVNvo/u/ZpcoqdgjAbqBZApkq0Ej5PhTNQWVsuTE0BwcUpA1kO+GZdkOQRlaDmkVmg7GQADBxiJoFjhW3jN+8W1+wYGNpmnx7t5LyBkQRVgcooB8GYIIzkfaMwsgMJEV+6Vv3Tru4KLKl2YX+kTmxHZG1czWzmGYtgY0DknAOBkMtozBYdGKOwqWhv0ETMh3Bd3M0TtNzbC6BhUw2LfF4fMiFAAnEMHgAY/4/cnyjJAbV3C0jGb2d8SgmUhrUHL2HMv3gnMQwaIKWSr2ijfPgQZj7qAX5cGCYn+oNBCoHC943dANgMFE5TipRBZvmgONskL5P288lFYNj8SK8oQ9fdojH6agZeEWwCmUJwZcwk0jIwistFDGCIgPMgzH4GZgDFmr0CdJgPNlrs+tPvHBu0L5Hqaa5Gb4adiPUWAMHc9+cTz7p10N1Q9sq5y/Jbzwr8ueO2Bv+m+M11qU8Nt9pX/rqdrd95Mj0S7FxKdoS5lzavs3NSZGSeb9/afP/aMxqxrdHbFtv96//o8fcCLcALVtyvlzSXCKqOaO+uja47GkwXEtTTHt2JnUsGqNhkzGsDq64sV3Tjr97tKDbyyWfe70cNowed2J7h17P2lqi55s6m8+H7k8HjnRZVocQE8kffJY65mu4e4Uv2WC3PzDin3fLPN7xM6kYRJODGk7WlJNcf1kROvNmr1Jg+WJ1UWe0ciZ3qF0JpaWKwsyplVb12pxmjGzfONrx59dXSvILqHAJxHWrLpP6Utu/vOR+mNPzJlZ8chju5sONm9+b5XgD8pJxQCrG8gqJv/GBHnr2dTvjkQznDx+STBpzaxQAeAVUZYvjUZlunviep6r8+zg1Gm/2rzuvfsfnu33e194et/DK+Z2nFv/3blTc53DNXdUfGfhDKh6Y0vk74db6/bWP7V2/ry5VZqqtQ7lbnn5wgsHBr9dUxD0u176ILpgmv/80qoHq+Q81SrzSY1xI+QVwwHXaCzNr9c2ekrX1jyw7Zcv17+5rzmd0ZY8+W7hxPWN7VEi2ri1HsGfHz7V0z+YrJj9YmDWi+O+9NzdczaRlnu7X8Om89Pf6nmmYXhXq6IRLamLYEvbJ3GNiLafTZZtubC7Pf2Vd3rDO7utz7U0f2aZ1Rv+DSx7dedJsiHdsJavqfXIK1f85l+b32wQKteVV65raBkkopUbDgIPFZSvPfRRFxE9djyK9c2vnEnSCPR4fRS/bXm0LrKpOenb3lG+vXNPezr0Svt9e/s+X85I+IzEEyomFU8Jl8AGLklY9ug9+z9s/8vGQyXTy/OK8ssrAhOL/QBCPjfAfrzk3q/fPRFALMMR8kwJuDECls8IHOhVX22IFxd5RJF9ucgju5guYHqRZ5Q6gP6I0n0xaZgWXcVALH3i9EA8qSaU3OUXiKj+4154Vs28c+PFlDryYdbsUAzd4nQVUdX8aEiNqlZStyJZw14qU0ZC5zQK0+wGsYgef/6fnvDz7x+9cNO3M8Rpw5p5mTPr5t87BaPAF42m4zk1hvgvIUoG9bBOcOUAAAAASUVORK5CYII="},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:a,RadioButton:t,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=t,this.Recaptcha=s,this.PrivacyPolicy=a},async created(){const[e,a,t,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=a.paymentEmitter,this.isPaymentMethodAvailable=a.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,a.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await t.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.selectedMethod}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...a(s,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),a=o(),t={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(t.components+=",messages"),this.paypal.payLaterActive&&(t["enable-funding"]="paylater"),a("https://www.paypal.com/sdk/js",t,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),a=window[`paypal_${this.selectedMethod}`];if(a){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?a.FUNDING.PAYLATER:a.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await t(this.selectedMethod,this.paypal.vaultActive,1),a=JSON.parse(e),[s]=a;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(t.setLoadingState(!0),!0)},onApprove:async()=>{try{await p({orderId:this.orderID,method:this.selectedMethod}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},o={...s,fundingSource:a.FUNDING.PAYPAL};if(await a.Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:a.FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await a.Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const i={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await a.Messages(i).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const m=["src"],u={key:1,class:"pay-pal-content"};g.render=function(e,a,t,s,o,p){return h(),i("div",{class:r([{active:o.isMethodSelected},"pay-pal-container"])},[c("div",{class:r(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:a[0]||(a[0]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e)),onKeydown:a[1]||(a[1]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e))},[(h(),l(n(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:p.selectPaymentMethod,onKeydown:p.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),c("img",{width:"48px",class:"pay-pal-logo",src:p.payPalLogo,alt:"pay-pal-logo"},null,8,m)],34),o.errorMessage?(h(),l(n(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):d("v-if",!0),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),c("div",{style:y({display:o.isMethodSelected?"block":"none"}),class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(h(),i("div",u,[(h(),l(n(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(h(),l(n(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):d("v-if",!0),(h(),l(n(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):d("v-if",!0)],2)},g.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{g as default}; +import{m as e,a,g as t,u as s,l as o,c as p,i,d as c,f as l,n,b as r,j as d,o as y}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{f as h}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var g={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:a,RadioButton:t,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=t,this.Recaptcha=s,this.PrivacyPolicy=a},async created(){const[e,a,t,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=a.paymentEmitter,this.isPaymentMethodAvailable=a.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,a.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await t.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...a(s,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),a=o(),t={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(t.components+=",messages"),this.paypal.payLaterActive&&(t["enable-funding"]="paylater"),a("https://www.paypal.com/sdk/js",t,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),a=window[`paypal_${this.method}`];if(a){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?a.FUNDING.PAYLATER:a.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await t(this.method,this.paypal.vaultActive,1),a=JSON.parse(e),[s]=a;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(t.setLoadingState(!0),!0)},onApprove:async()=>{try{await h({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},o={...s,fundingSource:a.FUNDING.PAYPAL};if(await a.Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:a.FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await a.Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const p={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await a.Messages(p).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const m=["src"],u={key:1,class:"pay-pal-content"};g.render=function(e,a,t,s,o,h){return y(),p("div",{class:n([{active:o.isMethodSelected},"pay-pal-container"])},[i("div",{class:n(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:a[0]||(a[0]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e)),onKeydown:a[1]||(a[1]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e))},[(y(),c(l(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:h.selectPaymentMethod,onKeydown:h.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),i("img",{width:"48px",class:"pay-pal-logo",src:h.payPalLogo,alt:"pay-pal-logo"},null,8,m)],34),o.errorMessage?(y(),c(l(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):r("v-if",!0),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(y(),p("div",u,[(y(),c(l(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(y(),c(l(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):r("v-if",!0),(y(),c(l(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):r("v-if",!0)],2)},g.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{g as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js index 39ceb9b..f83cbaa 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js @@ -1 +1 @@ -import{m as e,a as t,c as a,u as s,l as o}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{g as n,c as r,a as p}from"../../../../getTotals-ott0DgJx.min.js";import{f as i}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as d,f as c,n as l,F as h,o as y}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),n(this.address,"","",!1).then((async()=>r(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return n(this.address,t,a.join("_"),!0).then((async()=>p(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await i({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,n){return y(),d(h,null,[c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),c("div",{class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),c("div",{class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; +import{m as e,a as t,g as a,u as s,l as o,c as n,i as r,n as p,F as i,o as d}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{g as c,c as l,a as h}from"../../../../getTotals-DWZqFiJq.min.js";import{f as y}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),r("div",{class:p([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js index 45252f7..e1ba988 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js @@ -1 +1 @@ -import{m as e,a as t,c as i,u as o,l as a}from"../../../../createPPCPPaymentRest-aIORhHuc.min.js";import{f as s}from"../../../../finishPpcpOrder-DYJ9R0Yl.min.js";import{c as n,f as c,b as r,d,n as l,a as h,g as p,o as g}from"../../../../runtime-core.esm-bundler-BJoG9T7Y.min.js";var E={name:"PpcpVenmoPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_venmo",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,venmoLoaded:!1}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["venmo","paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),venmoLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAACVCAYAAADMmcw2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA99pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEwQ0VGMkM2QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEwQ0VGMkM1QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNS4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUY3RjExNzQwNzIwNjgxMTk5NENEQjI3NEI1REVGQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3RjExNzQwNzIwNjgx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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:i,Recaptcha:o,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=e,this.RadioButton=i,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,i,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await i.getInitialConfig(),await o.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.venmo.enabled&&(this.namespace=`${this.selectedMethod}_venmo`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_venmo"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_venmo")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=a(),i={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(i["buyer-country"]=this.buyerCountry,i["client-id"]=this.sandboxClientId):i["client-id"]=this.productionClientId,i["enable-funding"]="venmo",t("https://www.paypal.com/sdk/js",i,"ppcp_venmo")},async renderPaypalInstance(){const e=window[`paypal_${this.selectedMethod}`];if(e){const t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:"gold"===this.paypal.buttonColor?"blue":this.paypal.buttonColor,tagline:!1},fundingSource:e.FUNDING.VENMO,createOrder:async()=>{try{const e=await i(this.selectedMethod),t=JSON.parse(e),[o]=t;return this.orderID=o,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(i.setLoadingState(!0),!0)},onApprove:async()=>{try{await s({orderId:this.orderID,method:this.selectedMethod}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}};await e.Buttons(t).render("#paypal-button-container-venmo"),this.venmoLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const u=["src"],m={key:1,class:"venmo-content"};E.render=function(e,t,i,o,a,s){return g(),n("div",{class:l([{active:a.isMethodSelected},"venmo-container"])},[c("div",{class:l(["venmo-title",a.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>s.selectPaymentMethod&&s.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>s.selectPaymentMethod&&s.selectPaymentMethod(...e))},[(g(),r(d(a.RadioButton),{id:"venmo-select",text:e.venmo.title,checked:a.isMethodSelected,"data-cy":"venmo-radio",class:"venmo-radio",onClick:s.selectPaymentMethod,onKeydown:s.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),c("img",{width:"48px",class:"venmo-logo",src:s.venmoLogo,alt:"venmo-logo"},null,8,u)],34),a.errorMessage?(g(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):h("v-if",!0),c("div",{style:p({display:a.isMethodSelected?"block":"none"}),class:l(["paypal-button-container",a.venmoLoaded?"":"text-loading"]),id:"paypal-button-container-venmo","data-cy":"instant-checkout-ppcpPayPalVenmo"},null,6),a.isMethodSelected?(g(),n("div",m,[(g(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(g(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):h("v-if",!0),(g(),r(d(a.Agreements),{id:"ppcp-checkout-venmo"}))])):h("v-if",!0)],2)},E.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{E as default}; +import{m as e,a as t,g as i,u as o,l as a,c as s,i as n,d as c,f as r,n as d,b as l,j as h,o as p}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{f as g}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var E={name:"PpcpVenmoPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_venmo",method:"ppcp_venmo",isRecaptchaVisible:()=>{},orderID:null,venmoLoaded:!1}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["venmo","paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),venmoLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAACVCAYAAADMmcw2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA99pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEwQ0VGMkM2QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEwQ0VGMkM1QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNS4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUY3RjExNzQwNzIwNjgxMTk5NENEQjI3NEI1REVGQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3RjExNzQwNzIwNjgx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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:i,Recaptcha:o,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=e,this.RadioButton=i,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,i,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await i.getInitialConfig(),await o.getCart(),await this.addScripts(),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_venmo"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_venmo")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=a(),i={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(i["buyer-country"]=this.buyerCountry,i["client-id"]=this.sandboxClientId):i["client-id"]=this.productionClientId,i["enable-funding"]="venmo",t("https://www.paypal.com/sdk/js",i,"ppcp_venmo")},async renderPaypalInstance(){const e=window.paypal_ppcp_venmo;if(e){const t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:"gold"===this.paypal.buttonColor?"blue":this.paypal.buttonColor,tagline:!1},fundingSource:e.FUNDING.VENMO,createOrder:async()=>{try{const e=await i(this.method,this.venmo.vaultActive,1),t=JSON.parse(e),[o]=t;return this.orderID=o,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(i.setLoadingState(!0),!0)},onApprove:async()=>{try{await g({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}};await e.Buttons(t).render("#paypal-button-container-venmo"),this.venmoLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const u=["src"],C={key:1,class:"venmo-content"};E.render=function(e,t,i,o,a,g){return p(),s("div",{class:d([{active:a.isMethodSelected},"venmo-container"])},[n("div",{class:d(["venmo-title",a.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>g.selectPaymentMethod&&g.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>g.selectPaymentMethod&&g.selectPaymentMethod(...e))},[(p(),c(r(a.RadioButton),{id:"venmo-select",text:e.venmo.title,checked:a.isMethodSelected,"data-cy":"venmo-radio",class:"venmo-radio",onClick:g.selectPaymentMethod,onKeydown:g.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),n("img",{width:"48px",class:"venmo-logo",src:g.venmoLogo,alt:"venmo-logo"},null,8,u)],34),a.errorMessage?(p(),c(r(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):l("v-if",!0),n("div",{style:h({display:a.isMethodSelected?"block":"none"}),class:d(["paypal-button-container",a.venmoLoaded?"":"text-loading"]),id:"paypal-button-container-venmo","data-cy":"instant-checkout-ppcpPayPalVenmo"},null,6),a.isMethodSelected?(p(),s("div",C,[(p(),c(r(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(p(),c(r(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):l("v-if",!0),(p(),c(r(a.Agreements),{id:"ppcp-checkout-venmo"}))])):l("v-if",!0)],2)},E.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{E as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js index daac1d7..842a72f 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js @@ -1 +1 @@ -import{m as e,a as t,u as a}from"../../createPPCPPaymentRest-aIORhHuc.min.js";import o from"./PaymentMethods/GooglePay/GooglePay.min.js";import n from"./PaymentMethods/ApplePay/ApplePay.min.js";import s from"./PaymentMethods/PayPal/PayPal.min.js";import p from"./PaymentMethods/Venmo/Venmo.min.js";import m from"./PaymentMethods/CreditCard/CreditCard.min.js";import{c as P,F as i,r,a as d,o as l,b as y,m as c,d as h}from"../../runtime-core.esm-bundler-BJoG9T7Y.min.js";import"../../finishPpcpOrder-DYJ9R0Yl.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=o,this.PpcpApplePayPayment=n,this.PpcpPayPalPayment=s,this.PpcpCreditCardPayment=m,this.PpcpVenmoPayment=p,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,o,n,s){return n.dataLoaded?(l(),P("div",u,[(l(!0),P(i,null,r(s.sortedPaymentMethods,((e,t)=>(l(),y(h(e.component),c({key:t},{open:0===t}),null,16)))),128))])):d("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; +import{m as e,a as t,u as a,c as o,F as n,r as s,b as p,o as P,d as m,e as i,f as r}from"../../createPPCPPaymentRest-qTNGWAjN.min.js";import d from"./PaymentMethods/GooglePay/GooglePay.min.js";import l from"./PaymentMethods/ApplePay/ApplePay.min.js";import y from"./PaymentMethods/PayPal/PayPal.min.js";import c from"./PaymentMethods/Venmo/Venmo.min.js";import h from"./PaymentMethods/CreditCard/CreditCard.min.js";import"../../finishPpcpOrder-Dh6Fi_68.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=d,this.PpcpApplePayPayment=l,this.PpcpPayPalPayment=y,this.PpcpCreditCardPayment=h,this.PpcpVenmoPayment=c,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,d,l,y){return l.dataLoaded?(P(),o("div",u,[(P(!0),o(n,null,s(y.sortedPaymentMethods,((e,t)=>(P(),m(r(e.component),i({key:t},{open:0===t}),null,16)))),128))])):p("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BNgko7Rm.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BNgko7Rm.min.js new file mode 100644 index 0000000..236f332 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BNgko7Rm.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=pn,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(ln){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=Symbol.for("v-stc"),Gt=[];let Ht=null;function Kt(e=!1){Gt.push(Ht=e?null:[])}function Qt(e){return e.dynamicChildren=Ht||n,Gt.pop(),Ht=Gt[Gt.length-1]||null,Ht&&Ht.push(e),e}function Xt(e,t,n,r,a,s){return Qt(en(e,t,n,r,a,s,!0))}function Jt(e,t,n,r,a){return Qt(tn(e,t,n,r,a,!0))}const Yt=({key:e})=>null!=e?e:null,Zt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function en(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yt(t),ref:t&&Zt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(on(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Ht&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Ht.push(p),p}const tn=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=nn(e,t,!0);return n&&on(r,n),!o&&Ht&&(6&r.shapeFlag?Ht[Ht.indexOf(e)]=r:Ht.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return en(e,t,n,r,a,p,o,!0)};function nn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?cn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Yt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Zt(t)):[a,Zt(t)]:Zt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nn(e.ssContent),ssFallback:e.ssFallback&&nn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function rn(e=" ",t=0){return tn(Wt,null,e,t)}function an(e,t){const n=tn(Bt,null,e);return n.staticCount=t,n}function sn(e="",t=!1){return t?(Kt(),Jt(qt,null,e)):tn(qt,null,e)}function on(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),on(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[rn(t)]):n=8);e.children=t,e.shapeFlag|=n}function cn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>pn=e)),t("__VUE_SSR_SETTERS__",(e=>ln=e))}let ln=!1;const un=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,ln);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let _n;const dn=e=>_n=e,hn=Symbol();function fn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var yn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(yn||(yn={}));const gn="undefined"!=typeof window,vn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&gn,mn=()=>{};function bn(e,t,n,r=mn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function wn(e,...t){e.slice().forEach((e=>{e(...t)}))}const Cn=e=>e();function Sn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];fn(a)&&fn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=Sn(a,r):e[n]=r}return e}const On=Symbol();const{assign:kn}=Object;function An(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=Ln(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return kn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(un((()=>{dn(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function Ln(e,t,n={},r,a,s){let o;const c=kn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:yn.patchFunction,storeId:e,events:u}):(Sn(r.state.value[e],t),n={type:yn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,wn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{kn(e,t)}))}:mn;function m(t,n){return function(){dn(r);const a=Array.from(arguments),s=[],o=[];let c;wn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw wn(o,e),e}return c instanceof Promise?c.then((e=>(wn(s,e),e))).catch((e=>(wn(o,e),Promise.reject(e)))):(wn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:bn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=bn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:yn.direct,events:u},r)}),kn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(vn?kn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||Cn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||fn(O=n)&&O.hasOwnProperty(On)||(et(n)?n.value=h[t]:Sn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(kn(C,S),kn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{kn(t,e)}))}}),vn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,kn({value:C[t]},e))}))}return r._p.forEach((e=>{if(vn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),kn(C,t)}else kn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function xn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Pn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var Rn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(pn||Ct||Ft)?Ut(hn,null):null))&&dn(e),(e=_n)._s.has(r)||(s?Ln(r,t,a,e):An(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function jn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var En=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=Rn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},In=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await En()}?vault=${t}&fromCheckout=1`:await En();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Pn as a,sn as b,Xt as c,Jt as d,cn as e,Lt as f,In as g,kt as h,en as i,an as j,P as k,jn as l,xn as m,M as n,Kt as o,Tt as r,Rn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BXgzcOkO.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BXgzcOkO.min.js new file mode 100644 index 0000000..3ba33a5 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BXgzcOkO.min.js @@ -0,0 +1,23 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;nd(e)?e:null==e?"":i(e)||f(e)&&(e.toString===g||!_(e.toString))?JSON.stringify(e,T,2):String(e),T=(e,t)=>t&&t.__v_isRef?T(e,t.value):l(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[F(t,r)+" =>"]=n,e)),{})}:u(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>F(e)))}:h(t)?F(t):!f(t)||i(t)||b(t)?t:String(t),F=(e,t="")=>{var n;return h(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}; +/** +* @vue/reactivity v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let U,N;class z{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=U,!e&&U&&(this.index=(U.scopes||(U.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=U;try{return U=this,e()}finally{U=t}}}on(){U=this}off(){U=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),X()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=H,t=N;try{return H=!0,N=this,this._runnings++,q(this),this.fn()}finally{B(this),this._runnings--,N=t,H=e}}stop(){var e;this.active&&(q(this),B(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function W(e){return e.value}function q(e){e._trackId++,e._depsLength=0}function B(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},ae=new WeakMap,se=Symbol(""),oe=Symbol("");function ce(e,t,n){if(H&&N){let t=ae.get(e);t||ae.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=re((()=>t.delete(n)))),ee(N,r)}}function pe(e,t,n,r,a,s){const o=ae.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(se)),l(e)&&c.push(o.get(oe)));break;case"delete":i(e)||(c.push(o.get(se)),l(e)&&c.push(o.get(oe)));break;case"set":l(e)&&c.push(o.get(se))}Y();for(const e of c)e&&ne(e,4);Z()}const ie=e("__proto__,__v_isRef,__isVue"),le=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),ue=_e();function _e(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Qe(this);for(let e=0,t=this.length;e{e[t]=function(...e){Q(),Y();const n=Qe(this)[t].apply(this,e);return Z(),X(),n}})),e}function de(e){h(e)||(e=String(e));const t=Qe(this);return ce(t,0,e),t.hasOwnProperty(e)}class he{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?De:Ve:a?ze:Ne).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(ue,t))return Reflect.get(ue,t,n);if("hasOwnProperty"===t)return de}const o=Reflect.get(e,t,n);return(h(t)?le.has(t):ie(t))?o:(r||ce(e,0,t),a?o:rt(o)?s&&w(t)?o:o.value:f(o)?r?qe(o):We(o):o)}}class fe extends he{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=He(a);if(Ke(n)||He(n)||(a=Qe(a),n=Qe(n)),!i(e)&&rt(a)&&!rt(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,be=e=>Reflect.getPrototypeOf(e);function we(e,t,n=!1,r=!1){const a=Qe(e=e.__v_raw),s=Qe(t);n||(A(t,s)&&ce(a,0,t),ce(a,0,s));const{has:o}=be(a),c=r?me:n?Ze:Ye;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function Ce(e,t=!1){const n=this.__v_raw,r=Qe(n),a=Qe(e);return t||(A(e,a)&&ce(r,0,e),ce(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function Se(e,t=!1){return e=e.__v_raw,!t&&ce(Qe(e),0,se),Reflect.get(e,"size",e)}function Oe(e){e=Qe(e);const t=Qe(this);return be(t).has.call(t,e)||(t.add(e),pe(t,"add",e,e)),this}function ke(e,t){t=Qe(t);const n=Qe(this),{has:r,get:a}=be(n);let s=r.call(n,e);s||(e=Qe(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&pe(n,"set",e,t):pe(n,"add",e,t),this}function Ae(e){const t=Qe(this),{has:n,get:r}=be(t);let a=n.call(t,e);a||(e=Qe(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&pe(t,"delete",e,void 0),s}function Le(){const e=Qe(this),t=0!==e.size,n=e.clear();return t&&pe(e,"clear",void 0,void 0),n}function xe(e,t){return function(n,r){const a=this,s=a.__v_raw,o=Qe(s),c=t?me:e?Ze:Ye;return!e&&ce(o,0,se),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Pe(e,t,n){return function(...r){const a=this.__v_raw,s=Qe(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?me:t?Ze:Ye;return!t&&ce(s,0,p?oe:se),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function je(){const e={get(e){return we(this,e)},get size(){return Se(this)},has:Ce,add:Oe,set:ke,delete:Ae,clear:Le,forEach:xe(!1,!1)},t={get(e){return we(this,e,!1,!0)},get size(){return Se(this)},has:Ce,add:Oe,set:ke,delete:Ae,clear:Le,forEach:xe(!1,!0)},n={get(e){return we(this,e,!0)},get size(){return Se(this,!0)},has(e){return Ce.call(this,e,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:xe(!0,!1)},r={get(e){return we(this,e,!0,!0)},get size(){return Se(this,!0)},has(e){return Ce.call(this,e,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:xe(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Pe(a,!1,!1),n[a]=Pe(a,!0,!1),t[a]=Pe(a,!1,!0),r[a]=Pe(a,!0,!0)})),[e,n,t,r]}const[Ee,Ie,Me,$e]=je();function Te(e,t){const n=t?e?$e:Me:e?Ie:Ee;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Fe={get:Te(!1,!1)},Ue={get:Te(!0,!1)},Ne=new WeakMap,ze=new WeakMap,Ve=new WeakMap,De=new WeakMap;function We(e){return He(e)?e:Be(e,!1,ge,Fe,Ne)}function qe(e){return Be(e,!0,ve,Ue,Ve)}function Be(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function Ge(e){return He(e)?Ge(e.__v_raw):!(!e||!e.__v_isReactive)}function He(e){return!(!e||!e.__v_isReadonly)}function Ke(e){return!(!e||!e.__v_isShallow)}function Je(e){return!!e&&!!e.__v_raw}function Qe(e){const t=e&&e.__v_raw;return t?Qe(t):e}function Xe(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Ye=e=>f(e)?We(e):e,Ze=e=>f(e)?qe(e):e;class et{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new D((()=>e(this._value)),(()=>nt(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=Qe(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||nt(e,4),tt(e),e.effect._dirtyLevel>=2&&nt(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function tt(e){var t;H&&N&&(e=Qe(e),ee(N,null!=(t=e.dep)?t:e.dep=re((()=>e.dep=void 0),e instanceof et?e:void 0)))}function nt(e,t=4,n){const r=(e=Qe(e)).dep;r&&ne(r,t)}function rt(e){return!(!e||!0!==e.__v_isRef)}function at(e){return function(e,t){if(rt(e))return e;return new st(e,t)}(e,!1)}class st{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Qe(e),this._value=t?e:Ye(e)}get value(){return tt(this),this._value}set value(e){const t=this.__v_isShallow||Ke(e)||He(e);e=t?e:Qe(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Ye(e),nt(this,4))}}class ot{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=Qe(this._object),t=this._key,null==(n=ae.get(e))?void 0:n.get(t);var e,t,n}}function ct(e,t,n){const r=e[t];return rt(r)?r:new ot(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function pt(e,t,n,r){try{return r?e(...r):e()}catch(e){lt(e,t,n)}}function it(e,t,n,r){if(_(e)){const a=pt(e,t,n,r);return a&&y(a)&&a.catch((e=>{lt(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=dt[r],s=Ct(a);snull==e.id?1/0:e.id,St=(e,t)=>{const n=Ct(e)-Ct(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ot(e){_t=!1,ut=!0,dt.sort(St);try{for(ht=0;htCt(e)-Ct(t)));if(ft.length=0,yt)return void yt.push(...e);for(yt=e,gt=0;gtVt(It),$t={};function Tt(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=_n,h=e=>!0===s?e:Ft(e,!1===s?1:void 0);let f,y,g=!1,v=!1;rt(e)?(f=()=>e.value,g=Ke(e)):Ge(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>Ge(e)||Ke(e))),f=()=>e.map((e=>rt(e)?e.value:Ge(e)?h(e):_(e)?pt(e,d,2):void 0))):f=_(e)?n?()=>pt(e,d,2):()=>(y&&y(),it(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Ft(e())}let m,b=e=>{y=O.onStop=()=>{pt(e,d,4),y=O.onStop=void 0}};if(dn){if(b=r,n?a&&it(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=Mt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill($t):$t;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),it(n,d,3,[e,w===$t?void 0:v&&w[0]===$t?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>qt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>bt(C));const O=new D(f,r,S),k=V(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?qt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Ft(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),rt(e))Ft(e.value,t,n,r);else if(i(e))for(let a=0;a{Ft(e,t,n,r)}));else if(b(e))for(const a in e)Ft(e[a],t,n,r);return e}function Ut(e,t){return e}function Nt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Dt=Object.create(null),Wt=e=>Object.getPrototypeOf(e)===Dt,qt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?ft.push(...n):yt&&yt.includes(n,n.allowRecurse?gt+1:gt)||ft.push(n),wt())},Bt=Symbol.for("v-fgt"),Gt=Symbol.for("v-txt"),Ht=Symbol.for("v-cmt"),Kt=Symbol.for("v-stc"),Jt=[];let Qt=null;function Xt(e=!1){Jt.push(Qt=e?null:[])}function Yt(e){return e.dynamicChildren=Qt||n,Jt.pop(),Qt=Jt[Jt.length-1]||null,Qt&&Qt.push(e),e}function Zt(e,t,n,r,a,s){return Yt(rn(e,t,n,r,a,s,!0))}function en(e,t,n,r,a){return Yt(an(e,t,n,r,a,!0))}const tn=({key:e})=>null!=e?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||rt(e)||_(e)?{i:kt,r:e,k:t,f:!!n}:e:null);function rn(e,t=null,n=null,r=0,a=null,s=(e===Bt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tn(t),ref:t&&nn(t),scopeId:At,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:kt};return c?(ln(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Qt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Qt.push(p),p}const an=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==Pt||(e=Ht);if(c=e,c&&!0===c.__v_isVNode){const r=sn(e,t,!0);return n&&ln(r,n),!o&&Qt&&(6&r.shapeFlag?Qt[Qt.indexOf(e)]=r:Qt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Je(e)||Wt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Je(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return rn(e,t,n,r,a,p,o,!0)};function sn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?un(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&tn(c),ref:t&&t.ref?n&&a?i(a)?a.concat(nn(t)):[a,nn(t)]:nn(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Bt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function on(e=" ",t=0){return an(Gt,null,e,t)}function cn(e,t){const n=an(Kt,null,e);return n.staticCount=t,n}function pn(e="",t=!1){return t?(Xt(),en(Ht,null,e)):an(Ht,null,e)}function ln(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),ln(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Wt(t)?3===r&&kt&&(1===kt.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=kt}}else _(t)?(t={default:t,_ctx:kt},n=32):(t=String(t),64&r?(n=16,t=[on(t)]):n=8);e.children=t,e.shapeFlag|=n}function un(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>_n=e)),t("__VUE_SSR_SETTERS__",(e=>dn=e))}let dn=!1;const hn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new et(a,s,o||!s,n)}(e,0,dn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let fn;const yn=e=>fn=e,gn=Symbol();function vn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var mn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(mn||(mn={}));const bn="undefined"!=typeof window,wn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&bn,Cn=()=>{};function Sn(e,t,n,r=Cn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&V()&&(s=a,U&&U.cleanups.push(s)),a}function On(e,...t){e.slice().forEach((e=>{e(...t)}))}const kn=e=>e();function An(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];vn(a)&&vn(r)&&e.hasOwnProperty(n)&&!rt(r)&&!Ge(r)?e[n]=An(a,r):e[n]=r}return e}const Ln=Symbol();const{assign:xn}=Object;function Pn(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=Rn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=ct(e,n);return t}(n.state.value[e]);return xn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Xe(hn((()=>{yn(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function Rn(e,t,n={},r,a,s){let o;const c=xn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=at({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:mn.patchFunction,storeId:e,events:u}):(An(r.state.value[e],t),n={type:mn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=mt||vt;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,On(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{xn(e,t)}))}:Cn;function m(t,n){return function(){yn(r);const a=Array.from(arguments),s=[],o=[];let c;On(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw On(o,e),e}return c instanceof Promise?c.then((e=>(On(s,e),e))).catch((e=>(On(o,e),Promise.reject(e)))):(On(s,c),c)}}const b=Xe({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:Sn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=Sn(_,t,n.detached,(()=>s())),s=o.run((()=>Tt((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:mn.direct,events:u},r)}),xn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=We(wn?xn({_hmrPayload:b,_customProperties:Xe(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||kn)((()=>r._e.run((()=>{return(o=new z(e)).run(t);var e}))));for(const t in S){const n=S[t];if(rt(n)&&(!rt(k=n)||!k.effect)||Ge(n))s||(!h||vn(O=n)&&O.hasOwnProperty(Ln)||(rt(n)?n.value=h[t]:An(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(xn(C,S),xn(Qe(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{xn(t,e)}))}}),wn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,xn({value:C[t]},e))}))}return r._p.forEach((e=>{if(wn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),xn(C,t)}else xn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function jn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function En(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var In=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(_n||kt||zt)?Vt(gn,null):null))&&yn(e),(e=fn)._s.has(r)||(s?Rn(r,t,a,e):Pn(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Mn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var $n=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=In();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},Tn=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await $n()}?vault=${t}&fromCheckout=1`:await $n();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Bt as F,En as a,pn as b,Zt as c,en as d,un as e,Rt as f,Tn as g,xt as h,rn as i,on as j,cn as k,Mn as l,jn as m,M as n,Xt as o,P as p,Nt as r,$ as t,In as u,Ut as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-CgwgV98F.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-CgwgV98F.min.js new file mode 100644 index 0000000..c6db99c --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-CgwgV98F.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=pn,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(ln){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=Symbol.for("v-stc"),Gt=[];let Ht=null;function Kt(e=!1){Gt.push(Ht=e?null:[])}function Qt(e){return e.dynamicChildren=Ht||n,Gt.pop(),Ht=Gt[Gt.length-1]||null,Ht&&Ht.push(e),e}function Xt(e,t,n,r,a,s){return Qt(en(e,t,n,r,a,s,!0))}function Jt(e,t,n,r,a){return Qt(tn(e,t,n,r,a,!0))}const Yt=({key:e})=>null!=e?e:null,Zt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function en(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yt(t),ref:t&&Zt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(on(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Ht&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Ht.push(p),p}const tn=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=nn(e,t,!0);return n&&on(r,n),!o&&Ht&&(6&r.shapeFlag?Ht[Ht.indexOf(e)]=r:Ht.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return en(e,t,n,r,a,p,o,!0)};function nn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?cn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Yt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Zt(t)):[a,Zt(t)]:Zt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nn(e.ssContent),ssFallback:e.ssFallback&&nn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function rn(e=" ",t=0){return tn(Wt,null,e,t)}function an(e,t){const n=tn(Bt,null,e);return n.staticCount=t,n}function sn(e="",t=!1){return t?(Kt(),Jt(qt,null,e)):tn(qt,null,e)}function on(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),on(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[rn(t)]):n=8);e.children=t,e.shapeFlag|=n}function cn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>pn=e)),t("__VUE_SSR_SETTERS__",(e=>ln=e))}let ln=!1;const un=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,ln);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let _n;const dn=e=>_n=e,hn=Symbol();function fn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var yn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(yn||(yn={}));const gn="undefined"!=typeof window,vn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&gn,mn=()=>{};function bn(e,t,n,r=mn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function wn(e,...t){e.slice().forEach((e=>{e(...t)}))}const Cn=e=>e();function Sn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];fn(a)&&fn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=Sn(a,r):e[n]=r}return e}const On=Symbol();const{assign:kn}=Object;function An(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=Ln(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return kn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(un((()=>{dn(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function Ln(e,t,n={},r,a,s){let o;const c=kn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:yn.patchFunction,storeId:e,events:u}):(Sn(r.state.value[e],t),n={type:yn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,wn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{kn(e,t)}))}:mn;function m(t,n){return function(){dn(r);const a=Array.from(arguments),s=[],o=[];let c;wn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw wn(o,e),e}return c instanceof Promise?c.then((e=>(wn(s,e),e))).catch((e=>(wn(o,e),Promise.reject(e)))):(wn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:bn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=bn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:yn.direct,events:u},r)}),kn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(vn?kn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||Cn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||fn(O=n)&&O.hasOwnProperty(On)||(et(n)?n.value=h[t]:Sn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(kn(C,S),kn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{kn(t,e)}))}}),vn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,kn({value:C[t]},e))}))}return r._p.forEach((e=>{if(vn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),kn(C,t)}else kn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function xn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Pn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var Rn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(pn||Ct||Ft)?Ut(hn,null):null))&&dn(e),(e=_n)._s.has(r)||(s?Ln(r,t,a,e):An(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function jn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var En=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=Rn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},In=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await En()}?vault=${t}&fromCheckout=1`:await En();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Pn as a,sn as b,Xt as c,Jt as d,cn as e,Lt as f,In as g,kt as h,en as i,P as j,an as k,jn as l,xn as m,M as n,Kt as o,Tt as r,Rn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DuGc4Vdl.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DuGc4Vdl.min.js new file mode 100644 index 0000000..6869bf9 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DuGc4Vdl.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Pdb9JQSv.min.js";var t=async()=>{const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:s}=e();return`${t.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?s.createGuestOrderUrl:s.createOrderUrl}`},s=async(e,s=!1,r=0)=>{const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),u={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:d}=n;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await d();else{i=(await window.geneCheckout.services.getQuote()).id}const w=s&&0!==r?`${await t()}?vault=${s}&fromCheckout=1`:await t();try{return(await window.geneCheckout.services.authenticatedRequest().post(w,{cartId:i,method:e},{headers:u})).data}catch(e){return o.setPaymentErrorMessage(e.response.data.message),null}};export{s as c}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-qTNGWAjN.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-qTNGWAjN.min.js new file mode 100644 index 0000000..9e173b7 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-qTNGWAjN.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=on,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(cn){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=[];let Gt=null;function Ht(e=!1){Bt.push(Gt=e?null:[])}function Kt(e){return e.dynamicChildren=Gt||n,Bt.pop(),Gt=Bt[Bt.length-1]||null,Gt&&Gt.push(e),e}function Qt(e,t,n,r,a,s){return Kt(Zt(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Kt(en(e,t,n,r,a,!0))}const Jt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function Zt(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jt(t),ref:t&&Yt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(an(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Gt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Gt.push(p),p}const en=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=tn(e,t,!0);return n&&an(r,n),!o&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return Zt(e,t,n,r,a,p,o,!0)};function tn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?sn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Jt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Yt(t)):[a,Yt(t)]:Yt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function nn(e=" ",t=0){return en(Wt,null,e,t)}function rn(e="",t=!1){return t?(Ht(),Xt(qt,null,e)):en(qt,null,e)}function an(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),an(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[nn(t)]):n=8);e.children=t,e.shapeFlag|=n}function sn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>on=e)),t("__VUE_SSR_SETTERS__",(e=>cn=e))}let cn=!1;const pn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,cn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ln;const un=e=>ln=e,_n=Symbol();function dn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var hn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(hn||(hn={}));const fn="undefined"!=typeof window,yn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&fn,gn=()=>{};function vn(e,t,n,r=gn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function mn(e,...t){e.slice().forEach((e=>{e(...t)}))}const bn=e=>e();function wn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];dn(a)&&dn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=wn(a,r):e[n]=r}return e}const Cn=Symbol();const{assign:Sn}=Object;function On(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return Sn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(pn((()=>{un(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=Sn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:hn.patchFunction,storeId:e,events:u}):(wn(r.state.value[e],t),n={type:hn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,mn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Sn(e,t)}))}:gn;function m(t,n){return function(){un(r);const a=Array.from(arguments),s=[],o=[];let c;mn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw mn(o,e),e}return c instanceof Promise?c.then((e=>(mn(s,e),e))).catch((e=>(mn(o,e),Promise.reject(e)))):(mn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:vn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=vn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:hn.direct,events:u},r)}),Sn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(yn?Sn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||bn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||dn(O=n)&&O.hasOwnProperty(Cn)||(et(n)?n.value=h[t]:wn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(Sn(C,S),Sn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Sn(t,e)}))}}),yn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,Sn({value:C[t]},e))}))}return r._p.forEach((e=>{if(yn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),Sn(C,t)}else Sn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function An(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Ln(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var xn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(on||Ct||Ft)?Ut(_n,null):null))&&un(e),(e=ln)._s.has(r)||(s?kn(r,t,a,e):On(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Pn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var Rn=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=xn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},jn=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await Rn()}?vault=${t}&fromCheckout=1`:await Rn();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Ln as a,rn as b,Qt as c,Xt as d,sn as e,Lt as f,jn as g,kt as h,Zt as i,P as j,Pn as l,An as m,M as n,Ht as o,Tt as r,xn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-C2h7NBJP.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-C2h7NBJP.min.js new file mode 100644 index 0000000..4082ac2 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-C2h7NBJP.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-CgwgV98F.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-DHp7VpU3.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DHp7VpU3.min.js new file mode 100644 index 0000000..6792b3f --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DHp7VpU3.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Pdb9JQSv.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),r={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:a}=e(),o=a.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(o,t,{headers:r})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-DUGsfi96.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DUGsfi96.min.js new file mode 100644 index 0000000..325e137 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DUGsfi96.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BNgko7Rm.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dh6Fi_68.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dh6Fi_68.min.js new file mode 100644 index 0000000..5c81154 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Dh6Fi_68.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-qTNGWAjN.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-DtrnFHPT.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DtrnFHPT.min.js new file mode 100644 index 0000000..89795d5 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-DtrnFHPT.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BXgzcOkO.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-B1_ql7ou.min.js b/view/frontend/web/js/checkout/dist/getTotals-B1_ql7ou.min.js new file mode 100644 index 0000000..948cf8b --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-B1_ql7ou.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-CgwgV98F.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-BI4EWGEf.min.js b/view/frontend/web/js/checkout/dist/getTotals-BI4EWGEf.min.js new file mode 100644 index 0000000..e0b568c --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-BI4EWGEf.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BNgko7Rm.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-DKezoQ5E.min.js b/view/frontend/web/js/checkout/dist/getTotals-DKezoQ5E.min.js new file mode 100644 index 0000000..2c0aef7 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-DKezoQ5E.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BXgzcOkO.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-DWZqFiJq.min.js b/view/frontend/web/js/checkout/dist/getTotals-DWZqFiJq.min.js new file mode 100644 index 0000000..f680044 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-DWZqFiJq.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-qTNGWAjN.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-QPdFoW4k.min.js b/view/frontend/web/js/checkout/dist/getTotals-QPdFoW4k.min.js new file mode 100644 index 0000000..7e83995 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-QPdFoW4k.min.js @@ -0,0 +1 @@ +import{u as e}from"./addScript-Pdb9JQSv.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/styles.css b/view/frontend/web/js/checkout/dist/styles.css index 98bfc0c..4ce6c7d 100644 --- a/view/frontend/web/js/checkout/dist/styles.css +++ b/view/frontend/web/js/checkout/dist/styles.css @@ -1,7 +1,8 @@ .google-pay-container, .apple-pay-container, .pay-pal-container, -.venmo-container { +.venmo-container, +.card-container { background-color: var(--radio-input-wrapper__background-color); border: var(--radio-input-wrapper__border-weight) var(--base__border-style) var(--radio-input-wrapper__border-color); border-radius: var(--radio-input-wrapper__border-radius); @@ -13,7 +14,8 @@ .google-pay-container .selected, .apple-pay-container .selected, .pay-pal-container .selected, -.venmo-container .selected { +.venmo-container .selected, +.card-container .selected { margin-bottom: var(--indent__base); } .google-pay-container .ppcp-apple-pay-button apple-pay-button, .google-pay-container .ppcp-apple-pay-button.text-loading, @@ -22,7 +24,9 @@ .pay-pal-container .ppcp-apple-pay-button apple-pay-button, .pay-pal-container .ppcp-apple-pay-button.text-loading, .venmo-container .ppcp-apple-pay-button apple-pay-button, -.venmo-container .ppcp-apple-pay-button.text-loading { +.venmo-container .ppcp-apple-pay-button.text-loading, +.card-container .ppcp-apple-pay-button apple-pay-button, +.card-container .ppcp-apple-pay-button.text-loading { height: 55px; --apple-pay-button-height: var(--ppcp-express-button-height, 55px); width: 100%; @@ -30,30 +34,49 @@ .google-pay-container #ppcp-google-pay, .apple-pay-container #ppcp-google-pay, .pay-pal-container #ppcp-google-pay, -.venmo-container #ppcp-google-pay { +.venmo-container #ppcp-google-pay, +.card-container #ppcp-google-pay { max-height: 55px; } .google-pay-container #ppcp-google-pay button, .apple-pay-container #ppcp-google-pay button, .pay-pal-container #ppcp-google-pay button, -.venmo-container #ppcp-google-pay button { +.venmo-container #ppcp-google-pay button, +.card-container #ppcp-google-pay button { height: 55px; } .google-pay-content, .apple-pay-content, .pay-pal-content, -.venmo-content { +.venmo-content, +.card-content { margin-top: var(--indent__base); } .google-pay-title, .apple-pay-title, .pay-pal-title, -.venmo-title { +.venmo-title, +.card-title { display: flex; align-items: center; justify-content: space-between; } +.card-fieldset { + border: 0; + padding: 0; +} +.card-fieldset .field { + margin-bottom: var(--indent__s); +} +.card-fieldset label { + padding-left: var(--indent__xs); + margin-bottom: var(--indent__xs); +} +.card-fieldset label span { + font-size: var(--font__s) !important; +} + #ppcp-google-pay { max-height: var(--ppcp-express-button-height, 45px); } diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue index 5cdcf64..4b06653 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.vue @@ -92,6 +92,7 @@ export default { paymentEmitter: null, isPaymentMethodAvailable: null, selectedMethod: 'ppcp_applepay', + method: 'ppcp_applepay', isRecaptchaVisible: () => {}, orderID: null, }; @@ -245,7 +246,7 @@ export default { this.applePayAvailable = true; - const applepay = window[`paypal_${this.selectedMethod}`].Applepay(); + const applepay = window[`paypal_${this.method}`].Applepay(); applepay.config() .then((applepayConfig) => { @@ -282,7 +283,7 @@ export default { return; } - const applepay = window[`paypal_${this.selectedMethod}`].Applepay(); + const applepay = window[`paypal_${this.method}`].Applepay(); try { const paymentRequest = { @@ -335,7 +336,7 @@ export default { 'stores.useConfigStore', ]); - const applepay = window[`paypal_${this.selectedMethod}`].Applepay(); + const applepay = window[`paypal_${this.method}`].Applepay(); const { billingContact } = data.payment; const billingAddress = await this.mapAppleAddress( @@ -354,7 +355,7 @@ export default { return; } - const ppcpOrderId = await createPPCPPaymentRest(this.selectedMethod); + const ppcpOrderId = await createPPCPPaymentRest(this.method); [this.orderID] = JSON.parse(ppcpOrderId); applepay.confirmOrder({ @@ -370,7 +371,7 @@ export default { ).then(() => this.makePayment( cartStore.cart.email, this.orderID, - this.selectedMethod, + this.method, false, )).then(async () => { session.completePayment(window.ApplePaySession.STATUS_SUCCESS); diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue index 6520dc7..1e6c43a 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue @@ -1,11 +1,449 @@ diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue index e401764..d99b146 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue @@ -78,6 +78,7 @@ export default { paymentEmitter: null, isPaymentMethodAvailable: null, selectedMethod: 'ppcp_googlepay', + method: 'ppcp_googlepay', isRecaptchaVisible: () => {}, orderID: null, }; @@ -396,7 +397,7 @@ export default { ); // Create PPCP Payment and get the orderID - const ppcpOrderId = await createPPCPPaymentRest(this.selectedMethod); + const ppcpOrderId = await createPPCPPaymentRest(this.method); [this.orderID] = JSON.parse(ppcpOrderId); const confirmOrderData = { @@ -437,7 +438,7 @@ export default { if (data.liabilityShift && data.liabilityShift !== 'POSSIBLE') { throw new Error('Cannot validate payment'); } else { - return this.makePayment(paymentData.email, this.orderID, this.selectedMethod, false) + return this.makePayment(paymentData.email, this.orderID, this.method, false) .then(() => window.geneCheckout.services.refreshCustomerData(['cart'])) .then(() => { window.location.href = window.geneCheckout.helpers.getSuccessPageUrl(); diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue index ac89d33..1149d69 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue @@ -94,6 +94,7 @@ export default { paymentEmitter: null, isPaymentMethodAvailable: null, selectedMethod: 'ppcp_paypal', + method: 'ppcp_paypal', namespace: 'paypal_ppcp_paypal', isRecaptchaVisible: () => {}, orderID: null, @@ -172,7 +173,7 @@ export default { this.namespace = `${this.namespace}`; if (this.paypal.payLaterActive) { - this.namespace = `${this.selectedMethod}_paylater`; + this.namespace = `${this.method}_paylater`; } await this.renderPaypalInstance(); @@ -243,8 +244,7 @@ export default { 'stores.useCartStore', ]); - const paypalConfig = window[`paypal_${this.selectedMethod}`]; - + const paypalConfig = window[`paypal_${this.method}`]; if (paypalConfig) { const commonRenderData = { env: this.environment, @@ -262,7 +262,7 @@ export default { createOrder: async () => { try { const data = await createPPCPPaymentRest( - this.selectedMethod, + this.method, this.paypal.vaultActive, 1, ); @@ -301,7 +301,7 @@ export default { try { await finishPpcpOrder({ orderId: this.orderID, - method: this.selectedMethod, + method: this.method, }).then(() => { window.geneCheckout.services.refreshCustomerData(['cart']); this.redirectToSuccess(); diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue index 00a1436..c240d0f 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue @@ -79,7 +79,7 @@ export default { paymentEmitter: null, isPaymentMethodAvailable: null, selectedMethod: 'ppcp_venmo', - namespace: 'paypal_ppcp_paypal', + method: 'ppcp_venmo', isRecaptchaVisible: () => {}, orderID: null, venmoLoaded: false, @@ -153,13 +153,6 @@ export default { await configStore.getInitialConfig(); await cartStore.getCart(); await this.addScripts(); - - this.namespace = `${this.namespace}`; - - if (this.venmo.enabled) { - this.namespace = `${this.selectedMethod}_venmo`; - } - await this.renderPaypalInstance(); if (this.open) { @@ -218,8 +211,7 @@ export default { }, async renderPaypalInstance() { - const paypalConfig = window[`paypal_${this.selectedMethod}`]; - + const paypalConfig = window.paypal_ppcp_venmo; if (paypalConfig) { const commonRenderData = { env: this.environment, @@ -235,7 +227,7 @@ export default { createOrder: async () => { try { const data = await createPPCPPaymentRest( - this.selectedMethod, + this.method, this.venmo.vaultActive, 1, ); @@ -274,7 +266,7 @@ export default { try { await finishPpcpOrder({ orderId: this.orderID, - method: this.selectedMethod, + method: this.method, }).then(() => { window.geneCheckout.services.refreshCustomerData(['cart']); this.redirectToSuccess(); diff --git a/view/frontend/web/js/checkout/src/components/PaymentPage/paymentMethods.scss b/view/frontend/web/js/checkout/src/components/PaymentPage/paymentMethods.scss index 6dfdadc..3c4532b 100644 --- a/view/frontend/web/js/checkout/src/components/PaymentPage/paymentMethods.scss +++ b/view/frontend/web/js/checkout/src/components/PaymentPage/paymentMethods.scss @@ -1,7 +1,8 @@ .google-pay, .apple-pay, .pay-pal, -.venmo { +.venmo, +.card { &-container { background-color: var(--radio-input-wrapper__background-color); border: var(--radio-input-wrapper__border-weight) var(--base__border-style) var(--radio-input-wrapper__border-color); @@ -42,4 +43,22 @@ align-items: center; justify-content: space-between; } +} + +.card-fieldset { + border: 0; + padding: 0; + + .field { + margin-bottom: var(--indent__s); + } + + label { + padding-left: var(--indent__xs); + margin-bottom: var(--indent__xs); + + span { + font-size: var(--font__s) !important; + } + } } \ No newline at end of file diff --git a/view/frontend/web/js/checkout/src/services/createPPCPPaymentRest.js b/view/frontend/web/js/checkout/src/services/createPPCPPaymentRest.js index 5953562..4ac16d4 100644 --- a/view/frontend/web/js/checkout/src/services/createPPCPPaymentRest.js +++ b/view/frontend/web/js/checkout/src/services/createPPCPPaymentRest.js @@ -1,6 +1,6 @@ import buildPpcpCartUrl from '../helpers/buildPpcpCartUrl'; -export default async (method, vault = false, fromCheckout= 0) => { +export default async (method, vault = false, fromCheckout = 0) => { const [ paymentStore, customerStore, @@ -33,7 +33,7 @@ export default async (method, vault = false, fromCheckout= 0) => { const url = vault && fromCheckout !== 0 ? `${await buildPpcpCartUrl()}?vault=${vault}&fromCheckout=1` : await buildPpcpCartUrl(); - + try { const response = await window.geneCheckout.services.authenticatedRequest().post( url, From 0ce720909f44d6c9f5bd57ae85dc290b01e8cc10 Mon Sep 17 00:00:00 2001 From: Alla Nehaenko Date: Tue, 10 Dec 2024 16:49:06 +0000 Subject: [PATCH 009/167] added structure for venmo, paypal, card payments --- etc/graphql/di.xml | 6 +- .../ExpressPayments/ApplePay/ApplePay.min.js | 2 +- .../GooglePay/GooglePay.min.js | 2 +- .../ExpressPayments/PayPal/PayPal.min.js | 2 +- .../PaymentMethods/ApplePay/ApplePay.min.js | 2 +- .../CreditCard/CreditCard.min.js | 2 +- .../PaymentMethods/GooglePay/GooglePay.min.js | 2 +- .../PaymentMethods/PayPal/PayPal.min.js | 2 +- .../PayPalPayLater/PayPalPayLater.min.js | 2 +- .../PaymentMethods/Venmo/Venmo.min.js | 2 +- .../PaymentPage/PaymentMethodsList.min.js | 2 +- .../createPPCPPaymentRest-B87bzO52.min.js | 22 +++ .../createPPCPPaymentRest-BbuZq8aX.min.js | 22 +++ .../createPPCPPaymentRest-BpcJqrDP.min.js | 22 +++ .../createPPCPPaymentRest-DRnn7ZtN.min.js | 23 +++ .../createPPCPPaymentRest-DieDVKjz.min.js | 22 +++ .../dist/finishPpcpOrder-BCh-tx9-.min.js | 1 + .../dist/finishPpcpOrder-C1sEgoZq.min.js | 1 + .../dist/finishPpcpOrder-CPWf7XXW.min.js | 1 + .../dist/finishPpcpOrder-Cp3YzmJp.min.js | 1 + .../dist/finishPpcpOrder-D0GGfBpI.min.js | 1 + .../checkout/dist/getTotals-C8Wi9rFk.min.js | 1 + .../checkout/dist/getTotals-Cch6DcXZ.min.js | 1 + .../checkout/dist/getTotals-DJQdOLlg.min.js | 1 + .../checkout/dist/getTotals-DV8RXI5-.min.js | 1 + .../checkout/dist/getTotals-DhITr3zl.min.js | 1 + .../checkout/dist/getTotals-lCE6p1h5.min.js | 1 + view/frontend/web/js/checkout/dist/styles.css | 179 +++++++++--------- .../ExpressPayments/PayPal/PayPal.vue | 4 +- .../ExpressPayments/expressPayments.scss | 2 +- .../PaymentMethods/CreditCard/CreditCard.vue | 6 +- .../PaymentMethods/PayPal/PayPal.vue | 41 ++-- .../PaymentMethods/Venmo/Venmo.vue | 42 ++-- .../PaymentPage/PaymentMethodsList.vue | 3 +- .../PaymentPage/paymentMethods.scss | 99 +++++----- .../src/services/createPPCPPaymentRest.js | 4 +- .../web/js/checkout/src/stores/PpcpStore.js | 6 +- 37 files changed, 336 insertions(+), 198 deletions(-) create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B87bzO52.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BbuZq8aX.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BpcJqrDP.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DRnn7ZtN.min.js create mode 100644 view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DieDVKjz.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-BCh-tx9-.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-C1sEgoZq.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-CPWf7XXW.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-Cp3YzmJp.min.js create mode 100644 view/frontend/web/js/checkout/dist/finishPpcpOrder-D0GGfBpI.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-C8Wi9rFk.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-Cch6DcXZ.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-DJQdOLlg.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-DV8RXI5-.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-DhITr3zl.min.js create mode 100644 view/frontend/web/js/checkout/dist/getTotals-lCE6p1h5.min.js diff --git a/etc/graphql/di.xml b/etc/graphql/di.xml index 91319c4..c78ca1d 100644 --- a/etc/graphql/di.xml +++ b/etc/graphql/di.xml @@ -20,7 +20,7 @@ payment/ppcp_card/active - payment/ppcp_card/ppcp_card_vault_active + payment/ppcp_card_vault/active payment/ppcp_card/title payment/ppcp_card/payment_action payment/ppcp_card/three_d_secure @@ -35,7 +35,7 @@ payment/ppcp_paypal/active - payment/ppcp_paypal/ppcp_paypal_vault_active + payment/ppcp_paypal_vault/active payment/ppcp_paypal/title payment/ppcp_paypal/payment_action payment/ppcp_paypal/require_billing_address @@ -58,7 +58,7 @@ payment/ppcp_venmo/active payment/ppcp_venmo/title payment/ppcp_venmo/payment_action - payment/ppcp_venmo/ppcp_venmo_vault_active + payment/ppcp_venmo_vault/active payment/ppcp_venmo/sort_order diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js index 4a80c29..c29d704 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/ApplePay/ApplePay.min.js @@ -1 +1 @@ -import{m as e,a as t,g as a,u as o,l as i,h as n,c as s,d as p,b as r,n as l,o as c}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; +import{m as e,a as t,g as a,u as o,l as i,h as n,c as s,d as p,b as r,n as l,o as c}from"../../../createPPCPPaymentRest-BbuZq8aX.min.js";var d={name:"PpcpApplePay",data:()=>({applePayLoaded:!1,applePayConfig:null,key:"ppcpApplePay",method:"ppcp_applepay",orderID:null,applePayAvailable:!1,applePayTotal:"",dataCollectorInstance:null,shippingMethods:[],isEligible:!1}),computed:{...e(o,["apple","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart(),this.apple.merchantName||await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?(await this.addSdkScript(),this.showApplePay()):(t.removeExpressMethod(this.key),this.applePayLoaded=!0)},methods:{...t(o,["getInitialConfigValues","makePayment","mapAppleAddress"]),async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=i(),a={intent:this.apple.paymentAction,currency:e.currencyCode,components:"applepay"};"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId;try{await Promise.all([t("https://www.paypal.com/sdk/js",a,"ppcp_applepay"),t("https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js",{},"")])}catch(e){throw console.error("Error loading SDK scripts:",e),new Error("Failed to load required SDK scripts.")}},showApplePay(){if(!window.ApplePaySession||!window.ApplePaySession.canMakePayments||"https:"!==window.location.protocol)return;this.applePayAvailable=!0;window[`paypal_${this.method}`].Applepay().config().then((e=>{this.applePayConfig=e,this.isEligible=!!e.isEligible,this.applePayLoaded=!0})).catch((()=>{console.error("Error while fetching Apple Pay configuration.")}))},async onClick(){const[e,t,a,o,i,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);n.setErrorMessage("");if(!e.validateAgreements())return;const s=window[`paypal_${this.method}`].Applepay();try{const e=["name","email","phone"];t.cart.is_virtual||e.push("postalAddress");const n={countryCode:o.countryCode,currencyCode:o.currencyCode,merchantCapabilities:this.applePayConfig.merchantCapabilities,supportedNetworks:this.applePayConfig.supportedNetworks,requiredShippingContactFields:e,requiredBillingContactFields:["postalAddress","name"],total:{label:this.apple.merchantName,amount:(t.cartGrandTotal/100).toString(),type:"final"}},p=new window.ApplePaySession(4,n);p.onvalidatemerchant=e=>{s.validateMerchant({validationUrl:e.validationURL}).then((e=>{p.completeMerchantValidation(e.merchantSession)})).catch((e=>{a.createNewAddress("shipping"),console.error(e),p.abort(),i.setLoadingState(!1)}))},t.cart.is_virtual||(p.onshippingcontactselected=e=>this.onShippingContactSelect(e,p),p.onshippingmethodselected=e=>this.onShippingMethodSelect(e,p)),p.oncancel=()=>{a.createNewAddress("shipping")},p.onpaymentauthorized=e=>this.onAuthorized(e,p),p.begin()}catch(e){a.createNewAddress("shipping"),await this.setApplePayError()}},async onAuthorized(e,t){const[o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore"]),n=window[`paypal_${this.method}`].Applepay(),{shippingContact:s,billingContact:p}=e.payment,r=s.emailAddress,l=s.phoneNumber,c=await this.mapAppleAddress(p,r,l);let d=null;if(o.cart.is_virtual||(d=await this.mapAppleAddress(s,r,l)),!i.countries.some((({id:e})=>e===c.country_code)))return void t.completePayment(window.ApplePaySession.STATUS_FAILURE);const h=await a(this.method);[this.orderID]=JSON.parse(h),n.confirmOrder({orderId:this.orderID,token:e.payment.token,billingContact:e.payment.billingContact}).then((async()=>{try{window.geneCheckout.services.setAddressesOnCart(d,c,r).then((()=>this.makePayment(r,this.orderID,this.method,!0))).then((async()=>{t.completePayment(window.ApplePaySession.STATUS_SUCCESS),await window.geneCheckout.services.refreshCustomerData(window.geneCheckout.helpers.getCartSectionNames()),window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}))}catch(e){console.log(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE)}})).catch((e=>{e&&(console.error("Error confirming order with applepay token"),console.error(e),t.completePayment(window.ApplePaySession.STATUS_FAILURE))}))},async onShippingContactSelect(e,t){const[a,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useShippingMethodsStore"]),n={city:e.shippingContact.locality,company:"",region:e.shippingContact.administrativeArea,region_id:o.getRegionId(e.shippingContact.countryCode,e.shippingContact.administrativeArea),country_code:e.shippingContact.countryCode.toUpperCase(),postcode:e.shippingContact.postalCode,street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};this.address=n;const s=(await window.geneCheckout.services.getShippingMethods(n,this.method,!0)).shipping_addresses[0].available_shipping_methods.filter((({method_code:e})=>"nominated_delivery"!==e));if(this.shippingMethods=s,!s.length){const e={errors:[new window.ApplePayError("addressUnserviceable","postalAddress",this.applePayNoShippingMethods)],newTotal:{label:o.websiteName,amount:"0.00",type:"pending"}};return void t.completeShippingContactSelection(e)}const p=s[0];await i.submitShippingInfo(p.carrier_code,p.method_code);const r={newShippingMethods:this.mapShippingMethods(s),newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:p.amount.value.toString()}]};a.cartDiscountTotal&&r.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingContactSelection(r)},async onShippingMethodSelect(e,t){const[a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useShippingMethodsStore"]),i=this.shippingMethods.find((({method_code:t})=>t===e.shippingMethod.identifier));await o.submitShippingInfo(i.carrier_code,i.method_code);const n={newTotal:{label:this.applePayTotal,amount:parseFloat(a.cartGrandTotal/100).toFixed(2)},newLineItems:[{type:"final",label:"Subtotal",amount:a.cart.prices.subtotal_including_tax.value.toString()},{type:"final",label:"Shipping",amount:i.amount.value.toString()}]};a.cartDiscountTotal&&n.newLineItems.push({type:"final",label:"Discount",amount:a.cartDiscountTotal.toString()}),t.completeShippingMethodSelection(n)},mapShippingMethods:e=>e.map((e=>({label:e.method_title,detail:e.carrier_title||"",amount:e.amount.value.toString(),identifier:e.method_code,carrierCode:e.carrier_code}))),async setApplePayError(){(await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"])).setErrorMessage("We're unable to take payments through Apple Pay at the moment. Please try an alternative payment method.")}}};d.render=function(e,t,a,o,i,d){const h=n("apple-pay-button");return i.applePayAvailable?(c(),s("div",{key:0,class:l(["ppcp-apple-pay-container",i.applePayLoaded?"ppcp-apple-pay":"text-loading"])},[i.applePayLoaded?(c(),p(h,{key:0,onClick:d.onClick,id:"ppcp-apple-pay",type:"buy",locale:"en"},null,8,["onClick"])):r("v-if",!0)],2)):r("v-if",!0)},d.__file="src/components/ExpressPayments/ApplePay/ApplePay.vue";export{d as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js index e33358c..86f9fa2 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as e,a as t,g as o,u as a,l as n,c as s,n as i,b as r,o as d}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; +import{m as e,a as t,g as o,u as a,l as n,c as s,n as i,b as r,o as d}from"../../../createPPCPPaymentRest-BbuZq8aX.min.js";var l={name:"PpcpGooglePay",data:()=>({googlePayNoShippingMethods:"",googlePayLoaded:!1,googlePayConfig:null,key:"ppcpGooglePay",method:"ppcp_googlepay",orderID:null}),computed:{...e(a,["google","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await o.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues();t.availableMethods.find((e=>e.code===this.method))?await this.initGooglePay():(t.removeExpressMethod(this.key),this.googlePayLoaded=!0)},mounted(){const e=document.createElement("script");e.setAttribute("src","https://pay.google.com/gp/p/js/pay.js"),document.head.appendChild(e)},methods:{...t(a,["getInitialConfigValues","getEnvironment","mapAddress","makePayment"]),async initGooglePay(){try{await this.addSdkScript();const e=await this.deviceSupported(),t=await this.createGooglePayClient(e),o=await this.createGooglePayButton(t);o&&(document.getElementById("ppcp-google-pay").appendChild(o),this.googlePayLoaded=!0)}catch(e){console.warn(e)}},async addSdkScript(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=n(),o={intent:this.google.paymentAction,currency:e.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",o,"ppcp_googlepay")},deviceSupported(){return new Promise(((e,t)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void t(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async o=>{o.isEligible?(o.allowedPaymentMethods.forEach((e=>{e.parameters.billingAddressParameters.phoneNumberRequired=!0})),e(o)):t(new Error("Device not eligible for Google Pay"))})).catch((e=>{t(e)}))}))},createGooglePayClient(e){const t={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(t.onPaymentDataChanged=t=>this.onPaymentDataChanged(t,e)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:t}),this.googlePayClient.isReadyToPay({apiVersion:e.apiVersion,apiVersionMinor:e.apiVersionMinor,allowedPaymentMethods:e.allowedPaymentMethods}).then((t=>t.result?e:null))},async createGooglePayButton(e){const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore"]);return this.googlePayClient.createButton({allowedPaymentMethods:e.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonSizeMode:"fill",onClick:()=>this.onClick(e),onError:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)},onCancel:()=>{o.createNewAddress("shipping"),t.setLoadingState(!1)}})},async onClick(e){const[t,o,a,n,s,i,r]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useCustomerStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore","stores.usePaymentStore"]);r.setErrorMessage("");if(!t.validateAgreements())return!1;await i.setNotClickAndCollect();const d={...e},l=["PAYMENT_AUTHORIZATION"],c=this.onPaymentDataChanged&&!o.cart.is_virtual;return c&&l.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),d.allowedPaymentMethods=e.allowedPaymentMethods,d.transactionInfo={countryCode:e.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(o.cartGrandTotal/100).toString()},d.merchantInfo=e.merchantInfo,d.shippingAddressRequired=c,d.shippingAddressParameters={phoneNumberRequired:c},d.emailRequired=!0,d.shippingOptionRequired=c,d.callbackIntents=l,delete d.countryCode,delete d.isEligible,s.setLoadingState(!0),this.googlePayClient.loadPaymentData(d).catch((e=>{s.setLoadingState(!1),a.createNewAddress("shipping"),console.warn(e)}))},async onPaymentDataChanged(e,t){const[o,a,n,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.useShippingMethodsStore"]);return new Promise((i=>{const r={city:e.shippingAddress.locality,company:"",country_code:e.shippingAddress.countryCode,postcode:e.shippingAddress.postalCode,region:e.shippingAddress.administrativeArea,region_id:a.getRegionId(e.shippingAddress.countryCode,e.shippingAddress.administrativeArea),street:["0"],telephone:"000000000",firstname:"UNKNOWN",lastname:"UNKNOWN"};window.geneCheckout.services.getShippingMethods(r,this.method,!0).then((async a=>{const r=a.shipping_addresses[0].available_shipping_methods,d={},l=r.map((e=>{const t=e.carrier_title?`${window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value)}\n ${e.carrier_title}`:window.geneCheckout.helpers.formatPrice(e.price_incl_tax.value);return{id:e.method_code,label:e.method_title,description:t}})).filter((e=>"nominated_delivery"!==e.id));if(!l.length)return void i({error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:this.$t("errorMessages.googlePayNoShippingMethods"),intent:"SHIPPING_ADDRESS"}});const c="shipping_option_unselected"===e.shippingOptionData.id?r[0]:r.find((({method_code:t})=>t===e.shippingOptionData.id))||r[0];await s.submitShippingInfo(c.carrier_code,c.method_code),n.setLoadingState(!0),d.newShippingOptionParameters={defaultSelectedOptionId:c.method_code,shippingOptions:l},d.newTransactionInfo={displayItems:[{label:"Shipping",type:"LINE_ITEM",price:c.amount.value.toString(),status:"FINAL"}],currencyCode:o.cart.prices.grand_total.currency,totalPriceStatus:"FINAL",totalPrice:o.cart.prices.grand_total.value.toString(),totalPriceLabel:"Total",countryCode:t.countryCode},i(d)}))}))},async onPaymentAuthorized(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async a=>{if(!t.cart.is_virtual&&!t.cart.shipping_addresses[0].selected_shipping_method)return void a({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const n=await this.mapAddress(e.paymentMethodData.info.billingAddress,e.email,e.paymentMethodData.info.billingAddress.phoneNumber);let s=null;t.cart.is_virtual||(s=await this.mapAddress(e.shippingAddress,e.email,e.shippingAddress.phoneNumber));try{await window.geneCheckout.services.setAddressesOnCart(s,n,e.email);const t=await o(this.method);[this.orderID]=JSON.parse(t);const i={orderId:this.orderID,paymentMethodData:e.paymentMethodData},r=await this.googlepay.confirmOrder(i);await this.onApprove(r,e),a({transactionState:"SUCCESS"})}catch(e){a({error:{reason:"PAYMENT_DATA_INVALID",message:e.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(e,t){const[o,a,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.useCustomerStore","stores.usePaymentStore"]);if(e.liabilityShift&&"POSSIBLE"!==e.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(t.email,this.orderID,this.method,!0).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{o.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.createNewAddress("shipping"),n.setErrorMessage(e)}}))}}};l.render=function(e,t,o,a,n,l){return e.google.enabled?(d(),s("div",{key:0,id:"ppcp-google-pay",class:i(n.googlePayLoaded?"":"text-loading"),"data-cy":"instant-checkout-PPCPGooglePay"},null,2)):r("v-if",!0)},l.__file="src/components/ExpressPayments/GooglePay/GooglePay.vue";export{l as default}; diff --git a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js index 9d82077..d4a1b83 100644 --- a/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/ExpressPayments/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a as t,g as a,u as s,l as o,c as n,i as p,n as r,F as i,o as d}from"../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{g as c,c as l,a as h}from"../../../getTotals-DWZqFiJq.min.js";import{f as y}from"../../../finishPpcpOrder-Dh6Fi_68.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[p("div",{class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),p("div",{class:r(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),p("div",{class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; +import{m as e,a as t,g as a,u as s,l as o,c as n,i as p,n as r,F as i,o as d}from"../../../createPPCPPaymentRest-BbuZq8aX.min.js";import{g as c,c as l,a as h,f as y}from"../../../getTotals-DV8RXI5-.min.js";var u={name:"PpcpPayPal",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[p("div",{class:r(["paypal-express--button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),p("div",{class:r(["paypal-express--button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),p("div",{class:r([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/ExpressPayments/PayPal/PayPal.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js index 14ace25..4a1f1cd 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/ApplePay/ApplePay.min.js @@ -1,4 +1,4 @@ -import{m as e,a as t,g as a,u as o,l as s,h as i,c as n,i as p,d as l,f as r,n as c,b as d,w as h,o as y}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js"; +import{m as e,a as t,g as a,u as o,l as s,h as i,c as n,i as p,d as l,f as r,n as c,b as d,w as h,o as y}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js"; /** * @vue/runtime-dom v3.4.23 * (c) 2018-present Yuxi (Evan) You and Vue contributors diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js index caeae71..6224ba5 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.min.js @@ -1 +1 @@ -import{m as e,a as t,g as a,u as s,l as r,c as i,i as o,d,f as n,n as l,b as c,j as h,o as u}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";var m={name:"PpcpCreditCardPayment",data:()=>({isMethodSelected:!1,errorMessage:"",hostedNumberErrorMessage:"",hostedDateErrorMessage:"",hostedCvvErrorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,MyButton:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_card",method:"ppcp_card",numberField:"#card-number-field-container",cvvField:"#card-cvv-field-container",expiryField:"#card-expiry-field-container",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["card","environment","buyerCountry","productionClientId","sandboxClientId"])},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:s,Agreements:r,MyButton:i}}}=await import(window.geneCheckout.main);this.Agreements=r,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=s,this.PrivacyPolicy=t,this.MyButton=i},async created(){const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await s.getCart(),await this.addScripts(),await this.initCardFields(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_card"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(s,["makePayment"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_card")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=r(),a={intent:this.card.paymentAction,currency:e.currencyCode,components:"card-fields"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",a,"ppcp_card")},async initCardFields(){if(window[`paypal_${this.method}`]){const e=window[`paypal_${this.method}`].CardFields({createOrder:async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"]);e.setLoadingState(!0);try{const e=await a(this.method,this.card.vaultActive,1),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(t){return e.setLoadingState(!1),console.error("Error during createOrder:",t),null}},onApprove:async(e,t)=>{const[a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(!e.liabilityShift||"NO"!==e.liabilityShift&&"UNKNOWN"!==e.liabilityShift)return this.makePayment(t.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{a.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){s.setErrorMessage(e)}}));throw new Error("Cannot validate payment")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setErrorMessage(e),a.setLoadingState(!1)},style:this.getStyles()});await this.renderFields(e)}},async renderFields(e){const[t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);if(t.setErrorMessage(""),e.isEligible()){const r=document.querySelector(this.numberField),i=document.querySelector(this.cvvField),o=document.querySelector(this.expiryField),d=e.NumberField({placeholder:"4111 1111 1111 1111",inputEvents:{onBlur:e=>{r.className=e.fields.cardNumberField.isValid||e.fields.cardNumberField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),n=e.CVVField({placeholder:"123",inputEvents:{onBlur:e=>{i.className=e.fields.cardCvvField.isValid||e.fields.cardCvvField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),l=e.ExpiryField({placeholder:"MM/YY",inputEvents:{onBlur:e=>{o.className=e.fields.cardExpiryField.isValid||e.fields.cardExpiryField.isEmpty?"valid":"invalid"},onFocus:()=>{}}});r&&!r.innerHTML.trim()&&d.render(r),i&&!i.innerHTML.trim()&&n.render(i),o&&!o.innerHTML.trim()&&l.render(o),document.getElementById("card-field-submit-button").addEventListener("click",(()=>a.validateAgreements()?(s.setLoadingState(!0),e.getState().then((a=>{a.isFormValid?e.submit().then((()=>{})).catch((e=>{t.setErrorMessage(e)})):(a.errors.includes("INVALID_NUMBER")&&(s.setLoadingState(!1),this.hostedNumberErrorMessage="Card number is not valid."),a.errors.includes("INVALID_EXPIRY")&&(s.setLoadingState(!1),this.hostedDateErrorMessage="Expiry date is not valid."),a.errors.includes("INVALID_CVV")&&(s.setLoadingState(!1),this.hostedCvvErrorMessage="CVV is not valid."))})),!0):(s.setLoadingState(!1),!1)))}},getStyles:()=>({".valid":{color:"green"},".invalid":{color:"red"},input:{padding:"8px 15px","font-size":"16px"}})}};const p={class:"field required"},y=o("label",{for:"card-number-field-container",class:"label"},[o("span",null," Credit Card Number ")],-1),g=o("div",{id:"card-number-field-container"},null,-1),v={class:"field required"},M=o("label",{for:"card-expiry-field-container",class:"label"},[o("span",null," Expiration Date ")],-1),C=o("div",{id:"card-expiry-field-container"},null,-1),b={class:"field required"},w=o("label",{for:"card-cvv-field-container",class:"label"},[o("span",null," Card Verification Number ")],-1),f=o("div",{id:"card-cvv-field-container"},null,-1),E={key:1,class:"card-content"};m.render=function(e,t,a,s,r,m){return u(),i("div",{class:l([{active:r.isMethodSelected},"card-container"])},[o("div",{class:l(["card-title",r.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e))},[(u(),d(n(r.RadioButton),{id:"card-select",text:e.card.title,checked:r.isMethodSelected,"data-cy":"card-radio",class:"card-radio",onClick:m.selectPaymentMethod,onKeydown:m.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"]))],34),r.errorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.errorMessage,attached:!1},null,8,["message"])):c("v-if",!0),o("fieldset",{class:"card-fieldset",style:h({display:r.isMethodSelected?"block":"none"})},[o("div",p,[y,g,r.hostedNumberErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedNumberErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",v,[M,C,r.hostedDateErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedDateErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",b,[w,f,r.hostedCvvErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedCvvErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)])],4),(u(),d(n(r.MyButton),{label:e.$t("Pay"),style:h({display:r.isMethodSelected?"block":"none"}),primary:"",id:"card-field-submit-button"},null,8,["label","style"])),r.isMethodSelected?(u(),i("div",E,[(u(),d(n(r.PrivacyPolicy))),r.isRecaptchaVisible("placeOrder")?(u(),d(n(r.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):c("v-if",!0),(u(),d(n(r.Agreements),{id:"ppcp-checkout-card"}))])):c("v-if",!0)],2)},m.__file="src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue";export{m as default}; +import{m as e,a as t,g as a,u as s,l as r,c as i,i as o,d,f as n,n as l,b as c,j as h,o as u}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js";var m={name:"PpcpCreditCardPayment",data:()=>({isMethodSelected:!1,errorMessage:"",hostedNumberErrorMessage:"",hostedDateErrorMessage:"",hostedCvvErrorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,MyButton:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_card",method:"ppcp_card",numberField:"#card-number-field-container",cvvField:"#card-cvv-field-container",expiryField:"#card-expiry-field-container",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["card","environment","buyerCountry","productionClientId","sandboxClientId"])},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:a,Recaptcha:s,Agreements:r,MyButton:i}}}=await import(window.geneCheckout.main);this.Agreements=r,this.ErrorMessage=e,this.RadioButton=a,this.Recaptcha=s,this.PrivacyPolicy=t,this.MyButton=i},async created(){const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await a.getInitialConfig(),await s.getCart(),await this.addScripts(),await this.initCardFields(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_card"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(s,["makePayment"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_card")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=r(),a={intent:this.card.paymentAction,currency:e.currencyCode,components:"card-fields"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,t("https://www.paypal.com/sdk/js",a,"ppcp_card")},async initCardFields(){if(window[`paypal_${this.method}`]){const e=window[`paypal_${this.method}`].CardFields({createOrder:async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"]);e.setLoadingState(!0);try{const e=await a(this.method,this.card.vaultActive,1),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(t){return e.setLoadingState(!1),console.error("Error during createOrder:",t),null}},onApprove:async e=>{const[t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore","stores.useCartStore"]);if(!e.liabilityShift||"NO"!==e.liabilityShift&&"UNKNOWN"!==e.liabilityShift)return this.makePayment(s.cart.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.setErrorMessage(e)}}));throw new Error("Cannot validate payment")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setErrorMessage(e),a.setLoadingState(!1)},style:this.getStyles()});await this.renderFields(e)}},async renderFields(e){const[t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);if(t.setErrorMessage(""),e.isEligible()){const r=document.querySelector(this.numberField),i=document.querySelector(this.cvvField),o=document.querySelector(this.expiryField),d=e.NumberField({placeholder:"4111 1111 1111 1111",inputEvents:{onBlur:e=>{r.className=e.fields.cardNumberField.isValid||e.fields.cardNumberField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),n=e.CVVField({placeholder:"123",inputEvents:{onBlur:e=>{i.className=e.fields.cardCvvField.isValid||e.fields.cardCvvField.isEmpty?"valid":"invalid"},onFocus:()=>{}}}),l=e.ExpiryField({placeholder:"MM/YY",inputEvents:{onBlur:e=>{o.className=e.fields.cardExpiryField.isValid||e.fields.cardExpiryField.isEmpty?"valid":"invalid"},onFocus:()=>{}}});r&&!r.innerHTML.trim()&&d.render(r),i&&!i.innerHTML.trim()&&n.render(i),o&&!o.innerHTML.trim()&&l.render(o),document.getElementById("card-field-submit-button").addEventListener("click",(()=>a.validateAgreements()?(s.setLoadingState(!0),e.getState().then((a=>{a.isFormValid?e.submit().then((()=>{})).catch((e=>{t.setErrorMessage(e)})):(a.errors.includes("INVALID_NUMBER")&&(s.setLoadingState(!1),this.hostedNumberErrorMessage="Card number is not valid."),a.errors.includes("INVALID_EXPIRY")&&(s.setLoadingState(!1),this.hostedDateErrorMessage="Expiry date is not valid."),a.errors.includes("INVALID_CVV")&&(s.setLoadingState(!1),this.hostedCvvErrorMessage="CVV is not valid."))})),!0):(s.setLoadingState(!1),!1)))}},getStyles:()=>({".valid":{color:"green"},".invalid":{color:"red"},input:{padding:"8px 15px","font-size":"16px"}})}};const p={class:"field required"},y=o("label",{for:"card-number-field-container",class:"label"},[o("span",null," Credit Card Number ")],-1),g=o("div",{id:"card-number-field-container"},null,-1),v={class:"field required"},M=o("label",{for:"card-expiry-field-container",class:"label"},[o("span",null," Expiration Date ")],-1),C=o("div",{id:"card-expiry-field-container"},null,-1),b={class:"field required"},w=o("label",{for:"card-cvv-field-container",class:"label"},[o("span",null," Card Verification Number ")],-1),f=o("div",{id:"card-cvv-field-container"},null,-1),E={key:1,class:"card-content"};m.render=function(e,t,a,s,r,m){return u(),i("div",{class:l([{active:r.isMethodSelected},"card-container"])},[o("div",{class:l(["card-title",r.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>m.selectPaymentMethod&&m.selectPaymentMethod(...e))},[(u(),d(n(r.RadioButton),{id:"card-select",text:e.card.title,checked:r.isMethodSelected,"data-cy":"card-radio",class:"card-radio",onClick:m.selectPaymentMethod,onKeydown:m.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"]))],34),r.errorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.errorMessage,attached:!1},null,8,["message"])):c("v-if",!0),o("fieldset",{class:"card-fieldset",style:h({display:r.isMethodSelected?"block":"none"})},[o("div",p,[y,g,r.hostedNumberErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedNumberErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",v,[M,C,r.hostedDateErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedDateErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)]),o("div",b,[w,f,r.hostedCvvErrorMessage?(u(),d(n(r.ErrorMessage),{key:0,message:r.hostedCvvErrorMessage,attached:!1},null,8,["message"])):c("v-if",!0)])],4),(u(),d(n(r.MyButton),{label:e.$t("Pay"),style:h({display:r.isMethodSelected?"block":"none"}),primary:"",id:"card-field-submit-button"},null,8,["label","style"])),r.isMethodSelected?(u(),i("div",E,[(u(),d(n(r.PrivacyPolicy))),r.isRecaptchaVisible("placeOrder")?(u(),d(n(r.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):c("v-if",!0),(u(),d(n(r.Agreements),{id:"ppcp-checkout-card"}))])):c("v-if",!0)],2)},m.__file="src/components/PaymentPage/PaymentMethods/CreditCard/CreditCard.vue";export{m as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js index 7f501a3..f67e748 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.min.js @@ -1 +1 @@ -import{m as A,a as e,g as t,u as n,l as a,c as o,i as l,d as r,f as d,n as s,b as p,j as i,o as c}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",method:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.method);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; +import{m as A,a as e,g as t,u as n,l as a,c as o,i as l,d as r,f as d,n as s,b as p,j as i,o as c}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js";var P={name:"PpcpGooglePayPayment",data:()=>({isMethodSelected:!1,googlePayLoaded:!1,button:null,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_googlepay",method:"ppcp_googlepay",isRecaptchaVisible:()=>{},orderID:null}),props:{open:{type:Boolean,required:!1}},computed:{...A(n,["google","environment","buyerCountry","productionClientId","sandboxClientId"]),googlePayLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIyNTYyMTlEMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIyNTYyMTlFMDQ1NDExRUI4Qzk4QzkwRTdEOTIwMjM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjI1NjIxOUIwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjI1NjIxOUMwNDU0MTFFQjhDOThDOTBFN0Q5MjAyMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7XptlGAACB1UlEQVR42uzdB3xT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"},async mounted(){const{default:{components:{ErrorMessage:A,PrivacyPolicy:e,RadioButton:t,Recaptcha:n,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=A,this.RadioButton=t,this.Recaptcha=n,this.PrivacyPolicy=e;const o="https://pay.google.com/gp/p/js/pay.js",l=Array.from(document.scripts).find((A=>A.src===o));if(!l){const A=document.createElement("script");A.setAttribute("src",o),document.head.appendChild(A)}},async created(){const[A,e,t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=e.paymentEmitter,this.isPaymentMethodAvailable=e.isPaymentMethodAvailable,this.isRecaptchaVisible=A.isRecaptchaVisible,e.$subscribe((A=>{void 0!==A.payload.selectedMethod&&(this.selectedMethod=A.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:A})=>{this.paymentVisible=A})),await t.getInitialConfig(),await n.getCart(),await this.initGooglePay(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(A){null!==A&&"ppcp_googlepay"!==A&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...e(n,["getEnvironment","mapAddress","makePayment","mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0,this.button&&(document.getElementById("ppcp-google-pay").appendChild(this.button),this.googlePayLoaded=!0);(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_googlepay")},async initGooglePay(){try{await this.addSdkScript();const A=await this.deviceSupported(),e=await this.createGooglePayClient(A);this.button=await this.createGooglePayButton(e)}catch(A){console.warn(A)}},async addSdkScript(){const A=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),e=a(),t={intent:this.google.paymentAction,currency:A.currencyCode,components:"googlepay"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,e("https://www.paypal.com/sdk/js",t,"ppcp_googlepay")},deviceSupported(){return new Promise(((A,e)=>{if("https:"!==window.location.protocol)return console.warn("Google Pay requires your checkout be served over HTTPS"),void e(new Error("Insecure protocol: HTTPS is required for Google Pay"));this.googlepay=window.paypal_ppcp_googlepay.Googlepay(),this.googlepay.config().then((async t=>{t.isEligible?(t.allowedPaymentMethods.forEach((A=>{A.parameters.billingAddressParameters.phoneNumberRequired=!0})),A(t)):e(new Error("Device not eligible for Google Pay"))})).catch((A=>{e(A)}))}))},createGooglePayClient(A){const e={onPaymentAuthorized:this.onPaymentAuthorized};return this.onPaymentDataChanged&&(e.onPaymentDataChanged=e=>this.onPaymentDataChanged(e,A)),this.googlePayClient=new window.google.payments.api.PaymentsClient({environment:this.getEnvironment(),paymentDataCallbacks:e}),this.googlePayClient.isReadyToPay({apiVersion:A.apiVersion,apiVersionMinor:A.apiVersionMinor,allowedPaymentMethods:A.allowedPaymentMethods}).then((e=>e.result?A:null))},createGooglePayButton(A){return this.googlePayClient.createButton({allowedPaymentMethods:A.allowedPaymentMethods,buttonColor:this.google.buttonColor.toLowerCase(),buttonType:"short",buttonSizeMode:"fill",onClick:()=>this.onClick(A)})},async onClick(A){const[e,t,n,a,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useAgreementStore","stores.useCartStore","stores.useConfigStore","stores.useLoadingStore","stores.usePaymentStore"]);o.setErrorMessage("");if(!e.validateAgreements())return!1;const l={...A},r=["PAYMENT_AUTHORIZATION"],d=this.onPaymentDataChanged&&!t.cart.is_virtual;return d&&r.push("SHIPPING_ADDRESS","SHIPPING_OPTION"),l.allowedPaymentMethods=A.allowedPaymentMethods,l.transactionInfo={countryCode:A.countryCode,currencyCode:n.currencyCode,totalPriceStatus:"FINAL",totalPrice:(t.cartGrandTotal/100).toString()},l.merchantInfo=A.merchantInfo,l.shippingAddressRequired=d,l.shippingAddressParameters={phoneNumberRequired:d},l.emailRequired=!0,l.shippingOptionRequired=d,l.callbackIntents=r,delete l.countryCode,delete l.isEligible,a.setLoadingState(!0),this.googlePayClient.loadPaymentData(l).catch((A=>{console.warn(A)}))},async onPaymentAuthorized(A){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]);return new Promise((async n=>{if(!e.cart.is_virtual&&!e.cart.shipping_addresses[0].selected_shipping_method)return void n({error:{reason:"SHIPPING_OPTION_INVALID",message:"No shipping method selected",intent:"SHIPPING_OPTION"}});const a=await this.mapAddress(A.paymentMethodData.info.billingAddress,A.email,A.paymentMethodData.info.billingAddress.phoneNumber);try{await window.geneCheckout.services.setAddressesOnCart(await this.mapSelectedAddress(e.cart.shipping_addresses[0]),a,A.email);const o=await t(this.method);[this.orderID]=JSON.parse(o);const l={orderId:this.orderID,paymentMethodData:A.paymentMethodData},r=await this.googlepay.confirmOrder(l);await this.onApprove(r,A),n({transactionState:"SUCCESS"})}catch(A){n({error:{reason:"PAYMENT_DATA_INVALID",message:A.message,intent:"PAYMENT_AUTHORIZATION"}})}}))},async onApprove(A,e){const[t,n]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore","stores.usePaymentStore"]);if(A.liabilityShift&&"POSSIBLE"!==A.liabilityShift)throw new Error("Cannot validate payment");return this.makePayment(e.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((A=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(A)}catch(A){n.setErrorMessage(A)}}))}}};const y=["src"],h={key:1,class:"google-pay-content"};P.render=function(A,e,t,n,a,P){return c(),o("div",{class:s([{active:a.isMethodSelected},"google-pay-container"])},[l("div",{class:s(["google-pay-title",a.isMethodSelected?"selected":""]),onClick:e[0]||(e[0]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A)),onKeydown:e[1]||(e[1]=(...A)=>P.selectPaymentMethod&&P.selectPaymentMethod(...A))},[(c(),r(d(a.RadioButton),{id:"google-pay-select",text:A.google.title,checked:a.isMethodSelected,"data-cy":"google-pay-radio",class:"google-pay-radio",onClick:P.selectPaymentMethod,onKeydown:P.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),l("img",{width:"48px",class:"google-pay-logo",src:P.googlePayLogo,alt:"google-pay-logo"},null,8,y)],34),a.errorMessage?(c(),r(d(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):p("v-if",!0),l("div",{style:i({display:a.isMethodSelected?"block":"none"}),id:"ppcp-google-pay",class:s(!a.googlePayLoaded&&a.isMethodSelected?"text-loading":""),"data-cy":"checkout-PPCPGooglePay"},null,6),a.isMethodSelected?(c(),o("div",h,[(c(),r(d(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(c(),r(d(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):p("v-if",!0),(c(),r(d(a.Agreements),{id:"ppcp-checkout-google-pay"}))])):p("v-if",!0)],2)},P.__file="src/components/PaymentPage/PaymentMethods/GooglePay/GooglePay.vue";export{P as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js index 4d42ca3..4e1a6cb 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPal/PayPal.min.js @@ -1 +1 @@ -import{m as e,a,g as t,u as s,l as o,c as p,i,d as c,f as l,n,b as r,j as d,o as y}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{f as h}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var g={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:a,RadioButton:t,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=t,this.Recaptcha=s,this.PrivacyPolicy=a},async created(){const[e,a,t,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=a.paymentEmitter,this.isPaymentMethodAvailable=a.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,a.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await t.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...a(s,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),a=o(),t={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(t.components+=",messages"),this.paypal.payLaterActive&&(t["enable-funding"]="paylater"),a("https://www.paypal.com/sdk/js",t,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),a=window[`paypal_${this.method}`];if(a){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?a.FUNDING.PAYLATER:a.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await t(this.method,this.paypal.vaultActive,1),a=JSON.parse(e),[s]=a;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(t.setLoadingState(!0),!0)},onApprove:async()=>{try{await h({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},o={...s,fundingSource:a.FUNDING.PAYPAL};if(await a.Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:a.FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await a.Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const p={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await a.Messages(p).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const m=["src"],u={key:1,class:"pay-pal-content"};g.render=function(e,a,t,s,o,h){return y(),p("div",{class:n([{active:o.isMethodSelected},"pay-pal-container"])},[i("div",{class:n(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:a[0]||(a[0]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e)),onKeydown:a[1]||(a[1]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e))},[(y(),c(l(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:h.selectPaymentMethod,onKeydown:h.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),i("img",{width:"48px",class:"pay-pal-logo",src:h.payPalLogo,alt:"pay-pal-logo"},null,8,m)],34),o.errorMessage?(y(),c(l(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):r("v-if",!0),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:n([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(y(),p("div",u,[(y(),c(l(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(y(),c(l(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):r("v-if",!0),(y(),c(l(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):r("v-if",!0)],2)},g.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{g as default}; +import{m as e,a,g as t,u as s,l as o,c as p,i,d as c,f as n,n as l,b as r,j as d,o as y}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js";var h={name:"PpcpPayPalPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_paypal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",isRecaptchaVisible:()=>{},orderID:null,paypalLoaded:!1,address:{}}),props:{open:{type:Boolean,required:!1}},computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),payPalLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAsCAIAAABT1onSAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wOTMtMDc6MDAiCiAgIGRhbTpzaXplPSIxODM0IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjYxNC0wNzowMCIKICAgZGFtOnNoYTE9IjRiYTRlNTY3ZWY1YzdhYTA0OTEyZTFmYWYwZmVkN2NhMjlmYjAxZGYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:a,RadioButton:t,Recaptcha:s,Agreements:o}}}=await import(window.geneCheckout.main);this.Agreements=o,this.ErrorMessage=e,this.RadioButton=t,this.Recaptcha=s,this.PrivacyPolicy=a},async created(){const[e,a,t,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=a.paymentEmitter,this.isPaymentMethodAvailable=a.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,a.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await t.getInitialConfig(),await s.getCart(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_paypal"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...a(s,["makePayment"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_paypal")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),a=o(),t={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(t["buyer-country"]=this.buyerCountry,t["client-id"]=this.sandboxClientId):t["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(t.components+=",messages"),this.paypal.payLaterActive&&(t["enable-funding"]="paylater"),a("https://www.paypal.com/sdk/js",t,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),a=window[`paypal_${this.method}`];if(a){const s={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?a.FUNDING.PAYLATER:a.FUNDING.PAYPAL,createOrder:async()=>{try{const e=await t(this.method,this.paypal.vaultActive,1),a=JSON.parse(e),[s]=a;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(t.setLoadingState(!0),!0)},onApprove:async()=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);return this.makePayment(e.cart.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((e=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(e)}catch(e){a.setErrorMessage(e)}}))},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[a,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);t.setLoadingState(!1),a.setErrorMessage(e)}},o={...s,fundingSource:a.FUNDING.PAYPAL};if(await a.Buttons(o).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...s,fundingSource:a.FUNDING.PAYLATER,style:{...s.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await a.Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const p={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await a.Messages(p).render("#ppcp-paypal_messages"),this.paypalLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const g=["src"],m={key:1,class:"pay-pal-content"};h.render=function(e,a,t,s,o,h){return y(),p("div",{class:l([{active:o.isMethodSelected},"pay-pal-container"])},[i("div",{class:l(["pay-pal-title",o.isMethodSelected?"selected":""]),onClick:a[0]||(a[0]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e)),onKeydown:a[1]||(a[1]=(...e)=>h.selectPaymentMethod&&h.selectPaymentMethod(...e))},[(y(),c(n(o.RadioButton),{id:"pay-pal-select",text:e.paypal.title,checked:o.isMethodSelected,"data-cy":"pay-pal-radio",class:"pay-pal-radio",onClick:h.selectPaymentMethod,onKeydown:h.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),i("img",{width:"48px",class:"pay-pal-logo",src:h.payPalLogo,alt:"pay-pal-logo"},null,8,g)],34),o.errorMessage?(y(),c(n(o.ErrorMessage),{key:0,message:o.errorMessage,attached:!1},null,8,["message"])):r("v-if",!0),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:l(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,6),i("div",{style:d({display:o.isMethodSelected?"block":"none"}),class:l([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,6),o.isMethodSelected?(y(),p("div",m,[(y(),c(n(o.PrivacyPolicy))),o.isRecaptchaVisible("placeOrder")?(y(),c(n(o.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):r("v-if",!0),(y(),c(n(o.Agreements),{id:"ppcp-checkout-pay-pal"}))])):r("v-if",!0)],2)},h.__file="src/components/PaymentPage/PaymentMethods/PayPal/PayPal.vue";export{h as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js index f83cbaa..0f27f88 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.min.js @@ -1 +1 @@ -import{m as e,a as t,g as a,u as s,l as o,c as n,i as r,n as p,F as i,o as d}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{g as c,c as l,a as h}from"../../../../getTotals-DWZqFiJq.min.js";import{f as y}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),r("div",{class:p([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; +import{m as e,a as t,g as a,u as s,l as o,c as n,i as r,n as p,F as i,o as d}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js";import{g as c,c as l,a as h,f as y}from"../../../../getTotals-DV8RXI5-.min.js";var u={name:"PpcpPayPalPayLaterPayment",data:()=>({key:"ppcpPayPal",method:"ppcp_paypal",namespace:"paypal_ppcp_paypal",orderID:null,paypalLoaded:!1,address:{}}),computed:{...e(s,["paypal","environment","buyerCountry","productionClientId","sandboxClientId"])},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.usePaymentStore","stores.useConfigStore"]);t.addExpressMethod(this.key),await a.getInitialConfig(),await e.getCart();t.availableMethods.find((e=>e.code===this.method))?(await this.getInitialConfigValues(),await this.addScripts(),this.namespace=`${this.namespace}`,this.paypal.payLaterActive&&(this.namespace=`${this.method}_paylater`),await this.renderPaypalInstance()):(t.removeExpressMethod(this.key),this.paypalLoaded=!0)},methods:{...t(s,["getInitialConfigValues"]),async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=o(),a={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(a["buyer-country"]=this.buyerCountry,a["client-id"]=this.sandboxClientId):a["client-id"]=this.productionClientId,this.paypal.payLaterMessageActive&&(a.components+=",messages"),this.paypal.payLaterActive&&(a["enable-funding"]="paylater"),t("https://www.paypal.com/sdk/js",a,"ppcp_paypal")},async renderPaypalInstance(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore"]),t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:this.paypal.buttonColor,tagline:!1},fundingSource:this.paypal.payLaterActive?window[`paypal_${this.method}`].FUNDING.PAYLATER:window[`paypal_${this.method}`].FUNDING.PAYPAL,createOrder:async()=>{try{const e=await a(this.method),t=JSON.parse(e),[s]=t;return this.orderID=s,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useShippingMethodsStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!a.validateAgreements()&&(await t.setNotClickAndCollect(),s.setLoadingState(!0),!0)},onShippingAddressChange:async e=>(this.address=await this.mapAddress(e.shippingAddress),c(this.address,"","",!1).then((async()=>l(this.orderID,JSON.stringify(e.shippingAddress),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))),onShippingOptionsChange:async e=>{const[t,...a]=e.selectedShippingOption.id.split("_");return c(this.address,t,a.join("_"),!0).then((async()=>h(this.orderID,JSON.stringify(e.selectedShippingOption),this.method))).catch((async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}))},onApprove:async()=>{try{await y({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{const[e,t]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore","stores.useLoadingStore"]);t.setLoadingState(!1),e.createNewAddress("shipping")},onError:async e=>{const[t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);a.setLoadingState(!1),t.setErrorMessage(e)}},s={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYPAL};if(await window[`paypal_${this.method}`].Buttons(s).render("#ppcp-paypal_ppcp_paypal"),this.paypal.payLaterActive){const e={...t,fundingSource:window[`paypal_${this.method}`].FUNDING.PAYLATER,style:{...t.style,color:this.paypal.payLaterButtonColour,shape:this.paypal.payLaterButtonShape}};await window[`paypal_${this.method}`].Buttons(e).render("#ppcp-paypal_ppcp_paylater")}const o={amount:e.cart.total,style:{layout:this.paypal.payLaterMessageLayout,logo:{type:this.paypal.payLaterMessageLogoType,position:this.paypal.payLaterMessageLogoPosition},text:{size:this.paypal.payLaterMessageTextSize,color:this.paypal.payLaterMessageColour,align:this.paypal.payLaterMessageTextAlign}}};this.paypal.payLaterMessageActive&&await window[`paypal_${this.method}`].Messages(o).render("#ppcp-paypal_messages"),this.paypalLoaded=!0},async mapAddress(e){const t=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]);return{city:e.city,country_id:e.countryCode,postcode:e.postalCode,region:void 0!==e.state?e.state:"",region_id:t.getRegionId(e.countryCode,e.state)}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};u.render=function(e,t,a,s,o,c){return d(),n(i,null,[r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paypal","data-cy":"instant-checkout-ppcpPayPal"},null,2),r("div",{class:p(["paypal-button-container",o.paypalLoaded?"":"text-loading"]),id:"ppcp-paypal_ppcp_paylater","data-cy":"instant-checkout-ppcpPayLater"},null,2),r("div",{class:p([o.paypalLoaded?"":"text-loading","paypal-messages-container"]),id:"ppcp-paypal_messages","data-cy":"instant-checkout-ppcpMessages"},null,2)],64)},u.__file="src/components/PaymentPage/PaymentMethods/PayPalPayLater/PayPalPayLater.vue";export{u as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js index e1ba988..284c799 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethods/Venmo/Venmo.min.js @@ -1 +1 @@ -import{m as e,a as t,g as i,u as o,l as a,c as s,i as n,d as c,f as r,n as d,b as l,j as h,o as p}from"../../../../createPPCPPaymentRest-qTNGWAjN.min.js";import{f as g}from"../../../../finishPpcpOrder-Dh6Fi_68.min.js";var E={name:"PpcpVenmoPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_venmo",method:"ppcp_venmo",isRecaptchaVisible:()=>{},orderID:null,venmoLoaded:!1}),props:{open:{type:Boolean,required:!1}},computed:{...e(o,["venmo","paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),venmoLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAACVCAYAAADMmcw2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA99pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEwQ0VGMkM2QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEwQ0VGMkM1QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNS4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUY3RjExNzQwNzIwNjgxMTk5NENEQjI3NEI1REVGQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3RjExNzQwNzIwNjgx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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:i,Recaptcha:o,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=e,this.RadioButton=i,this.Recaptcha=o,this.PrivacyPolicy=t},async created(){const[e,t,i,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await i.getInitialConfig(),await o.getCart(),await this.addScripts(),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_venmo"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(o,["mapSelectedAddress"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_venmo")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=a(),i={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(i["buyer-country"]=this.buyerCountry,i["client-id"]=this.sandboxClientId):i["client-id"]=this.productionClientId,i["enable-funding"]="venmo",t("https://www.paypal.com/sdk/js",i,"ppcp_venmo")},async renderPaypalInstance(){const e=window.paypal_ppcp_venmo;if(e){const t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:"gold"===this.paypal.buttonColor?"blue":this.paypal.buttonColor,tagline:!1},fundingSource:e.FUNDING.VENMO,createOrder:async()=>{try{const e=await i(this.method,this.venmo.vaultActive,1),t=JSON.parse(e),[o]=t;return this.orderID=o,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(i.setLoadingState(!0),!0)},onApprove:async()=>{try{await g({orderId:this.orderID,method:this.method}).then((()=>{window.geneCheckout.services.refreshCustomerData(["cart"]),this.redirectToSuccess()}))}catch(e){const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);i.setLoadingState(!1),t.setErrorMessage(e)}};await e.Buttons(t).render("#paypal-button-container-venmo"),this.venmoLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const u=["src"],C={key:1,class:"venmo-content"};E.render=function(e,t,i,o,a,g){return p(),s("div",{class:d([{active:a.isMethodSelected},"venmo-container"])},[n("div",{class:d(["venmo-title",a.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>g.selectPaymentMethod&&g.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>g.selectPaymentMethod&&g.selectPaymentMethod(...e))},[(p(),c(r(a.RadioButton),{id:"venmo-select",text:e.venmo.title,checked:a.isMethodSelected,"data-cy":"venmo-radio",class:"venmo-radio",onClick:g.selectPaymentMethod,onKeydown:g.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),n("img",{width:"48px",class:"venmo-logo",src:g.venmoLogo,alt:"venmo-logo"},null,8,u)],34),a.errorMessage?(p(),c(r(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):l("v-if",!0),n("div",{style:h({display:a.isMethodSelected?"block":"none"}),class:d(["paypal-button-container",a.venmoLoaded?"":"text-loading"]),id:"paypal-button-container-venmo","data-cy":"instant-checkout-ppcpPayPalVenmo"},null,6),a.isMethodSelected?(p(),s("div",C,[(p(),c(r(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(p(),c(r(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):l("v-if",!0),(p(),c(r(a.Agreements),{id:"ppcp-checkout-venmo"}))])):l("v-if",!0)],2)},E.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{E as default}; +import{m as e,a as t,g as o,u as i,l as a,c as n,i as s,d as c,f as r,n as l,b as h,j as d,o as g}from"../../../../createPPCPPaymentRest-BbuZq8aX.min.js";var p={name:"PpcpVenmoPayment",data:()=>({isMethodSelected:!1,errorMessage:"",ErrorMessage:null,PrivacyPolicy:null,RadioButton:null,Recaptcha:null,Agreements:null,paymentEmitter:null,isPaymentMethodAvailable:null,selectedMethod:"ppcp_venmo",method:"ppcp_venmo",isRecaptchaVisible:()=>{},orderID:null,venmoLoaded:!1}),props:{open:{type:Boolean,required:!1}},computed:{...e(i,["venmo","paypal","environment","buyerCountry","productionClientId","sandboxClientId"]),venmoLogo:()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAACVCAYAAADMmcw2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA99pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEwQ0VGMkM2QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEwQ0VGMkM1QTc0RjExRTFCMEUwQzkyMjZDRkM3NTczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNS4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUY3RjExNzQwNzIwNjgxMTk5NENEQjI3NEI1REVGQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3RjExNzQwNzIwNjgx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"},async mounted(){const{default:{components:{ErrorMessage:e,PrivacyPolicy:t,RadioButton:o,Recaptcha:i,Agreements:a}}}=await import(window.geneCheckout.main);this.Agreements=a,this.ErrorMessage=e,this.RadioButton=o,this.Recaptcha=i,this.PrivacyPolicy=t},async created(){const[e,t,o,i]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useRecaptchaStore","stores.usePaymentStore","stores.useConfigStore","stores.useCartStore"]);this.paymentEmitter=t.paymentEmitter,this.isPaymentMethodAvailable=t.isPaymentMethodAvailable,this.isRecaptchaVisible=e.isRecaptchaVisible,t.$subscribe((e=>{void 0!==e.payload.selectedMethod&&(this.selectedMethod=e.payload.selectedMethod)})),this.paymentEmitter.on("changePaymentMethodDisplay",(({visible:e})=>{this.paymentVisible=e})),await o.getInitialConfig(),await i.getCart(),await this.addScripts(),await this.renderPaypalInstance(),this.open&&await this.selectPaymentMethod()},watch:{selectedMethod:{handler(e){null!==e&&"ppcp_venmo"!==e&&(this.isMethodSelected=!1)},immediate:!0,deep:!0}},methods:{...t(i,["makePayment"]),async selectPaymentMethod(){this.isMethodSelected=!0;(await window.geneCheckout.helpers.loadFromCheckout("stores.usePaymentStore")).selectPaymentMethod("ppcp_venmo")},async addScripts(){const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),t=a(),o={intent:this.paypal.paymentAction,currency:e.currencyCode,components:"buttons"};return"sandbox"===this.environment?(o["buyer-country"]=this.buyerCountry,o["client-id"]=this.sandboxClientId):o["client-id"]=this.productionClientId,o["enable-funding"]="venmo",t("https://www.paypal.com/sdk/js",o,"ppcp_venmo")},async renderPaypalInstance(){const e=window.paypal_ppcp_venmo;if(e){const t={env:this.environment,commit:!0,style:{label:this.paypal.buttonLabel,size:"responsive",shape:this.paypal.buttonShape,color:"gold"===this.paypal.buttonColor?"blue":this.paypal.buttonColor,tagline:!1},fundingSource:e.FUNDING.VENMO,createOrder:async()=>{try{const e=await o(this.method,this.venmo.vaultActive,1),t=JSON.parse(e),[i]=t;return this.orderID=i,this.orderID}catch(e){return console.error("Error during createOrder:",e),null}},onClick:async()=>{const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useAgreementStore","stores.useLoadingStore"]);e.setErrorMessage("");return!!t.validateAgreements()&&(o.setLoadingState(!0),!0)},onApprove:async()=>{const[e,t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore","stores.useCartStore"]);return this.makePayment(o.cart.email,this.orderID,this.method,!1).then((()=>window.geneCheckout.services.refreshCustomerData(["cart"]))).then((()=>{window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()})).catch((o=>{t.setLoadingState(!1);try{window.geneCheckout.helpers.handleServiceError(o)}catch(t){e.setErrorMessage(t)}}))},onCancel:async()=>{(await window.geneCheckout.helpers.loadFromCheckout(["stores.useLoadingStore"])).setLoadingState(!1)},onError:async e=>{const[t,o]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useLoadingStore"]);o.setLoadingState(!1),t.setErrorMessage(e)}};await e.Buttons(t).render("#paypal-button-container-venmo"),this.venmoLoaded=!0}},redirectToSuccess(){window.location.href=window.geneCheckout.helpers.getSuccessPageUrl()}}};const u=["src"],E={key:1,class:"venmo-content"};p.render=function(e,t,o,i,a,p){return g(),n("div",{class:l([{active:a.isMethodSelected},"venmo-container"])},[s("div",{class:l(["venmo-title",a.isMethodSelected?"selected":""]),onClick:t[0]||(t[0]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e)),onKeydown:t[1]||(t[1]=(...e)=>p.selectPaymentMethod&&p.selectPaymentMethod(...e))},[(g(),c(r(a.RadioButton),{id:"venmo-select",text:e.venmo.title,checked:a.isMethodSelected,"data-cy":"venmo-radio",class:"venmo-radio",onClick:p.selectPaymentMethod,onKeydown:p.selectPaymentMethod},null,40,["text","checked","onClick","onKeydown"])),s("img",{width:"48px",class:"venmo-logo",src:p.venmoLogo,alt:"venmo-logo"},null,8,u)],34),a.errorMessage?(g(),c(r(a.ErrorMessage),{key:0,message:a.errorMessage,attached:!1},null,8,["message"])):h("v-if",!0),s("div",{style:d({display:a.isMethodSelected?"block":"none"}),class:l(["paypal-button-container",a.venmoLoaded?"":"text-loading"]),id:"paypal-button-container-venmo","data-cy":"instant-checkout-ppcpPayPalVenmo"},null,6),a.isMethodSelected?(g(),n("div",E,[(g(),c(r(a.PrivacyPolicy))),a.isRecaptchaVisible("placeOrder")?(g(),c(r(a.Recaptcha),{key:0,id:"placeOrder",location:"ppcpPayment"})):h("v-if",!0),(g(),c(r(a.Agreements),{id:"ppcp-checkout-venmo"}))])):h("v-if",!0)],2)},p.__file="src/components/PaymentPage/PaymentMethods/Venmo/Venmo.vue";export{p as default}; diff --git a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js index 842a72f..f29e304 100644 --- a/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js +++ b/view/frontend/web/js/checkout/dist/components/PaymentPage/PaymentMethodsList.min.js @@ -1 +1 @@ -import{m as e,a as t,u as a,c as o,F as n,r as s,b as p,o as P,d as m,e as i,f as r}from"../../createPPCPPaymentRest-qTNGWAjN.min.js";import d from"./PaymentMethods/GooglePay/GooglePay.min.js";import l from"./PaymentMethods/ApplePay/ApplePay.min.js";import y from"./PaymentMethods/PayPal/PayPal.min.js";import c from"./PaymentMethods/Venmo/Venmo.min.js";import h from"./PaymentMethods/CreditCard/CreditCard.min.js";import"../../finishPpcpOrder-Dh6Fi_68.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=d,this.PpcpApplePayPayment=l,this.PpcpPayPalPayment=y,this.PpcpCreditCardPayment=h,this.PpcpVenmoPayment=c,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,d,l,y){return l.dataLoaded?(P(),o("div",u,[(P(!0),o(n,null,s(y.sortedPaymentMethods,((e,t)=>(P(),m(r(e.component),i({key:t},{open:0===t}),null,16)))),128))])):p("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; +import{m as e,a as t,u as a,c as o,F as n,r as s,b as P,o as p,d as m,e as i,f as r}from"../../createPPCPPaymentRest-BbuZq8aX.min.js";import d from"./PaymentMethods/GooglePay/GooglePay.min.js";import l from"./PaymentMethods/ApplePay/ApplePay.min.js";import y from"./PaymentMethods/PayPal/PayPal.min.js";import c from"./PaymentMethods/Venmo/Venmo.min.js";import h from"./PaymentMethods/CreditCard/CreditCard.min.js";var g={name:"PpcpPaymentPage",data:()=>({PpcpGooglePayPayment:null,PpcpApplePayPayment:null,PpcpPayPalPayment:null,PpcpVenmoPayment:null,PpcpCreditCardPayment:null,dataLoaded:!1}),computed:{...e(a,["isPPCPenabled","apple","google","venmo","paypal","card"]),sortedPaymentMethods(){return[{...this.google,component:this.PpcpGooglePayPayment},{...this.apple,component:this.PpcpApplePayPayment},{...this.paypal,component:this.PpcpPayPalPayment},{...this.venmo,component:this.PpcpVenmoPayment},{...this.card,component:this.PpcpCreditCardPayment}].filter((e=>e.enabled)).sort(((e,t)=>e.sortOrder-t.sortOrder))}},async created(){const[e,t,a]=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCartStore","stores.useConfigStore","stores.useLoadingStore"]);a.setLoadingState(!0),this.PpcpGooglePayPayment=d,this.PpcpApplePayPayment=l,this.PpcpPayPalPayment=y,this.PpcpCreditCardPayment=h,this.PpcpVenmoPayment=c,await t.getInitialConfig(),await e.getCart(),await this.getInitialConfigValues(),this.dataLoaded=!0,a.setLoadingState(!1)},methods:{...t(a,["getInitialConfigValues"])}};const u={key:0,class:"ppcp-payment-methods-list"};g.render=function(e,t,a,d,l,y){return l.dataLoaded&&e.isPPCPenabled?(p(),o("div",u,[(p(!0),o(n,null,s(y.sortedPaymentMethods,((e,t)=>(p(),m(r(e.component),i({key:t},{open:0===t}),null,16)))),128))])):P("v-if",!0)},g.__file="src/components/PaymentPage/PaymentMethodsList.vue";export{g as default}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B87bzO52.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B87bzO52.min.js new file mode 100644 index 0000000..59993f2 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-B87bzO52.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=on,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(cn){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=[];let Gt=null;function Ht(e=!1){Bt.push(Gt=e?null:[])}function Kt(e){return e.dynamicChildren=Gt||n,Bt.pop(),Gt=Bt[Bt.length-1]||null,Gt&&Gt.push(e),e}function Qt(e,t,n,r,a,s){return Kt(Zt(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Kt(en(e,t,n,r,a,!0))}const Jt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function Zt(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jt(t),ref:t&&Yt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(an(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Gt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Gt.push(p),p}const en=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=tn(e,t,!0);return n&&an(r,n),!o&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return Zt(e,t,n,r,a,p,o,!0)};function tn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?sn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Jt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Yt(t)):[a,Yt(t)]:Yt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function nn(e=" ",t=0){return en(Wt,null,e,t)}function rn(e="",t=!1){return t?(Ht(),Xt(qt,null,e)):en(qt,null,e)}function an(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),an(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[nn(t)]):n=8);e.children=t,e.shapeFlag|=n}function sn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>on=e)),t("__VUE_SSR_SETTERS__",(e=>cn=e))}let cn=!1;const pn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,cn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ln;const un=e=>ln=e,_n=Symbol();function dn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var hn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(hn||(hn={}));const fn="undefined"!=typeof window,yn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&fn,gn=()=>{};function vn(e,t,n,r=gn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function mn(e,...t){e.slice().forEach((e=>{e(...t)}))}const bn=e=>e();function wn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];dn(a)&&dn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=wn(a,r):e[n]=r}return e}const Cn=Symbol();const{assign:Sn}=Object;function On(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return Sn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(pn((()=>{un(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=Sn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:hn.patchFunction,storeId:e,events:u}):(wn(r.state.value[e],t),n={type:hn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,mn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Sn(e,t)}))}:gn;function m(t,n){return function(){un(r);const a=Array.from(arguments),s=[],o=[];let c;mn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw mn(o,e),e}return c instanceof Promise?c.then((e=>(mn(s,e),e))).catch((e=>(mn(o,e),Promise.reject(e)))):(mn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:vn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=vn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:hn.direct,events:u},r)}),Sn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(yn?Sn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||bn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||dn(O=n)&&O.hasOwnProperty(Cn)||(et(n)?n.value=h[t]:wn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(Sn(C,S),Sn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Sn(t,e)}))}}),yn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,Sn({value:C[t]},e))}))}return r._p.forEach((e=>{if(yn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),Sn(C,t)}else Sn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function An(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Ln(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var xn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(on||Ct||Ft)?Ut(_n,null):null))&&un(e),(e=ln)._s.has(r)||(s?kn(r,t,a,e):On(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Pn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var Rn=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=xn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},jn=async(e,t=null,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=null!==t&&0!==n?`${await Rn()}?vault=${t}&fromCheckout=1`:await Rn();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Ln as a,rn as b,Qt as c,Xt as d,sn as e,Lt as f,jn as g,kt as h,Zt as i,P as j,Pn as l,An as m,M as n,Ht as o,Tt as r,xn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BbuZq8aX.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BbuZq8aX.min.js new file mode 100644 index 0000000..9d34b4f --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BbuZq8aX.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=on,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(cn){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=[];let Gt=null;function Ht(e=!1){Bt.push(Gt=e?null:[])}function Kt(e){return e.dynamicChildren=Gt||n,Bt.pop(),Gt=Bt[Bt.length-1]||null,Gt&&Gt.push(e),e}function Qt(e,t,n,r,a,s){return Kt(Zt(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Kt(en(e,t,n,r,a,!0))}const Jt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function Zt(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jt(t),ref:t&&Yt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(an(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Gt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Gt.push(p),p}const en=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=tn(e,t,!0);return n&&an(r,n),!o&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return Zt(e,t,n,r,a,p,o,!0)};function tn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?sn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Jt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Yt(t)):[a,Yt(t)]:Yt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function nn(e=" ",t=0){return en(Wt,null,e,t)}function rn(e="",t=!1){return t?(Ht(),Xt(qt,null,e)):en(qt,null,e)}function an(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),an(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[nn(t)]):n=8);e.children=t,e.shapeFlag|=n}function sn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>on=e)),t("__VUE_SSR_SETTERS__",(e=>cn=e))}let cn=!1;const pn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,cn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ln;const un=e=>ln=e,_n=Symbol();function dn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var hn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(hn||(hn={}));const fn="undefined"!=typeof window,yn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&fn,gn=()=>{};function vn(e,t,n,r=gn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function mn(e,...t){e.slice().forEach((e=>{e(...t)}))}const bn=e=>e();function wn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];dn(a)&&dn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=wn(a,r):e[n]=r}return e}const Cn=Symbol();const{assign:Sn}=Object;function On(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return Sn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(pn((()=>{un(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=Sn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:hn.patchFunction,storeId:e,events:u}):(wn(r.state.value[e],t),n={type:hn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,mn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Sn(e,t)}))}:gn;function m(t,n){return function(){un(r);const a=Array.from(arguments),s=[],o=[];let c;mn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw mn(o,e),e}return c instanceof Promise?c.then((e=>(mn(s,e),e))).catch((e=>(mn(o,e),Promise.reject(e)))):(mn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:vn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=vn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:hn.direct,events:u},r)}),Sn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(yn?Sn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||bn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||dn(O=n)&&O.hasOwnProperty(Cn)||(et(n)?n.value=h[t]:wn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(Sn(C,S),Sn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Sn(t,e)}))}}),yn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,Sn({value:C[t]},e))}))}return r._p.forEach((e=>{if(yn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),Sn(C,t)}else Sn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function An(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Ln(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var xn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(on||Ct||Ft)?Ut(_n,null):null))&&un(e),(e=ln)._s.has(r)||(s?kn(r,t,a,e):On(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:!!t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:!!t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:!!t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Pn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var Rn=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=xn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},jn=async(e,t=null,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=null!==t&&0!==n?`${await Rn()}?vault=${t}&fromCheckout=1`:await Rn();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Ln as a,rn as b,Qt as c,Xt as d,sn as e,Lt as f,jn as g,kt as h,Zt as i,P as j,Pn as l,An as m,M as n,Ht as o,Tt as r,xn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BpcJqrDP.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BpcJqrDP.min.js new file mode 100644 index 0000000..ca6081f --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-BpcJqrDP.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=on,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(cn){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=[];let Gt=null;function Ht(e=!1){Bt.push(Gt=e?null:[])}function Kt(e){return e.dynamicChildren=Gt||n,Bt.pop(),Gt=Bt[Bt.length-1]||null,Gt&&Gt.push(e),e}function Qt(e,t,n,r,a,s){return Kt(Zt(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Kt(en(e,t,n,r,a,!0))}const Jt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function Zt(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jt(t),ref:t&&Yt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(an(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Gt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Gt.push(p),p}const en=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=tn(e,t,!0);return n&&an(r,n),!o&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return Zt(e,t,n,r,a,p,o,!0)};function tn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?sn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Jt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Yt(t)):[a,Yt(t)]:Yt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function nn(e=" ",t=0){return en(Wt,null,e,t)}function rn(e="",t=!1){return t?(Ht(),Xt(qt,null,e)):en(qt,null,e)}function an(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),an(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[nn(t)]):n=8);e.children=t,e.shapeFlag|=n}function sn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>on=e)),t("__VUE_SSR_SETTERS__",(e=>cn=e))}let cn=!1;const pn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,cn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ln;const un=e=>ln=e,_n=Symbol();function dn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var hn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(hn||(hn={}));const fn="undefined"!=typeof window,yn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&fn,gn=()=>{};function vn(e,t,n,r=gn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function mn(e,...t){e.slice().forEach((e=>{e(...t)}))}const bn=e=>e();function wn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];dn(a)&&dn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=wn(a,r):e[n]=r}return e}const Cn=Symbol();const{assign:Sn}=Object;function On(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return Sn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(pn((()=>{un(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=Sn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:hn.patchFunction,storeId:e,events:u}):(wn(r.state.value[e],t),n={type:hn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,mn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Sn(e,t)}))}:gn;function m(t,n){return function(){un(r);const a=Array.from(arguments),s=[],o=[];let c;mn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw mn(o,e),e}return c instanceof Promise?c.then((e=>(mn(s,e),e))).catch((e=>(mn(o,e),Promise.reject(e)))):(mn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:vn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=vn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:hn.direct,events:u},r)}),Sn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(yn?Sn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||bn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||dn(O=n)&&O.hasOwnProperty(Cn)||(et(n)?n.value=h[t]:wn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(Sn(C,S),Sn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Sn(t,e)}))}}),yn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,Sn({value:C[t]},e))}))}return r._p.forEach((e=>{if(yn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),Sn(C,t)}else Sn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function An(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Ln(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var xn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(on||Ct||Ft)?Ut(_n,null):null))&&un(e),(e=ln)._s.has(r)||(s?kn(r,t,a,e):On(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Pn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var Rn=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=xn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},jn=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await Rn()}?vault=${t}&fromCheckout=1`:await Rn();console.log(l);try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Ln as a,rn as b,Qt as c,Xt as d,sn as e,Lt as f,jn as g,kt as h,Zt as i,P as j,Pn as l,An as m,M as n,Ht as o,Tt as r,xn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DRnn7ZtN.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DRnn7ZtN.min.js new file mode 100644 index 0000000..06129f0 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DRnn7ZtN.min.js @@ -0,0 +1,23 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;nd(e)?e:null==e?"":i(e)||f(e)&&(e.toString===g||!_(e.toString))?JSON.stringify(e,T,2):String(e),T=(e,t)=>t&&t.__v_isRef?T(e,t.value):l(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[F(t,r)+" =>"]=n,e)),{})}:u(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>F(e)))}:h(t)?F(t):!f(t)||i(t)||b(t)?t:String(t),F=(e,t="")=>{var n;return h(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}; +/** +* @vue/reactivity v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let U,N;class z{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=U,!e&&U&&(this.index=(U.scopes||(U.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=U;try{return U=this,e()}finally{U=t}}}on(){U=this}off(){U=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),X()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=H,t=N;try{return H=!0,N=this,this._runnings++,q(this),this.fn()}finally{B(this),this._runnings--,N=t,H=e}}stop(){var e;this.active&&(q(this),B(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function W(e){return e.value}function q(e){e._trackId++,e._depsLength=0}function B(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},ae=new WeakMap,se=Symbol(""),oe=Symbol("");function ce(e,t,n){if(H&&N){let t=ae.get(e);t||ae.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=re((()=>t.delete(n)))),ee(N,r)}}function pe(e,t,n,r,a,s){const o=ae.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(se)),l(e)&&c.push(o.get(oe)));break;case"delete":i(e)||(c.push(o.get(se)),l(e)&&c.push(o.get(oe)));break;case"set":l(e)&&c.push(o.get(se))}Y();for(const e of c)e&&ne(e,4);Z()}const ie=e("__proto__,__v_isRef,__isVue"),le=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),ue=_e();function _e(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Qe(this);for(let e=0,t=this.length;e{e[t]=function(...e){Q(),Y();const n=Qe(this)[t].apply(this,e);return Z(),X(),n}})),e}function de(e){h(e)||(e=String(e));const t=Qe(this);return ce(t,0,e),t.hasOwnProperty(e)}class he{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?De:Ve:a?ze:Ne).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(ue,t))return Reflect.get(ue,t,n);if("hasOwnProperty"===t)return de}const o=Reflect.get(e,t,n);return(h(t)?le.has(t):ie(t))?o:(r||ce(e,0,t),a?o:rt(o)?s&&w(t)?o:o.value:f(o)?r?qe(o):We(o):o)}}class fe extends he{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=He(a);if(Ke(n)||He(n)||(a=Qe(a),n=Qe(n)),!i(e)&&rt(a)&&!rt(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,be=e=>Reflect.getPrototypeOf(e);function we(e,t,n=!1,r=!1){const a=Qe(e=e.__v_raw),s=Qe(t);n||(A(t,s)&&ce(a,0,t),ce(a,0,s));const{has:o}=be(a),c=r?me:n?Ze:Ye;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function Ce(e,t=!1){const n=this.__v_raw,r=Qe(n),a=Qe(e);return t||(A(e,a)&&ce(r,0,e),ce(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function Se(e,t=!1){return e=e.__v_raw,!t&&ce(Qe(e),0,se),Reflect.get(e,"size",e)}function Oe(e){e=Qe(e);const t=Qe(this);return be(t).has.call(t,e)||(t.add(e),pe(t,"add",e,e)),this}function ke(e,t){t=Qe(t);const n=Qe(this),{has:r,get:a}=be(n);let s=r.call(n,e);s||(e=Qe(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&pe(n,"set",e,t):pe(n,"add",e,t),this}function Ae(e){const t=Qe(this),{has:n,get:r}=be(t);let a=n.call(t,e);a||(e=Qe(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&pe(t,"delete",e,void 0),s}function Le(){const e=Qe(this),t=0!==e.size,n=e.clear();return t&&pe(e,"clear",void 0,void 0),n}function xe(e,t){return function(n,r){const a=this,s=a.__v_raw,o=Qe(s),c=t?me:e?Ze:Ye;return!e&&ce(o,0,se),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Pe(e,t,n){return function(...r){const a=this.__v_raw,s=Qe(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?me:t?Ze:Ye;return!t&&ce(s,0,p?oe:se),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function je(){const e={get(e){return we(this,e)},get size(){return Se(this)},has:Ce,add:Oe,set:ke,delete:Ae,clear:Le,forEach:xe(!1,!1)},t={get(e){return we(this,e,!1,!0)},get size(){return Se(this)},has:Ce,add:Oe,set:ke,delete:Ae,clear:Le,forEach:xe(!1,!0)},n={get(e){return we(this,e,!0)},get size(){return Se(this,!0)},has(e){return Ce.call(this,e,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:xe(!0,!1)},r={get(e){return we(this,e,!0,!0)},get size(){return Se(this,!0)},has(e){return Ce.call(this,e,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:xe(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Pe(a,!1,!1),n[a]=Pe(a,!0,!1),t[a]=Pe(a,!1,!0),r[a]=Pe(a,!0,!0)})),[e,n,t,r]}const[Ee,Ie,Me,$e]=je();function Te(e,t){const n=t?e?$e:Me:e?Ie:Ee;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Fe={get:Te(!1,!1)},Ue={get:Te(!0,!1)},Ne=new WeakMap,ze=new WeakMap,Ve=new WeakMap,De=new WeakMap;function We(e){return He(e)?e:Be(e,!1,ge,Fe,Ne)}function qe(e){return Be(e,!0,ve,Ue,Ve)}function Be(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function Ge(e){return He(e)?Ge(e.__v_raw):!(!e||!e.__v_isReactive)}function He(e){return!(!e||!e.__v_isReadonly)}function Ke(e){return!(!e||!e.__v_isShallow)}function Je(e){return!!e&&!!e.__v_raw}function Qe(e){const t=e&&e.__v_raw;return t?Qe(t):e}function Xe(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Ye=e=>f(e)?We(e):e,Ze=e=>f(e)?qe(e):e;class et{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new D((()=>e(this._value)),(()=>nt(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=Qe(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||nt(e,4),tt(e),e.effect._dirtyLevel>=2&&nt(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function tt(e){var t;H&&N&&(e=Qe(e),ee(N,null!=(t=e.dep)?t:e.dep=re((()=>e.dep=void 0),e instanceof et?e:void 0)))}function nt(e,t=4,n){const r=(e=Qe(e)).dep;r&&ne(r,t)}function rt(e){return!(!e||!0!==e.__v_isRef)}function at(e){return function(e,t){if(rt(e))return e;return new st(e,t)}(e,!1)}class st{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Qe(e),this._value=t?e:Ye(e)}get value(){return tt(this),this._value}set value(e){const t=this.__v_isShallow||Ke(e)||He(e);e=t?e:Qe(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Ye(e),nt(this,4))}}class ot{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=Qe(this._object),t=this._key,null==(n=ae.get(e))?void 0:n.get(t);var e,t,n}}function ct(e,t,n){const r=e[t];return rt(r)?r:new ot(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function pt(e,t,n,r){try{return r?e(...r):e()}catch(e){lt(e,t,n)}}function it(e,t,n,r){if(_(e)){const a=pt(e,t,n,r);return a&&y(a)&&a.catch((e=>{lt(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=dt[r],s=Ct(a);snull==e.id?1/0:e.id,St=(e,t)=>{const n=Ct(e)-Ct(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ot(e){_t=!1,ut=!0,dt.sort(St);try{for(ht=0;htCt(e)-Ct(t)));if(ft.length=0,yt)return void yt.push(...e);for(yt=e,gt=0;gtVt(It),$t={};function Tt(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=ln,h=e=>!0===s?e:Ft(e,!1===s?1:void 0);let f,y,g=!1,v=!1;rt(e)?(f=()=>e.value,g=Ke(e)):Ge(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>Ge(e)||Ke(e))),f=()=>e.map((e=>rt(e)?e.value:Ge(e)?h(e):_(e)?pt(e,d,2):void 0))):f=_(e)?n?()=>pt(e,d,2):()=>(y&&y(),it(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Ft(e())}let m,b=e=>{y=O.onStop=()=>{pt(e,d,4),y=O.onStop=void 0}};if(un){if(b=r,n?a&&it(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=Mt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill($t):$t;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),it(n,d,3,[e,w===$t?void 0:v&&w[0]===$t?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>qt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>bt(C));const O=new D(f,r,S),k=V(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?qt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Ft(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),rt(e))Ft(e.value,t,n,r);else if(i(e))for(let a=0;a{Ft(e,t,n,r)}));else if(b(e))for(const a in e)Ft(e[a],t,n,r);return e}function Ut(e,t){return e}function Nt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Dt=Object.create(null),Wt=e=>Object.getPrototypeOf(e)===Dt,qt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?ft.push(...n):yt&&yt.includes(n,n.allowRecurse?gt+1:gt)||ft.push(n),wt())},Bt=Symbol.for("v-fgt"),Gt=Symbol.for("v-txt"),Ht=Symbol.for("v-cmt"),Kt=[];let Jt=null;function Qt(e=!1){Kt.push(Jt=e?null:[])}function Xt(e){return e.dynamicChildren=Jt||n,Kt.pop(),Jt=Kt[Kt.length-1]||null,Jt&&Jt.push(e),e}function Yt(e,t,n,r,a,s){return Xt(nn(e,t,n,r,a,s,!0))}function Zt(e,t,n,r,a){return Xt(rn(e,t,n,r,a,!0))}const en=({key:e})=>null!=e?e:null,tn=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||rt(e)||_(e)?{i:kt,r:e,k:t,f:!!n}:e:null);function nn(e,t=null,n=null,r=0,a=null,s=(e===Bt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&en(t),ref:t&&tn(t),scopeId:At,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:kt};return c?(cn(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Jt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Jt.push(p),p}const rn=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==Pt||(e=Ht);if(c=e,c&&!0===c.__v_isVNode){const r=an(e,t,!0);return n&&cn(r,n),!o&&Jt&&(6&r.shapeFlag?Jt[Jt.indexOf(e)]=r:Jt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Je(e)||Wt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Je(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return nn(e,t,n,r,a,p,o,!0)};function an(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?pn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&en(c),ref:t&&t.ref?n&&a?i(a)?a.concat(tn(t)):[a,tn(t)]:tn(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Bt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&an(e.ssContent),ssFallback:e.ssFallback&&an(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function sn(e=" ",t=0){return rn(Gt,null,e,t)}function on(e="",t=!1){return t?(Qt(),Zt(Ht,null,e)):rn(Ht,null,e)}function cn(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),cn(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Wt(t)?3===r&&kt&&(1===kt.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=kt}}else _(t)?(t={default:t,_ctx:kt},n=32):(t=String(t),64&r?(n=16,t=[sn(t)]):n=8);e.children=t,e.shapeFlag|=n}function pn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>ln=e)),t("__VUE_SSR_SETTERS__",(e=>un=e))}let un=!1;const _n=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new et(a,s,o||!s,n)}(e,0,un);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let dn;const hn=e=>dn=e,fn=Symbol();function yn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var gn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(gn||(gn={}));const vn="undefined"!=typeof window,mn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&vn,bn=()=>{};function wn(e,t,n,r=bn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&V()&&(s=a,U&&U.cleanups.push(s)),a}function Cn(e,...t){e.slice().forEach((e=>{e(...t)}))}const Sn=e=>e();function On(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];yn(a)&&yn(r)&&e.hasOwnProperty(n)&&!rt(r)&&!Ge(r)?e[n]=On(a,r):e[n]=r}return e}const kn=Symbol();const{assign:An}=Object;function Ln(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=xn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=ct(e,n);return t}(n.state.value[e]);return An(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Xe(_n((()=>{hn(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function xn(e,t,n={},r,a,s){let o;const c=An({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=at({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:gn.patchFunction,storeId:e,events:u}):(On(r.state.value[e],t),n={type:gn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=mt||vt;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,Cn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{An(e,t)}))}:bn;function m(t,n){return function(){hn(r);const a=Array.from(arguments),s=[],o=[];let c;Cn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw Cn(o,e),e}return c instanceof Promise?c.then((e=>(Cn(s,e),e))).catch((e=>(Cn(o,e),Promise.reject(e)))):(Cn(s,c),c)}}const b=Xe({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:wn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=wn(_,t,n.detached,(()=>s())),s=o.run((()=>Tt((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:gn.direct,events:u},r)}),An({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=We(mn?An({_hmrPayload:b,_customProperties:Xe(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||Sn)((()=>r._e.run((()=>{return(o=new z(e)).run(t);var e}))));for(const t in S){const n=S[t];if(rt(n)&&(!rt(k=n)||!k.effect)||Ge(n))s||(!h||yn(O=n)&&O.hasOwnProperty(kn)||(rt(n)?n.value=h[t]:On(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(An(C,S),An(Qe(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{An(t,e)}))}}),mn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,An({value:C[t]},e))}))}return r._p.forEach((e=>{if(mn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),An(C,t)}else An(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function Pn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Rn(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var jn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(ln||kt||zt)?Vt(fn,null):null))&&hn(e),(e=dn)._s.has(r)||(s?xn(r,t,a,e):Ln(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function En(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var In=async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=jn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`},Mn=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=t&&0!==n?`${await In()}?vault=${t}&fromCheckout=1`:await In();try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Bt as F,Rn as a,sn as b,Yt as c,on as d,Zt as e,pn as f,Rt as g,Mn as h,xt as i,nn as j,P as k,En as l,Pn as m,M as n,Qt as o,Nt as r,$ as t,jn as u,Ut as w}; diff --git a/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DieDVKjz.min.js b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DieDVKjz.min.js new file mode 100644 index 0000000..69a50c3 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/createPPCPPaymentRest-DieDVKjz.min.js @@ -0,0 +1,22 @@ +/** +* @vue/shared v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],r=()=>{},a=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=Object.assign,o=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},c=Object.prototype.hasOwnProperty,p=(e,t)=>c.call(e,t),i=Array.isArray,l=e=>"[object Map]"===v(e),u=e=>"[object Set]"===v(e),_=e=>"function"==typeof e,d=e=>"string"==typeof e,h=e=>"symbol"==typeof e,f=e=>null!==e&&"object"==typeof e,y=e=>(f(e)||_(e))&&_(e.then)&&_(e.catch),g=Object.prototype.toString,v=e=>g.call(e),m=e=>v(e).slice(8,-1),b=e=>"[object Object]"===v(e),w=e=>d(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,C=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},S=/-(\w)/g,O=C((e=>e.replace(S,((e,t)=>t?t.toUpperCase():"")))),k=C((e=>e.charAt(0).toUpperCase()+e.slice(1))),A=(e,t)=>!Object.is(e,t),L=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})};let x;function P(e){if(i(e)){const t={};for(let n=0;n{if(e){const n=e.split(j);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function M(e){let t="";if(d(e))t=e;else if(i(e))for(let n=0;n=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),K()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=q,t=T;try{return q=!0,T=this,this._runnings++,V(this),this.fn()}finally{D(this),this._runnings--,T=t,q=e}}stop(){var e;this.active&&(V(this),D(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function z(e){return e.value}function V(e){e._trackId++,e._depsLength=0}function D(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},te=new WeakMap,ne=Symbol(""),re=Symbol("");function ae(e,t,n){if(q&&T){let t=te.get(e);t||te.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=ee((()=>t.delete(n)))),J(T,r)}}function se(e,t,n,r,a,s){const o=te.get(e);if(!o)return;let c=[];if("clear"===t)c=[...o.values()];else if("length"===n&&i(e)){const e=Number(r);o.forEach(((t,n)=>{("length"===n||!h(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(o.get(n)),t){case"add":i(e)?w(n)&&c.push(o.get("length")):(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"delete":i(e)||(c.push(o.get(ne)),l(e)&&c.push(o.get(re)));break;case"set":l(e)&&c.push(o.get(ne))}Q();for(const e of c)e&&Z(e,4);X()}const oe=e("__proto__,__v_isRef,__isVue"),ce=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(h)),pe=ie();function ie(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=He(this);for(let e=0,t=this.length;e{e[t]=function(...e){H(),Q();const n=He(this)[t].apply(this,e);return X(),K(),n}})),e}function le(e){h(e)||(e=String(e));const t=He(this);return ae(t,0,e),t.hasOwnProperty(e)}class ue{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,a=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return a;if("__v_raw"===t)return n===(r?a?Ne:Ue:a?Fe:Te).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=i(e);if(!r){if(s&&p(pe,t))return Reflect.get(pe,t,n);if("hasOwnProperty"===t)return le}const o=Reflect.get(e,t,n);return(h(t)?ce.has(t):oe(t))?o:(r||ae(e,0,t),a?o:et(o)?s&&w(t)?o:o.value:f(o)?r?Ve(o):ze(o):o)}}class _e extends ue{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t];if(!this._isShallow){const t=qe(a);if(Be(n)||qe(n)||(a=He(a),n=He(n)),!i(e)&&et(a)&&!et(n))return!t&&(a.value=n,!0)}const s=i(e)&&w(t)?Number(t)e,ge=e=>Reflect.getPrototypeOf(e);function ve(e,t,n=!1,r=!1){const a=He(e=e.__v_raw),s=He(t);n||(A(t,s)&&ae(a,0,t),ae(a,0,s));const{has:o}=ge(a),c=r?ye:n?Xe:Qe;return o.call(a,t)?c(e.get(t)):o.call(a,s)?c(e.get(s)):void(e!==a&&e.get(t))}function me(e,t=!1){const n=this.__v_raw,r=He(n),a=He(e);return t||(A(e,a)&&ae(r,0,e),ae(r,0,a)),e===a?n.has(e):n.has(e)||n.has(a)}function be(e,t=!1){return e=e.__v_raw,!t&&ae(He(e),0,ne),Reflect.get(e,"size",e)}function we(e){e=He(e);const t=He(this);return ge(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Ce(e,t){t=He(t);const n=He(this),{has:r,get:a}=ge(n);let s=r.call(n,e);s||(e=He(e),s=r.call(n,e));const o=a.call(n,e);return n.set(e,t),s?A(t,o)&&se(n,"set",e,t):se(n,"add",e,t),this}function Se(e){const t=He(this),{has:n,get:r}=ge(t);let a=n.call(t,e);a||(e=He(e),a=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return a&&se(t,"delete",e,void 0),s}function Oe(){const e=He(this),t=0!==e.size,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function ke(e,t){return function(n,r){const a=this,s=a.__v_raw,o=He(s),c=t?ye:e?Xe:Qe;return!e&&ae(o,0,ne),s.forEach(((e,t)=>n.call(r,c(e),c(t),a)))}}function Ae(e,t,n){return function(...r){const a=this.__v_raw,s=He(a),o=l(s),c="entries"===e||e===Symbol.iterator&&o,p="keys"===e&&o,i=a[e](...r),u=n?ye:t?Xe:Qe;return!t&&ae(s,0,p?re:ne),{next(){const{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function xe(){const e={get(e){return ve(this,e)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!1)},t={get(e){return ve(this,e,!1,!0)},get size(){return be(this)},has:me,add:we,set:Ce,delete:Se,clear:Oe,forEach:ke(!1,!0)},n={get(e){return ve(this,e,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!1)},r={get(e){return ve(this,e,!0,!0)},get size(){return be(this,!0)},has(e){return me.call(this,e,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:ke(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((a=>{e[a]=Ae(a,!1,!1),n[a]=Ae(a,!0,!1),t[a]=Ae(a,!1,!0),r[a]=Ae(a,!0,!0)})),[e,n,t,r]}const[Pe,Re,je,Ee]=xe();function Ie(e,t){const n=t?e?Ee:je:e?Re:Pe;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(p(n,r)&&r in t?n:t,r,a)}const Me={get:Ie(!1,!1)},$e={get:Ie(!0,!1)},Te=new WeakMap,Fe=new WeakMap,Ue=new WeakMap,Ne=new WeakMap;function ze(e){return qe(e)?e:De(e,!1,he,Me,Te)}function Ve(e){return De(e,!0,fe,$e,Ue)}function De(e,t,n,r,a){if(!f(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=a.get(e);if(s)return s;const o=(c=e).__v_skip||!Object.isExtensible(c)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(m(c));var c;if(0===o)return e;const p=new Proxy(e,2===o?r:n);return a.set(e,p),p}function We(e){return qe(e)?We(e.__v_raw):!(!e||!e.__v_isReactive)}function qe(e){return!(!e||!e.__v_isReadonly)}function Be(e){return!(!e||!e.__v_isShallow)}function Ge(e){return!!e&&!!e.__v_raw}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function Ke(e){return Object.isExtensible(e)&&L(e,"__v_skip",!0),e}const Qe=e=>f(e)?ze(e):e,Xe=e=>f(e)?Ve(e):e;class Je{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new N((()=>e(this._value)),(()=>Ze(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=He(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||Ze(e,4),Ye(e),e.effect._dirtyLevel>=2&&Ze(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function Ye(e){var t;q&&T&&(e=He(e),J(T,null!=(t=e.dep)?t:e.dep=ee((()=>e.dep=void 0),e instanceof Je?e:void 0)))}function Ze(e,t=4,n){const r=(e=He(e)).dep;r&&Z(r,t)}function et(e){return!(!e||!0!==e.__v_isRef)}function tt(e){return function(e,t){if(et(e))return e;return new nt(e,t)}(e,!1)}class nt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:He(e),this._value=t?e:Qe(e)}get value(){return Ye(this),this._value}set value(e){const t=this.__v_isShallow||Be(e)||qe(e);e=t?e:He(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qe(e),Ze(this,4))}}class rt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=He(this._object),t=this._key,null==(n=te.get(e))?void 0:n.get(t);var e,t,n}}function at(e,t,n){const r=e[t];return et(r)?r:new rt(e,t,n)} +/** +* @vue/runtime-core v3.4.23 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function st(e,t,n,r){try{return r?e(...r):e()}catch(e){ct(e,t,n)}}function ot(e,t,n,r){if(_(e)){const a=st(e,t,n,r);return a&&y(a)&&a.catch((e=>{ct(e,t,n)})),a}if(i(e)){const a=[];for(let s=0;s>>1,a=lt[r],s=mt(a);snull==e.id?1/0:e.id,bt=(e,t)=>{const n=mt(e)-mt(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wt(e){it=!1,pt=!0,lt.sort(bt);try{for(ut=0;utmt(e)-mt(t)));if(_t.length=0,dt)return void dt.push(...e);for(dt=e,ht=0;htUt(Rt),Et={};function It(e,n,a){return function(e,n,{immediate:a,deep:s,flush:c,once:p,onTrack:l,onTrigger:u}=t){if(n&&p){const e=n;n=(...t)=>{e(...t),L()}}const d=on,h=e=>!0===s?e:Mt(e,!1===s?1:void 0);let f,y,g=!1,v=!1;et(e)?(f=()=>e.value,g=Be(e)):We(e)?(f=()=>h(e),g=!0):i(e)?(v=!0,g=e.some((e=>We(e)||Be(e))),f=()=>e.map((e=>et(e)?e.value:We(e)?h(e):_(e)?st(e,d,2):void 0))):f=_(e)?n?()=>st(e,d,2):()=>(y&&y(),ot(e,d,3,[b])):r;if(n&&s){const e=f;f=()=>Mt(e())}let m,b=e=>{y=O.onStop=()=>{st(e,d,4),y=O.onStop=void 0}};if(cn){if(b=r,n?a&&ot(n,d,3,[f(),v?[]:void 0,b]):f(),"sync"!==c)return r;{const e=jt();m=e.__watcherHandles||(e.__watcherHandles=[])}}let w=v?new Array(e.length).fill(Et):Et;const C=()=>{if(O.active&&O.dirty)if(n){const e=O.run();(s||g||(v?e.some(((e,t)=>A(e,w[t]))):A(e,w)))&&(y&&y(),ot(n,d,3,[e,w===Et?void 0:v&&w[0]===Et?[]:w,b]),w=e)}else O.run()};let S;C.allowRecurse=!!n,"sync"===c?S=C:"post"===c?S=()=>Vt(C,d&&d.suspense):(C.pre=!0,d&&(C.id=d.uid),S=()=>gt(C));const O=new N(f,r,S),k=U(),L=()=>{O.stop(),k&&o(k.effects,O)};n?a?C():w=O.run():"post"===c?Vt(O.run.bind(O),d&&d.suspense):O.run();m&&m.push(L);return L}(e,n,a)}function Mt(e,t,n=0,r){if(!f(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if((r=r||new Set).has(e))return e;if(r.add(e),et(e))Mt(e.value,t,n,r);else if(i(e))for(let a=0;a{Mt(e,t,n,r)}));else if(b(e))for(const a in e)Mt(e[a],t,n,r);return e}function $t(e,t){return e}function Tt(e,t,n,r){let a;const s=n&&n[r];if(i(e)||d(e)){a=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);a=new Array(n.length);for(let r=0,o=n.length;r1)return n&&_(t)?t.call(r&&r.proxy):t}}const Nt=Object.create(null),zt=e=>Object.getPrototypeOf(e)===Nt,Vt=function(e,t){var n;t&&t.pendingBranch?i(e)?t.effects.push(...e):t.effects.push(e):(i(n=e)?_t.push(...n):dt&&dt.includes(n,n.allowRecurse?ht+1:ht)||_t.push(n),vt())},Dt=Symbol.for("v-fgt"),Wt=Symbol.for("v-txt"),qt=Symbol.for("v-cmt"),Bt=[];let Gt=null;function Ht(e=!1){Bt.push(Gt=e?null:[])}function Kt(e){return e.dynamicChildren=Gt||n,Bt.pop(),Gt=Bt[Bt.length-1]||null,Gt&&Gt.push(e),e}function Qt(e,t,n,r,a,s){return Kt(Zt(e,t,n,r,a,s,!0))}function Xt(e,t,n,r,a){return Kt(en(e,t,n,r,a,!0))}const Jt=({key:e})=>null!=e?e:null,Yt=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?d(e)||et(e)||_(e)?{i:Ct,r:e,k:t,f:!!n}:e:null);function Zt(e,t=null,n=null,r=0,a=null,s=(e===Dt?0:1),o=!1,c=!1){const p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jt(t),ref:t&&Yt(t),scopeId:St,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ct};return c?(an(p,n),128&s&&e.normalize(p)):n&&(p.shapeFlag|=d(n)?8:16),!o&&Gt&&(p.patchFlag>0||6&s)&&32!==p.patchFlag&&Gt.push(p),p}const en=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==At||(e=qt);if(c=e,c&&!0===c.__v_isVNode){const r=tn(e,t,!0);return n&&an(r,n),!o&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}var c;(function(e){return _(e)&&"__vccOpts"in e})(e)&&(e=e.__vccOpts);if(t){t=function(e){return e?Ge(e)||zt(e)?s({},e):e:null}(t);let{class:e,style:n}=t;e&&!d(e)&&(t.class=M(e)),f(n)&&(Ge(n)&&!i(n)&&(n=s({},n)),t.style=P(n))}const p=d(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:f(e)?4:_(e)?2:0;return Zt(e,t,n,r,a,p,o,!0)};function tn(e,t,n=!1){const{props:r,ref:a,patchFlag:s,children:o}=e,c=t?sn(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Jt(c),ref:t&&t.ref?n&&a?i(a)?a.concat(Yt(t)):[a,Yt(t)]:Yt(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Dt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&tn(e.ssContent),ssFallback:e.ssFallback&&tn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function nn(e=" ",t=0){return en(Wt,null,e,t)}function rn(e="",t=!1){return t?(Ht(),Xt(qt,null,e)):en(qt,null,e)}function an(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(i(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),an(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||zt(t)?3===r&&Ct&&(1===Ct.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Ct}}else _(t)?(t={default:t,_ctx:Ct},n=32):(t=String(t),64&r?(n=16,t=[nn(t)]):n=8);e.children=t,e.shapeFlag|=n}function sn(...e){const t={};for(let n=0;n{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};t("__VUE_INSTANCE_SETTERS__",(e=>on=e)),t("__VUE_SSR_SETTERS__",(e=>cn=e))}let cn=!1;const pn=(e,t)=>{const n=function(e,t,n=!1){let a,s;const o=_(e);return o?(a=e,s=r):(a=e.get,s=e.set),new Je(a,s,o||!s,n)}(e,0,cn);return n}; +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let ln;const un=e=>ln=e,_n=Symbol();function dn(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var hn;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(hn||(hn={}));const fn="undefined"!=typeof window,yn="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&fn,gn=()=>{};function vn(e,t,n,r=gn){e.push(t);const a=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};var s;return!n&&U()&&(s=a,$&&$.cleanups.push(s)),a}function mn(e,...t){e.slice().forEach((e=>{e(...t)}))}const bn=e=>e();function wn(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],a=e[n];dn(a)&&dn(r)&&e.hasOwnProperty(n)&&!et(r)&&!We(r)?e[n]=wn(a,r):e[n]=r}return e}const Cn=Symbol();const{assign:Sn}=Object;function On(e,t,n,r){const{state:a,actions:s,getters:o}=t,c=n.state.value[e];let p;return p=kn(e,(function(){c||(n.state.value[e]=a?a():{});const t=function(e){const t=i(e)?new Array(e.length):{};for(const n in e)t[n]=at(e,n);return t}(n.state.value[e]);return Sn(t,s,Object.keys(o||{}).reduce(((t,r)=>(t[r]=Ke(pn((()=>{un(n);const t=n._s.get(e);return o[r].call(t,t)}))),t)),{}))}),t,n,r,!0),p}function kn(e,t,n={},r,a,s){let o;const c=Sn({actions:{}},n),p={deep:!0};let i,l,u,_=[],d=[];const h=r.state.value[e];s||h||(r.state.value[e]={});const f=tt({});let y;function g(t){let n;i=l=!1,"function"==typeof t?(t(r.state.value[e]),n={type:hn.patchFunction,storeId:e,events:u}):(wn(r.state.value[e],t),n={type:hn.patchObject,payload:t,storeId:e,events:u});const a=y=Symbol();(function(e){const t=yt||ft;return e?t.then(this?e.bind(this):e):t})().then((()=>{y===a&&(i=!0)})),l=!0,mn(_,n,r.state.value[e])}const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Sn(e,t)}))}:gn;function m(t,n){return function(){un(r);const a=Array.from(arguments),s=[],o=[];let c;mn(d,{args:a,name:t,store:C,after:function(e){s.push(e)},onError:function(e){o.push(e)}});try{c=n.apply(this&&this.$id===e?this:C,a)}catch(e){throw mn(o,e),e}return c instanceof Promise?c.then((e=>(mn(s,e),e))).catch((e=>(mn(o,e),Promise.reject(e)))):(mn(s,c),c)}}const b=Ke({actions:{},getters:{},state:[],hotState:f}),w={_p:r,$id:e,$onAction:vn.bind(null,d),$patch:g,$reset:v,$subscribe(t,n={}){const a=vn(_,t,n.detached,(()=>s())),s=o.run((()=>It((()=>r.state.value[e]),(r=>{("sync"===n.flush?l:i)&&t({storeId:e,type:hn.direct,events:u},r)}),Sn({},p,n))));return a},$dispose:function(){o.stop(),_=[],d=[],r._s.delete(e)}},C=ze(yn?Sn({_hmrPayload:b,_customProperties:Ke(new Set)},w):w);r._s.set(e,C);const S=(r._a&&r._a.runWithContext||bn)((()=>r._e.run((()=>{return(o=new F(e)).run(t);var e}))));for(const t in S){const n=S[t];if(et(n)&&(!et(k=n)||!k.effect)||We(n))s||(!h||dn(O=n)&&O.hasOwnProperty(Cn)||(et(n)?n.value=h[t]:wn(n,h[t])),r.state.value[e][t]=n);else if("function"==typeof n){const e=m(t,n);S[t]=e,c.actions[t]=n}}var O,k;if(Sn(C,S),Sn(He(C),S),Object.defineProperty(C,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Sn(t,e)}))}}),yn){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(C,t,Sn({value:C[t]},e))}))}return r._p.forEach((e=>{if(yn){const t=o.run((()=>e({store:C,app:r._a,pinia:r,options:c})));Object.keys(t||{}).forEach((e=>C._customProperties.add(e))),Sn(C,t)}else Sn(C,o.run((()=>e({store:C,app:r._a,pinia:r,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(C.$state,h),i=!0,l=!0,C}function An(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(){return e(this.$pinia)[n]},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(){const n=e(this.$pinia),a=t[r];return"function"==typeof a?a.call(this,n):n[a]},n)),{})}function Ln(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=function(...t){return e(this.$pinia)[n](...t)},t)),{}):Object.keys(t).reduce(((n,r)=>(n[r]=function(...n){return e(this.$pinia)[t[r]](...n)},n)),{})}var xn=function(e,t,n){let r,a;const s="function"==typeof t;function o(e,n){(e=e||(!!(on||Ct||Ft)?Ut(_n,null):null))&&un(e),(e=ln)._s.has(r)||(s?kn(r,t,a,e):On(r,a,e));return e._s.get(r)}return"string"==typeof e?(r=e,a=s?n:t):(a=e,r=e.id),o.$id=r,o}("ppcpStore",{state:()=>({cache:{},environment:"sandbox",isPPCPenabled:!1,sandboxClientId:"",productionClientId:"",buyerCountry:"",errorMessage:null,apple:{merchantName:"",enabled:!1,paymentAction:"",sortOrder:null,title:""},venmo:{vaultActive:!1,enabled:!1,paymentAction:"",sortOrder:null,title:""},apm:{enabled:!1,title:"",sortOrder:null,allowedPayments:[]},google:{buttonColor:"white",enabled:!1,paymentAction:"",sortOrder:null,title:""},paypal:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",requireBillingAddress:!1,sortOrder:null,buttonLabel:"",buttonColor:"gold",buttonShape:"",payLaterActive:!1,payLaterButtonColour:"black",payLaterButtonShape:"",payLaterMessageActive:!1,payLaterMessageLayout:"",payLaterMessageLogoType:"",payLaterMessageLogoPosition:"",payLaterMessageColour:"",payLaterMessageTextSize:"",payLaterMessageTextAlign:""},card:{enabled:!1,vaultActive:!1,title:"",paymentAction:"",threeDSecureStatus:"",sortOrder:null},ppcpConfig:{createOrderUrl:"",createGuestOrderUrl:"",changeShippingMethodUrl:"",changeShippingAddressUrl:"",finishOrderUrl:""}}),actions:{setData(e){this.$patch(e)},async getInitialConfigValues(){const e=await window.geneCheckout.helpers.loadFromCheckout(["services.graphQlRequest"]);await this.getCachedResponse((async()=>e("{\n storeConfig {\n ppcp_config {\n create_order_url\n create_guest_order_url\n change_shipping_method_url\n change_shipping_address_url\n finish_order_url\n }\n\n ppcp_environment\n ppcp_active\n ppcp_sandbox_client_id\n ppcp_client_id_production\n ppcp_buyer_country\n\n ppcp_googlepay_active\n ppcp_googlepay_title\n ppcp_googlepay_payment_action\n ppcp_googlepay_button_colour\n ppcp_googlepay_sort_order\n\n ppcp_applepay_active\n ppcp_applepay_title\n ppcp_applepay_payment_action\n ppcp_applepay_merchant_name\n ppcp_applepay_sort_order\n\n ppcp_paypal_active\n ppcp_paypal_vault_active\n ppcp_paypal_title\n ppcp_paypal_payment_action\n ppcp_paypal_require_billing_address\n ppcp_paypal_sort_order\n ppcp_paypal_button_paypal_label\n ppcp_paypal_button_paypal_color\n ppcp_paypal_button_paypal_shape\n ppcp_paypal_paylater_enable_paylater\n ppcp_paypal_paylater_button_paylater_color\n ppcp_paypal_paylater_button_paylater_shape\n ppcp_paypal_paylater_message_enable\n ppcp_paypal_paylater_message_layout\n ppcp_paypal_paylater_message_logo_type\n ppcp_paypal_paylater_message_logo_position\n ppcp_paypal_paylater_message_text_color\n ppcp_paypal_paylater_message_text_size\n ppcp_paypal_paylater_message_text_align\n\n ppcp_venmo_active\n ppcp_venmo_title\n ppcp_venmo_payment_action\n ppcp_venmo_vault_active\n ppcp_venmo_sort_order\n \n ppcp_apm_active\n ppcp_apm_title\n ppcp_apm_allowed_methods\n ppcp_apm_sort_order\n\n ppcp_card_active\n ppcp_card_vault_active\n ppcp_card_title\n ppcp_card_payment_action\n ppcp_card_three_d_secure\n ppcp_card_sort_order\n }\n }").then(this.handleInitialConfig)),"getInitialConfig")},async handleInitialConfig(e){if(e?.data?.storeConfig){const t=e.data.storeConfig;this.setData({environment:t.ppcp_environment,isPPCPenabled:"1"===t.ppcp_active,sandboxClientId:t.ppcp_sandbox_client_id,productionClientId:t.ppcp_client_id_production,buyerCountry:t.ppcp_buyer_country,ppcpConfig:{createOrderUrl:t.ppcp_config.create_order_url,createGuestOrderUrl:t.ppcp_config.create_guest_order_url,changeShippingMethodUrl:t.ppcp_config.change_shipping_method_url,changeShippingAddressUrl:t.ppcp_config.change_shipping_address_url,finishOrderUrl:t.ppcp_config.finish_order_url},card:{enabled:"1"===t.ppcp_card_active,vaultActive:t.ppcp_card_vault_active,title:t.ppcp_card_title,paymentAction:"authorize_capture"===t.ppcp_card_payment_action?"capture":t.ppcp_card_payment_action,threeDSecureStatus:t.ppcp_card_three_d_secure,sortOrder:t.ppcp_card_sort_order},google:{buttonColor:t.ppcp_googlepay_button_colour,enabled:"1"===t.ppcp_googlepay_active,paymentAction:"authorize_capture"===t.ppcp_googlepay_payment_action?"capture":t.ppcp_googlepay_payment_action,sortOrder:t.ppcp_googlepay_sort_order,title:t.ppcp_googlepay_title},apple:{merchantName:t.ppcp_applepay_merchant_name,enabled:"1"===t.ppcp_applepay_active,paymentAction:"authorize_capture"===t.ppcp_applepay_payment_action?"capture":t.ppcp_applepay_payment_action,sortOrder:t.ppcp_applepay_sort_order,title:t.ppcp_applepay_title},venmo:{vaultActive:t.ppcp_venmo_payment_action,enabled:"1"===t.ppcp_venmo_active,paymentAction:"authorize_capture"===t.ppcp_venmo_payment_action?"capture":t.ppcp_venmo_payment_action,sortOrder:t.ppcp_venmo_sort_order,title:t.ppcp_venmo_title},apm:{enabled:t.ppcp_apm_active,title:"1"===t.ppcp_apm_title,sortOrder:t.ppcp_apm_sort_order,allowedPayments:t.ppcp_apm_allowed_methods},paypal:{enabled:"1"===t.ppcp_paypal_active,vaultActive:t.ppcp_paypal_vault_active,title:t.ppcp_paypal_title,paymentAction:"authorize_capture"===t.ppcp_paypal_payment_action?"capture":t.ppcp_paypal_payment_action,requireBillingAddress:t.ppcp_paypal_require_billing_address,sortOrder:t.ppcp_paypal_sort_order,buttonLabel:t.ppcp_paypal_button_paypal_label,buttonColor:t.ppcp_paypal_button_paypal_color,buttonShape:t.ppcp_paypal_button_paypal_shape,payLaterActive:"1"===t.ppcp_paypal_paylater_enable_paylater,payLaterButtonColour:t.ppcp_paypal_paylater_button_paylater_color,payLaterButtonShape:t.ppcp_paypal_paylater_button_paylater_shape,payLaterMessageActive:t.ppcp_paypal_paylater_message_enable,payLaterMessageLayout:t.ppcp_paypal_paylater_message_layout,payLaterMessageLogoType:t.ppcp_paypal_paylater_message_logo_type,payLaterMessageLogoPosition:t.ppcp_paypal_paylater_message_logo_position,payLaterMessageColour:t.ppcp_paypal_paylater_message_text_color,payLaterMessageTextSize:t.ppcp_paypal_paylater_message_text_size,payLaterMessageTextAlign:t.ppcp_paypal_paylater_message_text_align}})}},getEnvironment(){return"sandbox"===this.$state.environment?"TEST":"PRODUCTION"},async mapAddress(e,t,n){const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"]),[a,...s]=e.name.split(" "),o=r.getRegionId(e.countryCode,e.administrativeArea);return{street:[e.address1,e.address2],postcode:e.postalCode,country_code:e.countryCode,company:e.company||"",email:t,firstname:a,lastname:s.length?s.join(" "):"UNKNOWN",city:e.locality,telephone:n,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...o?{region_id:o}:{}}}},async mapAppleAddress(e,t,n){const r=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode.toUpperCase(),e.administrativeArea);return{email:t,telephone:n,firstname:e.givenName,lastname:e.familyName,company:e.company||"",street:e.addressLines,city:e.locality,country_code:e.countryCode.toUpperCase(),postcode:e.postalCode,region:{...e.administrativeArea?{region:e.administrativeArea}:{},...r?{region_id:r}:{}}}},async mapSelectedAddress(e){const t=(await window.geneCheckout.helpers.loadFromCheckout(["stores.useConfigStore"])).getRegionId(e.countryCode,e.administrativeArea);return{street:e.street,postcode:e.postcode,country_code:e.country.code,company:e.company||"",firstname:e.firstname,lastname:e.lastname,city:e.city,telephone:e.telephone,region:{...e.region.code?{region:e.region.code}:{},...t?{region_id:t}:{}}}},async makePayment(e,t,n,r){const a={email:e,paymentMethod:{method:n,additional_data:{"express-payment":r,"paypal-order-id":t},extension_attributes:window.geneCheckout.helpers.getPaymentExtensionAttributes()}};return window.geneCheckout.services.createPaymentRest(a)},getCachedResponse(e,t,n={}){if(void 0!==this.$state.cache[t])return this.$state.cache[t];const r=e(n);return this.$patch({cache:{[t]:r}}),r},clearCache(e){e&&this.setData({cache:{[e]:void 0}})}}});function Pn(){const e=new Map;return async function(t,n,r="paypal",a="checkout",s=""){if(n){const e=new URLSearchParams(n).toString();t=`${t}?${e}`}const o=((e,t,n="")=>`${e}${t}${n}`)(t,r,s);if(e.has(o))return e.get(o);const c=new Promise(((n,c)=>{const p=document.createElement("script");p.src=t,p.dataset.namespace=`paypal_${r}`,p.dataset.partnerAttributionId="GENE_PPCP",p.dataset.pageType=a,s&&(p.dataset.userIdToken=s),p.onload=()=>{const e=new CustomEvent("ppcpScriptLoaded",{detail:r});document.dispatchEvent(e),n()},p.onerror=()=>{e.delete(o),c(new Error(`Failed to load script: ${t}`))},document.head.appendChild(p)}));return e.set(o,c),c}}var Rn=async(e,t=!1,n=0)=>{const[r,a,s]=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore","stores.useCustomerStore","stores.useCartStore"]),o={"X-Requested-With":"XMLHttpRequest"},{maskedId:c,getMaskedId:p}=s;let i;if(a.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser)i=c||await p();else{i=(await window.geneCheckout.services.getQuote()).id}const l=`${await(async()=>{const e=await window.geneCheckout.helpers.loadFromCheckout(["stores.useCustomerStore"]),{ppcpConfig:t}=xn();return`${e.customer.tokenType===window.geneCheckout.helpers.getTokenTypes.guestUser?t.createGuestOrderUrl:t.createOrderUrl}`})()}?vault=${t}&fromCheckout=1`;console.log(l);try{return(await window.geneCheckout.services.authenticatedRequest().post(l,{cartId:i,method:e},{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}};export{Dt as F,Ln as a,rn as b,Qt as c,Xt as d,sn as e,Lt as f,Rn as g,kt as h,Zt as i,P as j,Pn as l,An as m,M as n,Ht as o,Tt as r,xn as u,$t as w}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-BCh-tx9-.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-BCh-tx9-.min.js new file mode 100644 index 0000000..21d5448 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-BCh-tx9-.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BpcJqrDP.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-C1sEgoZq.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-C1sEgoZq.min.js new file mode 100644 index 0000000..61c7d6d --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-C1sEgoZq.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BbuZq8aX.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-CPWf7XXW.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-CPWf7XXW.min.js new file mode 100644 index 0000000..7086234 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-CPWf7XXW.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-B87bzO52.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-Cp3YzmJp.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Cp3YzmJp.min.js new file mode 100644 index 0000000..7ec4760 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-Cp3YzmJp.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-DRnn7ZtN.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/finishPpcpOrder-D0GGfBpI.min.js b/view/frontend/web/js/checkout/dist/finishPpcpOrder-D0GGfBpI.min.js new file mode 100644 index 0000000..504bb33 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/finishPpcpOrder-D0GGfBpI.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-DieDVKjz.min.js";var t=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}};export{t as f}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-C8Wi9rFk.min.js b/view/frontend/web/js/checkout/dist/getTotals-C8Wi9rFk.min.js new file mode 100644 index 0000000..2a113bb --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-C8Wi9rFk.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-DieDVKjz.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-Cch6DcXZ.min.js b/view/frontend/web/js/checkout/dist/getTotals-Cch6DcXZ.min.js new file mode 100644 index 0000000..871b2cf --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-Cch6DcXZ.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-B87bzO52.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-DJQdOLlg.min.js b/view/frontend/web/js/checkout/dist/getTotals-DJQdOLlg.min.js new file mode 100644 index 0000000..fc99ee6 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-DJQdOLlg.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BpcJqrDP.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-DV8RXI5-.min.js b/view/frontend/web/js/checkout/dist/getTotals-DV8RXI5-.min.js new file mode 100644 index 0000000..e8fd060 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-DV8RXI5-.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BbuZq8aX.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),n={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:o}=e(),d=o.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:n})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),n={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:o}=e(),d=o.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:n})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async t=>{const s=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),a={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:r}=e(),n=r.finishOrderUrl;try{return(await window.geneCheckout.services.authenticatedRequest().post(n,t,{headers:a})).data}catch(e){return s.setPaymentErrorMessage(e.response.data.message),null}},r=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},n={addressInformation:{address:e}};a&&(n.shipping_carrier_code=t,n.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),n,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as f,r as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-DhITr3zl.min.js b/view/frontend/web/js/checkout/dist/getTotals-DhITr3zl.min.js new file mode 100644 index 0000000..e0bab77 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-DhITr3zl.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-DRnn7ZtN.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/getTotals-lCE6p1h5.min.js b/view/frontend/web/js/checkout/dist/getTotals-lCE6p1h5.min.js new file mode 100644 index 0000000..d9fef68 --- /dev/null +++ b/view/frontend/web/js/checkout/dist/getTotals-lCE6p1h5.min.js @@ -0,0 +1 @@ +import{u as e}from"./createPPCPPaymentRest-BbuZq8aX.min.js";var t=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingMethodUrl,i={orderId:t,shippingMethod:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},s=async(t,s,a)=>{const r=await window.geneCheckout.helpers.loadFromCheckout(["stores.usePaymentStore"]),o={"X-Requested-With":"XMLHttpRequest"},{ppcpConfig:n}=e(),d=n.changeShippingAddressUrl,i={orderId:t,shippingAddress:s,method:a};try{return(await window.geneCheckout.services.authenticatedRequest().post(d,i,{headers:o})).data}catch(e){return r.setPaymentErrorMessage(e.response.data.message),null}},a=async(e,t,s,a)=>{const r={"X-Requested-With":"XMLHttpRequest"},o={addressInformation:{address:e}};a&&(o.shipping_carrier_code=t,o.shipping_method_code=s);try{return(await window.geneCheckout.services.authenticatedRequest().post(window.geneCheckout.helpers.buildCartUrl("totals-information"),o,{headers:r})).data}catch(e){return console.log(e),null}};export{t as a,s as c,a as g}; diff --git a/view/frontend/web/js/checkout/dist/styles.css b/view/frontend/web/js/checkout/dist/styles.css index 4ce6c7d..8ae340c 100644 --- a/view/frontend/web/js/checkout/dist/styles.css +++ b/view/frontend/web/js/checkout/dist/styles.css @@ -1,82 +1,3 @@ -.google-pay-container, -.apple-pay-container, -.pay-pal-container, -.venmo-container, -.card-container { - background-color: var(--radio-input-wrapper__background-color); - border: var(--radio-input-wrapper__border-weight) var(--base__border-style) var(--radio-input-wrapper__border-color); - border-radius: var(--radio-input-wrapper__border-radius); - flex-wrap: wrap; - line-height: 1; - margin-top: var(--indent__base); - padding: var(--indent__base); -} -.google-pay-container .selected, -.apple-pay-container .selected, -.pay-pal-container .selected, -.venmo-container .selected, -.card-container .selected { - margin-bottom: var(--indent__base); -} -.google-pay-container .ppcp-apple-pay-button apple-pay-button, .google-pay-container .ppcp-apple-pay-button.text-loading, -.apple-pay-container .ppcp-apple-pay-button apple-pay-button, -.apple-pay-container .ppcp-apple-pay-button.text-loading, -.pay-pal-container .ppcp-apple-pay-button apple-pay-button, -.pay-pal-container .ppcp-apple-pay-button.text-loading, -.venmo-container .ppcp-apple-pay-button apple-pay-button, -.venmo-container .ppcp-apple-pay-button.text-loading, -.card-container .ppcp-apple-pay-button apple-pay-button, -.card-container .ppcp-apple-pay-button.text-loading { - height: 55px; - --apple-pay-button-height: var(--ppcp-express-button-height, 55px); - width: 100%; -} -.google-pay-container #ppcp-google-pay, -.apple-pay-container #ppcp-google-pay, -.pay-pal-container #ppcp-google-pay, -.venmo-container #ppcp-google-pay, -.card-container #ppcp-google-pay { - max-height: 55px; -} -.google-pay-container #ppcp-google-pay button, -.apple-pay-container #ppcp-google-pay button, -.pay-pal-container #ppcp-google-pay button, -.venmo-container #ppcp-google-pay button, -.card-container #ppcp-google-pay button { - height: 55px; -} -.google-pay-content, -.apple-pay-content, -.pay-pal-content, -.venmo-content, -.card-content { - margin-top: var(--indent__base); -} -.google-pay-title, -.apple-pay-title, -.pay-pal-title, -.venmo-title, -.card-title { - display: flex; - align-items: center; - justify-content: space-between; -} - -.card-fieldset { - border: 0; - padding: 0; -} -.card-fieldset .field { - margin-bottom: var(--indent__s); -} -.card-fieldset label { - padding-left: var(--indent__xs); - margin-bottom: var(--indent__xs); -} -.card-fieldset label span { - font-size: var(--font__s) !important; -} - #ppcp-google-pay { max-height: var(--ppcp-express-button-height, 45px); } @@ -93,13 +14,13 @@ width: 100%; } -.paypal-button-container { +.paypal-express--button-container { max-height: var(--ppcp-express-button-height, 45px); } -.paypal-button-container#ppcp-paypal_ppcp_paylater { +.paypal-express--button-container#ppcp-paypal_ppcp_paylater { margin: var(--indent__s) 0; } -.paypal-button-container.text-loading { +.paypal-express--button-container.text-loading { height: var(--ppcp-express-button-height, 45px); } @@ -119,13 +40,13 @@ width: 100%; } -.paypal-button-container { +.paypal-express--button-container { max-height: var(--ppcp-express-button-height, 45px); } -.paypal-button-container#ppcp-paypal_ppcp_paylater { +.paypal-express--button-container#ppcp-paypal_ppcp_paylater { margin: var(--indent__s) 0; } -.paypal-button-container.text-loading { +.paypal-express--button-container.text-loading { height: var(--ppcp-express-button-height, 45px); } @@ -145,12 +66,94 @@ width: 100%; } -.paypal-button-container { +.paypal-express--button-container { max-height: var(--ppcp-express-button-height, 45px); } -.paypal-button-container#ppcp-paypal_ppcp_paylater { +.paypal-express--button-container#ppcp-paypal_ppcp_paylater { margin: var(--indent__s) 0; } -.paypal-button-container.text-loading { +.paypal-express--button-container.text-loading { height: var(--ppcp-express-button-height, 45px); +} + +.ppcp-payment-methods-list .google-pay-container, +.ppcp-payment-methods-list .apple-pay-container, +.ppcp-payment-methods-list .pay-pal-container, +.ppcp-payment-methods-list .venmo-container, +.ppcp-payment-methods-list .card-container { + background-color: var(--radio-input-wrapper__background-color); + border: var(--radio-input-wrapper__border-weight) var(--base__border-style) var(--radio-input-wrapper__border-color); + border-radius: var(--radio-input-wrapper__border-radius); + flex-wrap: wrap; + line-height: 1; + margin-top: var(--indent__base); + padding: var(--indent__base); +} +.ppcp-payment-methods-list .google-pay-container .selected, +.ppcp-payment-methods-list .apple-pay-container .selected, +.ppcp-payment-methods-list .pay-pal-container .selected, +.ppcp-payment-methods-list .venmo-container .selected, +.ppcp-payment-methods-list .card-container .selected { + margin-bottom: var(--indent__base); +} +.ppcp-payment-methods-list .google-pay-container .ppcp-apple-pay-button apple-pay-button, .ppcp-payment-methods-list .google-pay-container .ppcp-apple-pay-button.text-loading, +.ppcp-payment-methods-list .apple-pay-container .ppcp-apple-pay-button apple-pay-button, +.ppcp-payment-methods-list .apple-pay-container .ppcp-apple-pay-button.text-loading, +.ppcp-payment-methods-list .pay-pal-container .ppcp-apple-pay-button apple-pay-button, +.ppcp-payment-methods-list .pay-pal-container .ppcp-apple-pay-button.text-loading, +.ppcp-payment-methods-list .venmo-container .ppcp-apple-pay-button apple-pay-button, +.ppcp-payment-methods-list .venmo-container .ppcp-apple-pay-button.text-loading, +.ppcp-payment-methods-list .card-container .ppcp-apple-pay-button apple-pay-button, +.ppcp-payment-methods-list .card-container .ppcp-apple-pay-button.text-loading { + height: 55px; + --apple-pay-button-height: var(--ppcp-express-button-height, 55px); + width: 100%; +} +.ppcp-payment-methods-list .google-pay-container #ppcp-google-pay, +.ppcp-payment-methods-list .apple-pay-container #ppcp-google-pay, +.ppcp-payment-methods-list .pay-pal-container #ppcp-google-pay, +.ppcp-payment-methods-list .venmo-container #ppcp-google-pay, +.ppcp-payment-methods-list .card-container #ppcp-google-pay { + max-height: 55px; +} +.ppcp-payment-methods-list .google-pay-container #ppcp-google-pay button, +.ppcp-payment-methods-list .apple-pay-container #ppcp-google-pay button, +.ppcp-payment-methods-list .pay-pal-container #ppcp-google-pay button, +.ppcp-payment-methods-list .venmo-container #ppcp-google-pay button, +.ppcp-payment-methods-list .card-container #ppcp-google-pay button { + height: 55px; +} +.ppcp-payment-methods-list .google-pay-content, +.ppcp-payment-methods-list .apple-pay-content, +.ppcp-payment-methods-list .pay-pal-content, +.ppcp-payment-methods-list .venmo-content, +.ppcp-payment-methods-list .card-content { + margin-top: var(--indent__base); +} +.ppcp-payment-methods-list .google-pay-title, +.ppcp-payment-methods-list .apple-pay-title, +.ppcp-payment-methods-list .pay-pal-title, +.ppcp-payment-methods-list .venmo-title, +.ppcp-payment-methods-list .card-title { + display: flex; + align-items: center; + justify-content: space-between; +} +.ppcp-payment-methods-list .paypal-button-container { + max-height: none; + margin-bottom: var(--indent__m); +} +.ppcp-payment-methods-list .card-fieldset { + border: 0; + padding: 0; +} +.ppcp-payment-methods-list .card-fieldset .field { + margin-bottom: var(--indent__s); +} +.ppcp-payment-methods-list .card-fieldset label { + padding-left: var(--indent__xs); + margin-bottom: var(--indent__xs); +} +.ppcp-payment-methods-list .card-fieldset label span { + font-size: var(--font__s) !important; } \ No newline at end of file diff --git a/view/frontend/web/js/checkout/src/components/ExpressPayments/PayPal/PayPal.vue b/view/frontend/web/js/checkout/src/components/ExpressPayments/PayPal/PayPal.vue index 4c99eed..631d6ab 100644 --- a/view/frontend/web/js/checkout/src/components/ExpressPayments/PayPal/PayPal.vue +++ b/view/frontend/web/js/checkout/src/components/ExpressPayments/PayPal/PayPal.vue @@ -1,12 +1,12 @@