@primer-io/checkout-web 2.45.4 → 2.45.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 +1 @@
1
- (function(h,a){typeof exports=="object"&&typeof module=="object"?module.exports=a():typeof define=="function"&&define.amd?define([],a):typeof exports=="object"?exports.Primer=a():h.Primer=a()})(this,()=>(()=>{var j={476:()=>{},962:()=>{},473:()=>{}},h={};function a(D){var P=h[D];if(P!==void 0)return P.exports;var L=h[D]={exports:{}};return j[D](L,L.exports,a),L.exports}a.d=(D,P)=>{for(var L in P)a.o(P,L)&&!a.o(D,L)&&Object.defineProperty(D,L,{enumerable:!0,get:P[L]})},a.o=(D,P)=>Object.prototype.hasOwnProperty.call(D,P),a.r=D=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})};var w={};return(()=>{"use strict";a.r(w),a.d(w,{CheckoutUXFlow:()=>gr,ErrorCode:()=>xr,EventTypes:()=>Gr,HeadlessManagerType:()=>Kr,PaymentFlow:()=>wr,PaymentInstrumentType:()=>vr,PaymentMethodData:()=>ze.PaymentMethodData,PaymentMethodType:()=>$,Primer:()=>Ze,SuccessScreenType:()=>Fr,ThreeDSecureStatus:()=>kr,TokenType:()=>pr,isStripeOptionsDropInWithFullMandateText:()=>Qe,preloadPrimer:()=>me});function D(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const P=8,L=100,mr=100;function Vr(r){return{enabled:r?.enabled??!1,maxRetries:P,initialBackoff:L,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:mr}}function Wr(r,e,t){const o=r*Math.pow(2,e-1),A=Math.random()*t;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function X(r,e,t,o=D){let A=0;const _=Vr(e);if(!_.enabled)return r();for(;;)try{const i=await r();if(A){let E=`Request succeeded after ${A} retries.`;typeof i=="object"&&i&&"status"in i&&(E+=` Status code: ${i.status}`),t?.({messageType:"RETRY_SUCCESS",message:E,severity:"INFO"})}return i}catch(i){const E=i,n=A>=_.maxRetries,s=E.isNetworkError&&!_.retryNetworkErrors,R=E.status&&E.status>=500&&!_.retry500Errors;if(n||s||R){let T=`Failed after ${A} retries. `;throw n?T+=`Reached maximum retries (${_.maxRetries}).`:s?T+="Network error encountered and retryNetworkErrors is disabled.":R&&(T+="HTTP 500 error encountered and retry500Errors is disabled."),T+=` Last error: ${E.message}`,t?.({messageType:"RETRY_FAILED",message:T,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),new Error(T,{cause:i})}A++;const O=Wr(_.initialBackoff,A,_.maxJitter);let u="Unknown error";E.isNetworkError?u="Network error":E.status&&(u=`HTTP ${E.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${A}/${_.maxRetries} due to: ${u}. Error details: ${E.message}. Waiting for ${O.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await o(O)}}function $r(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,A])=>t.setAttribute(o,A)),t}function z(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Q(r,e,t,o,A,_){const{analytics:i,name:E=e,retryConfig:n}=_;await X(()=>new Promise((R,O)=>{const u=z(r,t,e)||$r(r,{...o,[t]:e});u.onload=()=>{i?.sdkFunctionEvent({name:E,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),R()},u.onerror=()=>{u.remove(),O(new Error(`${A}: ${e}`))},u.parentNode||document.head.appendChild(u)}),n,R=>i?.messageEvent({...R,url:e}))}function jr(r,e={}){return z("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Q("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function Xr(r,e={}){return Array.from(document.styleSheets).some(t=>t.href===r)?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Stylesheet already loaded"]}),Promise.resolve()):Q("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let Y;async function Z(r){return Y||(Y=Promise.all([jr("https://sdk.primer.io/web/v2.45.4/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),Xr("https://sdk.primer.io/web/v2.45.4/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw Y=void 0,o}),Y)}let k={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=k),k=window.__primerCache__);const N=()=>k.cache,q=1e3*60*60,zr=30,J=50;function y(){if(N().size<=zr)return;const r=Date.now();for(const[e,t]of N())t.exp<r&&N().delete(e);if(N().size>J)for(const[e]of N()){if(N().size<=J)break;N().delete(e)}}function ye({key:r,ttl:e=q},t){e?N().set(r,{promise:Promise.resolve(t),exp:Date.now()+e}):N().delete(r)}function Qr(r){if(!r)return _=>_();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:A=q}=r;return async _=>{const i=Date.now(),E=N().get(e);if(!t&&E&&E.exp>i)return E.promise;E&&N().delete(e);const n=_().then(s=>{const R=Date.now();let O=A;return o&&(O=(Number(s.headers.get("x-primer-session-cache-ttl"))||0)*1e3),O?N().set(e,{promise:Promise.resolve({...s,source:"CACHE"}),exp:R+O}):N().delete(e),y(),s},s=>{throw N().delete(e),s});return N().set(e,{promise:n,exp:i+A}),y(),n}}const rr=()=>er.randomUUID?.()||Zr(),Zr=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^qr()>>r/4).toString(16)),qr=()=>(er.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,er=typeof crypto<"u"?crypto:{};var rt=a(476),et=a(962),v=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(v||{}),p=(r=>(r.START="START",r.END="END",r))(p||{});const Jr={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING"};var d=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(d||{});const yr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.45.4";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":t=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||e}};var re=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(re||{});async function ee(){if(typeof navigator>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const te="WEB",oe=yr.get("PRIMER_SDK_VERSION");async function Ae(r,e,t){return{...t,createdAt:Date.now(),device:await ee(),eventType:r,properties:e,sdkVersion:oe,sdkType:te}}const tr="https://analytics.production.data.primer.io/sdk-logs",_e=tr==="https://analytics.sandbox.data.primer.io/playwright";let I={providers:new Map,timers:new Map,eventsQueue:new Map};typeof window<"u"&&(window.__primerAnalytics__??(window.__primerAnalytics__=I),I=window.__primerAnalytics__);const or=()=>I.providers,b=()=>I.timers,f=()=>I.eventsQueue,Ar=1024*5,Ee=500,M=new Map;function x({url:r=tr,...e}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&_r(r,!0)});const t=A=>async _=>{if(typeof navigator>"u")return;const i=await Ae(A,_,e),E=s=>se(ne(s));if(_e)return;const n=Er(i,E);ie(r,n)},o={crashEvent:t(d.CRASH_EVENT),messageEvent:t(d.MESSAGE_EVENT),networkCallEvent:t(d.NETWORK_CALL_EVENT),sdkFunctionEvent:t(d.SDK_FUNCTION_EVENT),timerStart:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`;return b().set(i,{start:performance?.now()}),t(d.TIMER_EVENT)({..._,id:A,timerType:p.START})},timerEnd:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`,{start:E=void 0}=b().get(i)??{};b().delete(i);const n=performance?.now(),s=E?n-E:void 0;return t(d.TIMER_EVENT)({..._,id:A,timerType:p.END,duration:s})},v1Event:t(d.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),o}function H(r){return new Proxy({},{get(e,t){return(or().get(r)??x({checkoutSessionId:r}))[t]}})}function _r(r,e=!1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const t=()=>{const A=f().get(r);let _=!1;if(A?.length){try{_=navigator.sendBeacon(r,JSON.stringify(A))}catch(i){_=!0,console.error("Unable to access navigator",i)}_&&f().delete(r)}};if(e){t();return}const o=setTimeout(t,Ee);M.set(r,o)}function ie(r,e){f().has(r)||f().set(r,[]),f().get(r)?.push(e),_r(r)}function Er(r,e){const t=o=>typeof o=="object"&&o!==null?Er(o,e):e(o);return Array.isArray(r)?r.map(t):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,t(A)]))}function se(r){return typeof r=="string"&&r.length>Ar?`${r.slice(0,Ar)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}class F{constructor(e,t){this.type=e,this.displayName=t}get specs(){return this.constructor.specs}setOption(e,t){this.options&&(this.options[e]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(e){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(e){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}F.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},F.create=(r,e,t,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class ce extends F{async tokenize(e){}}class ae{get session(){const e=this.store.getState().clientSessionInfo;if(!e)throw new Error("Client Context Session does not exist");return e}}const Ne=[Array,ce,ae,Map,Set];function Re(r){const e=new Set,t=20;let o=0;for(;o++<t&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>e.add(A)),r=Object.getPrototypeOf(r);return[...e]}function ir(r,e,t,o,A){if(!t||Ne.some(_=>t instanceof _))return t;switch(typeof t){case"function":return new Proxy(t,{apply(_,i,E=[]){const n={name:e.replace(/^bound /,""),params:E,module:A};r?.sdkFunctionEvent(n);const s=E.map((R,O)=>ir(r,`${O}`,R,o,[A,e,`${O}`].filter(Boolean).join(".")));return _.apply(i,s)}});case"object":return t===o?t:Oe(r,t,[A,e].filter(Boolean).join("."));default:return t}}function Oe(r,e,t){return Object.fromEntries(Re(e).map(o=>{const A=e?.[o],_=ir(r,o,A,A,t);return[o,_]}))}const G=(r,e,t,o)=>({callType:t?v.REQUEST_END:v.REQUEST_START,id:r,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:e.method,responseCode:t?.status,url:e.url,duration:o}),sr=15e3,De=(r,e,t)=>nr(r,"get",e,t),ue=(r,e,t,o)=>nr(r,"post",e,o,JSON.stringify(t)),nr=async(r,e,t,o,A)=>{const _=rr(),i=performance?.now();let E=H(r);const n={method:e,url:t,body:A};E.networkCallEvent(G(_,n));try{const s=await fetch(t,{body:A,method:e,headers:{"content-type":"application/json","x-request-id":_,...o}});if(!s.ok){const T=new Error(`HTTP error! status: ${s.status}`);throw T.status=s.status,T}const R=await s.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:T,clientSession:{clientSessionId:qe,customer:Je}}=R;E=x({checkoutSessionId:r,clientSessionId:qe,customerId:Je?.customerId,primerAccountId:T,url:E.url})}const u=performance?.now()-i;return E.networkCallEvent(G(_,n,{data:R},u)),{data:R,headers:s.headers,status:s.status,source:"NETWORK"}}catch(s){const O=performance?.now()-i;throw Object.assign(s,{isNetworkError:s instanceof TypeError}),E.networkCallEvent(G(_,n,{error:s},O)),s}},cr=(r,e)=>new Promise((t,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},e);r.then(t).catch(o).finally(()=>clearTimeout(A))}),Te=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:A,timeout:_=sr,checkoutSessionId:i}=e,E=H(i);return Qr(A)(()=>X(()=>cr(De(i,r,t),_),o,n=>E.messageEvent({...n,url:r})))},tt=(r,e,t)=>{const{headers:o,retryConfig:A,cacheConfig:_,timeout:i=sr,checkoutSessionId:E}=t,n=getAnalytics(E);return cacheRequest(_)(()=>retryWithExponentialBackoff(()=>cr(ue(E,r,e,o),i),A,s=>n.messageEvent({...s,url:r})))},ar="3.6.1",Pe=ar,Le=typeof atob=="function",de=typeof btoa=="function",S=typeof Buffer=="function",Nr=typeof TextDecoder=="function"?new TextDecoder:void 0,Rr=typeof TextEncoder=="function"?new TextEncoder:void 0,l=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(l),Se=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),Or=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),Dr=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),ur=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Tr=r=>{let e,t,o,A,_="";const i=r.length%3;for(let E=0;E<r.length;){if((t=r.charCodeAt(E++))>255||(o=r.charCodeAt(E++))>255||(A=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|A,_+=l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[e&63]}return i?_.slice(0,i-3)+"===".substring(i):_},K=de?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Tr,m=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,A=r.length;o<A;o+=4096)t.push(c.apply(null,r.subarray(o,o+4096)));return K(t.join(""))},B=(r,e=!1)=>e?Dr(m(r)):m(r),Ce=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?c(192|e>>>6)+c(128|e&63):c(224|e>>>12&15)+c(128|e>>>6&63)+c(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return c(240|e>>>18&7)+c(128|e>>>12&63)+c(128|e>>>6&63)+c(128|e&63)}},Ye=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Pr=r=>r.replace(Ye,Ce),Lr=S?r=>Buffer.from(r,"utf8").toString("base64"):Rr?r=>m(Rr.encode(r)):r=>K(Pr(r)),C=(r,e=!1)=>e?Dr(Lr(r)):Lr(r),dr=r=>C(r,!0),Ie=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,fe=r=>{switch(r.length){case 4:var e=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=e-65536;return c((t>>>10)+55296)+c((t&1023)+56320);case 3:return c((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return c((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},Sr=r=>r.replace(Ie,fe),Cr=r=>{if(r=r.replace(/\s+/g,""),!Se.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,A;for(let _=0;_<r.length;)e=U[r.charAt(_++)]<<18|U[r.charAt(_++)]<<12|(o=U[r.charAt(_++)])<<6|(A=U[r.charAt(_++)]),t+=o===64?c(e>>16&255):A===64?c(e>>16&255,e>>8&255):c(e>>16&255,e>>8&255,e&255);return t},V=Le?r=>atob(ur(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Cr,Yr=S?r=>Or(Buffer.from(r,"base64")):r=>Or(V(r),e=>e.charCodeAt(0)),Ir=r=>Yr(fr(r)),le=S?r=>Buffer.from(r,"base64").toString("utf8"):Nr?r=>Nr.decode(Yr(r)):r=>Sr(V(r)),fr=r=>ur(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),W=r=>le(fr(r)),he=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},lr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),hr=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,lr(t));r("fromBase64",function(){return W(this)}),r("toBase64",function(e){return C(this,e)}),r("toBase64URI",function(){return C(this,!0)}),r("toBase64URL",function(){return C(this,!0)}),r("toUint8Array",function(){return Ir(this)})},Mr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,lr(t));r("toBase64",function(e){return B(this,e)}),r("toBase64URI",function(){return B(this,!0)}),r("toBase64URL",function(){return B(this,!0)})},Ur={version:ar,VERSION:Pe,atob:V,atobPolyfill:Cr,btoa:K,btoaPolyfill:Tr,fromBase64:W,toBase64:C,encode:C,encodeURI:dr,encodeURL:dr,utob:Pr,btou:Sr,decode:W,isValid:he,fromUint8Array:B,toUint8Array:Ir,extendString:hr,extendUint8Array:Mr,extendBuiltins:()=>{hr(),Mr()}},Me={encode:Ue,decode:Ur.decode};function Ue(r,e={}){const{urlSafe:t=!1}=e;return Ur.encode(r,t)}function Be(r){const e=ke(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${ge}. Expiration date: ${new Date(t).toISOString()}`);return e}const Br="The provided `clientToken`",ge=`${Br} has expired`,we=`${Br} is malformed`;function ke(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(Me.decode(o))}catch{throw new Error(we)}}const ve="v2.45.4",pe=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":ve,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function be(r,e,t){const{accessToken:o,configurationUrl:A,analyticsUrlV2:_}=Be(r),i=x({checkoutSessionId:e,url:_});i.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:E,source:n}=await Te(`${A}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:pe(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return i.timerEnd({id:"CONFIGURATION_LOADING",source:n}),E}catch(E){const n=E instanceof Error?E.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}const xe="v2.45.4",He=g("createHeadless"),Fe=g("showExpressCheckout"),Ge=g("showUniversalCheckout"),Ke=g("showVaultManager");function g(r){return async(...[e,t,...o])=>{const A=rr(),_=H(A);_.sdkFunctionEvent({name:r,params:[e,t,...o]}),_.timerStart({id:Jr[r]});const[i,E]=await Promise.all([be(e,A,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Z(_)]);return E[r](i,A,e,t)}}const me=()=>Z().then(()=>{});var Ve=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(Ve||{}),We=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(We||{}),$e=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))($e||{}),gr=(r=>(r.CHECKOUT="CHECKOUT",r.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",r))(gr||{}),wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(wr||{}),je=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(je||{}),kr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(kr||{}),vr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(vr||{}),$=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))($||{}),Xe=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(Xe||{}),pr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(pr||{});const br={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},_t=r=>{if(Object.values($).includes(r))return r;if(br[r])return br[r]};var xr=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",r.INVALID_FLOW="INVALID_FLOW",r))(xr||{});class Hr extends Error{static fromErrorCode(e,t,o){return new Hr(e,t,o)}constructor(e,t,o){super(t.message),this.message=t.message,this.code=e,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,o?.messageEvent?.({message:t.message,messageType:e,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}}const Et=r=>{throw console.error(r.message),r};var ze=a(473),Fr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Fr||{});const Qe=r=>"fullMandateText"in r?.mandateData;var Gr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Gr||{}),Kr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Kr||{});const Ze={SDK_VERSION:xe,createHeadless:He,showExpressCheckout:Fe,showUniversalCheckout:Ge,showVaultManager:Ke}})(),w})());
1
+ (function(h,a){typeof exports=="object"&&typeof module=="object"?module.exports=a():typeof define=="function"&&define.amd?define([],a):typeof exports=="object"?exports.Primer=a():h.Primer=a()})(this,()=>(()=>{var j={476:()=>{},962:()=>{},473:()=>{}},h={};function a(D){var P=h[D];if(P!==void 0)return P.exports;var L=h[D]={exports:{}};return j[D](L,L.exports,a),L.exports}a.d=(D,P)=>{for(var L in P)a.o(P,L)&&!a.o(D,L)&&Object.defineProperty(D,L,{enumerable:!0,get:P[L]})},a.o=(D,P)=>Object.prototype.hasOwnProperty.call(D,P),a.r=D=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})};var w={};return(()=>{"use strict";a.r(w),a.d(w,{CheckoutUXFlow:()=>gr,ErrorCode:()=>xr,EventTypes:()=>Gr,HeadlessManagerType:()=>Kr,PaymentFlow:()=>wr,PaymentInstrumentType:()=>vr,PaymentMethodData:()=>ze.PaymentMethodData,PaymentMethodType:()=>$,Primer:()=>Ze,SuccessScreenType:()=>Fr,ThreeDSecureStatus:()=>kr,TokenType:()=>pr,isStripeOptionsDropInWithFullMandateText:()=>Qe,preloadPrimer:()=>me});function D(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const P=8,L=100,mr=100;function Vr(r){return{enabled:r?.enabled??!1,maxRetries:P,initialBackoff:L,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:mr}}function Wr(r,e,t){const o=r*Math.pow(2,e-1),A=Math.random()*t;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function X(r,e,t,o=D){let A=0;const _=Vr(e);if(!_.enabled)return r();for(;;)try{const i=await r();if(A){let E=`Request succeeded after ${A} retries.`;typeof i=="object"&&i&&"status"in i&&(E+=` Status code: ${i.status}`),t?.({messageType:"RETRY_SUCCESS",message:E,severity:"INFO"})}return i}catch(i){const E=i,n=A>=_.maxRetries,s=E.isNetworkError&&!_.retryNetworkErrors,R=E.status&&E.status>=500&&!_.retry500Errors;if(n||s||R){let T=`Failed after ${A} retries. `;throw n?T+=`Reached maximum retries (${_.maxRetries}).`:s?T+="Network error encountered and retryNetworkErrors is disabled.":R&&(T+="HTTP 500 error encountered and retry500Errors is disabled."),T+=` Last error: ${E.message}`,t?.({messageType:"RETRY_FAILED",message:T,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),new Error(T,{cause:i})}A++;const O=Wr(_.initialBackoff,A,_.maxJitter);let u="Unknown error";E.isNetworkError?u="Network error":E.status&&(u=`HTTP ${E.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${A}/${_.maxRetries} due to: ${u}. Error details: ${E.message}. Waiting for ${O.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await o(O)}}function $r(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,A])=>t.setAttribute(o,A)),t}function z(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Q(r,e,t,o,A,_){const{analytics:i,name:E=e,retryConfig:n}=_;await X(()=>new Promise((R,O)=>{const u=z(r,t,e)||$r(r,{...o,[t]:e});u.onload=()=>{i?.sdkFunctionEvent({name:E,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),R()},u.onerror=()=>{u.remove(),O(new Error(`${A}: ${e}`))},u.parentNode||document.head.appendChild(u)}),n,R=>i?.messageEvent({...R,url:e}))}function jr(r,e={}){return z("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Q("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function Xr(r,e={}){return Array.from(document.styleSheets).some(t=>t.href===r)?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Stylesheet already loaded"]}),Promise.resolve()):Q("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let Y;async function Z(r){return Y||(Y=Promise.all([jr("https://sdk.primer.io/web/v2.45.6/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),Xr("https://sdk.primer.io/web/v2.45.6/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw Y=void 0,o}),Y)}let k={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=k),k=window.__primerCache__);const N=()=>k.cache,q=1e3*60*60,zr=30,J=50;function y(){if(N().size<=zr)return;const r=Date.now();for(const[e,t]of N())t.exp<r&&N().delete(e);if(N().size>J)for(const[e]of N()){if(N().size<=J)break;N().delete(e)}}function ye({key:r,ttl:e=q},t){e?N().set(r,{promise:Promise.resolve(t),exp:Date.now()+e}):N().delete(r)}function Qr(r){if(!r)return _=>_();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:A=q}=r;return async _=>{const i=Date.now(),E=N().get(e);if(!t&&E&&E.exp>i)return E.promise;E&&N().delete(e);const n=_().then(s=>{const R=Date.now();let O=A;return o&&(O=(Number(s.headers.get("x-primer-session-cache-ttl"))||0)*1e3),O?N().set(e,{promise:Promise.resolve({...s,source:"CACHE"}),exp:R+O}):N().delete(e),y(),s},s=>{throw N().delete(e),s});return N().set(e,{promise:n,exp:i+A}),y(),n}}const rr=()=>er.randomUUID?.()||Zr(),Zr=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^qr()>>r/4).toString(16)),qr=()=>(er.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,er=typeof crypto<"u"?crypto:{};var rt=a(476),et=a(962),v=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(v||{}),p=(r=>(r.START="START",r.END="END",r))(p||{});const Jr={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING"};var d=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(d||{});const yr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.45.6";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":t=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||e}};var re=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(re||{});async function ee(){if(typeof navigator>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const te="WEB",oe=yr.get("PRIMER_SDK_VERSION");async function Ae(r,e,t){return{...t,createdAt:Date.now(),device:await ee(),eventType:r,properties:e,sdkVersion:oe,sdkType:te}}const tr="https://analytics.production.data.primer.io/sdk-logs",_e=tr==="https://analytics.sandbox.data.primer.io/playwright";let I={providers:new Map,timers:new Map,eventsQueue:new Map};typeof window<"u"&&(window.__primerAnalytics__??(window.__primerAnalytics__=I),I=window.__primerAnalytics__);const or=()=>I.providers,b=()=>I.timers,f=()=>I.eventsQueue,Ar=1024*5,Ee=500,M=new Map;function x({url:r=tr,...e}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&_r(r,!0)});const t=A=>async _=>{if(typeof navigator>"u")return;const i=await Ae(A,_,e),E=s=>se(ne(s));if(_e)return;const n=Er(i,E);ie(r,n)},o={crashEvent:t(d.CRASH_EVENT),messageEvent:t(d.MESSAGE_EVENT),networkCallEvent:t(d.NETWORK_CALL_EVENT),sdkFunctionEvent:t(d.SDK_FUNCTION_EVENT),timerStart:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`;return b().set(i,{start:performance?.now()}),t(d.TIMER_EVENT)({..._,id:A,timerType:p.START})},timerEnd:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`,{start:E=void 0}=b().get(i)??{};b().delete(i);const n=performance?.now(),s=E?n-E:void 0;return t(d.TIMER_EVENT)({..._,id:A,timerType:p.END,duration:s})},v1Event:t(d.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),o}function H(r){return new Proxy({},{get(e,t){return(or().get(r)??x({checkoutSessionId:r}))[t]}})}function _r(r,e=!1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const t=()=>{const A=f().get(r);let _=!1;if(A?.length){try{_=navigator.sendBeacon(r,JSON.stringify(A))}catch(i){_=!0,console.error("Unable to access navigator",i)}_&&f().delete(r)}};if(e){t();return}const o=setTimeout(t,Ee);M.set(r,o)}function ie(r,e){f().has(r)||f().set(r,[]),f().get(r)?.push(e),_r(r)}function Er(r,e){const t=o=>typeof o=="object"&&o!==null?Er(o,e):e(o);return Array.isArray(r)?r.map(t):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,t(A)]))}function se(r){return typeof r=="string"&&r.length>Ar?`${r.slice(0,Ar)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}class F{constructor(e,t){this.type=e,this.displayName=t}get specs(){return this.constructor.specs}setOption(e,t){this.options&&(this.options[e]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(e){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(e){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}F.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},F.create=(r,e,t,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class ce extends F{async tokenize(e){}}class ae{get session(){const e=this.store.getState().clientSessionInfo;if(!e)throw new Error("Client Context Session does not exist");return e}}const Ne=[Array,ce,ae,Map,Set];function Re(r){const e=new Set,t=20;let o=0;for(;o++<t&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>e.add(A)),r=Object.getPrototypeOf(r);return[...e]}function ir(r,e,t,o,A){if(!t||Ne.some(_=>t instanceof _))return t;switch(typeof t){case"function":return new Proxy(t,{apply(_,i,E=[]){const n={name:e.replace(/^bound /,""),params:E,module:A};r?.sdkFunctionEvent(n);const s=E.map((R,O)=>ir(r,`${O}`,R,o,[A,e,`${O}`].filter(Boolean).join(".")));return _.apply(i,s)}});case"object":return t===o?t:Oe(r,t,[A,e].filter(Boolean).join("."));default:return t}}function Oe(r,e,t){return Object.fromEntries(Re(e).map(o=>{const A=e?.[o],_=ir(r,o,A,A,t);return[o,_]}))}const G=(r,e,t,o)=>({callType:t?v.REQUEST_END:v.REQUEST_START,id:r,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:e.method,responseCode:t?.status,url:e.url,duration:o}),sr=15e3,De=(r,e,t)=>nr(r,"get",e,t),ue=(r,e,t,o)=>nr(r,"post",e,o,JSON.stringify(t)),nr=async(r,e,t,o,A)=>{const _=rr(),i=performance?.now();let E=H(r);const n={method:e,url:t,body:A};E.networkCallEvent(G(_,n));try{const s=await fetch(t,{body:A,method:e,headers:{"content-type":"application/json","x-request-id":_,...o}});if(!s.ok){const T=new Error(`HTTP error! status: ${s.status}`);throw T.status=s.status,T}const R=await s.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:T,clientSession:{clientSessionId:qe,customer:Je}}=R;E=x({checkoutSessionId:r,clientSessionId:qe,customerId:Je?.customerId,primerAccountId:T,url:E.url})}const u=performance?.now()-i;return E.networkCallEvent(G(_,n,{data:R},u)),{data:R,headers:s.headers,status:s.status,source:"NETWORK"}}catch(s){const O=performance?.now()-i;throw Object.assign(s,{isNetworkError:s instanceof TypeError}),E.networkCallEvent(G(_,n,{error:s},O)),s}},cr=(r,e)=>new Promise((t,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},e);r.then(t).catch(o).finally(()=>clearTimeout(A))}),Te=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:A,timeout:_=sr,checkoutSessionId:i}=e,E=H(i);return Qr(A)(()=>X(()=>cr(De(i,r,t),_),o,n=>E.messageEvent({...n,url:r})))},tt=(r,e,t)=>{const{headers:o,retryConfig:A,cacheConfig:_,timeout:i=sr,checkoutSessionId:E}=t,n=getAnalytics(E);return cacheRequest(_)(()=>retryWithExponentialBackoff(()=>cr(ue(E,r,e,o),i),A,s=>n.messageEvent({...s,url:r})))},ar="3.6.1",Pe=ar,Le=typeof atob=="function",de=typeof btoa=="function",S=typeof Buffer=="function",Nr=typeof TextDecoder=="function"?new TextDecoder:void 0,Rr=typeof TextEncoder=="function"?new TextEncoder:void 0,l=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(l),Se=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),Or=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),Dr=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),ur=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Tr=r=>{let e,t,o,A,_="";const i=r.length%3;for(let E=0;E<r.length;){if((t=r.charCodeAt(E++))>255||(o=r.charCodeAt(E++))>255||(A=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|A,_+=l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[e&63]}return i?_.slice(0,i-3)+"===".substring(i):_},K=de?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Tr,m=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,A=r.length;o<A;o+=4096)t.push(c.apply(null,r.subarray(o,o+4096)));return K(t.join(""))},B=(r,e=!1)=>e?Dr(m(r)):m(r),Ce=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?c(192|e>>>6)+c(128|e&63):c(224|e>>>12&15)+c(128|e>>>6&63)+c(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return c(240|e>>>18&7)+c(128|e>>>12&63)+c(128|e>>>6&63)+c(128|e&63)}},Ye=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Pr=r=>r.replace(Ye,Ce),Lr=S?r=>Buffer.from(r,"utf8").toString("base64"):Rr?r=>m(Rr.encode(r)):r=>K(Pr(r)),C=(r,e=!1)=>e?Dr(Lr(r)):Lr(r),dr=r=>C(r,!0),Ie=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,fe=r=>{switch(r.length){case 4:var e=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=e-65536;return c((t>>>10)+55296)+c((t&1023)+56320);case 3:return c((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return c((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},Sr=r=>r.replace(Ie,fe),Cr=r=>{if(r=r.replace(/\s+/g,""),!Se.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,A;for(let _=0;_<r.length;)e=U[r.charAt(_++)]<<18|U[r.charAt(_++)]<<12|(o=U[r.charAt(_++)])<<6|(A=U[r.charAt(_++)]),t+=o===64?c(e>>16&255):A===64?c(e>>16&255,e>>8&255):c(e>>16&255,e>>8&255,e&255);return t},V=Le?r=>atob(ur(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Cr,Yr=S?r=>Or(Buffer.from(r,"base64")):r=>Or(V(r),e=>e.charCodeAt(0)),Ir=r=>Yr(fr(r)),le=S?r=>Buffer.from(r,"base64").toString("utf8"):Nr?r=>Nr.decode(Yr(r)):r=>Sr(V(r)),fr=r=>ur(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),W=r=>le(fr(r)),he=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},lr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),hr=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,lr(t));r("fromBase64",function(){return W(this)}),r("toBase64",function(e){return C(this,e)}),r("toBase64URI",function(){return C(this,!0)}),r("toBase64URL",function(){return C(this,!0)}),r("toUint8Array",function(){return Ir(this)})},Mr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,lr(t));r("toBase64",function(e){return B(this,e)}),r("toBase64URI",function(){return B(this,!0)}),r("toBase64URL",function(){return B(this,!0)})},Ur={version:ar,VERSION:Pe,atob:V,atobPolyfill:Cr,btoa:K,btoaPolyfill:Tr,fromBase64:W,toBase64:C,encode:C,encodeURI:dr,encodeURL:dr,utob:Pr,btou:Sr,decode:W,isValid:he,fromUint8Array:B,toUint8Array:Ir,extendString:hr,extendUint8Array:Mr,extendBuiltins:()=>{hr(),Mr()}},Me={encode:Ue,decode:Ur.decode};function Ue(r,e={}){const{urlSafe:t=!1}=e;return Ur.encode(r,t)}function Be(r){const e=ke(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${ge}. Expiration date: ${new Date(t).toISOString()}`);return e}const Br="The provided `clientToken`",ge=`${Br} has expired`,we=`${Br} is malformed`;function ke(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(Me.decode(o))}catch{throw new Error(we)}}const ve="v2.45.6",pe=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":ve,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function be(r,e,t){const{accessToken:o,configurationUrl:A,analyticsUrlV2:_}=Be(r),i=x({checkoutSessionId:e,url:_});i.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:E,source:n}=await Te(`${A}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:pe(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return i.timerEnd({id:"CONFIGURATION_LOADING",source:n}),E}catch(E){const n=E instanceof Error?E.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}const xe="v2.45.6",He=g("createHeadless"),Fe=g("showExpressCheckout"),Ge=g("showUniversalCheckout"),Ke=g("showVaultManager");function g(r){return async(...[e,t,...o])=>{const A=rr(),_=H(A);_.sdkFunctionEvent({name:r,params:[e,t,...o]}),_.timerStart({id:Jr[r]});const[i,E]=await Promise.all([be(e,A,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Z(_)]);return E[r](i,A,e,t)}}const me=()=>Z().then(()=>{});var Ve=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(Ve||{}),We=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(We||{}),$e=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))($e||{}),gr=(r=>(r.CHECKOUT="CHECKOUT",r.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",r))(gr||{}),wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(wr||{}),je=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(je||{}),kr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(kr||{}),vr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(vr||{}),$=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))($||{}),Xe=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(Xe||{}),pr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(pr||{});const br={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},_t=r=>{if(Object.values($).includes(r))return r;if(br[r])return br[r]};var xr=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",r.INVALID_FLOW="INVALID_FLOW",r))(xr||{});class Hr extends Error{static fromErrorCode(e,t,o){return new Hr(e,t,o)}constructor(e,t,o){super(t.message),this.message=t.message,this.code=e,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,o?.messageEvent?.({message:t.message,messageType:e,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}}const Et=r=>{throw console.error(r.message),r};var ze=a(473),Fr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Fr||{});const Qe=r=>"fullMandateText"in r?.mandateData;var Gr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Gr||{}),Kr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Kr||{});const Ze={SDK_VERSION:xe,createHeadless:He,showExpressCheckout:Fe,showUniversalCheckout:Ge,showVaultManager:Ke}})(),w})());
package/dist/index.d.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  // Generated by dts-bundle-generator v6.9.0
2
2
 
