PageSourceSearch

https://account.berxi.com/account/_nuxt/Dvx0nTta.js

js berxi.com collected 2026-09-25 20:14:18 UTC 18,463 bytes, 2 lines download raw bytes

1import Fe from"./BrOYCt9J.js";import Pe from"./DGCFr17p.js";import Te from"./C9nuPEVu.js";import Me from"./B5zKzLGF.js";import Be from"./BRFsTv2j.js";import Le from"./CVAz1h7h.js";import{f as Ze,g as ze,e as J,o as b,c as h,k as G,ap as fe,a as r,h as _,p as ie,j as ne,t as N,F as be,b as T,G as je,x as K,i as ye,R as ve,m,n as ee,T as xe,X as $e,aq as Ae}from"./pvY5A-1l.js";import{u as he}from"./DGmRt8qI.js";import"./BsfsfSVP.js";function ge(p){const M=p.split(".")[1];if(typeof window>"u"||!M||/[^A-Za-z0-9-_]/.test(M))return{};const z=M.replace(/-/g,"+").replace(/_/g,"/");try{const l=decodeURIComponent(window.atob(z).split("").map(function(B){return"%"+("00"+B.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(l)}catch{return{}}}const te=new Map,Oe=(p,M={})=>{if(!p)return Promise.reject(new Error("useScriptOnce: missing src"));if(typeof document>"u")return Promise.resolve(!1);if(te.has(p))return te.get(p);const{integrity:z,crossOrigin:l,async:B=!0,type:L="text/javascript",dataset:E={},attributes:f={}}=M,j=new Promise((w,$)=>{const X=document.querySelector(`script[src="${p}"]`),o=X||document.createElement("script");if(o.dataset?.scriptOnceLoaded==="true"||o.getAttribute("data-script-once-loaded")==="true"){w(!0);return}const d=()=>{o.dataset.scriptOnceLoaded="true",o.setAttribute("data-script-once-loaded","true"),w(!0)},c=()=>{te.delete(p),$(new Error(`Failed to load script: ${p}`))};if(o.addEventListener("load",d,{once:!0}),o.addEventListener("error",c,{once:!0}),!X){o.src=p,o.type=L,o.async=B,z&&(o.integrity=z),l&&(o.crossOrigin=l);for(const[C,i]of Object.entries(E||{}))o.dataset[C]=String(i);for(const[C,i]of Object.entries(f||{}))o.setAttribute(C,String(i));document.head.appendChild(o)}});return te.set(p,j),j},Ye={class:"fixed h-screen w-screen top-0 left-0 backdrop-blur-lg bg-black/50 flex items-center justify-center z-50 p-4"},Ue={class:"bg-white p-6 rounded-lg shadow-lg max-w-md relative"},qe={class:"font-bold text-lg flex items-center gap-2 mb-4"},Ve=["inert"],He={key:0,class:"flex flex-col gap-4"},Re={key:0,class:"flex items-center gap-2 py-4 mb-8 text-sm border-b text-medium-gray"},Je={id:"errors-output",role:"alert","aria-live":"polite",class:"mb-8 w-full rounded px-3 py-2 text-sm text-error-red bg-error-red-light flex items-center gap-2"},Ge=["aria-busy"],Ke={key:0,class:"absolute inset-0 z-20 flex items-center justify-center rounded bg-white/70 backdrop-blur-[1px]",role:"status","aria-live":"polite"},Xe={class:"flex items-center gap-3 px-4 py-3 text-sm bg-white border rounded shadow-sm border-lighter-gray text-medium-gray"},Qe={class:"flex flex-col gap-8"},We={class:"flex flex-col gap-2"},et={class:"relative"},tt=["aria-invalid","aria-describedby","aria-disabled"],at={key:0,class:"flex items-center justify-center px-2 py-1 bg-white border rounded pointer-events-none border-lighter-gray","aria-hidden":"true"},rt={key:0,id:"cardNumber-error",class:"text-sm text-limited-red"},it={class:"flex flex-col gap-2"},nt={class:"relative w-full max-w-[140px]"},ot={class:"absolute inset-y-0 left-0 flex items-center pl-4 pointer-events-none"},lt=["value","disabled","aria-invalid","aria-describedby"],st={key:0,id:"expDate-error",class:"text-sm text-limited-red"},dt={class:"flex flex-col gap-2"},ct={class:"w-full max-w-[260px]"},ut=["aria-invalid","aria-describedby","aria-disabled"],mt={key:0,id:"securityCode-error",class:"text-sm text-limited-red"},pt={class:"flex flex-col gap-2"},ft=["disabled","aria-invalid","aria-describedby"],bt={key:0,id:"cardholderName-error",class:"text-sm text-limited-red"},yt={class:"flex flex-col gap-2"},vt=["disabled","aria-invalid","aria-describedby"],xt={key:0,id:"billingZip-error",class:"text-sm text-limited-red"},ht={class:"sr-only","aria-live":"polite"},gt={key:0,class:"flex items-center justify-center gap-2"},Ct={key:1},Pt={__name:"form",props:{sessionID:{type:String,required:!1,default:null},flexContext:{type:String,required:!1,default:null},submitMode:{type:String,required:!1,default:"transaction",validator:p=>["transaction","token"].includes(p)},autoRedirect:{type:Boolean,required:!1,default:!0},showSubmitButton:{type:Boolean,required:!1,default:!0},submitButtonText:{type:String,required:!1,default:"submit"},showSecureCheckout:{type:Boolean,required:!1,default:!1}},emits:["ready","tokenized","transaction-complete"],setup(p,{expose:M,emit:z}){const l=p,B=z,L=m({}),E=m(!1),f=m(!1),j=m(!1),w=m(null),$=m(""),X=m(null),o=m(""),A=m(""),d=m(""),c=m(""),C=m(""),i=xe({cardNumber:"",expDate:"",securityCode:"",cardholderName:"",billingZip:""}),D=xe({cardNumber:{empty:!0,valid:!1},securityCode:{empty:!0,valid:!1}}),O=m(null),v=(t,e)=>{i[t]=e?String(e):""},q=t=>{i[t]=""},oe=()=>
1{Object.keys(i).forEach(t=>{i[t]=""})},Ce=ee(()=>Object.values(i).some(t=>t)),we=t=>{const e=(t||"").trim();if(!e){d.value="",c.value="";return}const n=e.match(/^(\d{2})\/(\d{4})$/);if(!n){d.value="",c.value="";return}const a=Number.parseInt(n[1],10),g=Number.parseInt(n[2],10);if(!Number.isFinite(a)||a<1||a>12){d.value="",c.value="";return}if(!Number.isFinite(g)||g<1900){d.value="",c.value="";return}d.value=n[1],c.value=n[2]},_e=t=>{C.value=String(t??""),we(C.value)},ke=()=>{d.value&&c.value&&(C.value=`${d.value}/${c.value}`)},Q=m(null),W=m(null),ae=async()=>(w.value=null,await le(),await de(),"Payment form setup complete"),le=async()=>{try{if(l.flexContext)return{flexContext:l.flexContext};if(!l.sessionID)throw new Error("Missing sessionID or flexContext");const t=await he().concordeFetch(`/v1/payment/sessions/${l.sessionID}`,{headers:{Accept:"application/json"}});return L.value=t||{},t}catch(t){return console.error("Failed to fetch payment session data:",t),w.value=t?.message||t,null}},S=ee(()=>l.flexContext||L.value?.paymentDetails?.flexContext||L.value?.flexContext||null),I=ee(()=>E.value||f.value),F=ee(()=>S.value&&ge(S.value)||null);let k=null,re=null,Y=null,U=null;const V=m(null),H=t=>{const e=t?.message||t;w.value=e,$.value=e?String(e):""},R=()=>{w.value=null,$.value=""},se=()=>{try{Y?.unload?.()}catch{}try{U?.unload?.()}catch{}try{k?.destroy?.()}catch{}Y=null,U=null,k=null,re=null,D.cardNumber={empty:!0,valid:!1},D.securityCode={empty:!0,valid:!1},O.value=null;try{Q.value&&(Q.value.innerHTML="")}catch{}try{W.value&&(W.value.innerHTML="")}catch{}},Ne=()=>{oe();let t=!0;(!o.value||!o.value.trim())&&(v("cardholderName","Name on card is blank"),t=!1);const e=(A.value||"").trim();if(e?/^\d{5}$/.test(e)||(v("billingZip","ZIP Code is incorrect"),t=!1):(v("billingZip","ZIP Code is blank"),t=!1),!d.value||!c.value)v("expDate",C.value.trim()?"Invalid date format. Expected format: MM/YYYY":"Expiration date is blank"),t=!1;else{const n=Number.parseInt(d.value,10),a=Number.parseInt(c.value,10);(!Number.isFinite(n)||n<1||n>12||!Number.isFinite(a)||new Date(a,n,0,23,59,59,999).getTime()<Date.now())&&(v("expDate","Expiration date is incorrect"),t=!1)}return k&&(D.cardNumber?.empty?(v("cardNumber","Card number is blank"),t=!1):D.cardNumber?.valid===!1&&(v("cardNumber","Card number is incorrect"),t=!1),D.securityCode?.empty?(v("securityCode","Security code is blank"),t=!1):D.securityCode?.valid===!1&&(v("securityCode","Security code is incorrect"),t=!1)),t},Ee=t=>{const e=t?.message||t,n=e?String(e):"Payment information is invalid",a=n.toLowerCase();return a.includes("security")||a.includes("cvv")||a.includes("cvc")?(v("securityCode",n),!0):a.includes("expiration")||a.includes("expir")||a.includes("month")||a.includes("year")?(v("expDate",n),!0):a.includes("card number")||a.includes("card")&&a.includes("number")||a.includes("number")?(v("cardNumber",n),!0):!1},de=async()=>{if(!E.value){E.value=!0;try{if(R(),!S.value)throw new Error("Missing flexContext");if(!F.value?.ctx?.[0]?.data?.clientLibrary)throw new Error("Invalid flexContext: missing clientLibrary");const t=F.value.ctx[0].data.clientLibrary,e=F.value.ctx[0].data.clientLibraryIntegrity;if(V.value&&V.value!==S.value&&se(),k&&V.value===S.value)return;if(await Oe(t,{integrity:e,crossOrigin:e?"anonymous":void 0,dataset:{microformLib:"true"}}),await $e(),!Q.value||!W.value)throw new Error("Payment form containers are not available");const n={input:{"font-size":"18px","font-family":"Proxima Nova, fallback, Helvetica, Arial, sans-serif",color:"#54565a","background-color":"transparent",border:"none",padding:"0",height:"44px","line-height":"27px","box-sizing":"border-box"},focus:{color:"#54565a"},disabled:{cursor:"not-allowed","background-color":"transparent"},valid:{color:"#54565a"},invalid:{color:"#54565a"}};if(typeof Flex>"u")throw new Error("Microform library loaded, but Flex is unavailable");re=new Flex(S.value),k=re.microform("card",{styles:n}),Y=k.createField("number",{placeholder:"Enter card number"}),U=k.createField("securityCode",{placeholder:"•••"});try{typeof Y?.on=="function"&&Y.on("change",a=>{if(console.log("🔍 Cybersource change event data:",a),D.cardNumber={empty:!!a?.empty,valid:!!a?.valid},a?.valid&&q("cardNumber"),a?.card&&a.card.length>0){console.log("💳 Card object:",a.card[0]);const g=a.card[0],P=g.brandedName||g.name||g.cardBrandName||g.cybsCardType;
1console.log("🏷️ Detected brand:",P),O.value=P||null}else a?.empty&&(O.value=null);console.log("📊 detectedCardBrand.value:",O.value)}),typeof U?.on=="function"&&U.on("change",a=>{D.securityCode={empty:!!a?.empty,valid:!!a?.valid},a?.valid&&q("securityCode")})}catch{}Y.load("#number-container"),U.load("#securityCode-container"),V.value=S.value,B("ready")}catch(t){console.error("Failed to initialize payment form:",t),w.value=t?.message||t}finally{E.value=!1}}},ce=()=>{if(j.value||E.value||f.value)return;if(!k){H("Payment form is not ready. Please try again.");return}if(!Ne()){R();return}const t={expirationMonth:d.value,expirationYear:c.value};R(),f.value=!0,X.value=crypto.randomUUID(),k.createToken(t,function(e,n){if(e){console.error("Microform tokenization error:",e),Ee(e)||H(e.message),f.value=!1;return}let a;try{a=ge(n)}catch(y){console.error("Failed to parse payment token:",y),H(y?.message||"Failed to process payment token. Please try again."),f.value=!1;return}const g=A.value;let P,Z=g||void 0;!P&&F.value?.email&&(P=F.value.email),!Z&&F.value?.billingPostalCode&&(Z=F.value.billingPostalCode);let u=a?.content?.paymentInformation?.card?.number?.detectedCardTypes?.[0],s=a.cardTypeName;(!u||!s)&&a.card&&(u=a.card.typeCode||u,s=a.card.typeName||s),!s&&u&&(u==="001"?s="Visa":u==="002"?s="MasterCard":u==="003"?s="Amex":u==="004"?s="Discover":u==="005"?s="Diners Club":u==="007"?s="JCB":u==="042"&&(s="Maestro")),u||(u="001"),s||(s="Visa"),Z||(Z="11111");const x={token:n,parsedToken:a,cardTypeCode:u,cardTypeName:s,cardExpirationMonth:parseInt(d.value,10),cardExpirationYear:parseInt(c.value,10),billingEmail:P,billingPostalCode:Z,cardHolderName:o.value,cardContext:S.value,sessionID:l.sessionID||L.value?.sessionID,paymentMethod:"CreditCard"};if(l.submitMode==="token"){B("tokenized",x),f.value=!1;return}const Ie={cardHolderName:x.cardHolderName,cardType:x.cardTypeCode,cardTypeCode:x.cardTypeCode,cardTypeName:x.cardTypeName,cardExpirationMonth:x.cardExpirationMonth,cardExpirationYear:x.cardExpirationYear,billingEmail:x.billingEmail,billingPostalCode:x.billingPostalCode,cardContext:x.cardContext,cardData:x.token,sessionID:x.sessionID,paymentMethod:x.paymentMethod};he().concordeFetch("/v1/payment/transactions",{method:"POST",headers:{"Content-Type":"application/json"}},Ie).then(y=>{if(y?.status==="Error"){const pe=y.errorMessage||"Payment failed";throw H(pe),new Error(`${y.errorType||"TransactionError"}: ${pe}`)}return y}).then(y=>{R(),j.value=!0,B("transaction-complete",y),l.autoRedirect&&y?.redirectURL&&(window.location.href=y.redirectURL)}).catch(y=>{H(y.message)}).finally(()=>{f.value=!1})})},De=()=>{l.showSubmitButton&&(E.value||f.value||ce())};M({submitPayment:ce});const ue=async()=>{!l.flexContext&&!l.sessionID||await ae()};Ze(async()=>{await ue()}),ze(()=>{se()});const Se=()=>{R(),oe(),f.value=!1};return J(()=>[l.sessionID,l.flexContext],async()=>{await ue()}),J(o,t=>{t&&t.trim()&&q("cardholderName")}),J(A,t=>{const e=(t||"").trim();/^\d{5}$/.test(e)&&q("billingZip")}),J([d,c],()=>{d.value&&c.value&&q("expDate")}),J([d,c],()=>{if(d.value&&c.value){const t=`${d.value}/${c.value}`;C.value!==t&&(C.value=t)}},{immediate:!0}),(t,e)=>{const n=Fe,a=Pe,g=Te,P=Me,Z=Be,me=Le,u=Ae("maska");return b(),h(be,null,[G(r("div",Ye,[r("div",Ue,[r("button",{class:"absolute top-2 right-2",onClick:Se},[_(n,{name:"mdi:close",class:"w-6 h-6"})]),r("h2",qe,[_(n,{name:"mdi:alert",class:"w-6 h-6 text-error-red"}),e[3]||(e[3]=ie(" Payment Failure ",-1))]),e[4]||(e[4]=r("span",null,"Your payment failed to process. Please check and update your payment method if needed before retrying your payment.",-1))])],512),[[fe,$.value]]),r("div",{class:"w-full rounded border border-lighter-gray bg-white p-8 font-sans text-[18px] leading-[27px]",inert:!!$.value||j.value},[w.value&&!V.value?(b(),h("div",He,[_(a,{header:"Unable to load payment form"},{default:ne(()=>[ie(N(w.value),1)]),_:1}),_(g,{size:"small",onClick:ae},{default:ne(()=>[...e[5]||(e[5]=[ie(" Try again ",-1)])]),_:1})])):(b(),h(be,{key:1},[p.showSecureCheckout?(b(),h("div",Re,[_(n,{name:"mdi:lock",class:"w-4 h-4"}),e[6]||(e[6]=r("span",{class:"font-semibold"},"Secure Checkout",-1))])):T("",!0),G(r("div",Je,[_(n,{name:"mdi:alert",class:"w-4 h-4"}),e[7]||(e[7]=r("span",{class:"font-bold"},"Some fields were left blank or incorrectly formatted.",-1))],512),[[fe,Ce.value]]),r("form",{id:"payment-form",method:"post",class:"relative","aria-busy":I.value?"true":"false",onSubmit:je(De,["prevent"])},[I.value?(b(),h("div",Ke,[r("div",Xe,[e[8]||(e[8]=r("span",{class:"w-4 h-4 border-2 rounded-full border-medium-gray/30 border-t-medium-gray animate-spin","aria-hidden":"true"},null,-1)),r("span",null,N(f.value?"Submitting…":"Loading…"),1)])])):T("",!0),r("div",Qe,[r("div",We,[e[9]||(e[9]=r("label",{id:"cardNumber-label",class:"font-semibold text-black"},"Card number",-1)),r("div",et,[r("div",{class:K(["flex h-[44px] items-center gap-3 input-custom !py-0 focus-within:border-brand-blue focus-within:ring-2 focus-within:ring-brand-blue",[i.cardNumber?"input-custom-error":""]]),"aria-invalid":i.cardNumber?"true":"false","aria-describedby":i.cardNumber?"cardNumber-error":void 0,"aria-disabled":I.value?"true":"false"},[r("div",{id:"number-container",ref_key:"numberContainerEl",ref:Q,class:"flex-1 w-full h-full"},null,512),O.value?(b(),h("div",at,[_(P,{"card-name":O.value,"fallback-icon":"mdi:credit-card-outline","icon-class":"w-7 h-7","use-brand-color":!0}
1,null,8,["card-name"])])):(b(),ye(n,{key:1,name:"mdi:credit-card-outline",class:"w-6 h-6 pointer-events-none text-brand-blue","aria-hidden":"true"}))],10,tt)]),i.cardNumber?(b(),h("p",rt,N(i.cardNumber),1)):T("",!0)]),r("div",it,[e[10]||(e[10]=r("label",{for:"expDate",class:"font-semibold text-black"},"Expiration date",-1)),r("div",nt,[r("div",ot,[_(n,{name:"mdi:calendar-blank-outline",class:"w-6 h-6 text-brand-blue","aria-hidden":"true"})]),G(r("input",{id:"expDate",value:C.value,type:"text",inputmode:"numeric",autocomplete:"cc-exp",placeholder:"mm/yyyy",maxlength:"7","data-maska":"##/####",disabled:I.value,"aria-invalid":i.expDate?"true":"false","aria-describedby":i.expDate?"expDate-error":void 0,class:K(["input-custom !pl-12 placeholder:text-medium-gray placeholder:opacity-100 disabled:opacity-60 disabled:cursor-not-allowed",i.expDate?"input-custom-error":""]),onInput:e[0]||(e[0]=s=>_e(s.target.value)),onBlur:ke},null,42,lt),[[u]])]),i.expDate?(b(),h("p",st,N(i.expDate),1)):T("",!0)]),r("div",dt,[e[11]||(e[11]=r("label",{for:"securityCode-container",class:"font-semibold text-black"},"Security code",-1)),r("div",ct,[r("div",{class:K(["flex h-[44px] items-center gap-3 input-custom !py-0 focus-within:border-brand-blue focus-within:ring-2 focus-within:ring-brand-blue",[i.securityCode?"input-custom-error":""]]),"aria-invalid":i.securityCode?"true":"false","aria-describedby":i.securityCode?"securityCode-error":void 0,"aria-disabled":I.value?"true":"false"},[r("div",{id:"securityCode-container",ref_key:"securityCodeContainerEl",ref:W,class:"flex-1 w-full h-full"},null,512),_(n,{name:"mdi:shield-lock-outline",class:"w-6 h-6 pointer-events-none text-brand-blue","aria-hidden":"true"})],10,ut)]),i.securityCode?(b(),h("p",mt,N(i.securityCode),1)):T("",!0)]),r("div",pt,[e[12]||(e[12]=r("label",{for:"cardholderName",class:"font-semibold text-black"},"Name on card",-1)),G(r("input",{id:"cardholderName","onUpdate:modelValue":e[1]||(e[1]=s=>o.value=s),class:K(["input-custom placeholder:text-medium-gray placeholder:opacity-100 disabled:opacity-60 disabled:cursor-not-allowed",i.cardholderName?"input-custom-error":""]),name:"cardholderName",placeholder:"Name on the card",autocomplete:"cc-name",disabled:I.value,"aria-invalid":i.cardholderName?"true":"false","aria-describedby":i.cardholderName?"cardholderName-error":void 0},null,10,ft),[[ve,o.value]]),i.cardholderName?(b(),h("p",bt,N(i.cardholderName),1)):T("",!0)]),r("div",yt,[e[13]||(e[13]=r("label",{for:"billingZip",class:"font-semibold text-black"},"ZIP Code",-1)),G(r("input",{id:"billingZip","onUpdate:modelValue":e[2]||(e[2]=s=>A.value=s),class:K(["input-custom max-w-[130px] placeholder:text-medium-gray placeholder:opacity-100 disabled:opacity-60 disabled:cursor-not-allowed",i.billingZip?"input-custom-error":""]),name:"billingZip",pattern:"[0-9]{5}",placeholder:"12345",autocomplete:"postal-code",disabled:I.value,"aria-invalid":i.billingZip?"true":"false","aria-describedby":i.billingZip?"billingZip-error":void 0},null,10,vt),[[ve,A.value]]),i.billingZip?(b(),h("p",xt,N(i.billingZip),1)):T("",!0)])]),e[15]||(e[15]=r("input",{id:"flexresponse",type:"hidden",name:"flexresponse"},null,-1)),l.showSubmitButton?(b(),ye(Z,{key:1,id:"pay-button",class:"my-8",type:"submit",disabled:I.value,"aria-busy":f.value?"true":"false"},{default:ne(()=>[r("span",ht,N(f.value?"Submitting":""),1),f.value?(b(),h("span",gt,[...e[14]||(e[14]=[r("span",{class:"w-4 h-4 border-2 rounded-full border-white/40 border-t-white animate-spin","aria-hidden":"true"},null,-1),r("span",null,"Submitting…",-1)])])):(b(),h("span",Ct,N(l.submitButtonText),1))]),_:1},8,["disabled","aria-busy"])):T("",!0)],40,Ge),_(me,{title:"Payment form",data:{loadForm:de,setup:ae,getPaymentSessionData:le,parsedContext:F.value,sessionData:L.value}},null,8,["data"])],64))],8,Ve)],64)}}};export{Pt as default};
2//# sourceMappingURL=Dvx0nTta.js.map

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.