@primer-io/checkout-web 2.53.2 → 2.53.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Primer.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Primer=r():e.Primer=r()}(this,()=>(()=>{"use strict";let e;var r,t,A={};A.d=(e,r)=>{for(var t in r)A.o(r,t)&&!A.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},A.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),A.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var E={};A.r(E),A.d(E,{SuccessScreenType:()=>eX,PaymentFlow:()=>eK,ThreeDSecureStatus:()=>ek,TokenType:()=>eW,isStripeOptionsDropInWithFullMandateText:()=>ez,PaymentInstrumentType:()=>eV,ErrorCode:()=>e$,EventTypes:()=>eJ,CheckoutUXFlow:()=>eb,HeadlessManagerType:()=>eZ,PaymentMethodType:()=>ex,Primer:()=>eq});let n={LEGACY:"legacy",V_2_4:"2.4"},o=n.V_2_4,_=o;class a extends Error{static from(e,r=!1){if(e instanceof a)return e;let t=new a(e instanceof Error?e.message:String(e),r);return e instanceof Error&&e.stack&&(t.stack=e.stack,Object.assign(t,e)),t}markAsReported(){this.isReported=!0}constructor(e,r=!1){super(e),function(e,r,t){r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t}(this,"isReported",void 0),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let i="https://analytics.production.data.primer.io/sdk-logs";var s=function(e){return e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e}({}),N=function(e){return e.START="START",e.END="END",e}({});let R={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var T=function(e){return e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e}({});async function O(){if("undefined"==typeof navigator||"undefined"==typeof performance)return;let e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}let P=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.53.2";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER}}catch{}return t||r}}).get("PRIMER_SDK_VERSION");async function c(e,r,t){return{...t,createdAt:Date.now(),device:await O(),eventType:e,properties:r,sdkVersion:P,sdkType:"WEB"}}let l=Symbol.for("__primerAnalytics__"),I={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[l];e?I=e:window[l]=I}let d=()=>I.providers,L=()=>I.timers,D=()=>I.eventsQueue,Y=new Map;function S(e,r=!1,t=1){Y.has(e)&&(clearTimeout(Y.get(e)),Y.delete(e));let A=()=>{let A=D().get(e);if(A?.length){let E=!0,n=[],o=0,_=0;for(;_<A.length;){let r=A[_],t=new Blob([JSON.stringify(r)]).size;if(t>64e3){console.error("Event size exceeds maximum payload size and will be skipped:",r),_++;continue}if(o+t>64e3&&n.length>0){try{E=navigator.sendBeacon(e,JSON.stringify(n))}catch(e){E=!1,console.error("Unable to send events",e)}if(!E)break;n=[],o=0}n.push(r),o+=t,_++}if(n.length>0&&E)try{E=navigator.sendBeacon(e,JSON.stringify(n))}catch(e){E=!1,console.error("Unable to send events",e)}E?D().delete(e):t<5?setTimeout(()=>S(e,r,t+1),500*Math.pow(2,t)):console.error("Max retry attempts reached. Events will not be sent.")}};if(r)return void A();let E=setTimeout(A,500);Y.set(e,E)}let u=!1;function C({url:e=i,...r}){"undefined"==typeof document||u||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=f(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),S(e.url,!0)}}),u=!0);let t=t=>async A=>{if("undefined"==typeof navigator)return;let E=function e(r,t,A=new WeakSet,E=0,n=10){if(E>n||A.has(r))return r;A.add(r);let o=r=>"object"==typeof r&&null!==r?e(r,t,A,E+1,n):t(r);return Array.isArray(r)?r.map(o):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,o(r)]))}(await c(t,A,r),e=>{var r;return"string"==typeof(r="function"==typeof e?e.name||"function":e)&&r.length>5120?`${r.slice(0,5120)}...`:r});D().has(e)||D().set(e,[]);let n=D().get(e);n?.push(E),S(e)},A={crashEvent:t(T.CRASH_EVENT),messageEvent:t(T.MESSAGE_EVENT),networkCallEvent:t(T.NETWORK_CALL_EVENT),sdkFunctionEvent:t(T.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let E=`${r.checkoutSessionId}|${e}`,n=performance?.now?performance.now():Date.now();return L().set(E,{start:n}),t(T.TIMER_EVENT)({...A,id:e,timerType:N.START})},timerEnd:({id:e,...A})=>{let E=`${r.checkoutSessionId}|${e}`,{start:n}=L().get(E)??{};L().delete(E);let o=performance?.now?performance.now():Date.now();return t(T.TIMER_EVENT)({...A,id:e,timerType:N.END,duration:n?o-n:void 0})},v1Event:t(T.V1_EVENT),url:e};return d().set(r.checkoutSessionId,A),f(r.checkoutSessionId)}function f(e){return new Proxy({},{get:(r,t)=>(d().get(e)??C({checkoutSessionId:e}))[t]})}let m=(e,r,t,A)=>({callType:t?s.REQUEST_END:s.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:r.method,responseCode:t?.status,url:r.url,duration:A});function p(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function M(e,r,t,A=p){let E=0,n={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!n.enabled)return e();for(;;)try{let r=await e();if(E){let e=`Request succeeded after ${E} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(i){let e=E>=n.maxRetries,r=i.isNetworkError&&!n.retryNetworkErrors,o=i.status&&i.status>=500&&!n.retry500Errors;if(e||r||o){let A=`Failed after ${E} retries. `;throw e?A+=`Reached maximum retries (${n.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":o&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${i.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),Error(A,{cause:i})}E++;let _=Math.min(n.initialBackoff*Math.pow(2,E-1)+Math.random()*n.maxJitter,Number.MAX_SAFE_INTEGER),a="Unknown error";i.isNetworkError?a="Network error":i.status&&(a=`HTTP ${i.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${E}/${n.maxRetries} due to: ${a}. Error details: ${i.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await A(_)}}let h={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=h),h=window.__primerCache__);let y=()=>h.cache;function w(){if(y().size<=30)return;let e=Date.now();for(let[r,t]of y())t.exp<e&&y().delete(r);if(y().size>50)for(let[e]of y()){if(y().size<=50)break;y().delete(e)}}let g=()=>v.randomUUID?.()||U(),U=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^B()>>e/4).toString(16)),B=()=>(v.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,v="undefined"!=typeof crypto?crypto:{},F=(e,r,t)=>G(e,"get",r,t),G=async(e,r,t,A,E)=>{let n=g(),o=performance?.now(),_=f(e),a={method:r,url:t,body:E};_.networkCallEvent(m(n,a));try{let i=await fetch(t,{body:E,method:r,headers:{"content-type":"application/json","x-request-id":n,...A}});if(!i.ok){let e=Error(`HTTP error! status: ${i.status}`);throw e.status=i.status,e}let s=await i.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=C({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let N=performance?.now();return _.networkCallEvent(m(n,a,{data:s},N-o)),{data:s,headers:i.headers,status:i.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(m(n,a,{error:r},e-o)),r}},H=(e,r)=>new Promise((t,A)=>{let E=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(E))}),b=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:E,timeout:n=15e3,checkoutSessionId:o}=r,_=f(o);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:E=36e5}=e;return async e=>{let n=Date.now(),o=y().get(r);if(!t&&o&&o.exp>n)return o.promise;o&&y().delete(r);let _=e().then(e=>{let t=E;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),!function({key:e,ttl:r=36e5},t){r?y().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):y().delete(e)}({key:r,ttl:t},e),w(),e},e=>{throw y().delete(r),e});return y().set(r,{promise:_,exp:n+E}),w(),_}})(E)(()=>M(()=>H(F(o,e,t),n),A,r=>_.messageEvent({...r,url:e})))},K="function"==typeof Buffer,k="function"==typeof TextDecoder?new TextDecoder:void 0,V="function"==typeof TextEncoder?new TextEncoder:void 0,x=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),W=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(x),$=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,j=String.fromCharCode.bind(String),Q="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),X=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),z=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),J="function"==typeof btoa?e=>btoa(e):K?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,E,n="",o=e.length%3;for(let o=0;o<e.length;){if((t=e.charCodeAt(o++))>255||(A=e.charCodeAt(o++))>255||(E=e.charCodeAt(o++))>255)throw TypeError("invalid character found");n+=x[(r=t<<16|A<<8|E)>>18&63]+x[r>>12&63]+x[r>>6&63]+x[63&r]}return o?n.slice(0,o-3)+"===".substring(o):n},Z=K?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(j.apply(null,e.subarray(t,t+4096)));return J(r.join(""))},q=(e,r=!1)=>r?X(Z(e)):Z(e),ee=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?j(192|r>>>6)+j(128|63&r):j(224|r>>>12&15)+j(128|r>>>6&63)+j(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return j(240|r>>>18&7)+j(128|r>>>12&63)+j(128|r>>>6&63)+j(128|63&r)},er=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,et=e=>e.replace(er,ee),eA=K?e=>Buffer.from(e,"utf8").toString("base64"):V?e=>Z(V.encode(e)):e=>J(et(e)),eE=(e,r=!1)=>r?X(eA(e)):eA(e),en=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eo=e=>{switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return j((r>>>10)+55296)+j((1023&r)+56320);case 3:return j((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return j((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},e_=e=>e.replace(en,eo),ea="function"==typeof atob?e=>atob(z(e)):K?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!$.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,E;for(let n=0;n<e.length;)r=W[e.charAt(n++)]<<18|W[e.charAt(n++)]<<12|(A=W[e.charAt(n++)])<<6|(E=W[e.charAt(n++)]),t+=64===A?j(r>>16&255):64===E?j(r>>16&255,r>>8&255):j(r>>16&255,r>>8&255,255&r);return t},ei=K?e=>Q(Buffer.from(e,"base64")):e=>Q(ea(e).split("").map(e=>e.charCodeAt(0))),es=e=>ei(eR(e)),eN=K?e=>Buffer.from(e,"base64").toString("utf8"):k?e=>k.decode(ei(e)):e=>e_(ea(e)),eR=e=>z(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),eT=e=>eN(eR(e)),eO=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),eP={encode:eE,decode:eT},ec={encode:function(e,r={}){let{urlSafe:t=!1}=r;return eP.encode(e,t)},decode:eP.decode},el="The provided `clientToken`",eI=`${el} has expired`,ed=`${el} is malformed`,eL=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.53.2","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function eD(e,r,t){let{accessToken:A,configurationUrl:E,analyticsUrlV2:o}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(ec.decode(t||r))}catch{throw Error(ed)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${eI}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),a=C({checkoutSessionId:r,url:o}),i=_,s=i!==n.LEGACY?i:"2.3";a.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:n}=await b(`${E}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:eL(A,r,s),retryConfig:{enabled:!0},cacheConfig:t});return a.timerEnd({id:"CONFIGURATION_LOADING",context:{source:n}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eY(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:"object"==typeof e&&null!==e&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function eS({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eY(t),reporter:A}):e&&eu(e,t,A)}async function eu(e,r,t){let A=await c(T.CRASH_EVENT,{...eY(r),reporter:t},{checkoutSessionId:e});try{await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eC=Symbol.for("initGlobalErrorMonitoringLoaded"),ef=(e,r)=>{"undefined"!=typeof window&&window[eC]||(window[eC]=!0,window.addEventListener("error",t=>{!em(t)&&ep(t)&&eS({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eM(A)&&eS({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},em=e=>"Script error."===e.message||!e.filename||0===e.lineno,ep=e=>{let r=e.filename;return!!(r&&eh(r))&&!!new a(e.error).isReported||!1},eM=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=a.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&eh(e.fileName))||ey(r.stack).some(eh))}return!1},eh=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},ey=e=>{if(!e)return[];let r=e.split("\n"),t=[],A=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(let e of r){let r=e.match(A);if(r&&r[1])t.push(r[1]);else{let r=/@(.*?):\d+:\d+$/,A=e.match(r);A&&A[1]&&t.push(A[1])}}return t};function ew(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eg(e,r,t,A,E,n){let{analytics:o,name:_=r,retryConfig:a}=n;await M(()=>new Promise((n,a)=>{let i=ew(e,t,r)||function(e,r){let t=document.createElement(e);return Object.entries(r).forEach(([e,r])=>t.setAttribute(e,r)),t}(e,{...A,[t]:r});i.onload=()=>{o?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),n()},i.onerror=()=>{i.remove(),a(Error(`${E}: ${r}`))},i.parentNode||document.head.appendChild(i)}),a,e=>o?.messageEvent({...e,url:r}))}async function eU(r){return e||(e=Promise.all([function(e,r={}){return ew("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eg("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.53.2/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),function(e,r={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):eg("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.53.2/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{let e=window.__Primer;return delete window.__Primer,e}).catch(r=>{throw e=void 0,r}))}let eB=async()=>{let e=g();try{let r=f(e);try{ef(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:R.preloadPrimer}),await eU(r),r.timerEnd({id:R.preloadPrimer})}catch(A){let t=a.from(A);throw t.isReported||(eS({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=a.from(t);throw r.isReported||(eu(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},ev=eH("createHeadless"),eF=eH("showUniversalCheckout"),eG=eH("showVaultManager");function eH(e){return async(...[r,t,...A])=>{var E;(E=t?.apiVersion)||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${o}'.`),_=E??o;let n=g();try{let E=f(n);try{ef(n,E),E.sdkFunctionEvent({name:e,params:[r,t,...A]}),E.timerStart({id:R[e]});let[o,_]=await Promise.all([eD(r,n,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),eU(E)]);return _[e](o,n,r,t,...A)}catch(r){let e=a.from(r);throw e.isReported||(eS({checkoutSessionId:n,analytics:E,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=a.from(r);throw e.isReported||(eu(n,e,"lazyLoad level 0"),e.markAsReported()),e}}}var eb=function(e){return e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e}({}),eK=function(e){return e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e}({}),ek=function(e){return e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e}({});let eV={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",AUTOMATED_CLEARING_HOUSE:"AUTOMATED_CLEARING_HOUSE",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_ACH:"STRIPE_ACH",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL_ORDER",PAYPAL_VAULTED:"PAYPAL_BILLING_AGREEMENT",GO_CARDLESS:"GOCARDLESS",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",KLARNA_CUSTOMER_TOKEN:"KLARNA_CUSTOMER_TOKEN"},ex={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",STRIPE_ACH:"STRIPE_ACH",STRIPE_IDEAL:"STRIPE_IDEAL",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",PAYMENT_CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL",GO_CARDLESS:"GOCARDLESS",KLARNA:"KLARNA",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_BANK_TRANSFER:"ADYEN_BANK_TRANSFER",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME"},eW={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};eV.PAYPAL_VAULTED,ex.PAYPAL,eV.KLARNA_CUSTOMER_TOKEN,ex.KLARNA,eV.AUTOMATED_CLEARING_HOUSE,ex.STRIPE_ACH,eV.CARD,ex.PAYMENT_CARD;var e$=function(e){return e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",e.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",e.INVALID_FLOW="INVALID_FLOW",e}({});function ej(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class eQ extends a{static fromErrorCode(e,r){return new eQ(e,r)}constructor(e,r){super(r.message),ej(this,"code",void 0),ej(this,"diagnosticsId",void 0),ej(this,"data",void 0),ej(this,"isFromDeveloper",void 0),this.code=e,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,eQ)}}var eX=function(e){return e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e}({});let ez=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var eJ=function(e){return e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",e.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",e.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",e.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",e}({}),eZ=function(e){return e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e}({});let eq={SDK_VERSION:"v2.53.2",createHeadless:ev,showUniversalCheckout:eF,showVaultManager:eG,preloadPrimer:eB};return E})());
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Primer=r():e.Primer=r()}(this,()=>(()=>{"use strict";let e;var r,t,A={};A.d=(e,r)=>{for(var t in r)A.o(r,t)&&!A.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},A.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),A.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var E={};A.r(E),A.d(E,{SuccessScreenType:()=>eX,PaymentFlow:()=>eK,ThreeDSecureStatus:()=>ek,TokenType:()=>eW,isStripeOptionsDropInWithFullMandateText:()=>ez,PaymentInstrumentType:()=>eV,ErrorCode:()=>e$,EventTypes:()=>eJ,CheckoutUXFlow:()=>eb,HeadlessManagerType:()=>eZ,PaymentMethodType:()=>ex,Primer:()=>eq});let n={LEGACY:"legacy",V_2_4:"2.4"},o=n.V_2_4,_=o;class a extends Error{static from(e,r=!1){if(e instanceof a)return e;let t=new a(e instanceof Error?e.message:String(e),r);return e instanceof Error&&e.stack&&(t.stack=e.stack,Object.assign(t,e)),t}markAsReported(){this.isReported=!0}constructor(e,r=!1){super(e),function(e,r,t){r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t}(this,"isReported",void 0),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let i="https://analytics.production.data.primer.io/sdk-logs";var s=function(e){return e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e}({}),N=function(e){return e.START="START",e.END="END",e}({});let R={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var T=function(e){return e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e}({});async function O(){if("undefined"==typeof navigator||"undefined"==typeof performance)return;let e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}let P=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.53.4";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER}}catch{}return t||r}}).get("PRIMER_SDK_VERSION");async function c(e,r,t){return{...t,createdAt:Date.now(),device:await O(),eventType:e,properties:r,sdkVersion:P,sdkType:"WEB"}}let l=Symbol.for("__primerAnalytics__"),I={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[l];e?I=e:window[l]=I}let d=()=>I.providers,L=()=>I.timers,D=()=>I.eventsQueue,Y=new Map;function S(e,r=!1,t=1){Y.has(e)&&(clearTimeout(Y.get(e)),Y.delete(e));let A=()=>{let A=D().get(e);if(A?.length){let E=!0,n=[],o=0,_=0;for(;_<A.length;){let r=A[_],t=new Blob([JSON.stringify(r)]).size;if(t>64e3){console.error("Event size exceeds maximum payload size and will be skipped:",r),_++;continue}if(o+t>64e3&&n.length>0){try{E=navigator.sendBeacon(e,JSON.stringify(n))}catch(e){E=!1,console.error("Unable to send events",e)}if(!E)break;n=[],o=0}n.push(r),o+=t,_++}if(n.length>0&&E)try{E=navigator.sendBeacon(e,JSON.stringify(n))}catch(e){E=!1,console.error("Unable to send events",e)}E?D().delete(e):t<5?setTimeout(()=>S(e,r,t+1),500*Math.pow(2,t)):console.error("Max retry attempts reached. Events will not be sent.")}};if(r)return void A();let E=setTimeout(A,500);Y.set(e,E)}let u=!1;function C({url:e=i,...r}){"undefined"==typeof document||u||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=f(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),S(e.url,!0)}}),u=!0);let t=t=>async A=>{if("undefined"==typeof navigator)return;let E=function e(r,t,A=new WeakSet,E=0,n=10){if(E>n||A.has(r))return r;A.add(r);let o=r=>"object"==typeof r&&null!==r?e(r,t,A,E+1,n):t(r);return Array.isArray(r)?r.map(o):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,o(r)]))}(await c(t,A,r),e=>{var r;return"string"==typeof(r="function"==typeof e?e.name||"function":e)&&r.length>5120?`${r.slice(0,5120)}...`:r});D().has(e)||D().set(e,[]);let n=D().get(e);n?.push(E),S(e)},A={crashEvent:t(T.CRASH_EVENT),messageEvent:t(T.MESSAGE_EVENT),networkCallEvent:t(T.NETWORK_CALL_EVENT),sdkFunctionEvent:t(T.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let E=`${r.checkoutSessionId}|${e}`,n=performance?.now?performance.now():Date.now();return L().set(E,{start:n}),t(T.TIMER_EVENT)({...A,id:e,timerType:N.START})},timerEnd:({id:e,...A})=>{let E=`${r.checkoutSessionId}|${e}`,{start:n}=L().get(E)??{};L().delete(E);let o=performance?.now?performance.now():Date.now();return t(T.TIMER_EVENT)({...A,id:e,timerType:N.END,duration:n?o-n:void 0})},v1Event:t(T.V1_EVENT),url:e};return d().set(r.checkoutSessionId,A),f(r.checkoutSessionId)}function f(e){return new Proxy({},{get:(r,t)=>(d().get(e)??C({checkoutSessionId:e}))[t]})}let m=(e,r,t,A)=>({callType:t?s.REQUEST_END:s.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:r.method,responseCode:t?.status,url:r.url,duration:A});function p(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function M(e,r,t,A=p){let E=0,n={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!n.enabled)return e();for(;;)try{let r=await e();if(E){let e=`Request succeeded after ${E} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(i){let e=E>=n.maxRetries,r=i.isNetworkError&&!n.retryNetworkErrors,o=i.status&&i.status>=500&&!n.retry500Errors;if(e||r||o){let A=`Failed after ${E} retries. `;throw e?A+=`Reached maximum retries (${n.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":o&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${i.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),Error(A,{cause:i})}E++;let _=Math.min(n.initialBackoff*Math.pow(2,E-1)+Math.random()*n.maxJitter,Number.MAX_SAFE_INTEGER),a="Unknown error";i.isNetworkError?a="Network error":i.status&&(a=`HTTP ${i.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${E}/${n.maxRetries} due to: ${a}. Error details: ${i.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await A(_)}}let h={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=h),h=window.__primerCache__);let y=()=>h.cache;function w(){if(y().size<=30)return;let e=Date.now();for(let[r,t]of y())t.exp<e&&y().delete(r);if(y().size>50)for(let[e]of y()){if(y().size<=50)break;y().delete(e)}}let g=()=>v.randomUUID?.()||U(),U=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^B()>>e/4).toString(16)),B=()=>(v.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,v="undefined"!=typeof crypto?crypto:{},F=(e,r,t)=>G(e,"get",r,t),G=async(e,r,t,A,E)=>{let n=g(),o=performance?.now(),_=f(e),a={method:r,url:t,body:E};_.networkCallEvent(m(n,a));try{let i=await fetch(t,{body:E,method:r,headers:{"content-type":"application/json","x-request-id":n,...A}});if(!i.ok){let e=Error(`HTTP error! status: ${i.status}`);throw e.status=i.status,e}let s=await i.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=C({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let N=performance?.now();return _.networkCallEvent(m(n,a,{data:s},N-o)),{data:s,headers:i.headers,status:i.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(m(n,a,{error:r},e-o)),r}},H=(e,r)=>new Promise((t,A)=>{let E=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(E))}),b=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:E,timeout:n=15e3,checkoutSessionId:o}=r,_=f(o);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:E=36e5}=e;return async e=>{let n=Date.now(),o=y().get(r);if(!t&&o&&o.exp>n)return o.promise;o&&y().delete(r);let _=e().then(e=>{let t=E;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),!function({key:e,ttl:r=36e5},t){r?y().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):y().delete(e)}({key:r,ttl:t},e),w(),e},e=>{throw y().delete(r),e});return y().set(r,{promise:_,exp:n+E}),w(),_}})(E)(()=>M(()=>H(F(o,e,t),n),A,r=>_.messageEvent({...r,url:e})))},K="function"==typeof Buffer,k="function"==typeof TextDecoder?new TextDecoder:void 0,V="function"==typeof TextEncoder?new TextEncoder:void 0,x=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),W=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(x),$=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,j=String.fromCharCode.bind(String),Q="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),X=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),z=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),J="function"==typeof btoa?e=>btoa(e):K?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,E,n="",o=e.length%3;for(let o=0;o<e.length;){if((t=e.charCodeAt(o++))>255||(A=e.charCodeAt(o++))>255||(E=e.charCodeAt(o++))>255)throw TypeError("invalid character found");n+=x[(r=t<<16|A<<8|E)>>18&63]+x[r>>12&63]+x[r>>6&63]+x[63&r]}return o?n.slice(0,o-3)+"===".substring(o):n},Z=K?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(j.apply(null,e.subarray(t,t+4096)));return J(r.join(""))},q=(e,r=!1)=>r?X(Z(e)):Z(e),ee=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?j(192|r>>>6)+j(128|63&r):j(224|r>>>12&15)+j(128|r>>>6&63)+j(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return j(240|r>>>18&7)+j(128|r>>>12&63)+j(128|r>>>6&63)+j(128|63&r)},er=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,et=e=>e.replace(er,ee),eA=K?e=>Buffer.from(e,"utf8").toString("base64"):V?e=>Z(V.encode(e)):e=>J(et(e)),eE=(e,r=!1)=>r?X(eA(e)):eA(e),en=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eo=e=>{switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return j((r>>>10)+55296)+j((1023&r)+56320);case 3:return j((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return j((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},e_=e=>e.replace(en,eo),ea="function"==typeof atob?e=>atob(z(e)):K?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!$.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,E;for(let n=0;n<e.length;)r=W[e.charAt(n++)]<<18|W[e.charAt(n++)]<<12|(A=W[e.charAt(n++)])<<6|(E=W[e.charAt(n++)]),t+=64===A?j(r>>16&255):64===E?j(r>>16&255,r>>8&255):j(r>>16&255,r>>8&255,255&r);return t},ei=K?e=>Q(Buffer.from(e,"base64")):e=>Q(ea(e).split("").map(e=>e.charCodeAt(0))),es=e=>ei(eR(e)),eN=K?e=>Buffer.from(e,"base64").toString("utf8"):k?e=>k.decode(ei(e)):e=>e_(ea(e)),eR=e=>z(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),eT=e=>eN(eR(e)),eO=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),eP={encode:eE,decode:eT},ec={encode:function(e,r={}){let{urlSafe:t=!1}=r;return eP.encode(e,t)},decode:eP.decode},el="The provided `clientToken`",eI=`${el} has expired`,ed=`${el} is malformed`,eL=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.53.4","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function eD(e,r,t){let{accessToken:A,configurationUrl:E,analyticsUrlV2:o}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(ec.decode(t||r))}catch{throw Error(ed)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${eI}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),a=C({checkoutSessionId:r,url:o}),i=_,s=i!==n.LEGACY?i:"2.3";a.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:n}=await b(`${E}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:eL(A,r,s),retryConfig:{enabled:!0},cacheConfig:t});return a.timerEnd({id:"CONFIGURATION_LOADING",context:{source:n}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eY(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:"object"==typeof e&&null!==e&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function eS({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eY(t),reporter:A}):e&&eu(e,t,A)}async function eu(e,r,t){let A=await c(T.CRASH_EVENT,{...eY(r),reporter:t},{checkoutSessionId:e});try{await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eC=Symbol.for("initGlobalErrorMonitoringLoaded"),ef=(e,r)=>{"undefined"!=typeof window&&window[eC]||(window[eC]=!0,window.addEventListener("error",t=>{!em(t)&&ep(t)&&eS({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eM(A)&&eS({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},em=e=>"Script error."===e.message||!e.filename||0===e.lineno,ep=e=>{let r=e.filename;return!!(r&&eh(r))&&!!new a(e.error).isReported||!1},eM=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=a.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&eh(e.fileName))||ey(r.stack).some(eh))}return!1},eh=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},ey=e=>{if(!e)return[];let r=e.split("\n"),t=[],A=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(let e of r){let r=e.match(A);if(r&&r[1])t.push(r[1]);else{let r=/@(.*?):\d+:\d+$/,A=e.match(r);A&&A[1]&&t.push(A[1])}}return t};function ew(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eg(e,r,t,A,E,n){let{analytics:o,name:_=r,retryConfig:a}=n;await M(()=>new Promise((n,a)=>{let i=ew(e,t,r)||function(e,r){let t=document.createElement(e);return Object.entries(r).forEach(([e,r])=>t.setAttribute(e,r)),t}(e,{...A,[t]:r});i.onload=()=>{o?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),n()},i.onerror=()=>{i.remove(),a(Error(`${E}: ${r}`))},i.parentNode||document.head.appendChild(i)}),a,e=>o?.messageEvent({...e,url:r}))}async function eU(r){return e||(e=Promise.all([function(e,r={}){return ew("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eg("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.53.4/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),function(e,r={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):eg("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.53.4/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{let e=window.__Primer;return delete window.__Primer,e}).catch(r=>{throw e=void 0,r}))}let eB=async()=>{let e=g();try{let r=f(e);try{ef(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:R.preloadPrimer}),await eU(r),r.timerEnd({id:R.preloadPrimer})}catch(A){let t=a.from(A);throw t.isReported||(eS({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=a.from(t);throw r.isReported||(eu(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},ev=eH("createHeadless"),eF=eH("showUniversalCheckout"),eG=eH("showVaultManager");function eH(e){return async(...[r,t,...A])=>{var E;(E=t?.apiVersion)||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${o}'.`),_=E??o;let n=g();try{let E=f(n);try{ef(n,E),E.sdkFunctionEvent({name:e,params:[r,t,...A]}),E.timerStart({id:R[e]});let[o,_]=await Promise.all([eD(r,n,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),eU(E)]);return _[e](o,n,r,t,...A)}catch(r){let e=a.from(r);throw e.isReported||(eS({checkoutSessionId:n,analytics:E,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=a.from(r);throw e.isReported||(eu(n,e,"lazyLoad level 0"),e.markAsReported()),e}}}var eb=function(e){return e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e}({}),eK=function(e){return e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e}({}),ek=function(e){return e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e}({});let eV={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",AUTOMATED_CLEARING_HOUSE:"AUTOMATED_CLEARING_HOUSE",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_ACH:"STRIPE_ACH",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL_ORDER",PAYPAL_VAULTED:"PAYPAL_BILLING_AGREEMENT",GO_CARDLESS:"GOCARDLESS",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",KLARNA_CUSTOMER_TOKEN:"KLARNA_CUSTOMER_TOKEN"},ex={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",STRIPE_ACH:"STRIPE_ACH",STRIPE_IDEAL:"STRIPE_IDEAL",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",PAYMENT_CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL",GO_CARDLESS:"GOCARDLESS",KLARNA:"KLARNA",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_BANK_TRANSFER:"ADYEN_BANK_TRANSFER",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME"},eW={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};eV.PAYPAL_VAULTED,ex.PAYPAL,eV.KLARNA_CUSTOMER_TOKEN,ex.KLARNA,eV.AUTOMATED_CLEARING_HOUSE,ex.STRIPE_ACH,eV.CARD,ex.PAYMENT_CARD;var e$=function(e){return e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",e.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",e.INVALID_FLOW="INVALID_FLOW",e}({});function ej(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class eQ extends a{static fromErrorCode(e,r){return new eQ(e,r)}constructor(e,r){super(r.message),ej(this,"code",void 0),ej(this,"diagnosticsId",void 0),ej(this,"data",void 0),ej(this,"isFromDeveloper",void 0),this.code=e,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,eQ)}}var eX=function(e){return e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e}({});let ez=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var eJ=function(e){return e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",e.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",e.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",e.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",e}({}),eZ=function(e){return e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e}({});let eq={SDK_VERSION:"v2.53.4",createHeadless:ev,showUniversalCheckout:eF,showVaultManager:eG,preloadPrimer:eB};return E})());
2
2
  //# sourceMappingURL=Primer.js.map
package/dist/index.d.ts CHANGED
@@ -878,6 +878,7 @@ export type ResumeToken = {
878
878
  paymentId?: string;
879
879
  };
880
880
  export interface InputValidationError {
881
+ field?: string;
881
882
  name: string;
882
883
  error: string;
883
884
  message: string;
@@ -1329,6 +1330,7 @@ export interface IKlarnaPaymentMethodManager {
1329
1330
  }
1330
1331
  export interface IAchPaymentMethodManager {
1331
1332
  start(paymentDetails: StripeAchCustomerDetails): Promise<Validation | void>;
1333
+ setAndValidate(paymentDetails: StripeAchCustomerDetails): Promise<Validation>;
1332
1334
  collectBankAccountDetails(): Promise<void>;
1333
1335
  confirmMandate(): Promise<void>;
1334
1336
  declineMandate(): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.53.2",
3
+ "version": "2.53.4",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",