3
- import { Translator } from '@eo-locale/core';
4
- import { Draft } from 'immer';
5
- import { JSX } from 'preact';
6
- import { Action, Listener, Store as IStore, Unsubscribe } from 'unistore';
7
-
8
3
  export declare const preloadPrimer: () => Promise<void>;
9
4
  export declare enum PaymentInstrumentType {
10
5
  WORLDPAY_IDEAL = "WORLDPAY_IDEAL",
@@ -847,6 +842,17 @@ declare class LongPoll {
847
842
  private request;
848
843
  private tick;
849
844
  }
845
+ export type Listener<K> = (state: K, action?: Action<K>) => void;
846
+ export type Unsubscribe = () => void;
847
+ export type Action<K> = (state: K, ...args: any[]) => void;
848
+ export type BoundAction = (...args: any[]) => void;
849
+ export interface IStore<K> {
850
+ action(action: Action<K>): BoundAction;
851
+ setState<U extends keyof K>(update: Pick<K, U>, overwrite?: boolean, action?: Action<K>): void;
852
+ subscribe(f: Listener<K>): Unsubscribe;
853
+ unsubscribe(f: Listener<K>): void;
854
+ getState(): K;
855
+ }
850
856
  export interface NodeLike {
851
857
  id: string;
852
858
  }
@@ -871,6 +877,14 @@ export interface IBaseStore {
871
877
  getState(): IBaseState;
872
878
  subscribe(listener: any): any;
873
879
  }
880
+ export type PrimitiveType = number | string | boolean;
881
+ export type AtomicObject = Function | Promise<any> | Date | RegExp;
882
+ export type IfAvailable<T, Fallback = void> = true | false extends (T extends never ? true : false) ? Fallback : keyof T extends never ? Fallback : T;
883
+ export type WeakReferences = IfAvailable<WeakMap<any, any>> | IfAvailable<WeakSet<any>>;
884
+ export type WritableDraft<T> = {
885
+ -readonly [K in keyof T]: Draft<T[K]>;
886
+ };
887
+ export type Draft<T> = T extends PrimitiveType ? T : T extends AtomicObject ? T : T extends IfAvailable<ReadonlyMap<infer K, infer V>> ? Map<Draft<K>, Draft<V>> : T extends IfAvailable<ReadonlySet<infer V>> ? Set<Draft<V>> : T extends WeakReferences ? T : T extends object ? WritableDraft<T> : T;
874
888
  declare class BaseStore<K extends IBaseState> implements IBaseStore {
875
889
  readonly stateType: K;
876
890
  readonly state: IStore<K>;
@@ -954,7 +968,7 @@ export interface ITranslation {
954
968
  declare class Translation implements ITranslation {
955
969
  private translator;
956
970
  private defaultTranslation?;
957
- constructor(translator?: Translator, defaultTranslation?: TranslationUnit);
971
+ constructor(translator?: any, defaultTranslation?: TranslationUnit);
958
972
  _(key: string, options?: {
959
973
  defaultMessage?: string;
960
974
  } & Record<string, unknown>): string;
@@ -1201,7 +1215,7 @@ export type SecureInputOptions = {
1201
1215
  name: string;
1202
1216
  placeholder?: string;
1203
1217
  placement?: "append" | "prepend";
1204
- properties?: JSX.IntrinsicElements["input"] | Record<`${"data" | "aria"}-${string}`, number | string | boolean>;
1218
+ properties?: any;
1205
1219
  style?: CheckoutStyle;
1206
1220
  allowedCharactersMap?: Record<string, string>;
1207
1221
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.45.4",
3
+ "version": "2.45.6",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",