File "wpforms-paypal-commerce-fastlane.min.js"

Full Path: /home/stylijtl/public_html/wp-content/plugins/wpforms-lite/assets/js/integrations/paypal-commerce/wpforms-paypal-commerce-fastlane.min.js
File size: 10.22 KB
MIME-type: text/plain
Charset: utf-8

let WPFormsPaypalCommerceFastlane=window.WPFormsPaypalCommerceFastlane||((l,o,a)=>{let y={forms:{},init(){a(l).on("wpformsPayPalCommerceInit",y.initFastlane)},initFastlane(e,t,a){a=y.getFormOptions(a);a&&0<t.find(".wpforms-paypal-commerce-fastlane-email-continue, .wpforms-paypal-commerce-fastlane-watermark-container, .wpforms-paypal-commerce-fastlane-payment-component").length&&y.isFastlaneAvailable()&&y.initFormFastlane(t,a).catch(()=>{})},isFastlaneAvailable(){return"function"==typeof wpforms_paypal_single.Fastlane},getDomRefs(e){e=e?.[0]||l.querySelector("form.wpforms-form");return{form:e,emailSubmitButton:e.querySelector(".wpforms-paypal-commerce-fastlane-email-continue"),paymentSection:e.querySelector(".wpforms-paypal-commerce-fastlane-payment"),tokenInput:e.querySelector(".wpforms-paypal-commerce-fastlane-token")}},fixWatermarkShadowHeights(e){try{(e instanceof Element&&e.matches(".wpforms-paypal-commerce-fastlane-watermark-container")?[e]:Array.from((e||l).querySelectorAll(".wpforms-paypal-commerce-fastlane-watermark-container"))).forEach(e=>{e.style.minHeight="16px",e.style.height="16px";var e=e.querySelector("paypal-watermark");e&&e.shadowRoot&&(e=e.shadowRoot.querySelector("axo-tooltip"))&&[e,e.shadowRoot].filter(Boolean).forEach(e=>{e=e.querySelectorAll('[class*="min-h-[24px]"], button[class*="min-h-[24px]"]');e.length&&Array.from(e).forEach(e=>{e.style.setProperty("min-height","16px","important"),e.style.setProperty("height","16px","important"),e.style.setProperty("line-height","16px","important"),e.style.setProperty("padding","0","important")})})})}catch(e){console.debug("Fastlane watermark shadow fix skipped:",e)}},observePaymentLayout(t){if(t&&!t._wpformsPaymentLayoutObserver){let e=()=>y.fixPaymentShadowLayout(t);e();var a=new MutationObserver(()=>e());a.observe(t,{subtree:!0,childList:!0,attributes:!0}),t._wpformsPaymentLayoutObserver=a}},queryAllDeep(e,t){let a=[];var r=new Set;let o=[e||l];for(;o.length;){var n=o.shift();if(n&&!r.has(n)){r.add(n);try{"function"==typeof n.querySelectorAll&&n.querySelectorAll(t).forEach(e=>a.push(e))}catch(e){}n.shadowRoot&&o.push(n.shadowRoot);try{"function"==typeof n.querySelectorAll&&n.querySelectorAll("*").forEach(e=>{e.shadowRoot&&o.push(e.shadowRoot)})}catch(e){}}}return Array.from(new Set(a))},fixPaymentShadowLayout(e){try{(e instanceof Element&&e.matches(".wpforms-paypal-commerce-fastlane-payment-component")?[e]:Array.from((e||l).querySelectorAll(".wpforms-paypal-commerce-fastlane-payment-component"))).forEach(e=>{let t=0;try{var a=e.getBoundingClientRect?e.getBoundingClientRect():null;t=Math.max(0,(a&&"number"==typeof a.width?a.width:0)||e.offsetWidth||0)}catch(e){}if(t&&!(160<=t)){try{y.queryAllDeep(e,"axo-selected-card").forEach(e=>{let t=e.parentElement||null;t||"function"!=typeof e.getRootNode||(e=e.getRootNode())&&e.host&&(t=e.host);let a=t;try{for(;a;){var r=o.getComputedStyle?o.getComputedStyle(a):null;if(r&&"flex"===r.display)break;a=a.parentElement}}catch(e){}if(a&&a.style)try{a.style.setProperty("flex-wrap","wrap","important")}catch(e){}})}catch(e){}y.queryAllDeep(e,"axo-credit-card-fields").forEach(t=>{try{Array.from(t.classList||[]).filter(e=>e&&-1!==e.indexOf("flex-row")).forEach(e=>t.classList.remove(e)),t.classList.add("flex-col")}catch(e){}try{t.style.setProperty("display","flex","important"),t.style.setProperty("flex-direction","column","important")}catch(e){}try{t.shadowRoot&&(t.shadowRoot.querySelectorAll('[class*="flex-row"]').forEach(t=>{try{Array.from(t.classList||[]).filter(e=>e&&-1!==e.indexOf("flex-row")).forEach(e=>t.classList.remove(e))}catch(e){}t.style.setProperty("display","flex","important"),t.style.setProperty("flex-direction","column","important")}),t.shadowRoot.querySelectorAll(".fields, .container, .wrapper").forEach(e=>{e.style.setProperty("display","flex","important"),e.style.setProperty("flex-direction","column","important")}))}catch(e){}try{t.querySelectorAll('[slot^="shadow-slot-"]').forEach(e=>{e.style.setProperty("display","block","important"),e.style.setProperty("width","100%","important"),e.style.setProperty("flex","0 0 100%","important")})}catch(e){}}),e.querySelectorAll("paypal-payment").forEach(e=>{if(e.shadowRoot)try{e.shadowRoot.querySelectorAll('[class*="flex-row"]').forEach(t=>{try{Array.from(t.classList||[]).filter(e=>e&&-1!==e.indexOf("flex-row")).forEach(e=>t.classList.remove(e))}catch(e){}t.style.setProperty("display","flex","important"),t.style.setProperty("flex-direction","column","important")}),e.shadowRoot.querySelectorAll(".fields, .container, .wrapper").forEach(e=>{e.style.setProperty("display","flex","important"),e.style.setProperty("flex-direction","column","important")})}catch(e){}try{e.querySelectorAll('[slot^="shadow-slot-"]').forEach(e=>{e.style.setProperty("display","block","important"),e.style.setProperty("width","100%","important"),e.style.setProperty("flex","0 0 100%","important")})}catch(e){}})}})}catch(e){console.debug("Fastlane payment layout fix skipped:",e)}},observeWatermark(t){if(t&&!t._wpformsWatermarkObserver){let e=()=>y.fixWatermarkShadowHeights(t);e();var a=new MutationObserver(()=>{e()});a.observe(t,{subtree:!0,childList:!0,attributes:!0}),t._wpformsWatermarkObserver=a}},getFormCache(e){e=e.data("formid");return void 0===e?{}:(y.forms[e]||(y.forms[e]={initialized:!1,emailSubmitted:!1,options:null,identity:null,FastlanePaymentComponent:null,FastlaneWatermarkComponent:null,paymentComponent:null}),y.forms[e])},safeToggle(e,t){e&&(e.style.display=t?"":"none")},clearFieldError(e){var t;e&&(t=e.classList?.contains("wpforms-paypal-commerce-fastlane-container")?e:e.closest?.(".wpforms-paypal-commerce-fastlane-container")||e.parentNode,(e=e.classList?.contains("wpforms-paypal-commerce-fastlane-container")&&e.querySelector("input")||e).removeAttribute("aria-invalid"),e.classList.remove("wpforms-error"),t)&&t.querySelectorAll("label.wpforms-error, em.wpforms-error").forEach(e=>e.remove())},showFieldError(e,t){var a,r;e&&(a=e.classList?.contains("wpforms-paypal-commerce-fastlane-container")?e:e.closest?.(".wpforms-paypal-commerce-fastlane-container")||e.parentNode,e=e.classList?.contains("wpforms-paypal-commerce-fastlane-container")&&e.querySelector("input")||e,y.clearFieldError(e),e.setAttribute("aria-invalid","true"),e.classList.add("wpforms-error"),(r=l.createElement("label")).className="wpforms-error",e.id&&r.setAttribute("for",e.id),r.textContent=t,a)&&a.appendChild(r)},async renderWatermark(e,t){try{await(await e({includeAdditionalInfo:!0})).render(t),l.querySelectorAll(t).forEach(y.observeWatermark)}catch(e){console.log("Fastlane watermark render failed:",e)}},async handleEmailSubmitInternal({identity:e,form:t,emailSubmitButton:a,paymentSection:r,paymentComponent:o,$form:n}){var t=t.elements.email,l=t.value,s=y.getFormCache(n);a.disabled=!0;try{n&&n.length&&(n.find(".wpforms-paypal-commerce-messages").hide().empty(),(i=n.find(".wpforms-field-paypal-commerce, .wpforms-paypal-commerce-fastlane-payment")).find("label.wpforms-error, em.wpforms-error").remove(),i.find(".wpforms-error").removeClass("wpforms-error")),n.find(".wpforms-paypal-commerce-fastlane-email-input").val(l),y.clearFieldError(t),s.emailSubmitted=!1,y.safeToggle(r,!1);var i,m=await e.lookupCustomerByEmail(l),p=m?.customerContextId,c=await e.triggerAuthenticationFlow(p);return o?.render&&(await o.render(".wpforms-paypal-commerce-fastlane-payment-component"),n.find(".wpforms-paypal-commerce-fastlane-payment-component").each((e,t)=>{y.observePaymentLayout(t)}),y.safeToggle(r,!0),s.emailSubmitted=!0),c}catch(e){y.showFieldError(t,wpforms_paypal_commerce.i18n.fastlane_account_error)}finally{a.disabled=!1}},isRenderCardComponent(e){return e?.fastlane?.billingAddress&&o?.WPForms?.Address},async getFastlaneProperties(e){var t=await o.wpforms_paypal_single.Fastlane(),{identity:a,FastlaneWatermarkComponent:r}=(t.setLocale("en_us"),t),e=y.isRenderCardComponent(e)?t.FastlaneCardComponent:t.FastlanePaymentComponent,t=await e();return{identity:a,FastlanePaymentComponent:e,FastlaneWatermarkComponent:r,paymentComponent:t}},async initFormFastlane(e,t){var a=y.getFormCache(e);if(y.isFastlaneAvailable()&&!a.initialized)try{var r=await y.getFastlaneProperties(t),o=e.find(".wpforms-paypal-commerce-fastlane-watermark-container");o.length&&(await y.renderWatermark(r.FastlaneWatermarkComponent,".wpforms-paypal-commerce-fastlane-watermark-container"),o.each((e,t)=>y.observeWatermark(t))),a.initialized=!0,a.options=t,a.identity=r.identity,a.FastlanePaymentComponent=r.FastlanePaymentComponent,a.FastlaneWatermarkComponent=r.FastlaneWatermarkComponent,a.paymentComponent=r.paymentComponent}catch(e){console.log("Fastlane init error:",e)}},getFormOptions(e){var t=wpforms_paypal_commerce.payment_options??{};return!(!t||!t[e]?.fastlane)&&t[e]},getPaymentTokenProperties(e){var t=y.getFormOptions(e.data("formid"));if(!y.isRenderCardComponent(t))return{};e=e.data("formid"),t=t.fastlane.billingAddress,e=WPForms.Address.getFieldValue(a(`#wpforms-${e}-field_${t}-container`));if(WPForms.Address.isValidAddress(e))return{billingAddress:e};throw new Error("invalid_billing_address")},isBillingAddressError(e){return"invalid_billing_address"===e?.message||!!e?.details?.invalidFields?.length&&e.details.invalidFields.some(e=>WPForms.Address.requiredAddressFields.includes(e))},async handleEmailSubmit(r){try{var o=y.getFormCache(r);let{identity:e,paymentComponent:t,FastlanePaymentComponent:a}=o;if(!e)throw new Error("Fastlane identity is not initialized.");if(!t&&"function"==typeof a)try{t=await a(),o.paymentComponent=t}catch(e){console.log("Fastlane payment component lazy init failed:",e)}var{form:n,emailSubmitButton:l,paymentSection:s}=y.getDomRefs(r);return n&&l?y.handleEmailSubmitInternal({identity:e,form:n,emailSubmitButton:l,paymentSection:s,paymentComponent:t,$form:r}):!1}catch(e){return console.log("Fastlane handleEmailSubmit failed:",e),!1}},async tokenize(e){if(!e?.length)throw new Error("Fastlane: missing form element.");if(!y.isFastlaneAvailable())throw new Error("Fastlane SDK not available.");try{var t=e.data("formid"),a=(void 0!==t&&y.forms[t]||{}).paymentComponent;if(!a)throw new Error("Fastlane: payment component not initialized.");var r=y.getPaymentTokenProperties(e),o=await a.getPaymentToken(r);if(o?.id)return o.id;throw new Error("Fastlane: payment token not found.")}catch(e){throw console.error("Fastlane tokenize failed:",e),e}}};return y})(document,window,jQuery);WPFormsPaypalCommerceFastlane.init();