jQuery(function(p){"use strict";var u,_=Stripe(wc_stripe_payment_request_params.stripe.key,{locale:wc_stripe_payment_request_params.stripe.locale}),t=wc_stripe_payment_request_params.product.validVariationSelected??!0,c={paymentCanceled:!1,getAjaxURL:function(t){return wc_stripe_payment_request_params.ajax_url.toString().replace("%%endpoint%%","wc_stripe_"+t)},getCartDetails:function(){var t={security:wc_stripe_payment_request_params.nonce.payment};p.ajax({type:"POST",data:t,url:c.getAjaxURL("get_cart_details"),success:function(t){c.startPaymentRequest(t)}})},getAttributes:function(){var t=p(".variations_form").find(".variations select"),n={},a=0,r=0;return t.each(function(){var t=p(this).data("attribute_name")||p(this).attr("name"),e=p(this).val()||"";0<e.length&&r++,a++,n[t]=e}),{count:a,chosenCount:r,data:n}},processSource:function(t,e){e=c.getOrderData(t,e);return p.ajax({type:"POST",data:e,dataType:"json",url:c.getAjaxURL("create_order")})},getOrderData:function(t,e){var n=t.source,a=n.owner.email,r=n.owner.phone,s=n.owner.address,i=n.owner.name??t.payerName,o=t.shippingAddress,e={_wpnonce:wc_stripe_payment_request_params.nonce.checkout,billing_first_name:i?.split(" ")?.slice(0,1)?.join(" ")??"",billing_last_name:i?.split(" ")?.slice(1)?.join(" ")??"",billing_company:"",billing_email:null!==a?a:t.payerEmail,billing_phone:null!==r?r:t.payerPhone&&t.payerPhone.replace("/[() -]/g",""),billing_country:null!==s?s.country:"",billing_address_1:null!==s?s.line1:"",billing_address_2:null!==s?s.line2:"",billing_city:null!==s?s.city:"",billing_state:null!==s?s.state:"",billing_postcode:null!==s?s.postal_code:"",shipping_first_name:"",shipping_last_name:"",shipping_company:"",shipping_country:"",shipping_address_1:"",shipping_address_2:"",shipping_city:"",shipping_state:"",shipping_postcode:"",shipping_method:[null===t.shippingOption?null:t.shippingOption.id],order_comments:"",payment_method:"stripe",ship_to_different_address:1,terms:1,stripe_source:n.id,payment_request_type:e};return o&&(e.shipping_first_name=o.recipient.split(" ").slice(0,1).join(" "),e.shipping_last_name=o.recipient.split(" ").slice(1).join(" "),e.shipping_company=o.organization,e.shipping_country=o.country,e.shipping_address_1=void 0===o.addressLine[0]?"":o.addressLine[0],e.shipping_address_2=void 0===o.addressLine[1]?"":o.addressLine[1],e.shipping_city=o.city,e.shipping_state=o.region,e.shipping_postcode=o.postalCode),e=c.getRequiredFieldDataFromCheckoutForm(e)},getRequiredFieldDataFromCheckoutForm:function(a){const t=p("form.checkout").find(".validate-required");return t.length&&t.each(function(){const t=p(this).find(":input");var e=t.val();const n=t.attr("name");e&&n&&(a[n]||(a[n]=e),p("#ship-to-different-address").find("input").is(":checked")||(e=n.replace("billing_","shipping_"),!a[e]&&a[n]&&(a[e]=a[n])))}),a},getErrorMessageHTML:function(t){return p('<div class="woocommerce-error" />').text(t)},displayErrorMessage:function(t){p(".woocommerce-error").remove();const e=wc_stripe_payment_request_params.is_product_page?p(".product").first():p(".shop_table").closest("form");e.length?(e.before(t),p("html, body").animate({scrollTop:e.prev(".woocommerce-error").offset().top},600)):console.error("Could not prepend the error message element:",t)},abortPayment:function(t,e){t.complete("fail"),c.displayErrorMessage(e)},completePayment:function(t,e){c.block(),t.complete("success"),window.location=e},block:function(){p.blockUI({message:null,overlayCSS:{background:"#fff",opacity:.6}})},updateShippingOptions:function(t,e){e={security:wc_stripe_payment_request_params.nonce.shipping,country:e.country,state:e.region,postcode:e.postalCode,city:e.city,address:void 0===e.addressLine[0]?"":e.addressLine[0],address_2:void 0===e.addressLine[1]?"":e.addressLine[1],payment_request_type:u,is_product_page:wc_stripe_payment_request_params.is_product_page};return p.ajax({type:"POST",data:e,url:c.getAjaxURL("get_shipping_options")})},updateShippingDetails:function(t,e){e={security:wc_stripe_payment_request_params.nonce.update_shipping,shipping_method:[e.id],payment_request_type:u,is_product_page:wc_stripe_payment_request_params.is_product_page};return p.ajax({type:"POST",data:e,url:c.getAjaxURL("update_shipping_method")})},addToCart:function(){var t=p(".single_add_to_cart_button").val();p(".single_variation_wrap").length&&(t=p(".single_variation_wrap").find('input[name="product_id"]').val());var a={security:wc_stripe_payment_request_params.nonce.add_to_cart,product_id:t,qty:p(".quantity .qty").val(),attributes:p(".variations_form").length?c.getAttributes().data:[]},t=p("form.cart").serializeArray();return p.each(t,function(t,e){var n;/^addon-/.test(e.name)&&(/\[\]$/.test(e.name)?(n=e.name.substring(0,e.name.length-2),a[n]?a[n].push(e.value):a[n]=[e.value]):a[e.name]=e.value)}),p.ajax({type:"POST",data:a,url:c.getAjaxURL("add_to_cart")})},clearCart:function(){var t={security:wc_stripe_payment_request_params.nonce.clear_cart};return p.ajax({type:"POST",data:t,url:c.getAjaxURL("clear_cart"),success:function(t){}})},getRequestOptionsFromLocal:function(){return{total:wc_stripe_payment_request_params.product.total,currency:wc_stripe_payment_request_params.checkout.currency_code,country:wc_stripe_payment_request_params.checkout.country_code,requestPayerName:!0,requestPayerEmail:!0,requestPayerPhone:wc_stripe_payment_request_params.checkout.needs_payer_phone,requestShipping:wc_stripe_payment_request_params.product.requestShipping,displayItems:wc_stripe_payment_request_params.product.displayItems}},startPaymentRequest:function(t,e){var n,a;e=e??!0,n=wc_stripe_payment_request_params.is_product_page?a=c.getRequestOptionsFromLocal():(a={total:t.order_data.total,currency:t.order_data.currency,country:t.order_data.country_code,requestPayerName:!0,requestPayerEmail:!0,requestPayerPhone:wc_stripe_payment_request_params.checkout.needs_payer_phone,requestShipping:!!t.shipping_required,displayItems:t.order_data.displayItems},t.order_data);const r=[];wc_stripe_payment_request_params?.stripe?.is_link_enabled||r.push("link"),wc_stripe_payment_request_params?.stripe?.is_payment_request_enabled||r.push("applePay","googlePay"),a.disableWallets=r,"PR"===a.country&&(a.country="US");try{var s=_.paymentRequest(a),i=_.elements({locale:wc_stripe_payment_request_params.button.locale}),o=c.createPaymentRequestButton(i,s);s.canMakePayment().then(function(t){t&&(u=t.applePay?"apple_pay":t.googlePay?"google_pay":"payment_request_api",c.attachPaymentRequestButtonEventListeners(o,s),e&&c.showPaymentRequestButton(o))}),s.on("shippingaddresschange",function(e){p.when(c.updateShippingOptions(n,e.shippingAddress)).then(function(t){e.updateWith({status:t.result,shippingOptions:t.shipping_options,total:t.total,displayItems:t.displayItems})})}),s.on("shippingoptionchange",function(e){p.when(c.updateShippingDetails(n,e.shippingOption)).then(function(t){"success"===t.result&&e.updateWith({status:"success",total:t.total,displayItems:t.displayItems}),"fail"===t.result&&e.updateWith({status:"fail"})})}),s.on("source",function(e){"no"===wc_stripe_payment_request_params.stripe.allow_prepaid_card&&"prepaid"===e.source.card.funding?c.abortPayment(e,c.getErrorMessageHTML(wc_stripe_payment_request_params.i18n.no_prepaid_card)):p.when(c.processSource(e,u)).then(function(t){"success"===t.result?c.completePayment(e,t.redirect):c.abortPayment(e,t.messages)})}),s.on("cancel",function(){c.paymentCanceled=!0})}catch(t){console.error(t)}},getSelectedProductData:function(){var t=p(".single_add_to_cart_button").val();p(".single_variation_wrap").length&&(t=p(".single_variation_wrap").find('input[name="product_id"]').val());var e=(p("#product-addons-total").data("price_data")||[]).reduce(function(t,e){return t+e.cost},0),e={security:wc_stripe_payment_request_params.nonce.get_selected_product_data,product_id:t,qty:p(".quantity .qty").val(),attributes:p(".variations_form").length?c.getAttributes().data:[],addon_value:e};return p.ajax({type:"POST",data:e,url:c.getAjaxURL("get_selected_product_data")})},debounce:function(a,r,s){var i;return function(){var t=this,e=arguments,n=s&&!i;clearTimeout(i),i=setTimeout(function(){i=null,s||r.apply(t,e)},a),n&&r.apply(t,e)}},createPaymentRequestButton:function(t,e){var n;if(wc_stripe_payment_request_params.button.is_custom&&(n=p(wc_stripe_payment_request_params.button.css_selector)).length)return n.data("isCustom",!0),n;if(wc_stripe_payment_request_params.button.is_branded){if(c.shouldUseGooglePayBrand())return(n=c.createGooglePayButton()).data("isBranded",!0),n;wc_stripe_payment_request_params.button.type="long"===wc_stripe_payment_request_params.button.branded_type?"buy":"default"}return t.create("paymentRequestButton",{paymentRequest:e,style:{paymentRequestButton:{type:wc_stripe_payment_request_params.button.type,theme:wc_stripe_payment_request_params.button.theme,height:wc_stripe_payment_request_params.button.height+"px"}}})},isCustomPaymentRequestButton:function(t){return t&&"function"==typeof t.data&&t.data("isCustom")},isBrandedPaymentRequestButton:function(t){return t&&"function"==typeof t.data&&t.data("isBranded")},shouldUseGooglePayBrand:function(){var t=window.navigator.userAgent.toLowerCase(),e=/chrome/.test(t)&&!/edge|edg|opr|brave\//.test(t)&&"Google Inc."===window.navigator.vendor,t=e&&window.navigator.brave;return e&&!t},createGooglePayButton:function(){var t=wc_stripe_payment_request_params.button.theme,e=wc_stripe_payment_request_params.button.branded_type,n=wc_stripe_payment_request_params.button.locale,a=wc_stripe_payment_request_params.button.height,r="dark"===(t=["dark","light","light-outline"].includes(t)?t:"light")?"dark":"light",e=["short","long"].includes(e)?e:"long",s=p('<button type="button" id="wc-stripe-branded-button" aria-label="Google Pay" class="gpay-button"></button>');return s.css("height",a+"px"),s.addClass(t+" "+e),"long"===e&&function(t,e,n){t.css("background-image","url("+e+")");var a=document.createElement("img");a.onerror=function(){t.css("background-image","url("+n+")")},a.src=e}(s,"https://www.gstatic.com/instantbuy/svg/"+r+"/"+n+".svg","https://www.gstatic.com/instantbuy/svg/"+r+"/en.svg"),s},attachPaymentRequestButtonEventListeners:function(t,e){t.on("click",function(t){p("body").addClass("woocommerce-stripe-prb-clicked")}),wc_stripe_payment_request_params.is_product_page?c.attachProductPageEventListeners(t,e):c.attachCartPageEventListeners(t,e)},attachProductPageEventListeners:function(e,n){var a=[],r=p(".single_add_to_cart_button");e.on("click",function(t){return wc_stripe_payment_request_params.login_confirmation?(t.preventDefault(),void i(u)):r.is(".disabled")?(t.preventDefault(),void(r.is(".wc-variation-is-unavailable")?window.alert(wc_add_to_cart_variation_params.i18n_unavailable_text):r.is(".wc-variation-selection-needed")&&window.alert(wc_add_to_cart_variation_params.i18n_make_a_selection_text))):0<a.length?(t.preventDefault(),void window.alert(a)):(c.addToCart(),void((c.isCustomPaymentRequestButton(e)||c.isBrandedPaymentRequestButton(e))&&(t.preventDefault(),n.show())))}),p(document.body).on("wc_stripe_unblock_payment_request_button wc_stripe_enable_payment_request_button",function(){c.unblockPaymentRequestButton()}),p(document.body).on("wc_stripe_block_payment_request_button",function(){c.blockPaymentRequestButton("wc_request_button_is_blocked")}),p(document.body).on("wc_stripe_disable_payment_request_button",function(){c.blockPaymentRequestButton("wc_request_button_is_disabled")}),p(document.body).on("woocommerce_variation_has_changed",function(){p(document.body).trigger("wc_stripe_block_payment_request_button"),p.when(c.getSelectedProductData()).then(function(t){t.error?(p(document.body).trigger("wc_stripe_unblock_payment_request_button"),c.hidePaymentRequestButton()):c.paymentCanceled||wc_stripe_payment_request_params.product.requestShipping!==t.requestShipping?(wc_stripe_payment_request_params.product.requestShipping=t.requestShipping,wc_stripe_payment_request_params.product.total=t.total,wc_stripe_payment_request_params.product.displayItems=t.displayItems,c.init(),p(document.body).trigger("wc_stripe_unblock_payment_request_button")):p.when(n.update({total:t.total,displayItems:t.displayItems})).then(function(){p(document.body).trigger("wc_stripe_unblock_payment_request_button"),c.showPaymentRequestButton()})})});function t(){p(document.body).trigger("wc_stripe_block_payment_request_button")}function s(){p(document.body).trigger("wc_stripe_block_payment_request_button"),a=[],p.when(c.getSelectedProductData()).then(function(t){t.error?(a=[t.error],p(document.body).trigger("wc_stripe_unblock_payment_request_button")):p.when(n.update({total:t.total,displayItems:t.displayItems})).then(function(){p(document.body).trigger("wc_stripe_unblock_payment_request_button")})})}p(".quantity").on("input",".qty",t),p(".quantity").on("input",".qty",c.debounce(250,s)),p(".cart:not(.cart_group)").on("updated_addons",t),p(".cart:not(.cart_group)").on("updated_addons",c.debounce(250,s)),p(".variations_form").length&&p(".variations_form").on("found_variation.wc-variation-form",function(t,e){e.is_in_stock?c.unhidePaymentRequestButton():c.hidePaymentRequestButton()})},attachCartPageEventListeners:function(e,n){e.on("click",function(t){return wc_stripe_payment_request_params.login_confirmation?(t.preventDefault(),void i(u)):void((c.isCustomPaymentRequestButton(e)||c.isBrandedPaymentRequestButton(e))&&(t.preventDefault(),n.show()))})},showPaymentRequestButton:function(t){c.isCustomPaymentRequestButton(t)?(t.addClass("is-active"),p("#wc-stripe-payment-request-wrapper, #wc-stripe-payment-request-button-separator").show()):c.isBrandedPaymentRequestButton(t)?(p("#wc-stripe-payment-request-wrapper, #wc-stripe-payment-request-button-separator").show(),p("#wc-stripe-payment-request-button").html(t)):p("#wc-stripe-payment-request-button").length&&(p("#wc-stripe-payment-request-wrapper, #wc-stripe-payment-request-button-separator").show(),t.mount("#wc-stripe-payment-request-button"))},hidePaymentRequestButton:function(){p("#wc-stripe-payment-request-wrapper, #wc-stripe-payment-request-button-separator").hide()},unhidePaymentRequestButton:function(){const t=p("#wc-stripe-payment-request-wrapper"),e=p("#wc-stripe-payment-request-button-separator");(t.is(":hidden")||e.is(":hidden"))&&(t.show(),e.show())},blockPaymentRequestButton:function(t){p("#wc-stripe-payment-request-button").data("blockUI.isBlocked")||p("#wc-stripe-payment-request-button").addClass(t).block({message:null})},unblockPaymentRequestButton:function(){p("#wc-stripe-payment-request-button").removeClass(["wc_request_button_is_blocked","wc_request_button_is_disabled"]).unblock()},init:function(t){wc_stripe_payment_request_params.is_product_page?c.startPaymentRequest("",t):c.getCartDetails(),c.paymentCanceled=!1}};function i(t){var e;wc_stripe_payment_request_params.login_confirmation&&(e=wc_stripe_payment_request_params.login_confirmation.message,e=(e="payment_request_api"!==t?e.replace(/\*\*.*?\*\*/,"apple_pay"===t?"Apple Pay":"Google Pay"):e).replace(/\*\*/g,""),confirm(e)&&(window.location.href=wc_stripe_payment_request_params.login_confirmation.redirect_url))}c.init(t),p(document.body).on("updated_cart_totals",function(){c.init()}),p(document.body).on("updated_checkout",function(){c.init()})});
