@primer-io/checkout-web 2.50.4 → 2.50.6

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(M,T){typeof exports=="object"&&typeof module=="object"?module.exports=T():typeof define=="function"&&define.amd?define([],T):typeof exports=="object"?exports.Primer=T():M.Primer=T()})(this,()=>(()=>{var ee={189:()=>{},367:()=>{},56:()=>{}},M={};function T(R){var u=M[R];if(u!==void 0)return u.exports;var O=M[R]={exports:{}};return ee[R](O,O.exports,T),O.exports}T.d=(R,u)=>{for(var O in u)T.o(u,O)&&!T.o(R,O)&&Object.defineProperty(R,O,{enumerable:!0,get:u[O]})},T.o=(R,u)=>Object.prototype.hasOwnProperty.call(R,u),T.r=R=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})};var v={};return(()=>{"use strict";T.r(v),T.d(v,{CheckoutUXFlow:()=>Ke,ErrorCode:()=>ze,EventTypes:()=>Qe,HeadlessManagerType:()=>Ze,PaymentFlow:()=>We,PaymentInstrumentType:()=>w,PaymentMethodData:()=>nr.PaymentMethodData,PaymentMethodType:()=>p,Primer:()=>ir,SuccessScreenType:()=>Xe,ThreeDSecureStatus:()=>$e,TokenType:()=>rr,isStripeOptionsDropInWithFullMandateText:()=>or});const R={LEGACY:"legacy",V_2_4:"2.4"},u=R.LEGACY;let O=u;function qe(e){e||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),O=e??u}function Je(){return O}class D extends Error{constructor(t,r=!1){super(t),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(t,r=!1){if(t instanceof D)return t;const n=t instanceof Error?t.message:String(t),o=new D(n,r);return t instanceof Error&&t.stack&&(o.stack=t.stack,Object.assign(o,t)),o}markAsReported(){this.isReported=!0}}const te="https://analytics.production.data.primer.io/sdk-logs";var ar=T(189),Er=T(367),b=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(b||{}),H=(e=>(e.START="START",e.END="END",e))(H||{});const x={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var I=(e=>(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))(I||{});const et={get(e,t){let r;try{switch(e){case"PRIMER_SDK_VERSION":r="v2.50.4";break;case"PRIMER_ASSETS_URL":r=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":r=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return r||t}};var tt=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(tt||{});async function rt(){if(typeof navigator>"u"||typeof performance>"u")return;const 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"}}const nt="WEB",ot=et.get("PRIMER_SDK_VERSION");async function re(e,t,r){return{...r,createdAt:Date.now(),device:await rt(),eventType:e,properties:t,sdkVersion:ot,sdkType:nt}}const ne=Symbol.for("__primerAnalytics__");let C={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const e=window[ne];e?C=e:window[ne]=C}const oe=()=>C.providers,F=()=>C.timers,m=()=>C.eventsQueue,ie=500,y=new Map,Ae=64e3,it=5;function G(e,t=!1,r=1){if(y.has(e)){const i=y.get(e);clearTimeout(i),y.delete(e)}const n=()=>{const i=m().get(e);if(i?.length){let A=!0,s=[],_=0,a=0;for(;a<i.length;){const E=i[a],f=JSON.stringify(E),N=new Blob([f]).size;if(N>Ae){console.error("Event size exceeds maximum payload size and will be skipped:",E),a++;continue}if(_+N>Ae&&s.length>0){try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(P){A=!1,console.error("Unable to send events",P)}if(!A)break;s=[],_=0}s.push(E),_+=N,a++}if(s.length>0&&A)try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(E){A=!1,console.error("Unable to send events",E)}if(A)m().delete(e);else if(r<it){const E=ie*Math.pow(2,r);setTimeout(()=>G(e,t,r+1),E)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(t){n();return}const o=setTimeout(n,ie);y.set(e,o)}function At(e,t){m().has(e)||m().set(e,[]),m().get(e)?.push(t),G(e)}const se=1024*5;function ae(e,t,r=new WeakSet,n=0,o=10){if(n>o||r.has(e))return e;r.add(e);const i=A=>typeof A=="object"&&A!==null?ae(A,t,r,n+1,o):t(A);return Array.isArray(e)?e.map(i):Object.fromEntries(Object.entries(e).map(([A,s])=>[A,i(s)]))}function st(e){return typeof e=="string"&&e.length>se?`${e.slice(0,se)}...`:e}function at(e){return typeof e=="function"?e.name||"function":e}let Ee=!1;function V({url:e=te,...t}){typeof document<"u"&&!Ee&&(document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){const o=l(t.checkoutSessionId);o.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),G(o.url,!0)}}),Ee=!0);const r=o=>async i=>{if(typeof navigator>"u")return;const A=await re(o,i,t),_=ae(A,a=>st(at(a)));At(e,_)},n={crashEvent:r(I.CRASH_EVENT),messageEvent:r(I.MESSAGE_EVENT),networkCallEvent:r(I.NETWORK_CALL_EVENT),sdkFunctionEvent:r(I.SDK_FUNCTION_EVENT),timerStart:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,s=performance?.now?performance.now():Date.now();return F().set(A,{start:s}),r(I.TIMER_EVENT)({...i,id:o,timerType:H.START})},timerEnd:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,{start:s=void 0}=F().get(A)??{};F().delete(A);const _=performance?.now?performance.now():Date.now(),a=s?_-s:void 0;return r(I.TIMER_EVENT)({...i,id:o,timerType:H.END,duration:a})},v1Event:r(I.V1_EVENT),url:e};return oe().set(t.checkoutSessionId,n),l(t.checkoutSessionId)}function l(e){return new Proxy({},{get(t,r){return(oe().get(e)??V({checkoutSessionId:e}))[r]}})}const K=(e,t,r,n)=>({callType:r?b.REQUEST_END:b.REQUEST_START,id:e,errorBody:r?.error&&JSON.stringify(r.error,Object.getOwnPropertyNames(r.error)),method:t.method,responseCode:r?.status,url:t.url,duration:n});function Et(e){return e?new Promise(t=>{setTimeout(t,e)}):Promise.resolve()}const _t=8,ct=100,Tt=100;function Nt(e){return{enabled:e?.enabled??!1,maxRetries:_t,initialBackoff:ct,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Tt}}function Rt(e,t,r){const n=e*Math.pow(2,t-1),o=Math.random()*r;return Math.min(n+o,Number.MAX_SAFE_INTEGER)}async function _e(e,t,r,n=Et){let o=0;const i=Nt(t);if(!i.enabled)return e();for(;;)try{const A=await e();if(o){let s=`Request succeeded after ${o} retries.`;typeof A=="object"&&A&&"status"in A&&(s+=` Status code: ${A.status}`),r?.({messageType:"RETRY_SUCCESS",message:s,severity:"INFO"})}return A}catch(A){const s=A,_=o>=i.maxRetries,a=s.isNetworkError&&!i.retryNetworkErrors,E=s.status&&s.status>=500&&!i.retry500Errors;if(_||a||E){let P=`Failed after ${o} retries. `;throw _?P+=`Reached maximum retries (${i.maxRetries}).`:a?P+="Network error encountered and retryNetworkErrors is disabled.":E&&(P+="HTTP 500 error encountered and retry500Errors is disabled."),P+=` Last error: ${s.message}`,r?.({messageType:"RETRY_FAILED",message:P,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(P,{cause:A})}o++;const f=Rt(i.initialBackoff,o,i.maxJitter);let N="Unknown error";s.isNetworkError?N="Network error":s.status&&(N=`HTTP ${s.status} error`),r?.({messageType:"RETRY",message:`Retry attempt ${o}/${i.maxRetries} due to: ${N}. Error details: ${s.message}. Waiting for ${f.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await n(f)}}let W={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=W),W=window.__primerCache__);const d=()=>W.cache,ce=1e3*60*60,dt=30,Te=50;function Ne(){if(d().size<=dt)return;const e=Date.now();for(const[t,r]of d())r.exp<e&&d().delete(t);if(d().size>Te)for(const[t]of d()){if(d().size<=Te)break;d().delete(t)}}function Pt({key:e,ttl:t=ce},r){t?d().set(e,{promise:Promise.resolve({...r,source:"CACHE"}),exp:Date.now()+t}):d().delete(e)}function ut(e){if(!e)return i=>i();const{key:t,refresh:r=!1,usePrimerSessionCacheTtlHeader:n=!1,ttl:o=ce}=e;return async i=>{const A=Date.now(),s=d().get(t);if(!r&&s&&s.exp>A)return s.promise;s&&d().delete(t);const _=i().then(a=>{let E=o;return n&&(E=(Number(a.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Pt({key:t,ttl:E},a),Ne(),a},a=>{throw d().delete(t),a});return d().set(t,{promise:_,exp:A+o}),Ne(),_}}const $=()=>Re.randomUUID?.()||Ot(),Ot=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(e^Dt()>>e/4).toString(16)),Dt=()=>(Re.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Re=typeof crypto<"u"?crypto:{},de=15e3,It=(e,t,r)=>Pe(e,"get",t,r),ft=(e,t,r,n)=>Pe(e,"post",t,n,JSON.stringify(r)),Pe=async(e,t,r,n,o)=>{const i=$(),A=performance?.now();let s=l(e);const _={method:t,url:r,body:o};s.networkCallEvent(K(i,_));try{const a=await fetch(r,{body:o,method:t,headers:{"content-type":"application/json","x-request-id":i,...n}});if(!a.ok){const P=new Error(`HTTP error! status: ${a.status}`);throw P.status=a.status,P}const E=await a.json();if(r.includes("client-sdk/configuration")){const{primerAccountId:P,clientSession:{clientSessionId:Ar,customer:sr}}=E;s=V({checkoutSessionId:e,clientSessionId:Ar,customerId:sr?.customerId,primerAccountId:P,url:s.url})}const N=performance?.now()-A;return s.networkCallEvent(K(i,_,{data:E},N)),{data:E,headers:a.headers,status:a.status,source:"NETWORK"}}catch(a){const f=performance?.now()-A;throw Object.assign(a,{isNetworkError:a instanceof TypeError}),s.networkCallEvent(K(i,_,{error:a},f)),a}},ue=(e,t)=>new Promise((r,n)=>{const o=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,n(i)},t);e.then(r).catch(n).finally(()=>clearTimeout(o))}),lt=(e,t)=>{const{headers:r,retryConfig:n,cacheConfig:o,timeout:i=de,checkoutSessionId:A}=t,s=l(A);return ut(o)(()=>_e(()=>ue(It(A,e,r),i),n,_=>s.messageEvent({..._,url:e})))},_r=(e,t,r)=>{const{headers:n,retryConfig:o,cacheConfig:i,timeout:A=de,checkoutSessionId:s}=r,_=getAnalytics(s);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>ue(ft(s,e,t,n),A),o,a=>_.messageEvent({...a,url:e})))},Oe="3.7.7",Lt=Oe,L=typeof Buffer=="function",De=typeof TextDecoder=="function"?new TextDecoder:void 0,Ie=typeof TextEncoder=="function"?new TextEncoder:void 0,Y=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),U=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Y),St=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),fe=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),le=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Le=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Se=e=>{let t,r,n,o,i="";const A=e.length%3;for(let s=0;s<e.length;){if((r=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|o,i+=Y[t>>18&63]+Y[t>>12&63]+Y[t>>6&63]+Y[t&63]}return A?i.slice(0,A-3)+"===".substring(A):i},j=typeof btoa=="function"?e=>btoa(e):L?e=>Buffer.from(e,"binary").toString("base64"):Se,z=L?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,o=e.length;n<o;n+=4096)r.push(c.apply(null,e.subarray(n,n+4096)));return j(r.join(""))},g=(e,t=!1)=>t?le(z(e)):z(e),Ct=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},mt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Ce=e=>e.replace(mt,Ct),me=L?e=>Buffer.from(e,"utf8").toString("base64"):Ie?e=>z(Ie.encode(e)):e=>j(Ce(e)),S=(e,t=!1)=>t?le(me(e)):me(e),Ye=e=>S(e,!0),Yt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ht=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return c((r>>>10)+55296)+c((r&1023)+56320);case 3:return c((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return c((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},he=e=>e.replace(Yt,ht),pe=e=>{if(e=e.replace(/\s+/g,""),!St.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,o;for(let i=0;i<e.length;)t=U[e.charAt(i++)]<<18|U[e.charAt(i++)]<<12|(n=U[e.charAt(i++)])<<6|(o=U[e.charAt(i++)]),r+=n===64?c(t>>16&255):o===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return r},X=typeof atob=="function"?e=>atob(Le(e)):L?e=>Buffer.from(e,"base64").toString("binary"):pe,Me=L?e=>fe(Buffer.from(e,"base64")):e=>fe(X(e).split("").map(t=>t.charCodeAt(0))),ye=e=>Me(Ue(e)),pt=L?e=>Buffer.from(e,"base64").toString("utf8"):De?e=>De.decode(Me(e)):e=>he(X(e)),Ue=e=>Le(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Q=e=>pt(Ue(e)),Mt=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},ge=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ke=function(){const e=(t,r)=>Object.defineProperty(String.prototype,t,ge(r));e("fromBase64",function(){return Q(this)}),e("toBase64",function(t){return S(this,t)}),e("toBase64URI",function(){return S(this,!0)}),e("toBase64URL",function(){return S(this,!0)}),e("toUint8Array",function(){return ye(this)})},we=function(){const e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,ge(r));e("toBase64",function(t){return g(this,t)}),e("toBase64URI",function(){return g(this,!0)}),e("toBase64URL",function(){return g(this,!0)})},Be={version:Oe,VERSION:Lt,atob:X,atobPolyfill:pe,btoa:j,btoaPolyfill:Se,fromBase64:Q,toBase64:S,encode:S,encodeURI:Ye,encodeURL:Ye,utob:Ce,btou:he,decode:Q,isValid:Mt,fromUint8Array:g,toUint8Array:ye,extendString:ke,extendUint8Array:we,extendBuiltins:()=>{ke(),we()}},yt={encode:Ut,decode:Be.decode};function Ut(e,t={}){const{urlSafe:r=!1}=t;return Be.encode(e,r)}function gt(e){const t=Bt(e),r=t.exp*1e3;if(Date.now()>r)throw new Error(`${kt}. Expiration date: ${new Date(r).toISOString()}`);return t}const ve="The provided `clientToken`",kt=`${ve} has expired`,wt=`${ve} is malformed`;function Bt(e){try{const[t,r]=e.split("."),n=r||t;return JSON.parse(yt.decode(n))}catch{throw new Error(wt)}}const vt="v2.50.4",bt=(e,t,r)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":vt,"primer-sdk-checkout-session-id":t,...r&&{"x-api-version":r}});async function Ht(e,t,r){const{accessToken:n,configurationUrl:o,analyticsUrlV2:i}=gt(e),A=V({checkoutSessionId:t,url:i}),s=Je(),_=s!==R.LEGACY?s:"2.3";A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:a,source:E}=await lt(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:t,headers:bt(n,t,_),retryConfig:{enabled:!0},cacheConfig:r});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),a}catch(a){const E=a instanceof Error?a.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${E}`)}}function be(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:typeof e=="object"&&e!==null&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function k({checkoutSessionId:e,analytics:t,error:r,reporter:n}){t?.crashEvent?t.crashEvent({...be(r),reporter:n}):e&&Z(e,r,n)}async function Z(e,t,r){const n=te,o=await re(I.CRASH_EVENT,{...be(t),reporter:r},{checkoutSessionId:e});try{await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})}catch(i){console.error("Failed to post crash event",i)}}const He=Symbol.for("initGlobalErrorMonitoringLoaded"),xe=(e,t)=>{typeof window<"u"&&window[He]||(window[He]=!0,window.addEventListener("error",r=>{xt(r)||Ft(r)&&k({checkoutSessionId:e,analytics:t,error:r.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",r=>{const n=r.reason||new Error("Unhandled promise rejection");Gt(n)&&k({checkoutSessionId:e,analytics:t,error:n,reporter:"unhandledrejection"})}))},xt=e=>e.message==="Script error."||!e.filename||e.lineno===0,Ft=e=>{const t=e.filename;return!!(t&&q(t)&&new D(e.error).isReported)},Gt=e=>{if(e&&typeof e=="object"&&"stack"in e&&typeof e.stack=="string"){const t=D.from(e);if(t.isReported)return!1;if("fileName"in e&&typeof e.fileName=="string"){const n=e.fileName;if(q(n))return!0}return Vt(t.stack).some(q)}return!1},q=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Vt=e=>{if(!e)return[];const t=e.split(`
2
- `),r=[],n=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const o of t){const i=o.match(n);if(i&&i[1])r.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,s=o.match(A);s&&s[1]&&r.push(s[1])}}return r};function Kt(e,t){const r=document.createElement(e);return Object.entries(t).forEach(([n,o])=>r.setAttribute(n,o)),r}function Fe(e,t,r){return document.querySelector(`${e}[${t}^="${r}"]`)}async function Ge(e,t,r,n,o,i){const{analytics:A,name:s=t,retryConfig:_}=i;await _e(()=>new Promise((E,f)=>{const N=Fe(e,r,t)||Kt(e,{...n,[r]:t});N.onload=()=>{A?.sdkFunctionEvent({name:s,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${t}`]}),E()},N.onerror=()=>{N.remove(),f(new Error(`${o}: ${t}`))},N.parentNode||document.head.appendChild(N)}),_,E=>A?.messageEvent({...E,url:t}))}function Wt(e,t={}){return Fe("script","src",e)&&window.__Primer?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Script already loaded"]}),Promise.resolve()):Ge("script",e,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function $t(e,t={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):Ge("link",e,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let h;async function Ve(e){return h||(h=Promise.all([Wt("https://sdk.primer.io/web/v2.50.4/PrimerCoreSDK.min.js",{analytics:e,name:"loadPrimerScript"}),$t("https://sdk.primer.io/web/v2.50.4/Checkout.css",{analytics:e,name:"loadPrimerCss"})]).then(()=>{const n=window.__Primer;return delete window.__Primer,n}).catch(n=>{throw h=void 0,n}),h)}const jt=async()=>{const e=$();try{const t=l(e);try{xe(e,t),t.sdkFunctionEvent({name:"preloadPrimer"}),t.timerStart({id:x.preloadPrimer}),await Ve(t),t.timerEnd({id:x.preloadPrimer})}catch(r){const n=D.from(r);throw n.isReported||(k({checkoutSessionId:e,analytics:t,error:n,reporter:"preloadPrimer level 1"}),n.markAsReported()),n}}catch(t){const r=D.from(t);throw r.isReported||(Z(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},zt="v2.50.4",Xt=J("createHeadless"),Qt=J("showUniversalCheckout"),Zt=J("showVaultManager");function J(e){return async(...[t,r,...n])=>{qe(r?.apiVersion);const o=$();try{const i=l(o);try{xe(o,i),i.sdkFunctionEvent({name:e,params:[t,r,...n]}),i.timerStart({id:x[e]});const[A,s]=await Promise.all([Ht(t,o,r?.clientSessionCachingEnabled?{key:t,usePrimerSessionCacheTtlHeader:!0}:void 0),Ve(i)]);return s[e](A,o,t,r,...n)}catch(A){const s=D.from(A);throw s.isReported||(k({checkoutSessionId:o,analytics:i,error:s,reporter:"lazyLoad level 1"}),s.markAsReported()),s}}catch(i){const A=D.from(i);throw A.isReported||(Z(o,A,"lazyLoad level 0"),A.markAsReported()),A}}}var qt=(e=>(e.LOADING="Loading",e.NO_PAYMENT_METHOD="NoPaymentMethod",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(qt||{}),Jt=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Jt||{}),er=(e=>(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",e))(er||{}),Ke=(e=>(e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e))(Ke||{}),We=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(We||{}),tr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(tr||{}),$e=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))($e||{});const w={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"},p={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"},Nr={PAYMENT_CARD:"PAYMENT_CARD",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD"},rr={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"},je={[w.PAYPAL_VAULTED]:p.PAYPAL,[w.KLARNA_CUSTOMER_TOKEN]:p.KLARNA,[w.AUTOMATED_CLEARING_HOUSE]:p.STRIPE_ACH},Rr=e=>{if(Object.values(p).includes(e))return e;if(je[e])return je[e]};var ze=(e=>(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))(ze||{});class B extends D{static fromErrorCode(t,r){return new B(t,r)}constructor(t,r){super(r.message),this.code=t,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,B)}}function dr(e,t,r){const n=new B(e,t);return r&&(r.messageEvent({message:`${e}: ${t.message}`,messageType:e,severity:"ERROR",diagnosticsId:t.diagnosticsId??void 0,errorId:t.errorId??void 0,data:t.data??void 0,isFromDeveloper:t.isFromDeveloper?.toString(),stack:n.stack}),n.markAsReported()),n}var nr=T(56),Xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Xe||{});const or=e=>{const t=e?.mandateData;return t?"fullMandateText"in t:!1};var Qe=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Qe||{}),Ze=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e))(Ze||{});const ir={SDK_VERSION:zt,createHeadless:Xt,showUniversalCheckout:Qt,showVaultManager:Zt,preloadPrimer:jt}})(),v})());
1
+ (function(M,T){typeof exports=="object"&&typeof module=="object"?module.exports=T():typeof define=="function"&&define.amd?define([],T):typeof exports=="object"?exports.Primer=T():M.Primer=T()})(this,()=>(()=>{var ee={189:()=>{},367:()=>{},56:()=>{}},M={};function T(R){var u=M[R];if(u!==void 0)return u.exports;var O=M[R]={exports:{}};return ee[R](O,O.exports,T),O.exports}T.d=(R,u)=>{for(var O in u)T.o(u,O)&&!T.o(R,O)&&Object.defineProperty(R,O,{enumerable:!0,get:u[O]})},T.o=(R,u)=>Object.prototype.hasOwnProperty.call(R,u),T.r=R=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})};var v={};return(()=>{"use strict";T.r(v),T.d(v,{CheckoutUXFlow:()=>Ke,ErrorCode:()=>ze,EventTypes:()=>Qe,HeadlessManagerType:()=>Ze,PaymentFlow:()=>We,PaymentInstrumentType:()=>w,PaymentMethodData:()=>nr.PaymentMethodData,PaymentMethodType:()=>p,Primer:()=>ir,SuccessScreenType:()=>Xe,ThreeDSecureStatus:()=>$e,TokenType:()=>rr,isStripeOptionsDropInWithFullMandateText:()=>or});const R={LEGACY:"legacy",V_2_4:"2.4"},u=R.LEGACY;let O=u;function qe(e){e||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),O=e??u}function Je(){return O}class D extends Error{constructor(t,r=!1){super(t),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(t,r=!1){if(t instanceof D)return t;const n=t instanceof Error?t.message:String(t),o=new D(n,r);return t instanceof Error&&t.stack&&(o.stack=t.stack,Object.assign(o,t)),o}markAsReported(){this.isReported=!0}}const te="https://analytics.production.data.primer.io/sdk-logs";var ar=T(189),Er=T(367),b=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(b||{}),H=(e=>(e.START="START",e.END="END",e))(H||{});const x={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var I=(e=>(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))(I||{});const et={get(e,t){let r;try{switch(e){case"PRIMER_SDK_VERSION":r="v2.50.6";break;case"PRIMER_ASSETS_URL":r=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":r=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return r||t}};var tt=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(tt||{});async function rt(){if(typeof navigator>"u"||typeof performance>"u")return;const 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"}}const nt="WEB",ot=et.get("PRIMER_SDK_VERSION");async function re(e,t,r){return{...r,createdAt:Date.now(),device:await rt(),eventType:e,properties:t,sdkVersion:ot,sdkType:nt}}const ne=Symbol.for("__primerAnalytics__");let m={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const e=window[ne];e?m=e:window[ne]=m}const oe=()=>m.providers,F=()=>m.timers,C=()=>m.eventsQueue,ie=500,y=new Map,Ae=64e3,it=5;function G(e,t=!1,r=1){if(y.has(e)){const i=y.get(e);clearTimeout(i),y.delete(e)}const n=()=>{const i=C().get(e);if(i?.length){let A=!0,s=[],_=0,a=0;for(;a<i.length;){const E=i[a],f=JSON.stringify(E),N=new Blob([f]).size;if(N>Ae){console.error("Event size exceeds maximum payload size and will be skipped:",E),a++;continue}if(_+N>Ae&&s.length>0){try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(P){A=!1,console.error("Unable to send events",P)}if(!A)break;s=[],_=0}s.push(E),_+=N,a++}if(s.length>0&&A)try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(E){A=!1,console.error("Unable to send events",E)}if(A)C().delete(e);else if(r<it){const E=ie*Math.pow(2,r);setTimeout(()=>G(e,t,r+1),E)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(t){n();return}const o=setTimeout(n,ie);y.set(e,o)}function At(e,t){C().has(e)||C().set(e,[]),C().get(e)?.push(t),G(e)}const se=1024*5;function ae(e,t,r=new WeakSet,n=0,o=10){if(n>o||r.has(e))return e;r.add(e);const i=A=>typeof A=="object"&&A!==null?ae(A,t,r,n+1,o):t(A);return Array.isArray(e)?e.map(i):Object.fromEntries(Object.entries(e).map(([A,s])=>[A,i(s)]))}function st(e){return typeof e=="string"&&e.length>se?`${e.slice(0,se)}...`:e}function at(e){return typeof e=="function"?e.name||"function":e}let Ee=!1;function V({url:e=te,...t}){typeof document<"u"&&!Ee&&(document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){const o=l(t.checkoutSessionId);o.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),G(o.url,!0)}}),Ee=!0);const r=o=>async i=>{if(typeof navigator>"u")return;const A=await re(o,i,t),_=ae(A,a=>st(at(a)));At(e,_)},n={crashEvent:r(I.CRASH_EVENT),messageEvent:r(I.MESSAGE_EVENT),networkCallEvent:r(I.NETWORK_CALL_EVENT),sdkFunctionEvent:r(I.SDK_FUNCTION_EVENT),timerStart:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,s=performance?.now?performance.now():Date.now();return F().set(A,{start:s}),r(I.TIMER_EVENT)({...i,id:o,timerType:H.START})},timerEnd:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,{start:s=void 0}=F().get(A)??{};F().delete(A);const _=performance?.now?performance.now():Date.now(),a=s?_-s:void 0;return r(I.TIMER_EVENT)({...i,id:o,timerType:H.END,duration:a})},v1Event:r(I.V1_EVENT),url:e};return oe().set(t.checkoutSessionId,n),l(t.checkoutSessionId)}function l(e){return new Proxy({},{get(t,r){return(oe().get(e)??V({checkoutSessionId:e}))[r]}})}const K=(e,t,r,n)=>({callType:r?b.REQUEST_END:b.REQUEST_START,id:e,errorBody:r?.error&&JSON.stringify(r.error,Object.getOwnPropertyNames(r.error)),method:t.method,responseCode:r?.status,url:t.url,duration:n});function Et(e){return e?new Promise(t=>{setTimeout(t,e)}):Promise.resolve()}const _t=8,ct=100,Tt=100;function Nt(e){return{enabled:e?.enabled??!1,maxRetries:_t,initialBackoff:ct,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Tt}}function Rt(e,t,r){const n=e*Math.pow(2,t-1),o=Math.random()*r;return Math.min(n+o,Number.MAX_SAFE_INTEGER)}async function _e(e,t,r,n=Et){let o=0;const i=Nt(t);if(!i.enabled)return e();for(;;)try{const A=await e();if(o){let s=`Request succeeded after ${o} retries.`;typeof A=="object"&&A&&"status"in A&&(s+=` Status code: ${A.status}`),r?.({messageType:"RETRY_SUCCESS",message:s,severity:"INFO"})}return A}catch(A){const s=A,_=o>=i.maxRetries,a=s.isNetworkError&&!i.retryNetworkErrors,E=s.status&&s.status>=500&&!i.retry500Errors;if(_||a||E){let P=`Failed after ${o} retries. `;throw _?P+=`Reached maximum retries (${i.maxRetries}).`:a?P+="Network error encountered and retryNetworkErrors is disabled.":E&&(P+="HTTP 500 error encountered and retry500Errors is disabled."),P+=` Last error: ${s.message}`,r?.({messageType:"RETRY_FAILED",message:P,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(P,{cause:A})}o++;const f=Rt(i.initialBackoff,o,i.maxJitter);let N="Unknown error";s.isNetworkError?N="Network error":s.status&&(N=`HTTP ${s.status} error`),r?.({messageType:"RETRY",message:`Retry attempt ${o}/${i.maxRetries} due to: ${N}. Error details: ${s.message}. Waiting for ${f.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await n(f)}}let W={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=W),W=window.__primerCache__);const d=()=>W.cache,ce=1e3*60*60,dt=30,Te=50;function Ne(){if(d().size<=dt)return;const e=Date.now();for(const[t,r]of d())r.exp<e&&d().delete(t);if(d().size>Te)for(const[t]of d()){if(d().size<=Te)break;d().delete(t)}}function Pt({key:e,ttl:t=ce},r){t?d().set(e,{promise:Promise.resolve({...r,source:"CACHE"}),exp:Date.now()+t}):d().delete(e)}function ut(e){if(!e)return i=>i();const{key:t,refresh:r=!1,usePrimerSessionCacheTtlHeader:n=!1,ttl:o=ce}=e;return async i=>{const A=Date.now(),s=d().get(t);if(!r&&s&&s.exp>A)return s.promise;s&&d().delete(t);const _=i().then(a=>{let E=o;return n&&(E=(Number(a.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Pt({key:t,ttl:E},a),Ne(),a},a=>{throw d().delete(t),a});return d().set(t,{promise:_,exp:A+o}),Ne(),_}}const $=()=>Re.randomUUID?.()||Ot(),Ot=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(e^Dt()>>e/4).toString(16)),Dt=()=>(Re.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Re=typeof crypto<"u"?crypto:{},de=15e3,It=(e,t,r)=>Pe(e,"get",t,r),ft=(e,t,r,n)=>Pe(e,"post",t,n,JSON.stringify(r)),Pe=async(e,t,r,n,o)=>{const i=$(),A=performance?.now();let s=l(e);const _={method:t,url:r,body:o};s.networkCallEvent(K(i,_));try{const a=await fetch(r,{body:o,method:t,headers:{"content-type":"application/json","x-request-id":i,...n}});if(!a.ok){const P=new Error(`HTTP error! status: ${a.status}`);throw P.status=a.status,P}const E=await a.json();if(r.includes("client-sdk/configuration")){const{primerAccountId:P,clientSession:{clientSessionId:Ar,customer:sr}}=E;s=V({checkoutSessionId:e,clientSessionId:Ar,customerId:sr?.customerId,primerAccountId:P,url:s.url})}const N=performance?.now()-A;return s.networkCallEvent(K(i,_,{data:E},N)),{data:E,headers:a.headers,status:a.status,source:"NETWORK"}}catch(a){const f=performance?.now()-A;throw Object.assign(a,{isNetworkError:a instanceof TypeError}),s.networkCallEvent(K(i,_,{error:a},f)),a}},ue=(e,t)=>new Promise((r,n)=>{const o=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,n(i)},t);e.then(r).catch(n).finally(()=>clearTimeout(o))}),lt=(e,t)=>{const{headers:r,retryConfig:n,cacheConfig:o,timeout:i=de,checkoutSessionId:A}=t,s=l(A);return ut(o)(()=>_e(()=>ue(It(A,e,r),i),n,_=>s.messageEvent({..._,url:e})))},_r=(e,t,r)=>{const{headers:n,retryConfig:o,cacheConfig:i,timeout:A=de,checkoutSessionId:s}=r,_=getAnalytics(s);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>ue(ft(s,e,t,n),A),o,a=>_.messageEvent({...a,url:e})))},Oe="3.7.7",Lt=Oe,L=typeof Buffer=="function",De=typeof TextDecoder=="function"?new TextDecoder:void 0,Ie=typeof TextEncoder=="function"?new TextEncoder:void 0,Y=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),U=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Y),St=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),fe=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),le=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Le=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Se=e=>{let t,r,n,o,i="";const A=e.length%3;for(let s=0;s<e.length;){if((r=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|o,i+=Y[t>>18&63]+Y[t>>12&63]+Y[t>>6&63]+Y[t&63]}return A?i.slice(0,A-3)+"===".substring(A):i},j=typeof btoa=="function"?e=>btoa(e):L?e=>Buffer.from(e,"binary").toString("base64"):Se,z=L?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,o=e.length;n<o;n+=4096)r.push(c.apply(null,e.subarray(n,n+4096)));return j(r.join(""))},g=(e,t=!1)=>t?le(z(e)):z(e),mt=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},Ct=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,me=e=>e.replace(Ct,mt),Ce=L?e=>Buffer.from(e,"utf8").toString("base64"):Ie?e=>z(Ie.encode(e)):e=>j(me(e)),S=(e,t=!1)=>t?le(Ce(e)):Ce(e),Ye=e=>S(e,!0),Yt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ht=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return c((r>>>10)+55296)+c((r&1023)+56320);case 3:return c((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return c((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},he=e=>e.replace(Yt,ht),pe=e=>{if(e=e.replace(/\s+/g,""),!St.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,o;for(let i=0;i<e.length;)t=U[e.charAt(i++)]<<18|U[e.charAt(i++)]<<12|(n=U[e.charAt(i++)])<<6|(o=U[e.charAt(i++)]),r+=n===64?c(t>>16&255):o===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return r},X=typeof atob=="function"?e=>atob(Le(e)):L?e=>Buffer.from(e,"base64").toString("binary"):pe,Me=L?e=>fe(Buffer.from(e,"base64")):e=>fe(X(e).split("").map(t=>t.charCodeAt(0))),ye=e=>Me(Ue(e)),pt=L?e=>Buffer.from(e,"base64").toString("utf8"):De?e=>De.decode(Me(e)):e=>he(X(e)),Ue=e=>Le(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Q=e=>pt(Ue(e)),Mt=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},ge=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ke=function(){const e=(t,r)=>Object.defineProperty(String.prototype,t,ge(r));e("fromBase64",function(){return Q(this)}),e("toBase64",function(t){return S(this,t)}),e("toBase64URI",function(){return S(this,!0)}),e("toBase64URL",function(){return S(this,!0)}),e("toUint8Array",function(){return ye(this)})},we=function(){const e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,ge(r));e("toBase64",function(t){return g(this,t)}),e("toBase64URI",function(){return g(this,!0)}),e("toBase64URL",function(){return g(this,!0)})},Be={version:Oe,VERSION:Lt,atob:X,atobPolyfill:pe,btoa:j,btoaPolyfill:Se,fromBase64:Q,toBase64:S,encode:S,encodeURI:Ye,encodeURL:Ye,utob:me,btou:he,decode:Q,isValid:Mt,fromUint8Array:g,toUint8Array:ye,extendString:ke,extendUint8Array:we,extendBuiltins:()=>{ke(),we()}},yt={encode:Ut,decode:Be.decode};function Ut(e,t={}){const{urlSafe:r=!1}=t;return Be.encode(e,r)}function gt(e){const t=Bt(e),r=t.exp*1e3;if(Date.now()>r)throw new Error(`${kt}. Expiration date: ${new Date(r).toISOString()}`);return t}const ve="The provided `clientToken`",kt=`${ve} has expired`,wt=`${ve} is malformed`;function Bt(e){try{const[t,r]=e.split("."),n=r||t;return JSON.parse(yt.decode(n))}catch{throw new Error(wt)}}const vt="v2.50.6",bt=(e,t,r)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":vt,"primer-sdk-checkout-session-id":t,...r&&{"x-api-version":r}});async function Ht(e,t,r){const{accessToken:n,configurationUrl:o,analyticsUrlV2:i}=gt(e),A=V({checkoutSessionId:t,url:i}),s=Je(),_=s!==R.LEGACY?s:"2.3";A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:a,source:E}=await lt(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:t,headers:bt(n,t,_),retryConfig:{enabled:!0},cacheConfig:r});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),a}catch(a){const E=a instanceof Error?a.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${E}`)}}function be(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:typeof e=="object"&&e!==null&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function k({checkoutSessionId:e,analytics:t,error:r,reporter:n}){t?.crashEvent?t.crashEvent({...be(r),reporter:n}):e&&Z(e,r,n)}async function Z(e,t,r){const n=te,o=await re(I.CRASH_EVENT,{...be(t),reporter:r},{checkoutSessionId:e});try{await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})}catch(i){console.error("Failed to post crash event",i)}}const He=Symbol.for("initGlobalErrorMonitoringLoaded"),xe=(e,t)=>{typeof window<"u"&&window[He]||(window[He]=!0,window.addEventListener("error",r=>{xt(r)||Ft(r)&&k({checkoutSessionId:e,analytics:t,error:r.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",r=>{const n=r.reason||new Error("Unhandled promise rejection");Gt(n)&&k({checkoutSessionId:e,analytics:t,error:n,reporter:"unhandledrejection"})}))},xt=e=>e.message==="Script error."||!e.filename||e.lineno===0,Ft=e=>{const t=e.filename;return!!(t&&q(t)&&new D(e.error).isReported)},Gt=e=>{if(e&&typeof e=="object"&&"stack"in e&&typeof e.stack=="string"){const t=D.from(e);if(t.isReported)return!1;if("fileName"in e&&typeof e.fileName=="string"){const n=e.fileName;if(q(n))return!0}return Vt(t.stack).some(q)}return!1},q=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Vt=e=>{if(!e)return[];const t=e.split(`
2
+ `),r=[],n=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const o of t){const i=o.match(n);if(i&&i[1])r.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,s=o.match(A);s&&s[1]&&r.push(s[1])}}return r};function Kt(e,t){const r=document.createElement(e);return Object.entries(t).forEach(([n,o])=>r.setAttribute(n,o)),r}function Fe(e,t,r){return document.querySelector(`${e}[${t}^="${r}"]`)}async function Ge(e,t,r,n,o,i){const{analytics:A,name:s=t,retryConfig:_}=i;await _e(()=>new Promise((E,f)=>{const N=Fe(e,r,t)||Kt(e,{...n,[r]:t});N.onload=()=>{A?.sdkFunctionEvent({name:s,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${t}`]}),E()},N.onerror=()=>{N.remove(),f(new Error(`${o}: ${t}`))},N.parentNode||document.head.appendChild(N)}),_,E=>A?.messageEvent({...E,url:t}))}function Wt(e,t={}){return Fe("script","src",e)&&window.__Primer?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Script already loaded"]}),Promise.resolve()):Ge("script",e,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function $t(e,t={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):Ge("link",e,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let h;async function Ve(e){return h||(h=Promise.all([Wt("https://sdk.primer.io/web/v2.50.6/PrimerCoreSDK.min.js",{analytics:e,name:"loadPrimerScript"}),$t("https://sdk.primer.io/web/v2.50.6/Checkout.css",{analytics:e,name:"loadPrimerCss"})]).then(()=>{const n=window.__Primer;return delete window.__Primer,n}).catch(n=>{throw h=void 0,n}),h)}const jt=async()=>{const e=$();try{const t=l(e);try{xe(e,t),t.sdkFunctionEvent({name:"preloadPrimer"}),t.timerStart({id:x.preloadPrimer}),await Ve(t),t.timerEnd({id:x.preloadPrimer})}catch(r){const n=D.from(r);throw n.isReported||(k({checkoutSessionId:e,analytics:t,error:n,reporter:"preloadPrimer level 1"}),n.markAsReported()),n}}catch(t){const r=D.from(t);throw r.isReported||(Z(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},zt="v2.50.6",Xt=J("createHeadless"),Qt=J("showUniversalCheckout"),Zt=J("showVaultManager");function J(e){return async(...[t,r,...n])=>{qe(r?.apiVersion);const o=$();try{const i=l(o);try{xe(o,i),i.sdkFunctionEvent({name:e,params:[t,r,...n]}),i.timerStart({id:x[e]});const[A,s]=await Promise.all([Ht(t,o,r?.clientSessionCachingEnabled?{key:t,usePrimerSessionCacheTtlHeader:!0}:void 0),Ve(i)]);return s[e](A,o,t,r,...n)}catch(A){const s=D.from(A);throw s.isReported||(k({checkoutSessionId:o,analytics:i,error:s,reporter:"lazyLoad level 1"}),s.markAsReported()),s}}catch(i){const A=D.from(i);throw A.isReported||(Z(o,A,"lazyLoad level 0"),A.markAsReported()),A}}}var qt=(e=>(e.LOADING="Loading",e.NO_PAYMENT_METHOD="NoPaymentMethod",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(qt||{}),Jt=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Jt||{}),er=(e=>(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",e))(er||{}),Ke=(e=>(e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e))(Ke||{}),We=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(We||{}),tr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(tr||{}),$e=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))($e||{});const w={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"},p={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"},Nr={PAYMENT_CARD:"PAYMENT_CARD",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD"},rr={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"},je={[w.PAYPAL_VAULTED]:p.PAYPAL,[w.KLARNA_CUSTOMER_TOKEN]:p.KLARNA,[w.AUTOMATED_CLEARING_HOUSE]:p.STRIPE_ACH},Rr=e=>{if(Object.values(p).includes(e))return e;if(je[e])return je[e]};var ze=(e=>(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))(ze||{});class B extends D{static fromErrorCode(t,r){return new B(t,r)}constructor(t,r){super(r.message),this.code=t,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,B)}}function dr(e,t,r){const n=new B(e,t);return r&&(r.messageEvent({message:`${e}: ${t.message}`,messageType:e,severity:"ERROR",diagnosticsId:t.diagnosticsId??void 0,errorId:t.errorId??void 0,data:t.data??void 0,isFromDeveloper:t.isFromDeveloper?.toString(),stack:n.stack}),n.markAsReported()),n}var nr=T(56),Xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Xe||{});const or=e=>{const t=e?.mandateData;return t?"fullMandateText"in t:!1};var Qe=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Qe||{}),Ze=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e))(Ze||{});const ir={SDK_VERSION:zt,createHeadless:Xt,showUniversalCheckout:Qt,showVaultManager:Zt,preloadPrimer:jt}})(),v})());
package/dist/index.d.ts CHANGED
@@ -1169,10 +1169,6 @@ export interface IRedirectPaymentMethodManager {
1169
1169
  start(): Promise<void>;
1170
1170
  addEventListener(event: EventTypes, callback: EventListener$1): void;
1171
1171
  }
1172
- export interface IFormWithRedirectPaymentMethodManager<T> {
1173
- start(): any;
1174
- submit(data: T): any;
1175
- }
1176
1172
  export interface IKlarnaPaymentMethodManager {
1177
1173
  start(paymentPayload: KlarnaPaymentPayload): Promise<KlarnaPaymentResponse>;
1178
1174
  renderCategory(renderCategoryDetails: RenderCategoryDetails): Promise<void>;
@@ -1186,12 +1182,11 @@ export interface IAchPaymentMethodManager {
1186
1182
  declineMandate(): Promise<void>;
1187
1183
  getPaymentMethod(): void;
1188
1184
  }
1189
- export type PaymentMethodManagers = ICardPaymentMethodManager | INativePaymentMethodManager | IRedirectPaymentMethodManager | IFormWithRedirectPaymentMethodManager<BankIssuer> | IKlarnaPaymentMethodManager | IAchPaymentMethodManager;
1185
+ export type PaymentMethodManagers = ICardPaymentMethodManager | INativePaymentMethodManager | IRedirectPaymentMethodManager | IKlarnaPaymentMethodManager | IAchPaymentMethodManager;
1190
1186
  export declare enum HeadlessManagerType {
1191
1187
  CARD = "CARD",
1192
1188
  NATIVE = "NATIVE",
1193
1189
  REDIRECT = "REDIRECT",
1194
- FORM_WITH_REDIRECT = "FORM_WITH_REDIRECT",
1195
1190
  KLARNA = "KLARNA",
1196
1191
  ACH = "ACH"
1197
1192
  }
@@ -1283,7 +1278,6 @@ export type PaymentMethodManagerOptions = CardPaymentMethodManagerOptions | Form
1283
1278
  export interface PrimerHeadlessCheckout {
1284
1279
  createPaymentMethodManager(type: "PAYMENT_CARD", options?: PaymentMethodManagerOptions): Promise<ICardPaymentMethodManager | null>;
1285
1280
  createPaymentMethodManager(type: "PAYPAL" | "GOOGLE_PAY" | "APPLE_PAY", options?: PaymentMethodManagerOptions): Promise<INativePaymentMethodManager | null>;
1286
- createPaymentMethodManager(type: "ADYEN_IDEAL", options?: FormWithRedirectPaymentMethodManagerOptions): Promise<IFormWithRedirectPaymentMethodManager<BankIssuer> | null>;
1287
1281
  createPaymentMethodManager(type: "STRIPE_ACH", options?: AchPaymentMethodManagerOptions): Promise<IAchPaymentMethodManager | null>;
1288
1282
  createPaymentMethodManager(type: "KLARNA", options?: PaymentMethodManagerOptions): Promise<IKlarnaPaymentMethodManager | null>;
1289
1283
  createPaymentMethodManager(type: PaymentMethodType, options?: PaymentMethodManagerOptions): Promise<IRedirectPaymentMethodManager | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.50.4",
3
+ "version": "2.50.6",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",