FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
surecart
/
dist
/
components
/
components
Edit File: sc-stripe-add-method.js
import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{p as pure}from"./pure.js";import{a as apiFetch}from"./fetch.js";import{d as defineCustomElement$7}from"./sc-alert2.js";import{d as defineCustomElement$6}from"./sc-button2.js";import{d as defineCustomElement$5}from"./sc-form2.js";import{d as defineCustomElement$4}from"./sc-icon2.js";import{d as defineCustomElement$3}from"./sc-skeleton2.js";import{d as defineCustomElement$2}from"./sc-spinner2.js";import{a as addQueryArgs}from"./add-query-args.js";const scStripeAddMethodCss="sc-stripe-add-method{display:block}sc-stripe-add-method [hidden]{display:none}.loader{display:grid;height:128px;gap:2em}.loader__row{display:flex;align-items:flex-start;justify-content:space-between;gap:1em}.loader__details{display:grid;gap:0.5em}",ScStripeAddMethodStyle0=scStripeAddMethodCss,ScStripeAddMethod$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.liveMode=!0,this.customerId=void 0,this.successUrl=void 0,this.loading=void 0,this.loaded=void 0,this.error=void 0,this.paymentIntent=void 0}componentWillLoad(){this.createPaymentIntent()}async handlePaymentIntentCreate(){var e,t,s,o,r,n,i,a,d,c,l,m,u,p,h,f,y,b;if(!(null===(s=null===(t=null===(e=this.paymentIntent)||void 0===e?void 0:e.processor_data)||void 0===t?void 0:t.stripe)||void 0===s?void 0:s.publishable_key)||!(null===(n=null===(r=null===(o=this.paymentIntent)||void 0===o?void 0:o.processor_data)||void 0===r?void 0:r.stripe)||void 0===n?void 0:n.account_id))return;if(!this.stripe)try{this.stripe=await pure.loadStripe(null===(d=null===(a=null===(i=this.paymentIntent)||void 0===i?void 0:i.processor_data)||void 0===a?void 0:a.stripe)||void 0===d?void 0:d.publishable_key,{stripeAccount:null===(m=null===(l=null===(c=this.paymentIntent)||void 0===c?void 0:c.processor_data)||void 0===l?void 0:l.stripe)||void 0===m?void 0:m.account_id})}catch(e){return void(this.error=(null==e?void 0:e.message)||wp.i18n.__("Stripe could not be loaded","surecart"))}if(!(null===(h=null===(p=null===(u=this.paymentIntent)||void 0===u?void 0:u.processor_data)||void 0===p?void 0:p.stripe)||void 0===h?void 0:h.client_secret)||!this.container)return void console.warn("do not have client secret or container");const v=getComputedStyle(document.body);this.elements=this.stripe.elements({clientSecret:null===(b=null===(y=null===(f=this.paymentIntent)||void 0===f?void 0:f.processor_data)||void 0===y?void 0:y.stripe)||void 0===b?void 0:b.client_secret,appearance:{variables:{colorPrimary:v.getPropertyValue("--sc-color-primary-500"),colorText:v.getPropertyValue("--sc-input-label-color"),borderRadius:v.getPropertyValue("--sc-input-border-radius-medium"),colorBackground:v.getPropertyValue("--sc-input-background-color"),fontSizeBase:v.getPropertyValue("--sc-input-font-size-medium")},rules:{".Input":{border:v.getPropertyValue("--sc-input-border")},".Input::placeholder":{color:v.getPropertyValue("--sc-input-placeholder-color")}}}}),this.elements.create("payment",{wallets:{applePay:"never",googlePay:"never"}}).mount(".sc-payment-element-container"),this.element=this.elements.getElement("payment"),this.element.on("ready",(()=>this.loaded=!0))}async createPaymentIntent(){try{this.loading=!0,this.error="",this.paymentIntent=await apiFetch({method:"POST",path:"surecart/v1/payment_intents",data:{processor_type:"stripe",live_mode:this.liveMode,customer_id:this.customerId,refresh_status:!0}})}catch(e){this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.loading=!1}}async handleSubmit(e){var t;e.preventDefault(),this.loading=!0;try{const e=await this.stripe.confirmSetup({elements:this.elements,confirmParams:{return_url:addQueryArgs(this.successUrl,{payment_intent:null===(t=this.paymentIntent)||void 0===t?void 0:t.id})},redirect:"always"});if(null==e?void 0:e.error)throw this.error=e.error.message,e.error}catch(e){console.error(e),this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart"),this.loading=!1}}render(){return h("sc-form",{key:"6ada94b2bc880992857c16c5691030c5a9f4e926",onScFormSubmit:e=>this.handleSubmit(e)},this.error&&h("sc-alert",{key:"ab82bd7c6127a5882601d9ecaf151491c823bd53",open:!!this.error,type:"danger"},h("span",{key:"076ce56c24da8c0bd72bc8c208fc0373befc4f07",slot:"title"},wp.i18n.__("Error","surecart")),this.error),h("div",{key:"e6b0c78786042eec6bfc6d87930d15ac3d71b219",class:"loader",hidden:this.loaded},h("div",{key:"7bebb1f8bfb30ba9dcf17fbbec2e50d0ae2a51f3",class:"loader__row"},h("div",{key:"13fc8b7ece68f8fa084859da178207ac69295a12",style:{width:"50%"}},h("sc-skeleton",{key:"a3a54e710901fa3f5b5011cc3c147fba2f571e73",style:{width:"50%",marginBottom:"0.5em"}}),h("sc-skeleton",{key:"36c46a0240be37c16235f359755569b3848c7985"})),h("div",{key:"c1a6e9374979437d36dfabd1940dca23e6c5a4d9",style:{flex:"1"}},h("sc-skeleton",{key:"22f9124aabd5fef20303e5d0ba7292123a513057",style:{width:"50%",marginBottom:"0.5em"}}),h("sc-skeleton",{key:"ae905323f8c8f1b8da46be407025f3da5e8e9924"})),h("div",{key:"e785fdb48266338319252e9300b81d48f94a8d71",style:{flex:"1"}},h("sc-skeleton",{key:"53b946b89ba26da09fa565a53ff1ea6ac473ff2f",style:{width:"50%",marginBottom:"0.5em"}}),h("sc-skeleton",{key:"fe84a5af888827d493279df807fb1eb0b6aa08dc"}))),h("div",{key:"b711b5dc9c554d4210e7aef1b5a4287282403e44",class:"loader__details"},h("sc-skeleton",{key:"34cbb4a2f1404257519954eb5d05f7758ecda7e8",style:{height:"1rem"}}),h("sc-skeleton",{key:"cd2a28cc457fa3a7f7e5e79c54ea20c9ae83ad3a",style:{height:"1rem",width:"30%"}}))),h("div",{key:"a1e632b8957a2a7071ef7b2a4316535c42d70d44",hidden:!this.loaded,class:"sc-payment-element-container",ref:e=>this.container=e}),h("sc-button",{key:"30181a8fc1a72deb247926291e296fc80bd731b6",type:"primary",submit:!0,full:!0,loading:this.loading},wp.i18n.__("Save Payment Method","surecart")))}static get watchers(){return{paymentIntent:["handlePaymentIntentCreate"]}}static get style(){return ScStripeAddMethodStyle0}},[0,"sc-stripe-add-method",{liveMode:[4,"live-mode"],customerId:[1,"customer-id"],successUrl:[1,"success-url"],loading:[32],loaded:[32],error:[32],paymentIntent:[32]},void 0,{paymentIntent:["handlePaymentIntentCreate"]}]);function defineCustomElement$1(){"undefined"!=typeof customElements&&["sc-stripe-add-method","sc-alert","sc-button","sc-form","sc-icon","sc-skeleton","sc-spinner"].forEach((e=>{switch(e){case"sc-stripe-add-method":customElements.get(e)||customElements.define(e,ScStripeAddMethod$1);break;case"sc-alert":customElements.get(e)||defineCustomElement$7();break;case"sc-button":customElements.get(e)||defineCustomElement$6();break;case"sc-form":customElements.get(e)||defineCustomElement$5();break;case"sc-icon":customElements.get(e)||defineCustomElement$4();break;case"sc-skeleton":customElements.get(e)||defineCustomElement$3();break;case"sc-spinner":customElements.get(e)||defineCustomElement$2()}}))}const ScStripeAddMethod=ScStripeAddMethod$1,defineCustomElement=defineCustomElement$1;export{ScStripeAddMethod,defineCustomElement};
Save
Back