@primer-io/checkout-web 2.59.3 → 2.59.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @primer-io/checkout-web
2
2
 
3
+ ## 2.59.4
4
+
5
+ ### Patch Changes
6
+
7
+ - d18adaf: feat(googlepay): add existingPaymentMethodRequired client option
8
+
3
9
  ## 2.59.3
4
10
 
5
11
  ### Patch Changes
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,o,E,n,_,i,a,s,c,T,N,R={};R.d=(e,r)=>{for(var t in r)R.o(r,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},R.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),R.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var O={};R.r(O),R.d(O,{SuccessScreenType:()=>re,PaymentFlow:()=>e2,PrimerClientError:()=>e7,ThreeDSecureStatus:()=>e6,TokenType:()=>e4,isStripeOptionsDropInWithFullMandateText:()=>rr,PaymentInstrumentType:()=>e5,ErrorCode:()=>e8,EventTypes:()=>rt,CheckoutUXFlow:()=>e1,HeadlessManagerType:()=>rA,PaymentMethodType:()=>e3,Primer:()=>ro});let P=()=>D.randomUUID?.()||d(),d=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^I()>>e/4).toString(16)),I=()=>(D.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,D="undefined"!=typeof crypto?crypto:{},u="2.4";class l extends Error{static from(e,r=!1){if(e instanceof l)return e;let t=new l(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){var t,A;super(e),A=void 0,(t="isReported")in this?Object.defineProperty(this,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):this[t]=A,this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let S="https://analytics.production.data.primer.io/sdk-logs";var L=((Y={}).REQUEST_START="REQUEST_START",Y.REQUEST_END="REQUEST_END",Y),C=((p={}).START="START",p.END="END",p);let m={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var Y,p,h,M,f=((h={}).NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",h.CRASH_EVENT="CRASH_EVENT",h.TIMER_EVENT="TIMER_EVENT",h.MESSAGE_EVENT="MESSAGE_EVENT",h.SCRIPT_UNAUTHORIZED_EVENT="SCRIPT_UNAUTHORIZED_EVENT",h.V1_EVENT="V1_EVENT",h.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",h),y=((M=y||{}).CHARGING="CHARGING",M.NOT_CHARGING="NOT_CHARGING",M);async function U(){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 k=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.59.3";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 w(e,r,t){return{...t,createdAt:Date.now(),device:await U(),eventType:e,properties:r,sdkVersion:k,sdkType:"WEB"}}let g=Symbol.for("__primerAnalytics__"),B={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[g];e?B=e:window[g]=B}let v=()=>B.providers,H=()=>B.timers,F=()=>B.eventsQueue,G=new Map;function b(e,r=!1,t=1){G.has(e)&&(clearTimeout(G.get(e)),G.delete(e));let A=()=>{let A=F().get(e);if(A?.length){let o=!0,E=[],n=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(n+t>64e3&&E.length>0){try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}if(!o)break;E=[],n=0}E.push(r),n+=t,_++}if(E.length>0&&o)try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}o?F().delete(e):t<5?setTimeout(()=>b(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 o=setTimeout(A,500);G.set(e,o)}let K=!1;function V({url:e=S,...r}){"undefined"==typeof document||K||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=x(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),b(e.url,!0)}}),K=!0);let t=t=>async A=>{var o;let E;"undefined"!=typeof navigator&&(o=function e(r,t,A=new WeakSet,o=0,E=10){if(o>E||A.has(r))return r;A.add(r);let n=r=>"object"==typeof r&&null!==r?e(r,t,A,o+1,E):t(r);return Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,n(r)]))}(await w(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}),F().has(e)||F().set(e,[]),E=F().get(e),E?.push(o),b(e))},A={crashEvent:t(f.CRASH_EVENT),messageEvent:t(f.MESSAGE_EVENT),networkCallEvent:t(f.NETWORK_CALL_EVENT),scriptUnauthorizedEvent:t(f.SCRIPT_UNAUTHORIZED_EVENT),sdkFunctionEvent:t(f.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,E=performance?.now?performance.now():Date.now();return H().set(o,{start:E}),t(f.TIMER_EVENT)({...A,id:e,timerType:C.START})},timerEnd:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,{start:E}=H().get(o)??{};H().delete(o);let n=performance?.now?performance.now():Date.now();return t(f.TIMER_EVENT)({...A,id:e,timerType:C.END,duration:E?n-E:void 0})},v1Event:t(f.V1_EVENT),url:e};return v().set(r.checkoutSessionId,A),x(r.checkoutSessionId)}function x(e){return new Proxy({},{get:(r,t)=>(v().get(e)??V({checkoutSessionId:e}))[t]})}let W=(e,r,t,A)=>({callType:t?L.REQUEST_END:L.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 j(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function $(e,r,t,A=j){let o=0,E={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!E.enabled)return e();for(;;)try{let r=await e();if(o){let e=`Request succeeded after ${o} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(a){let e=o>=E.maxRetries,r=a.isNetworkError&&!E.retryNetworkErrors,n=a.status&&a.status>=500&&!E.retry500Errors;if(e||r||n){let A=`Failed after ${o} retries. `;throw e?A+=`Reached maximum retries (${E.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":n&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${a.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),Error(A,{cause:a})}o++;let _=Math.min(E.initialBackoff*Math.pow(2,o-1)+Math.random()*E.maxJitter,Number.MAX_SAFE_INTEGER),i="Unknown error";a.isNetworkError?i="Network error":a.status&&(i=`HTTP ${a.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${o}/${E.maxRetries} due to: ${i}. Error details: ${a.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),await A(_)}}let X={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=X),X=window.__primerCache__);let z=()=>X.cache;function Q(){if(z().size<=30)return;let e=Date.now();for(let[r,t]of z())t.exp<e&&z().delete(r);if(z().size>50)for(let[e]of z()){if(z().size<=50)break;z().delete(e)}}let Z=(e,r,t)=>J(e,"get",r,t),J=async(e,r,t,A,o)=>{let E=P(),n=performance?.now(),_=x(e),i={method:r,url:t,body:o};_.networkCallEvent(W(E,i));try{let a=await fetch(t,{body:o,method:r,headers:{"content-type":"application/json","x-request-id":E,...A}});if(!a.ok){let e=Error(`HTTP error! status: ${a.status}`);throw e.status=a.status,e}let s=await a.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=V({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let c=performance?.now();return _.networkCallEvent(W(E,i,{data:s},c-n)),{data:s,headers:a.headers,status:a.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(W(E,i,{error:r},e-n)),r}},q=(e,r)=>new Promise((t,A)=>{let o=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(o))}),ee=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:o,timeout:E=15e3,checkoutSessionId:n}=r,_=x(n);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:o=36e5}=e;return async e=>{let E=Date.now(),n=z().get(r);if(!t&&n&&n.exp>E)return n.promise;n&&z().delete(r);let _=e().then(e=>{let t=o;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),function({key:e,ttl:r=36e5},t){r?z().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):z().delete(e)}({key:r,ttl:t},e),Q(),e},e=>{throw z().delete(r),e});return z().set(r,{promise:_,exp:E+o}),Q(),_}})(o)(()=>$(()=>q(Z(n,e,t),E),A,r=>_.messageEvent({...r,url:e})))},er="function"==typeof Buffer,et="function"==typeof TextDecoder?new TextDecoder:void 0,eA="function"==typeof TextEncoder?new TextEncoder:void 0,eo=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),eE=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(eo),en=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,e_=String.fromCharCode.bind(String),ei="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),ea=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),es=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),ec="function"==typeof btoa?e=>btoa(e):er?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,o,E="",n=e.length%3;for(let n=0;n<e.length;){if((t=e.charCodeAt(n++))>255||(A=e.charCodeAt(n++))>255||(o=e.charCodeAt(n++))>255)throw TypeError("invalid character found");E+=eo[(r=t<<16|A<<8|o)>>18&63]+eo[r>>12&63]+eo[r>>6&63]+eo[63&r]}return n?E.slice(0,n-3)+"===".substring(n):E},eT=er?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(e_.apply(null,e.subarray(t,t+4096)));return ec(r.join(""))},eN=(e,r=!1)=>r?ea(eT(e)):eT(e),eR=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?e_(192|r>>>6)+e_(128|63&r):e_(224|r>>>12&15)+e_(128|r>>>6&63)+e_(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return e_(240|r>>>18&7)+e_(128|r>>>12&63)+e_(128|r>>>6&63)+e_(128|63&r)},eO=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,eP=e=>e.replace(eO,eR),ed=er?e=>Buffer.from(e,"utf8").toString("base64"):eA?e=>eT(eA.encode(e)):e=>ec(eP(e)),eI=(e,r=!1)=>r?ea(ed(e)):ed(e),eD=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eu=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 e_((r>>>10)+55296)+e_((1023&r)+56320);case 3:return e_((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return e_((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},el=e=>e.replace(eD,eu),eS="function"==typeof atob?e=>atob(es(e)):er?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!en.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,o;for(let E=0;E<e.length;)r=eE[e.charAt(E++)]<<18|eE[e.charAt(E++)]<<12|(A=eE[e.charAt(E++)])<<6|(o=eE[e.charAt(E++)]),t+=64===A?e_(r>>16&255):64===o?e_(r>>16&255,r>>8&255):e_(r>>16&255,r>>8&255,255&r);return t},eL=er?e=>ei(Buffer.from(e,"base64")):e=>ei(eS(e).split("").map(e=>e.charCodeAt(0))),eC=e=>eL(eY(e)),em=er?e=>Buffer.from(e,"base64").toString("utf8"):et?e=>et.decode(eL(e)):e=>el(eS(e)),eY=e=>es(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),ep=e=>em(eY(e)),eh=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),eM={encode:eI,decode:ep},ef={encode:function(e,r={}){let{urlSafe:t=!1}=r;return eM.encode(e,t)},decode:eM.decode},ey="The provided `clientToken`",eU=`${ey} has expired`,ek=`${ey} is malformed`,ew=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.59.3","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function eg(e,r,t){let{accessToken:A,configurationUrl:o,analyticsUrlV2:E}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(ef.decode(t||r))}catch{throw Error(ek)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${eU}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),n=V({checkoutSessionId:r,url:E}),_=u;n.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:E}=await ee(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:ew(A,r,_),retryConfig:{enabled:!0},cacheConfig:t});return n.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eB(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 ev({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eB(t),reporter:A}):e&&eH(e,t,A)}async function eH(e,r,t){let A=await w(f.CRASH_EVENT,{...eB(r),reporter:t},{checkoutSessionId:e});try{await fetch(S,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eF=Symbol.for("initGlobalErrorMonitoringLoaded"),eG=(e,r)=>{"undefined"!=typeof window&&window[eF]||(window[eF]=!0,window.addEventListener("error",t=>{!eb(t)&&eK(t)&&ev({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eV(A)&&ev({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},eb=e=>"Script error."===e.message||!e.filename||0===e.lineno,eK=e=>{let r=e.filename;return!!(r&&ex(r))&&!!new l(e.error).isReported},eV=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=l.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&ex(e.fileName))||eW(r.stack).some(ex))}return!1},ex=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},eW=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},ej=["https://sdk.primer.io/web/","https://sdk.dev.primer.io/web/","https://sdk.sandbox.primer.io/web/","https://sdk.production.primer.io/web/","https://assets.primer.io/","https://x.klarnacdn.net/kp/lib/v","https://www.paypal.com/sdk/js","https://www.paypalobjects.com/","https://js.stripe.com/","https://pay.google.com/gp/p/js/"];function e$(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eX(e,r,t,A,o,E){let{analytics:n,name:_=r,retryConfig:i}=E;await $(()=>new Promise((E,i)=>{var a;let s,c=e$(e,t,r)||(a={...A,[t]:r},s=document.createElement(e),Object.entries(a).forEach(([e,r])=>s.setAttribute(e,r)),s);c.onload=()=>{n?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),E()},c.onerror=()=>{c.remove(),i(Error(`${o}: ${r}`))},c.parentNode||document.head.appendChild(c)}),i,e=>n?.messageEvent({...e,url:r}))}async function ez(r){return e||(e=Promise.all([function(e,r={}){if(!ej.some(r=>e.startsWith(r))){let t=`Script source not authorized per PCI DSS 6.4.3: ${e}`;return r.analytics?.scriptUnauthorizedEvent({scriptSource:e,errorMessage:t,severity:"ERROR"}),console.error(`[Primer SDK Security] ${t}`),Promise.reject(Error(t))}return e$("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eX("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.59.3/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()):eX("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.59.3/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{let e=window.__Primer;return delete window.__Primer,e}).catch(r=>{throw e=void 0,r}))}let eQ=async()=>{let e=P();try{let r=x(e);try{eG(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:m.preloadPrimer}),await ez(r),r.timerEnd({id:m.preloadPrimer})}catch(A){let t=l.from(A);throw t.isReported||(ev({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=l.from(t);throw r.isReported||(eH(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},eZ=e0("createHeadless"),eJ=e0("showUniversalCheckout"),eq=e0("showVaultManager");function e0(e){return async(...[r,t,...A])=>{u=t?.apiVersion??"2.4";let o=P();try{let E=x(o);try{eG(o,E),E.sdkFunctionEvent({name:e,params:[r,t,...A]}),E.timerStart({id:m[e]});let[n,_]=await Promise.all([eg(r,o,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),ez(E)]);return _[e](n,o,r,t,...A)}catch(r){let e=l.from(r);throw e.isReported||(ev({checkoutSessionId:o,analytics:E,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=l.from(r);throw e.isReported||(eH(o,e,"lazyLoad level 0"),e.markAsReported()),e}}}(A={}).LOADING="Loading",A.NO_PAYMENT_METHOD="NoPaymentMethod",A.THREE_DS="UniversalCheckout/3ds",A.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",A.MANAGE_PAYMENT_METHODS="VaultManager/Home",A.DIRECT_DEBIT_FORM="DirectDebit/Form",A.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",A.CREDIT_CARD_FORM="CreditCard/Form",A.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",A.SUCCESS_CHECK="UniversalCheckout/Success/Check",(o={}).ROOT="primer-checkout",o.ROOT_CONTENT="primer-checkout-content",o.SUBMIT_BUTTON="primer-checkout-submit-button",o.THREE_DS_MODAL="primer-checkout-3ds-modal",o.VAULT="primer-checkout-vault",o.VAULT_INLINE="primer-checkout-vault-inline",o.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",o.DIVIDER="primer-checkout-payment-method-divider",o.APM_BUTTONS="primer-checkout-apm-button-container",o.CARDHOLDER_NAME="primer-checkout-cardholder-name",o.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",o.ACTIONS="primer-checkout-actions",o.ACTIONS_MENU="primer-checkout-actions-menu",o.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",o.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",o.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",o.CARD_FORM="primer-checkout-card-form",o.DD_SWITCH="primer-checkout-switch-dd-inputs",o.DD_IBAN_FIELD="primer-checkout-dd-iban-field",o.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",o.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",o.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",o.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",o.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",o.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",o.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",o.DD_IBAN_INPUT="primer-checkout-dd-iban-input",o.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",o.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",o.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",o.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",o.ERROR_MESSAGE="primer-checkout-error-message",(E={}).TOKEN="PrimerCheckout__token",E.HIDDEN="PrimerCheckout--hidden",E.FOCUSED="PrimerCheckout--focused",E.SELECTED="PrimerCheckout--selected",E.LOADING="PrimerCheckout--loading",E.ERROR="PrimerCheckout--error",E.CARD_TYPE="PrimerCheckout__cardType",E.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",E.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",E.APM_BUTTON="PrimerCheckout__apmButton",E.EDIT_BUTTON="PrimerCheckout__editButton",E.MENU="PrimerCheckout__dropDownMenu",E.MENU_ITEM="PrimerCheckout__dropDownMenuItem",E.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",E.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",E.ENTER="PrimerCheckout--enter",E.ENTERING="PrimerCheckout--entering",E.ENTERED="PrimerCheckout--entered",E.EXIT="PrimerCheckout--exit",E.EXITING="PrimerCheckout--exiting",E.EXITED="PrimerCheckout--exited";var e1=((n={}).CHECKOUT="CHECKOUT",n.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",n.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",n),e2=((_={}).DEFAULT="DEFAULT",_.PREFER_VAULT="PREFER_VAULT",_);(i={}).TOKENIZE_STARTED="tokenize-started",i.TOKENIZE_ERROR="tokenize-error",i.TOKENIZE_SUCCESS="tokenize-success",i.TOKENIZE_DID_NOT_START="tokenize-did-not-start";var e6=((a={}).SUCCESS="AUTH_SUCCESS",a.FAILED="AUTH_FAILED",a.SKIPPED="SKIPPED",a.CHALLENGE="CHALLENGE",a);let e5={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",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",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",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e3={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",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",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",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e4={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};e5.PAYPAL_VAULTED,e3.PAYPAL,e5.KLARNA_CUSTOMER_TOKEN,e3.KLARNA,e5.AUTOMATED_CLEARING_HOUSE,e3.STRIPE_ACH,e5.CARD,e3.PAYMENT_CARD;var e8=((s={}).INITIALIZATION_ERROR="INITIALIZATION_ERROR",s.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",s.PRIMER_TEARDOWN="PRIMER_TEARDOWN",s.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",s.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",s.TOKENIZATION_ERROR="TOKENIZATION_ERROR",s.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",s.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",s.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",s.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",s.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",s.RESUME_ERROR="RESUME_ERROR",s.VALIDATION_ERROR="VALIDATION_ERROR",s.PAYMENT_FAILED="PAYMENT_FAILED",s.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",s.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",s.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",s.INVALID_ARGUMENT="INVALID_ARGUMENT",s.VAULT_FETCH="VAULT_FETCH",s.VAULT_DELETE="VAULT_DELETE",s.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",s.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",s.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",s.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",s.INVALID_FLOW="INVALID_FLOW",s);function e9(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class e7 extends l{static fromErrorCode(e,r){return new e7(e,r)}constructor(e,r){super(r.message),e9(this,"code",void 0),e9(this,"diagnosticsId",void 0),e9(this,"data",void 0),e9(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,e7)}}var re=((c={}).PAYMENT_METHOD="PAYMENT_METHOD",c.CHECK="CHECK",c);let rr=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var rt=((T={}).CHANGE="change",T.ERROR="error",T.FOCUS="focus",T.BLUR="blur",T.CLICK="click",T.CLOSE="close",T.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",T.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",T.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",T.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",T),rA=((N={}).CARD="CARD",N.NATIVE="NATIVE",N.REDIRECT="REDIRECT",N.KLARNA="KLARNA",N.ACH="ACH",N);let ro={SDK_VERSION:"v2.59.3",createHeadless:eZ,showUniversalCheckout:eJ,showVaultManager:eq,preloadPrimer:eQ};return O})());
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,o,E,n,_,i,a,s,c,T,N,R={};R.d=(e,r)=>{for(var t in r)R.o(r,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},R.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),R.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var O={};R.r(O),R.d(O,{SuccessScreenType:()=>re,PaymentFlow:()=>e2,PrimerClientError:()=>e7,ThreeDSecureStatus:()=>e6,TokenType:()=>e4,isStripeOptionsDropInWithFullMandateText:()=>rr,PaymentInstrumentType:()=>e5,ErrorCode:()=>e8,EventTypes:()=>rt,CheckoutUXFlow:()=>e1,HeadlessManagerType:()=>rA,PaymentMethodType:()=>e3,Primer:()=>ro});let P=()=>D.randomUUID?.()||d(),d=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^I()>>e/4).toString(16)),I=()=>(D.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,D="undefined"!=typeof crypto?crypto:{},u="2.4";class l extends Error{static from(e,r=!1){if(e instanceof l)return e;let t=new l(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){var t,A;super(e),A=void 0,(t="isReported")in this?Object.defineProperty(this,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):this[t]=A,this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let S="https://analytics.production.data.primer.io/sdk-logs";var L=((Y={}).REQUEST_START="REQUEST_START",Y.REQUEST_END="REQUEST_END",Y),C=((p={}).START="START",p.END="END",p);let m={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var Y,p,h,M,f=((h={}).NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",h.CRASH_EVENT="CRASH_EVENT",h.TIMER_EVENT="TIMER_EVENT",h.MESSAGE_EVENT="MESSAGE_EVENT",h.SCRIPT_UNAUTHORIZED_EVENT="SCRIPT_UNAUTHORIZED_EVENT",h.V1_EVENT="V1_EVENT",h.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",h),y=((M=y||{}).CHARGING="CHARGING",M.NOT_CHARGING="NOT_CHARGING",M);async function U(){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 k=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.59.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 w(e,r,t){return{...t,createdAt:Date.now(),device:await U(),eventType:e,properties:r,sdkVersion:k,sdkType:"WEB"}}let g=Symbol.for("__primerAnalytics__"),B={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[g];e?B=e:window[g]=B}let v=()=>B.providers,H=()=>B.timers,F=()=>B.eventsQueue,G=new Map;function b(e,r=!1,t=1){G.has(e)&&(clearTimeout(G.get(e)),G.delete(e));let A=()=>{let A=F().get(e);if(A?.length){let o=!0,E=[],n=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(n+t>64e3&&E.length>0){try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}if(!o)break;E=[],n=0}E.push(r),n+=t,_++}if(E.length>0&&o)try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}o?F().delete(e):t<5?setTimeout(()=>b(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 o=setTimeout(A,500);G.set(e,o)}let K=!1;function V({url:e=S,...r}){"undefined"==typeof document||K||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=x(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),b(e.url,!0)}}),K=!0);let t=t=>async A=>{var o;let E;"undefined"!=typeof navigator&&(o=function e(r,t,A=new WeakSet,o=0,E=10){if(o>E||A.has(r))return r;A.add(r);let n=r=>"object"==typeof r&&null!==r?e(r,t,A,o+1,E):t(r);return Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,n(r)]))}(await w(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}),F().has(e)||F().set(e,[]),E=F().get(e),E?.push(o),b(e))},A={crashEvent:t(f.CRASH_EVENT),messageEvent:t(f.MESSAGE_EVENT),networkCallEvent:t(f.NETWORK_CALL_EVENT),scriptUnauthorizedEvent:t(f.SCRIPT_UNAUTHORIZED_EVENT),sdkFunctionEvent:t(f.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,E=performance?.now?performance.now():Date.now();return H().set(o,{start:E}),t(f.TIMER_EVENT)({...A,id:e,timerType:C.START})},timerEnd:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,{start:E}=H().get(o)??{};H().delete(o);let n=performance?.now?performance.now():Date.now();return t(f.TIMER_EVENT)({...A,id:e,timerType:C.END,duration:E?n-E:void 0})},v1Event:t(f.V1_EVENT),url:e};return v().set(r.checkoutSessionId,A),x(r.checkoutSessionId)}function x(e){return new Proxy({},{get:(r,t)=>(v().get(e)??V({checkoutSessionId:e}))[t]})}let W=(e,r,t,A)=>({callType:t?L.REQUEST_END:L.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 j(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function $(e,r,t,A=j){let o=0,E={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!E.enabled)return e();for(;;)try{let r=await e();if(o){let e=`Request succeeded after ${o} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(a){let e=o>=E.maxRetries,r=a.isNetworkError&&!E.retryNetworkErrors,n=a.status&&a.status>=500&&!E.retry500Errors;if(e||r||n){let A=`Failed after ${o} retries. `;throw e?A+=`Reached maximum retries (${E.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":n&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${a.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),Error(A,{cause:a})}o++;let _=Math.min(E.initialBackoff*Math.pow(2,o-1)+Math.random()*E.maxJitter,Number.MAX_SAFE_INTEGER),i="Unknown error";a.isNetworkError?i="Network error":a.status&&(i=`HTTP ${a.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${o}/${E.maxRetries} due to: ${i}. Error details: ${a.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),await A(_)}}let X={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=X),X=window.__primerCache__);let z=()=>X.cache;function Q(){if(z().size<=30)return;let e=Date.now();for(let[r,t]of z())t.exp<e&&z().delete(r);if(z().size>50)for(let[e]of z()){if(z().size<=50)break;z().delete(e)}}let Z=(e,r,t)=>J(e,"get",r,t),J=async(e,r,t,A,o)=>{let E=P(),n=performance?.now(),_=x(e),i={method:r,url:t,body:o};_.networkCallEvent(W(E,i));try{let a=await fetch(t,{body:o,method:r,headers:{"content-type":"application/json","x-request-id":E,...A}});if(!a.ok){let e=Error(`HTTP error! status: ${a.status}`);throw e.status=a.status,e}let s=await a.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=V({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let c=performance?.now();return _.networkCallEvent(W(E,i,{data:s},c-n)),{data:s,headers:a.headers,status:a.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(W(E,i,{error:r},e-n)),r}},q=(e,r)=>new Promise((t,A)=>{let o=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(o))}),ee=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:o,timeout:E=15e3,checkoutSessionId:n}=r,_=x(n);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:o=36e5}=e;return async e=>{let E=Date.now(),n=z().get(r);if(!t&&n&&n.exp>E)return n.promise;n&&z().delete(r);let _=e().then(e=>{let t=o;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),function({key:e,ttl:r=36e5},t){r?z().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):z().delete(e)}({key:r,ttl:t},e),Q(),e},e=>{throw z().delete(r),e});return z().set(r,{promise:_,exp:E+o}),Q(),_}})(o)(()=>$(()=>q(Z(n,e,t),E),A,r=>_.messageEvent({...r,url:e})))},er="function"==typeof Buffer,et="function"==typeof TextDecoder?new TextDecoder:void 0,eA="function"==typeof TextEncoder?new TextEncoder:void 0,eo=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),eE=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(eo),en=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,e_=String.fromCharCode.bind(String),ei="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),ea=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),es=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),ec="function"==typeof btoa?e=>btoa(e):er?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,o,E="",n=e.length%3;for(let n=0;n<e.length;){if((t=e.charCodeAt(n++))>255||(A=e.charCodeAt(n++))>255||(o=e.charCodeAt(n++))>255)throw TypeError("invalid character found");E+=eo[(r=t<<16|A<<8|o)>>18&63]+eo[r>>12&63]+eo[r>>6&63]+eo[63&r]}return n?E.slice(0,n-3)+"===".substring(n):E},eT=er?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(e_.apply(null,e.subarray(t,t+4096)));return ec(r.join(""))},eN=(e,r=!1)=>r?ea(eT(e)):eT(e),eR=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?e_(192|r>>>6)+e_(128|63&r):e_(224|r>>>12&15)+e_(128|r>>>6&63)+e_(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return e_(240|r>>>18&7)+e_(128|r>>>12&63)+e_(128|r>>>6&63)+e_(128|63&r)},eO=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,eP=e=>e.replace(eO,eR),ed=er?e=>Buffer.from(e,"utf8").toString("base64"):eA?e=>eT(eA.encode(e)):e=>ec(eP(e)),eI=(e,r=!1)=>r?ea(ed(e)):ed(e),eD=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eu=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 e_((r>>>10)+55296)+e_((1023&r)+56320);case 3:return e_((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return e_((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},el=e=>e.replace(eD,eu),eS="function"==typeof atob?e=>atob(es(e)):er?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!en.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,o;for(let E=0;E<e.length;)r=eE[e.charAt(E++)]<<18|eE[e.charAt(E++)]<<12|(A=eE[e.charAt(E++)])<<6|(o=eE[e.charAt(E++)]),t+=64===A?e_(r>>16&255):64===o?e_(r>>16&255,r>>8&255):e_(r>>16&255,r>>8&255,255&r);return t},eL=er?e=>ei(Buffer.from(e,"base64")):e=>ei(eS(e).split("").map(e=>e.charCodeAt(0))),eC=e=>eL(eY(e)),em=er?e=>Buffer.from(e,"base64").toString("utf8"):et?e=>et.decode(eL(e)):e=>el(eS(e)),eY=e=>es(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),ep=e=>em(eY(e)),eh=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),eM={encode:eI,decode:ep},ef={encode:function(e,r={}){let{urlSafe:t=!1}=r;return eM.encode(e,t)},decode:eM.decode},ey="The provided `clientToken`",eU=`${ey} has expired`,ek=`${ey} is malformed`,ew=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.59.4","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function eg(e,r,t){let{accessToken:A,configurationUrl:o,analyticsUrlV2:E}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(ef.decode(t||r))}catch{throw Error(ek)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${eU}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),n=V({checkoutSessionId:r,url:E}),_=u;n.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:E}=await ee(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:ew(A,r,_),retryConfig:{enabled:!0},cacheConfig:t});return n.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eB(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 ev({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eB(t),reporter:A}):e&&eH(e,t,A)}async function eH(e,r,t){let A=await w(f.CRASH_EVENT,{...eB(r),reporter:t},{checkoutSessionId:e});try{await fetch(S,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eF=Symbol.for("initGlobalErrorMonitoringLoaded"),eG=(e,r)=>{"undefined"!=typeof window&&window[eF]||(window[eF]=!0,window.addEventListener("error",t=>{!eb(t)&&eK(t)&&ev({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eV(A)&&ev({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},eb=e=>"Script error."===e.message||!e.filename||0===e.lineno,eK=e=>{let r=e.filename;return!!(r&&ex(r))&&!!new l(e.error).isReported},eV=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=l.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&ex(e.fileName))||eW(r.stack).some(ex))}return!1},ex=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},eW=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},ej=["https://sdk.primer.io/web/","https://sdk.dev.primer.io/web/","https://sdk.sandbox.primer.io/web/","https://sdk.production.primer.io/web/","https://assets.primer.io/","https://x.klarnacdn.net/kp/lib/v","https://www.paypal.com/sdk/js","https://www.paypalobjects.com/","https://js.stripe.com/","https://pay.google.com/gp/p/js/"];function e$(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eX(e,r,t,A,o,E){let{analytics:n,name:_=r,retryConfig:i}=E;await $(()=>new Promise((E,i)=>{var a;let s,c=e$(e,t,r)||(a={...A,[t]:r},s=document.createElement(e),Object.entries(a).forEach(([e,r])=>s.setAttribute(e,r)),s);c.onload=()=>{n?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),E()},c.onerror=()=>{c.remove(),i(Error(`${o}: ${r}`))},c.parentNode||document.head.appendChild(c)}),i,e=>n?.messageEvent({...e,url:r}))}async function ez(r){return e||(e=Promise.all([function(e,r={}){if(!ej.some(r=>e.startsWith(r))){let t=`Script source not authorized per PCI DSS 6.4.3: ${e}`;return r.analytics?.scriptUnauthorizedEvent({scriptSource:e,errorMessage:t,severity:"ERROR"}),console.error(`[Primer SDK Security] ${t}`),Promise.reject(Error(t))}return e$("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eX("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.59.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()):eX("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.59.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 eQ=async()=>{let e=P();try{let r=x(e);try{eG(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:m.preloadPrimer}),await ez(r),r.timerEnd({id:m.preloadPrimer})}catch(A){let t=l.from(A);throw t.isReported||(ev({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=l.from(t);throw r.isReported||(eH(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},eZ=e0("createHeadless"),eJ=e0("showUniversalCheckout"),eq=e0("showVaultManager");function e0(e){return async(...[r,t,...A])=>{u=t?.apiVersion??"2.4";let o=P();try{let E=x(o);try{eG(o,E),E.sdkFunctionEvent({name:e,params:[r,t,...A]}),E.timerStart({id:m[e]});let[n,_]=await Promise.all([eg(r,o,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),ez(E)]);return _[e](n,o,r,t,...A)}catch(r){let e=l.from(r);throw e.isReported||(ev({checkoutSessionId:o,analytics:E,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=l.from(r);throw e.isReported||(eH(o,e,"lazyLoad level 0"),e.markAsReported()),e}}}(A={}).LOADING="Loading",A.NO_PAYMENT_METHOD="NoPaymentMethod",A.THREE_DS="UniversalCheckout/3ds",A.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",A.MANAGE_PAYMENT_METHODS="VaultManager/Home",A.DIRECT_DEBIT_FORM="DirectDebit/Form",A.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",A.CREDIT_CARD_FORM="CreditCard/Form",A.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",A.SUCCESS_CHECK="UniversalCheckout/Success/Check",(o={}).ROOT="primer-checkout",o.ROOT_CONTENT="primer-checkout-content",o.SUBMIT_BUTTON="primer-checkout-submit-button",o.THREE_DS_MODAL="primer-checkout-3ds-modal",o.VAULT="primer-checkout-vault",o.VAULT_INLINE="primer-checkout-vault-inline",o.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",o.DIVIDER="primer-checkout-payment-method-divider",o.APM_BUTTONS="primer-checkout-apm-button-container",o.CARDHOLDER_NAME="primer-checkout-cardholder-name",o.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",o.ACTIONS="primer-checkout-actions",o.ACTIONS_MENU="primer-checkout-actions-menu",o.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",o.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",o.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",o.CARD_FORM="primer-checkout-card-form",o.DD_SWITCH="primer-checkout-switch-dd-inputs",o.DD_IBAN_FIELD="primer-checkout-dd-iban-field",o.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",o.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",o.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",o.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",o.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",o.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",o.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",o.DD_IBAN_INPUT="primer-checkout-dd-iban-input",o.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",o.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",o.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",o.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",o.ERROR_MESSAGE="primer-checkout-error-message",(E={}).TOKEN="PrimerCheckout__token",E.HIDDEN="PrimerCheckout--hidden",E.FOCUSED="PrimerCheckout--focused",E.SELECTED="PrimerCheckout--selected",E.LOADING="PrimerCheckout--loading",E.ERROR="PrimerCheckout--error",E.CARD_TYPE="PrimerCheckout__cardType",E.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",E.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",E.APM_BUTTON="PrimerCheckout__apmButton",E.EDIT_BUTTON="PrimerCheckout__editButton",E.MENU="PrimerCheckout__dropDownMenu",E.MENU_ITEM="PrimerCheckout__dropDownMenuItem",E.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",E.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",E.ENTER="PrimerCheckout--enter",E.ENTERING="PrimerCheckout--entering",E.ENTERED="PrimerCheckout--entered",E.EXIT="PrimerCheckout--exit",E.EXITING="PrimerCheckout--exiting",E.EXITED="PrimerCheckout--exited";var e1=((n={}).CHECKOUT="CHECKOUT",n.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",n.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",n),e2=((_={}).DEFAULT="DEFAULT",_.PREFER_VAULT="PREFER_VAULT",_);(i={}).TOKENIZE_STARTED="tokenize-started",i.TOKENIZE_ERROR="tokenize-error",i.TOKENIZE_SUCCESS="tokenize-success",i.TOKENIZE_DID_NOT_START="tokenize-did-not-start";var e6=((a={}).SUCCESS="AUTH_SUCCESS",a.FAILED="AUTH_FAILED",a.SKIPPED="SKIPPED",a.CHALLENGE="CHALLENGE",a);let e5={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",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",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",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e3={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",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",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",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e4={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};e5.PAYPAL_VAULTED,e3.PAYPAL,e5.KLARNA_CUSTOMER_TOKEN,e3.KLARNA,e5.AUTOMATED_CLEARING_HOUSE,e3.STRIPE_ACH,e5.CARD,e3.PAYMENT_CARD;var e8=((s={}).INITIALIZATION_ERROR="INITIALIZATION_ERROR",s.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",s.PRIMER_TEARDOWN="PRIMER_TEARDOWN",s.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",s.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",s.TOKENIZATION_ERROR="TOKENIZATION_ERROR",s.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",s.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",s.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",s.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",s.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",s.RESUME_ERROR="RESUME_ERROR",s.VALIDATION_ERROR="VALIDATION_ERROR",s.PAYMENT_FAILED="PAYMENT_FAILED",s.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",s.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",s.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",s.INVALID_ARGUMENT="INVALID_ARGUMENT",s.VAULT_FETCH="VAULT_FETCH",s.VAULT_DELETE="VAULT_DELETE",s.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",s.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",s.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",s.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",s.INVALID_FLOW="INVALID_FLOW",s);function e9(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class e7 extends l{static fromErrorCode(e,r){return new e7(e,r)}constructor(e,r){super(r.message),e9(this,"code",void 0),e9(this,"diagnosticsId",void 0),e9(this,"data",void 0),e9(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,e7)}}var re=((c={}).PAYMENT_METHOD="PAYMENT_METHOD",c.CHECK="CHECK",c);let rr=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var rt=((T={}).CHANGE="change",T.ERROR="error",T.FOCUS="focus",T.BLUR="blur",T.CLICK="click",T.CLOSE="close",T.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",T.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",T.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",T.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",T),rA=((N={}).CARD="CARD",N.NATIVE="NATIVE",N.REDIRECT="REDIRECT",N.KLARNA="KLARNA",N.ACH="ACH",N);let ro={SDK_VERSION:"v2.59.4",createHeadless:eZ,showUniversalCheckout:eJ,showVaultManager:eq,preloadPrimer:eQ};return O})());
2
2
  //# sourceMappingURL=Primer.js.map
package/dist/index.d.ts CHANGED
@@ -734,6 +734,7 @@ export interface GooglePayOptions extends PositionalConfig {
734
734
  emailRequired?: boolean;
735
735
  requireShippingMethod?: boolean;
736
736
  shadowRoot?: boolean;
737
+ existingPaymentMethodRequired?: boolean;
737
738
  }
738
739
  export interface PayPalOptions extends PositionalConfig {
739
740
  buttonColor?: "gold" | "blue" | "silver" | "white" | "black";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.59.3",
3
+ "version": "2.59.4",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",