1((n,p)=>{XF.PaymentProviderContainer=XF.Element.newHandler({options:{},init(){if(this.target.matches("form"))XF.on(this.target,"ajax-submit:response",this.submitResponse.bind(this));else console.error("%o is not a form",this.target)},submitResponse(a){const {data:c}=a;if(c.providerHtml){a.preventDefault();const k=this.target.parentNode.querySelector(`.js-paymentProviderReply-${c.purchasableTypeId}${c.purchasableId}`);XF.setupHtmlInsert(c.providerHtml,(g,e)=>{k.innerHTML=g})}}});XF.BraintreePaymentForm= 2XF.Element.newHandler({options:{clientToken:null,formStyles:".js-formStyles"},abortController:null,init(){XF.on(this.target,"submit",this.submit.bind(this));XF.loadScripts(["https://js.braintreegateway.com/web/3.19.0/js/client.min.js","https://js.braintreegateway.com/web/3.19.0/js/hosted-fields.min.js"],this.postInit.bind(this));const a=this.target.closest(".overlay-container"),c=XF.DataStore.get(a,"overlay");if(c)c.on("overlay:hidden",()=>c.destroy())},postInit(){if(this.options.clientToken){var a= 3this.target.querySelector(this.options.formStyles)||{};a=a?JSON.parse(a.innerHTML):{};var c=XF.StyleVariation.getVariation(),k=a[c];braintree.client.create({authorization:this.options.clientToken},(g,e)=>{g?XF.alert(g.message):braintree.hostedFields.create({client:e,styles:k,fields:{number:{selector:"#card-number",placeholder:"1234 1234 1234 1234"},expirationDate:{selector:"#card-expiry",placeholder:"MM / YY"},cvv:{selector:"#card-cvv",placeholder:"CVC"}}},(h,l)=>{if(h)XF.alert(h.message);else{h= 4l._fields;for(const b of Object.keys(h))h[b].containerElement.classList.contains("is-disabled");l.on("cardTypeChange",b=>{b=1===b.cards.length?b.cards[0].type:"unknown";const f={visa:"fa-cc-visa","master-card":"fa-cc-mastercard","american-express":"fa-cc-amex",discover:"fa-cc-discover","diners-club":"fa-cc-diners",jcb:"fa-cc-jcb",unionpay:"fa-credit-card-alt",maestro:"fa-credit-card-alt",unknown:"fa-credit-card-alt"};if(b){const d=p.querySelector("#brand-icon");let m="fa-credit-card-alt";b in f&& 5(m=f[b]);d.setAttribute("class","");d.classList.add("fa");d.classList.add("fa-lg");d.classList.add(m)}});XF.on(this.target,"submit",b=>{b.preventDefault();l.tokenize((f,d)=>{f?(d=f.message,(f=f.details.invalidFieldKeys)&&(d+=` (${f.join(", ")})`),XF.alert(d)):this.response(d)})})}})})}else console.error("Form must contain a data-client-token attribute.")},submit(a){a.preventDefault();a.stopPropagation()},response(a){this.abortController&&this.abortController.abort();({abortController:a}=XF.ajaxAbortable("post", 6this.target.getAttribute("action"),a,this.complete.bind(this),{skipDefaultSuccess:!0}));a&&(this.abortController=a)},complete(a){this.abortController=null;a.redirect&&XF.redirect(a.redirect)}});XF.BraintreeApplePayForm=XF.Element.newHandler({options:{clientToken:null,currencyCode:"",boardTitle:"",title:"",amount:""},abortController:null,init(){XF.loadScripts(["https://js.braintreegateway.com/web/3.19.0/js/client.min.js","https://js.braintreegateway.com/web/3.19.0/js/apple-pay.min.js"],this.postInit.bind(this))}, 7postInit(){if(this.options.clientToken){var a=!1;n.ApplePaySession&&ApplePaySession.canMakePayments()&&(a=!0);a&&braintree.client.create({authorization:this.options.clientToken},(c,k)=>{c?XF.alert(c.message):braintree.applePay.create({client:k},(g,e)=>{g?XF.alert(g.message):ApplePaySession.canMakePaymentsWithActiveCard(e.merchantIdentifier).then(h=>{h?(this.target.classList.remove("u-hidden"),h=this.target.querySelector(".js-applePayButton"),XF.on(h,"click",()=>{const l=e.createPaymentRequest({total:{label:this.options.title, 8amount:this.options.amount}}),b=new ApplePaySession(2,l);b.onvalidatemerchant=f=>{e.performValidation({validationURL:f.validationURL,displayName:this.options.boardTitle},(d,m)=>{d?(XF.alert(d.message),b.abort()):b.completeMerchantValidation(m)})};b.onpaymentauthorized=f=>{e.tokenize({token:f.payment.token},(d,m)=>{d?(XF.alert(d.message),b.completePayment(ApplePaySession.STATUS_FAILURE)):(b.completePayment(ApplePaySession.STATUS_SUCCESS),this.response(m))})};b.begin()})):console.warn("No Apple Pay card available")})})})}else console.error("Form must contain a data-client-token attribute.")},
9response(a){this.abortController&&this.abortController.abort();({abortController:a}=XF.ajaxAbortable("post",this.target.getAttribute("action"),a,this.complete.bind(this),{skipDefaultSuccess:!0}));a&&(this.abortController=a)},complete(a){this.abortController=null;a.redirect&&XF.redirect(a.redirect)}});XF.BraintreePayPalForm=XF.Element.newHandler({options:{clientToken:null,paypalButton:"#paypal-button",testPayments:!1},abortController:null,init(){XF.loadScripts(["https://www.paypalobjects.com/api/checkout.js", 10"https://js.braintreegateway.com/web/3.19.0/js/client.min.js","https://js.braintreegateway.com/web/3.19.0/js/paypal-checkout.min.js","https://js.braintreegateway.com/web/3.19.0/js/data-collector.min.js"],this.postInit.bind(this))},postInit(){this.options.clientToken?braintree.client.create({authorization:this.options.clientToken},(a,c)=>{a?XF.alert(a.message):braintree.paypalCheckout.create({client:c},(k,g)=>{k?XF.alert(k.message):paypal.Button.render({env:this.options.testPayments?"sandbox":"production", 11payment(){return g.createPayment({flow:"vault",enableShippingAddress:!1})},onAuthorize(e,h){return g.tokenizePayment(e).then(l=>{this.response(l)})},onCancel(e){console.log("checkout.js payment cancelled",JSON.stringify(e,0,2))},onError(e){XF.alert(e.message)}},this.options.paypalButton)})}):console.error("Form must contain a data-client-token attribute.")},response(a){this.abortController&&this.abortController.abort();({abortController:a}=XF.ajaxAbortable("post",this.target.getAttribute("action"), 12a,this.complete.bind(this),{skipDefaultSuccess:!0}));a&&(this.abortController=a)},complete(a){this.abortController=null;a.redirect&&XF.redirect(a.redirect)}});XF.Element.register("payment-provider-container","XF.PaymentProviderContainer");XF.Element.register("braintree-payment-form","XF.BraintreePaymentForm");XF.Element.register("braintree-apple-pay-form","XF.BraintreeApplePayForm");XF.Element.register("braintree-paypal-form","XF.BraintreePayPalForm")})(window,document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.