(()=>{"use strict";var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{ApplePayGateway:()=>m,BaseGateway:()=>r,GooglePayGateway:()=>h,LinkCheckoutGateway:()=>d,LocalPaymentGateway:()=>p,UniversalPaymentGateway:()=>b,createCreditCardGateway:()=>_});const i=window.jQuery;var n=e.n(i);const s=window.wcStripe.actions;var a=e.n(s);const l=window.wcStripe.utils,r=class{id;stripe=null;elements=null;elementType="";paymentElement=null;_styles={};controller=null;capabilities=[];_elementsSubmitted=!1;_terms=["applePay","auBecsDebit","bancontact","card","cashapp","googlePay","ideal","paypal","sepaDebit","sofort","usBankAccount"];constructor({id:e,settings:t,context:i}){this.id=e,this.actions=a(),this.settings=t,this.context=i,"payment_method"===this.settings.button_placement&&this.capabilities.push("place_order_button")}initialize(){this.actions.addAction("stripe_sdk_loaded",this.onStripeSDKLoaded.bind(this)),this.actions.addAction("checkout_field_changed",this.onCheckoutFieldChanged.bind(this))}onCheckoutFieldChanged(e){"expressCheckout"!==this.elementType&&this.updatePaymentElement()}onStripeSDKLoaded(e){this.setStripe(e)}createPaymentElement(){const e=this.actions.applyFilters("payment_element_options",this.buildPaymentElementOptions(),this,!1);this.paymentElement=this.elements.create(this.elementType,e)}createElements(){if(this.stripe){const e=this.actions.applyFilters("stripe_element_options",this.getElementOptions(),this,!1);this.elements=this.stripe.elements(e)}}updateElements(){if(this.elements){const e=this.actions.applyFilters("stripe_element_options",this.getElementOptions(!0),this,!0);this.elements.update(e)}}updatePaymentElement(){if(this.paymentElement){const e=this.actions.applyFilters("payment_element_options",this.buildPaymentElementOptions(!0),this,!0);this.paymentElement.update(e)}}getOption(e,t=null){var i;return null!==(i=this.settings[e])&&void 0!==i?i:t}getElementOptions(e=!1){let t={locale:"auto",currency:this.controller.getCurrency().toLowerCase(),...this.settings.elementOptions},i=this.controller.getTotalCents(),n=this.controller.getSubtotalCents();return i<=0&&"subscription"!==t.mode&&(this.context.isProduct()||this.context.isCart()||this.context.isMinicart()?t.mode="setup":i=n>0?n:100),["payment","subscription"].includes(t.mode)&&(t.amount=i),t}setController(e){this.controller=e}setStripe(e){this.stripe=e}onPaymentMethodAvailable(){this.elements?this.updateElements():this.createElements(),this.paymentElement||this.createPaymentElement()}async canMakePayment(){return this.actions.applyFilters("can_make_payment",this.isSetupMode()||this.isSubscriptionMode()||this.controller.getTotalCents()>0||this.controller.needsPayment(),this)}shouldMountElement(e){return!e?.querySelector("iframe")}shouldCreatePaymentMethod(){return!1}async createPaymentMethod(){try{const e=await this.stripe.createPaymentMethod({elements:this.elements,params:{billing_details:{...this.context.isCheckout()&&{address:this.getBillingAddress()},...this.hasDOMNameValue()&&{name:this.getBillingName()},...this.getBillingEmail()?{email:this.getBillingEmail()}:"never"===this._paymentElementOptions?.fields?.billingDetails?.email&&{email:""},...this.getBillingPhone()?{phone:this.getBillingPhone()}:"never"===this._paymentElementOptions?.fields?.billingDetails?.phone&&{phone:""}}}});if(e.error)throw e.error;this.setPaymentMethodId(e.paymentMethod.id)}catch(e){throw e}}async mountPaymentElement(e){throw new Error("Must implement mountPaymentElement()")}async validatePaymentElement(){try{let e=await this.elements.submit();if(e.error)throw e.error;this._elementsSubmitted=!0}catch(e){throw e}}getPaymentIntentFieldKey(){return`${this.id}_payment_intent_id`}setPaymentMethodId(e){const t=`${this.id}_payment_method_id`;(0,l.setFieldValue)(t,e),(0,l.setFieldValue)(`${this.id}_token_key`,e)}getPaymentMethodId(){return(0,l.getFieldValue)(`${this.id}_payment_method_id`)}hasPaymentMethodId(){return!!this.getPaymentMethodId()}setSetupIntentId(e){(0,l.setFieldValue)(`${this.id}_setup_intent_id`,e)}hasSetupIntentId(){return!!(0,l.getFieldValue)(`${this.id}_setup_intent_id`)}clearElementSubmitted(){this._elementsSubmitted=!1}enablePaymentElement(){}disablePaymentElement(){}destroyPaymentElement(){}supports(e){return this.capabilities.includes(e)}isPaymentCancelled(e){const t=e.paymentIntent?.next_action;return"verify_with_microdeposits"!==t?.type}isPaymentMode(){return"payment"===this.settings.elementOptions.mode}isSubscriptionMode(){return"subscription"===this.settings.elementOptions.mode}isSetupMode(){return"setup"===this.settings.elementOptions.mode}getPaymentElementStyles(){return Object.entries(this._styles).map(([e,t])=>`${e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}: ${t}`).join("; ")}setSavePaymentMethod(e){"subscription"!==this.settings.elementOptions.mode&&(this.settings.elementOptions.mode=e?"setup":"payment")}buildPaymentElementOptions(e=!1){return this._paymentElementOptions={fields:{billingDetails:this.context.isCheckout()?{address:"never",name:this.hasDOMNameValue()?"never":"auto",email:this.getBillingEmail()||(0,l.isFieldRequired)("billing_email")?"never":"auto",phone:this.getBillingPhone()||(0,l.isFieldRequired)("billing_phone")?"never":"auto"}:"auto"},...!e&&{wallets:{applePay:"never",googlePay:"never",link:this.getPaymentMethodTypes().includes("link")?"auto":"never"}},defaultValues:{billingDetails:{name:this.getBillingName(),email:this.getBillingEmail(),phone:this.getBillingPhone()}},terms:this.getTerms(),...this.settings.paymentElementOptions},this._paymentElementOptions}getPaymentMethodTypes(){return this.settings.elementOptions?.paymentMethodTypes?this.settings.elementOptions.paymentMethodTypes:[this.settings.paymentMethodType]}getTerms(){const e=this.settings.termsDisplayRule;return this._terms.reduce((t,i)=>(t[i]=e,t),{})}async confirmPayment(e,t={}){return await this.stripe.confirmPayment({...!t.skipElements&&{elements:this.elements},clientSecret:e.client_secret,redirect:"if_required",confirmParams:{return_url:e.return_url,payment_method_data:{billing_details:e.billing_details},...e.confirmation_args&&e.confirmation_args}})}async confirmSetup(e,t={}){return await this.stripe.confirmSetup({...!t.skipElements&&{elements:this.elements},clientSecret:e.client_secret,redirect:"if_required",confirmParams:{...e.return_url&&{return_url:e.return_url},payment_method_data:{...e.billing_details&&{billing_details:e.billing_details}},...e.confirmation_args&&e.confirmation_args}})}getBillingName(){if(this.context.isAddPaymentMethod())return(0,l.getSetting)("customer").billing_address.name;if(this.context.isOrderPay())return this.controller.order.getBillingName();const e=n()('[name="billing_first_name"]'),t=n()('[name="billing_last_name"]'),i=n()('[name="shipping_first_name"]'),s=n()('[name="shipping_last_name"]');return e.is(":visible")?[e.val()||"",t.val()||""].filter(Boolean).join(" "):i.is(":visible")?[i.val()||"",s.val()||""].filter(Boolean).join(" "):e.val()?[e.val()||"",t.val()||""].filter(Boolean).join(" "):i.val()?[i.val()||"",s.val()||""].filter(Boolean).join(" "):""}getBillingEmail(){if(this.context.isAddPaymentMethod()){const e=(0,l.getSetting)("customer");return e?.billing_address?.email||""}if(this.context.isOrderPay())return this.controller.order.getBillingEmail();const e=n()('[name="billing_email"]');return e.is(":visible")?e.val()||"":e.val()?e.val():""}getBillingPhone(){if(this.context.isAddPaymentMethod()){const e=(0,l.getSetting)("customer");return e?.billing_address?.phone||""}if(this.context.isOrderPay())return this.controller.order.getBillingPhone();const e=n()('[name="billing_phone"]'),t=n()('[name="shipping_phone"]');return e.is(":visible")?e.val()||"":t.is(":visible")?t.val()||"":e.val()?e.val():t.val()?t.val():""}getBillingAddress(){if(this.context.isAddPaymentMethod()){const e=(0,l.getSetting)("customer");return this.transformAddress(e?.billing_address)}if(this.context.isOrderPay())return this.transformAddress(this.controller.order.getBillingAddress());const e=n()('[name="billing_country"]'),t=n()('[name="shipping_country"]');return e.is(":visible")?{line1:n()('[name="billing_address_1"]').val()||"",line2:n()('[name="billing_address_2"]').val()||"",postal_code:n()('[name="billing_postcode"]').val()||"",city:n()('[name="billing_city"]').val()||"",state:n()('[name="billing_state"]').val()||"",country:e.val()||null}:t.is(":visible")?{line1:n()('[name="shipping_address_1"]').val()||"",line2:n()('[name="shipping_address_2"]').val()||"",postal_code:n()('[name="shipping_postcode"]').val()||"",city:n()('[name="shipping_city"]').val()||"",state:n()('[name="shipping_state"]').val()||"",country:t.val()||null}:e.val()?{line1:n()('[name="billing_address_1"]').val()||"",line2:n()('[name="billing_address_2"]').val()||"",postal_code:n()('[name="billing_postcode"]').val()||"",city:n()('[name="billing_city"]').val()||"",state:n()('[name="billing_state"]').val()||"",country:e.val()}:t.val()?{line1:n()('[name="shipping_address_1"]').val()||"",line2:n()('[name="shipping_address_2"]').val()||"",postal_code:n()('[name="shipping_postcode"]').val()||"",city:n()('[name="shipping_city"]').val()||"",state:n()('[name="shipping_state"]').val()||"",country:t.val()}:{line1:null,line2:null,postal_code:null,city:null,state:null,country:null}}getBillingDetails(){return{name:this.getBillingName(),phone:this.getBillingPhone(),email:this.getBillingEmail(),address:this.getBillingAddress()}}hasDOMNameValue(){return!!n()('[name="billing_first_name"]').is(":visible")||!!n()('[name="shipping_first_name"]').is(":visible")||!!this.getBillingName()}hasDOMEmailValue(){return!!n()('[name="billing_email"]').is(":visible")||!!this.getBillingEmail()}hasDOMPhoneValue(){return!!n()('[name="billing_phone"]').is(":visible")||!!n()('[name="shipping_phone"]').is(":visible")||!!this.getBillingPhone()}transformAddress(e){return{line1:e.address_1||"",line2:e.address_2||"",city:e.city||"",state:e.state||"",postal_code:e.postcode||"",country:e.country||""}}},o=class extends r{type;_isEligible=null;_isDisabled=!1;elementType="expressCheckout";_isOpen=!1;_styles={clear:"both",minHeight:"40px"};constructor(e){super(e),this.capabilities=[...this.capabilities,"elements","payment_sheet"]}async mountPaymentElement(e){this.paymentElement.removeAllListeners(),this.paymentElement.on("ready",this.onReady.bind(this)),this.paymentElement.on("loaderror",this.onLoadError.bind(this)),this.paymentElement.on("click",this.onClickElement.bind(this)),this.paymentElement.on("confirm",this.onConfirm.bind(this)),this.paymentElement.on("cancel",this.onCancel.bind(this)),this.paymentElement.on("shippingaddresschange",this.onShippingDataChange.bind(this,"shippingaddresschange")),this.paymentElement.on("shippingratechange",this.onShippingDataChange.bind(this,"shippingratechange")),this.paymentElement.mount(e)}async canMakePayment(){try{return!!(this.context.isProduct()||this.isSetupMode()||this.isSubscriptionMode()||0!==this.controller.getTotalCents()||this.controller.needsPayment())&&this.isEligible()}catch(e){return console.log("Payment method is not available. ",e),!1}}isEligible(){return null===this._isEligible&&(this._isEligible=new Promise((e,t)=>{const i=document.createElement("div");i.style.display="none",document.querySelector("body").appendChild(i),this.paymentElement.on("ready",({availablePaymentMethods:t={}})=>{e(!!t[this.type]),i.remove(),this.paymentElement.removeAllListeners()}),this.paymentElement.on("loaderror",e=>{t(e),i.remove()}),this.paymentElement.mount(i)})),this._isEligible}onReady({availablePaymentMethods:e={}}){this.actions.doAction("express_element_ready",e,this)}onLoadError(e){console.error("Express checkout element load error:",e),this.controller.submitError(e.error)}async onClickElement(e){if(this._isDisabled)return e.reject();try{this.controller.onClick()}catch(t){return e.reject()}this._isOpen=!0;const t={},i=this.controller.getTotalCents(),n=this.controller.getLineItems();if(n&&n.length>0&&n.reduce((e,t)=>e+t.amountCents,0)===i&&(t.lineItems=this.transformLineItems(n)),this.controller.needsShipping()){const e=this.controller.getShippingOptions();e&&e.length>0&&(t.shippingRates=this.transformShippingRates(e,this.controller.getSelectedShippingMethod()))}!this.isSetupMode()&&i>0&&this.elements.update({amount:this.controller.getTotalCents()});const s=await this.actions.applyFilters("express_click_data",t,this,e);e.resolve(s)}async onConfirm(e){try{await this.elements.submit();const t=await this.stripe.createPaymentMethod({elements:this.elements,...this.context.isCheckout()&&{params:{billing_details:{address:this.getBillingAddress(),...this.hasDOMNameValue()&&{name:this.getBillingName()},...this.getBillingEmail()&&{email:this.getBillingEmail()},...this.getBillingPhone()&&{phone:this.getBillingPhone()}}}}});if(t.error)return void this.controller.submitError(t.error);this.setPaymentMethodId(t.paymentMethod.id);const i=this.extractStandardizedCheckoutData(e,t.paymentMethod);this.controller.submit(i)}catch(t){e.paymentFailed({reason:"fail",message:t.message})}}extractStandardizedCheckoutData(e,t){const i={paymentMethodId:t.id};if(e.billingDetails){const t={},{name:n,email:s,phone:a,address:l}=e.billingDetails;if(n){const e=n.split(" ");t.first_name=e[0]||"",t.last_name=e.slice(1).join(" ")||""}s&&(t.email=s),a&&(t.phone=a),l&&(t.address_1=l.line1||"",t.address_2=l.line2||"",t.city=l.city||"",t.state=l.state||"",t.postcode=l.postal_code||"",t.country=l.country||""),i.billing=t}if(e.shippingAddress){const t={},{name:n,address:s}=e.shippingAddress;if(n){const e=n.split(" ");t.first_name=e[0]||"",t.last_name=e.slice(1).join(" ")||""}s&&(t.address_1=s.line1||"",t.address_2=s.line2||"",t.city=s.city||"",t.state=s.state||"",t.postcode=s.postal_code||"",t.country=s.country||""),i.shipping=t}return i}onCancel(e){this._isOpen=!1,this.controller.onCancel()}async onShippingDataChange(e,t){const{resolve:i,reject:n,address:s=null,shippingRate:a=null}=t;try{const t={};s?t.address=this.transformIntermediateAddress(s):t.shipping_method=a.id,await this.controller.onShippingChange(t);const l=this.controller.getShippingOptions();if("shippingaddresschange"===e&&0===l.length)return console.log("No shipping options available for address, rejecting shippingaddresschange.",s),n();this.controller.getTotalCents()>0&&this.elements.update({amount:this.controller.getTotalCents()});const r={shippingRates:this.transformShippingRates(l,this.controller.getSelectedShippingMethod())},o=this.controller.getLineItems();o&&o.length>0&&o.reduce((e,t)=>e+t.amountCents,0)===this.controller.getTotalCents()&&(r.lineItems=this.transformLineItems(o)),i(r)}catch(e){n()}}transformIntermediateAddress(e){return{city:e.city||"",state:e.state||"",postcode:e.postal_code||"",country:e.country||""}}transformShippingRates(e=[],t=null){let i=e.map(e=>({id:e.id,displayName:e.label,amount:e.amountCents}));if(t){const e=i.findIndex(e=>e.id===t);if(e>0){const[t]=i.splice(e,1);i.unshift(t)}}return i}transformLineItems(e=[]){return e.map(e=>({name:e.label,amount:e.amountCents}))}buildPaymentElementOptions(e=!1){return{emailRequired:this.isEmailRequired(),phoneNumberRequired:this.isPhoneRequired(),billingAddressRequired:this.isBillingAddressRequired(),shippingAddressRequired:this.controller.needsShipping(),buttonHeight:Math.max(40,Math.min(55,parseInt(this.settings.button?.height||44))),...this.supports("button_theme")&&{buttonTheme:{[this.type]:this.settings.button?.theme||"black"}},...this.supports("button_type")&&{buttonType:{[this.type]:this.getButtonType()}},paymentMethods:{applePay:"applePay"===this.type?this.settings.display_rule:"never",googlePay:"googlePay"===this.type?this.settings.display_rule:"never",amazonPay:"never",paypal:"never",link:"link"===this.type?"auto":"never"},layout:{maxColumns:1,maxRows:1}}}async destroyPaymentElement(){this.paymentElement&&(null!==this._isEligible&&await this.isEligible(),this.paymentElement.destroy(),this.paymentElement=null,this.createElements(),this.createPaymentElement())}disablePaymentElement(){this.paymentElement&&(this._isDisabled=!0)}enablePaymentElement(){this.paymentElement&&(this._isDisabled=!1)}closePaymentSheet(){this.paymentElement?.unmount()}getElementOptions(e=!1){const t=super.getElementOptions(e);return delete t.paymentMethodTypes,this.settings?.button?.radius&&(t.appearance={...t.appearance,variables:{...t.appearance?.variables,borderRadius:this.settings.button.radius}}),t}isEmailRequired(){return(0,l.isFieldRequired)("billing_email")&&!this.context.isCheckout()&&!this.context.isOrderPay()&&!this.context.isAddPaymentMethod()}isPhoneRequired(){return((0,l.isFieldRequired)("billing_phone")||this.controller.needsShipping()&&(0,l.isFieldRequired)("shipping_phone"))&&!this.context.isCheckout()&&!this.context.isOrderPay()&&!this.context.isAddPaymentMethod()}isBillingAddressRequired(){return!this.context.isCheckout()}isPaymentSheetOpen(){return this._isOpen}getButtonType(){if(this.settings?.buttonTypes){const e=this.context.getPage();if(this.settings.buttonTypes[e])return this.settings.buttonTypes[e]}return this.settings.button?.type||"buy"}},m=class extends o{type="applePay";constructor(e){super(e),this.capabilities=[...this.capabilities,"button_theme","button_type","form_validation"]}},h=class extends o{type="googlePay";constructor(e){super(e),this.capabilities=[...this.capabilities,"button_theme","button_type","form_validation"]}},d=class extends o{type="link";constructor(e){super(e),this.capabilities=[...this.capabilities,"form_validation"]}},p=class extends r{elementType="payment";constructor(e){super(e),this.capabilities.push("place_order_button","checkout_error")}async mountPaymentElement(e){this._elementsSubmitted=!1,this.paymentElement.removeAllListeners(),this.paymentElement.on("change",this.onPaymentElementChange.bind(this)),this.paymentElement.on("loaderror",this.onPaymentElementLoadError.bind(this,e)),this.paymentElement.mount(e)}async validatePaymentElement(){try{let e=await this.elements.submit();if(e.error)throw e.error;this._elementsSubmitted=!0}catch(e){throw e}}onPaymentElementChange(e){e?.value?.type&&(this.paymentMethodType=e.value.type)}onPaymentElementLoadError(e,t){const{error:i}=t;this.elements=null,this.paymentElement=null,n()(e).append(i.message)}hasPaymentMethodId(){return this._elementsSubmitted}},c=class extends r{constructor(e){super(e),this.capabilities.push("place_order_button","checkout_error")}initialize(){super.initialize(),this.actions.addFilter("get_error_message_selector",this.getErrorMessageSelector.bind(this))}shouldCreatePaymentMethod(){return!0}getErrorMessageSelector(e,t,i){return this.id!==i||(t.context.isCheckout()||t.context.isOrderPay())&&(e=this.settings.noticeSelector,"bcf"===this.settings.noticeLocation&&(n()(".wc-stripe-card-notice").remove(),n()(".wc-stripe_cc-container").append('<div class="wc-stripe-card-notice"></div>'))),e}},u=class extends c{selector="#wc-stripe-card-element";elementType="payment";_paymentElementOptions={};async mountPaymentElement(e){this._elementsSubmitted=!1,this.paymentElement.removeAllListeners(),this.paymentElement.on("change",this.onPaymentElementChange.bind(this)),this.paymentElement.on("loaderror",this.onLoadError.bind(this)),this.paymentElement.mount(e)}onPaymentElementChange(e){}onLoadError(e){console.log(`Error loading payment element: ${e}`)}shouldCreatePaymentMethod(){return!this.isInstallmentsEnabled()}hasPaymentMethodId(){return this.isInstallmentsEnabled()?this._elementsSubmitted:super.hasPaymentMethodId()}isInstallmentsEnabled(){return!!this.settings.installments?.clientSecret}getElementOptions(e=!1){const t=super.getElementOptions();return this.isInstallmentsEnabled()&&(delete t.mode,delete t.amount,delete t.currency,delete t.paymentMethodTypes,delete t.paymentMethodCreation,e||(t.clientSecret=this.settings.installments.clientSecret)),t}},y=class extends c{selector="#wc-stripe-card-element";elementType="card";async mountPaymentElement(e){this.paymentElement.mount(e),this.paymentElement.update({value:{postalCode:n()("#billing_postcode").val()||""},hidePostalCode:n()("#billing_postcode").is(":visible")})}buildPaymentElementOptions(e=!1){const t={...this.settings.inlineFormOptions,value:{postalCode:n()("#billing_postcode").val()||""},hidePostalCode:n()("#billing_postcode").is(":visible")};return e&&delete t.disableLink,t}async createPaymentMethod(){try{const e=await this.stripe.createPaymentMethod({type:"card",card:this.paymentElement,billing_details:this.getBillingDetails()});if(e.error)throw e.error;this.setPaymentMethodId(e.paymentMethod.id)}catch(e){throw e}}async confirmPayment(e,t={}){return this.stripe.confirmCardPayment(e.client_secret)}async confirmSetup(e,t={}){return this.stripe.confirmCardSetup(e.client_secret)}},g=class extends c{selector="#wc-stripe-cc-custom-form";_elementClasses={focus:"focused",empty:"empty",invalid:"invalid"};shouldMountElement(e){return 0===n()("#wc-stripe-cc-custom-form").find("iframe").length}createPaymentElement(){const e={classes:this._elementClasses,...this.settings.cardFormOptions};this.cardNumber=this.elements.create("cardNumber",{...this.settings.customFieldOptions.cardNumber,...e}),this.cardExpiry=this.elements.create("cardExpiry",{...this.settings.customFieldOptions.cardExpiry,...e}),this.cardCvc=this.elements.create("cardCvc",{...this.settings.customFieldOptions.cardCvc,...e}),this.cardNumber.on("change",this.onCardNumberChange.bind(this)),this.paymentElement=!0}async mountPaymentElement(e){this.cardNumber.mount("#stripe-card-number"),this.cardExpiry.mount("#stripe-exp"),this.cardCvc.mount("#stripe-cvv"),n()("#stripe-card-number").prepend(this.settings.html.card_brand),n()("#stripe-postal-code").length&&(n()("#stripe-postal-code").on("focus",e=>{n()("#stripe-postal-code").addClass("focused")}),n()("#stripe-postal-code").on("blur",e=>{n()("#stripe-postal-code").removeClass("focused").trigger("keyup")}),n()("#stripe-postal-code").on("keyup",e=>{""===n()("#stripe-postal-code").val()?n()("#stripe-postal-code").addClass("empty"):n()("#stripe-postal-code").removeClass("empty")}))}onCardNumberChange(e){"unknown"===e.brand?n()("#wc-stripe-card").removeClass("active"):n()("#wc-stripe-card").addClass("active"),n()("#wc-stripe-card").attr("src",this.settings.cardIcons[e.brand])}async createPaymentMethod(){try{const e=this.getBillingDetails(),t=await this.stripe.createPaymentMethod({type:"card",card:this.cardNumber,billing_details:this.context.isCheckout()?{...e,...n()("#stripe-postal-code").length&&{address:{...e.address,postal_code:n()("#stripe-postal-code").val()}}}:{...e,address:{...n()("#stripe-postal-code").length&&{postal_code:n()("#stripe-postal-code").val()}}}});if(t.error)throw t.error;this.setPaymentMethodId(t.paymentMethod.id)}catch(e){throw e}}async confirmPayment(e,t={}){return this.stripe.confirmCardPayment(e.client_secret)}async confirmSetup(e,t={}){return this.stripe.confirmCardSetup(e.client_secret)}},_=(e,t)=>{switch(e){case"inline":return new y(t);case"custom":return new g(t);default:return new u(t)}},b=class extends r{elementType="payment";paymentMethodType="";constructor(e){super(e),this.capabilities.push("place_order_button","checkout_error")}async mountPaymentElement(e){this._elementsSubmitted=!1,this.paymentElement.removeAllListeners(),this.paymentElement.on("change",this.onPaymentElementChange.bind(this)),this.paymentElement.on("loaderror",this.onLoadError.bind(this)),this.paymentElement.mount(e)}onPaymentElementChange(e){e?.value?.type&&(this.paymentMethodType=e.value.type,n()("#_stripe_payment_method_type").val(e.value.type))}onLoadError(){}hasPaymentMethodId(){return["card","link","apple_pay","google_pay"].includes(this.paymentMethodType)?super.hasPaymentMethodId():this._elementsSubmitted}shouldCreatePaymentMethod(){return["card","link","apple_pay","google_pay"].includes(this.paymentMethodType)}buildPaymentElementOptions(e=!1){return super.buildPaymentElementOptions(),e||(this._paymentElementOptions.wallets={applePay:"auto",googlePay:"auto"}),this._paymentElementOptions}};(this.wcStripe=this.wcStripe||{}).gateways=t})();