@primer-io/checkout-web 2.46.8 → 2.48.0-beta.0
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 +2 -2
- package/dist/index.d.ts +28 -14
- package/package.json +4 -5
package/dist/Primer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(h,R){typeof exports=="object"&&typeof module=="object"?module.exports=R():typeof define=="function"&&define.amd?define([],R):typeof exports=="object"?exports.Primer=R():h.Primer=R()})(this,()=>(()=>{var Q={476:()=>{},962:()=>{},473:()=>{}},h={};function R(a){var T=h[a];if(T!==void 0)return T.exports;var d=h[a]={exports:{}};return Q[a](d,d.exports,R),d.exports}R.d=(a,T)=>{for(var d in T)R.o(T,d)&&!R.o(a,d)&&Object.defineProperty(a,d,{enumerable:!0,get:T[d]})},R.o=(a,T)=>Object.prototype.hasOwnProperty.call(a,T),R.r=a=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var B={};return(()=>{"use strict";R.r(B),R.d(B,{CheckoutUXFlow:()=>Fr,ErrorCode:()=>$r,EventTypes:()=>Xr,HeadlessManagerType:()=>zr,PaymentFlow:()=>Gr,PaymentInstrumentType:()=>Kr,PaymentMethodData:()=>ot.PaymentMethodData,PaymentMethodType:()=>X,Primer:()=>it,SuccessScreenType:()=>jr,ThreeDSecureStatus:()=>mr,TokenType:()=>Vr,isStripeOptionsDropInWithFullMandateText:()=>At,preloadPrimer:()=>qe});class a extends Error{constructor(e,t=!1){super(e),this.isReported=t,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(e,t=!1){if(e instanceof a)return e;const o=e instanceof Error?e.message:String(e),_=new a(o,t);return e instanceof Error&&e.stack&&(_.stack=e.stack,Object.assign(_,e)),_}markAsReported(){this.isReported=!0}}const T="https://analytics.production.data.primer.io/sdk-logs",d=T==="https://analytics.sandbox.data.primer.io/playwright";var nt=R(476),st=R(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 Qr={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING"};var f=(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))(f||{});const Zr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.46.8";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_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return t||e}};var qr=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(qr||{});async function Jr(){if(typeof navigator>"u"||typeof performance>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const yr="WEB",re=Zr.get("PRIMER_SDK_VERSION");async function Z(r,e,t){return{...t,createdAt:Date.now(),device:await Jr(),eventType:r,properties:e,sdkVersion:re,sdkType:yr}}const q=Symbol.for("__primerAnalytics__");let P={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const r=window[q];r?P=r:window[q]=P}const J=()=>P.providers,b=()=>P.timers,C=()=>P.eventsQueue,y=500,M=new Map,rr=64e3,ee=5;function x(r,e=!1,t=1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const o=()=>{const A=C().get(r);if(A?.length){let i=!0,E=[],s=0,n=0;for(;n<A.length;){const c=A[n],L=JSON.stringify(c),O=new Blob([L]).size;if(O>rr){console.error("Event size exceeds maximum payload size and will be skipped:",c),n++;continue}if(s+O>rr&&E.length>0){try{i=navigator.sendBeacon(r,JSON.stringify(E))}catch(D){i=!1,console.error("Unable to send events",D)}if(!i)break;E=[],s=0}E.push(c),s+=O,n++}if(E.length>0&&i)try{i=navigator.sendBeacon(r,JSON.stringify(E))}catch(c){i=!1,console.error("Unable to send events",c)}if(i)C().delete(r);else if(t<ee){const c=y*Math.pow(2,t);setTimeout(()=>x(r,e,t+1),c)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(e){o();return}const _=setTimeout(o,y);M.set(r,_)}function te(r,e){C().has(r)||C().set(r,[]),C().get(r)?.push(e),x(r)}const er=1024*5;function tr(r,e,t=new WeakSet,o=0,_=10){if(o>_||t.has(r))return r;t.add(r);const A=i=>typeof i=="object"&&i!==null?tr(i,e,t,o+1,_):e(i);return Array.isArray(r)?r.map(A):Object.fromEntries(Object.entries(r).map(([i,E])=>[i,A(E)]))}function oe(r){return typeof r=="string"&&r.length>er?`${r.slice(0,er)}...`:r}function Ae(r){return typeof r=="function"?r.name||"function":r}let or=!1;function H({url:r=T,...e}){typeof document<"u"&&!or&&(document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&x(r,!0)}),or=!0);const t=_=>async A=>{if(typeof navigator>"u")return;const i=await Z(_,A,e),E=n=>oe(Ae(n));if(d)return;const s=tr(i,E);te(r,s)},o={crashEvent:t(f.CRASH_EVENT),messageEvent:t(f.MESSAGE_EVENT),networkCallEvent:t(f.NETWORK_CALL_EVENT),sdkFunctionEvent:t(f.SDK_FUNCTION_EVENT),timerStart:({id:_,...A})=>{const i=`${e.checkoutSessionId}|${_}`,E=performance?.now?performance.now():Date.now();return b().set(i,{start:E}),t(f.TIMER_EVENT)({...A,id:_,timerType:p.START})},timerEnd:({id:_,...A})=>{const i=`${e.checkoutSessionId}|${_}`,{start:E=void 0}=b().get(i)??{};b().delete(i);const s=performance?.now?performance.now():Date.now(),n=E?s-E:void 0;return t(f.TIMER_EVENT)({...A,id:_,timerType:p.END,duration:n})},v1Event:t(f.V1_EVENT),url:r};return J().set(e.checkoutSessionId,o),U(e.checkoutSessionId)}function U(r){return new Proxy({},{get(e,t){return(J().get(r)??H({checkoutSessionId:r}))[t]}})}const F=(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});function ie(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const Ee=8,_e=100,ne=100;function se(r){return{enabled:r?.enabled??!1,maxRetries:Ee,initialBackoff:_e,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:ne}}function ce(r,e,t){const o=r*Math.pow(2,e-1),_=Math.random()*t;return Math.min(o+_,Number.MAX_SAFE_INTEGER)}async function Ar(r,e,t,o=ie){let _=0;const A=se(e);if(!A.enabled)return r();for(;;)try{const i=await r();if(_){let E=`Request succeeded after ${_} 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,s=_>=A.maxRetries,n=E.isNetworkError&&!A.retryNetworkErrors,c=E.status&&E.status>=500&&!A.retry500Errors;if(s||n||c){let D=`Failed after ${_} retries. `;throw s?D+=`Reached maximum retries (${A.maxRetries}).`:n?D+="Network error encountered and retryNetworkErrors is disabled.":c&&(D+="HTTP 500 error encountered and retry500Errors is disabled."),D+=` Last error: ${E.message}`,t?.({messageType:"RETRY_FAILED",message:D,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),new Error(D,{cause:i})}_++;const L=ce(A.initialBackoff,_,A.maxJitter);let O="Unknown error";E.isNetworkError?O="Network error":E.status&&(O=`HTTP ${E.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${_}/${A.maxRetries} due to: ${O}. Error details: ${E.message}. Waiting for ${L.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await o(L)}}let G={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=G),G=window.__primerCache__);const u=()=>G.cache,ir=1e3*60*60,ae=30,Er=50;function _r(){if(u().size<=ae)return;const r=Date.now();for(const[e,t]of u())t.exp<r&&u().delete(e);if(u().size>Er)for(const[e]of u()){if(u().size<=Er)break;u().delete(e)}}function Ne({key:r,ttl:e=ir},t){e?u().set(r,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+e}):u().delete(r)}function Re(r){if(!r)return A=>A();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:_=ir}=r;return async A=>{const i=Date.now(),E=u().get(e);if(!t&&E&&E.exp>i)return E.promise;E&&u().delete(e);const s=A().then(n=>{let c=_;return o&&(c=(Number(n.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Ne({key:e,ttl:c},n),_r(),n},n=>{throw u().delete(e),n});return u().set(e,{promise:s,exp:i+_}),_r(),s}}const nr=()=>sr.randomUUID?.()||Oe(),Oe=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^ue()>>r/4).toString(16)),ue=()=>(sr.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,sr=typeof crypto<"u"?crypto:{},cr=15e3,De=(r,e,t)=>ar(r,"get",e,t),Te=(r,e,t,o)=>ar(r,"post",e,o,JSON.stringify(t)),ar=async(r,e,t,o,_)=>{const A=nr(),i=performance?.now();let E=U(r);const s={method:e,url:t,body:_};E.networkCallEvent(F(A,s));try{const n=await fetch(t,{body:_,method:e,headers:{"content-type":"application/json","x-request-id":A,...o}});if(!n.ok){const D=new Error(`HTTP error! status: ${n.status}`);throw D.status=n.status,D}const c=await n.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:D,clientSession:{clientSessionId:Et,customer:_t}}=c;E=H({checkoutSessionId:r,clientSessionId:Et,customerId:_t?.customerId,primerAccountId:D,url:E.url})}const O=performance?.now()-i;return E.networkCallEvent(F(A,s,{data:c},O)),{data:c,headers:n.headers,status:n.status,source:"NETWORK"}}catch(n){const L=performance?.now()-i;throw Object.assign(n,{isNetworkError:n instanceof TypeError}),E.networkCallEvent(F(A,s,{error:n},L)),n}},Nr=(r,e)=>new Promise((t,o)=>{const _=setTimeout(()=>{const A=new Error("Request timed out");A.isNetworkError=!0,o(A)},e);r.then(t).catch(o).finally(()=>clearTimeout(_))}),de=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:_,timeout:A=cr,checkoutSessionId:i}=e,E=U(i);return Re(_)(()=>Ar(()=>Nr(De(i,r,t),A),o,s=>E.messageEvent({...s,url:r})))},ct=(r,e,t)=>{const{headers:o,retryConfig:_,cacheConfig:A,timeout:i=cr,checkoutSessionId:E}=t,s=getAnalytics(E);return cacheRequest(A)(()=>retryWithExponentialBackoff(()=>Nr(Te(E,r,e,o),i),_,n=>s.messageEvent({...n,url:r})))},Rr="3.6.1",fe=Rr,Le=typeof atob=="function",Se=typeof btoa=="function",S=typeof Buffer=="function",Or=typeof TextDecoder=="function"?new TextDecoder:void 0,ur=typeof TextEncoder=="function"?new TextEncoder:void 0,Y=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],g=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(Y),le=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,N=String.fromCharCode.bind(String),Dr=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),Tr=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),dr=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),fr=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||(_=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|_,A+=Y[e>>18&63]+Y[e>>12&63]+Y[e>>6&63]+Y[e&63]}return i?A.slice(0,i-3)+"===".substring(i):A},m=Se?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):fr,K=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,_=r.length;o<_;o+=4096)t.push(N.apply(null,r.subarray(o,o+4096)));return m(t.join(""))},k=(r,e=!1)=>e?Tr(K(r)):K(r),Pe=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?N(192|e>>>6)+N(128|e&63):N(224|e>>>12&15)+N(128|e>>>6&63)+N(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return N(240|e>>>18&7)+N(128|e>>>12&63)+N(128|e>>>6&63)+N(128|e&63)}},Ce=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Lr=r=>r.replace(Ce,Pe),Sr=S?r=>Buffer.from(r,"utf8").toString("base64"):ur?r=>K(ur.encode(r)):r=>m(Lr(r)),l=(r,e=!1)=>e?Tr(Sr(r)):Sr(r),lr=r=>l(r,!0),Ye=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Ie=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 N((t>>>10)+55296)+N((t&1023)+56320);case 3:return N((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return N((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},Pr=r=>r.replace(Ye,Ie),Cr=r=>{if(r=r.replace(/\s+/g,""),!le.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,_;for(let A=0;A<r.length;)e=g[r.charAt(A++)]<<18|g[r.charAt(A++)]<<12|(o=g[r.charAt(A++)])<<6|(_=g[r.charAt(A++)]),t+=o===64?N(e>>16&255):_===64?N(e>>16&255,e>>8&255):N(e>>16&255,e>>8&255,e&255);return t},V=Le?r=>atob(dr(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Cr,Yr=S?r=>Dr(Buffer.from(r,"base64")):r=>Dr(V(r),e=>e.charCodeAt(0)),Ir=r=>Yr(hr(r)),he=S?r=>Buffer.from(r,"base64").toString("utf8"):Or?r=>Or.decode(Yr(r)):r=>Pr(V(r)),hr=r=>dr(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),W=r=>he(hr(r)),Me=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)},Mr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),Ur=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,Mr(t));r("fromBase64",function(){return W(this)}),r("toBase64",function(e){return l(this,e)}),r("toBase64URI",function(){return l(this,!0)}),r("toBase64URL",function(){return l(this,!0)}),r("toUint8Array",function(){return Ir(this)})},gr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,Mr(t));r("toBase64",function(e){return k(this,e)}),r("toBase64URI",function(){return k(this,!0)}),r("toBase64URL",function(){return k(this,!0)})},kr={version:Rr,VERSION:fe,atob:V,atobPolyfill:Cr,btoa:m,btoaPolyfill:fr,fromBase64:W,toBase64:l,encode:l,encodeURI:lr,encodeURL:lr,utob:Lr,btou:Pr,decode:W,isValid:Me,fromUint8Array:k,toUint8Array:Ir,extendString:Ur,extendUint8Array:gr,extendBuiltins:()=>{Ur(),gr()}},Ue={encode:ge,decode:kr.decode};function ge(r,e={}){const{urlSafe:t=!1}=e;return kr.encode(r,t)}function ke(r){const e=ve(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${we}. Expiration date: ${new Date(t).toISOString()}`);return e}const wr="The provided `clientToken`",we=`${wr} has expired`,Be=`${wr} is malformed`;function ve(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(Ue.decode(o))}catch{throw new Error(Be)}}const pe="v2.46.8",be=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":pe,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function xe(r,e,t){const{accessToken:o,configurationUrl:_,analyticsUrlV2:A}=ke(r),i=H({checkoutSessionId:e,url:A});i.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:E,source:s}=await de(`${_}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:be(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return i.timerEnd({id:"CONFIGURATION_LOADING",context:{source:s}}),E}catch(E){const s=E instanceof Error?E.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${s}`)}}function Br(r){return r instanceof Error?{errorBody:r.message,stacktrace:r.stack}:typeof r=="object"&&r!==null&&"message"in r?{errorBody:String(r.message),stacktrace:"stack"in r?String(r.stack):void 0}:{errorBody:String(r||"Unknown error")}}function $({checkoutSessionId:r,analytics:e,error:t,reporter:o}){e?.crashEvent?e.crashEvent({...Br(t),reporter:o}):r&&vr(r,t,o)}async function vr(r,e,t){const o=T;if(d)return;const _=await Z(f.CRASH_EVENT,{...Br(e),reporter:t},{checkoutSessionId:r});try{await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(_)})}catch(A){console.error("Failed to post crash event",A)}}const pr=Symbol.for("initGlobalErrorMonitoringLoaded"),He=(r,e)=>{typeof window<"u"&&window[pr]||(window[pr]=!0,window.addEventListener("error",t=>{Fe(t)||Ge(t)&&$({checkoutSessionId:r,analytics:e,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{const o=t.reason||new Error("Unhandled promise rejection");me(o)&&$({checkoutSessionId:r,analytics:e,error:o,reporter:"unhandledrejection"})}))},Fe=r=>r.message==="Script error."||!r.filename||r.lineno===0,Ge=r=>{const e=r.filename;return!!(e&&j(e)&&new a(r.error).isReported)},me=r=>{if(r&&typeof r=="object"&&"stack"in r&&typeof r.stack=="string"){const e=a.from(r);if(e.isReported)return!1;if("fileName"in r&&typeof r.fileName=="string"){const o=r.fileName;if(j(o))return!0}return Ke(e.stack).some(j)}return!1},j=r=>{try{return new URL(r,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Ke=r=>{if(!r)return[];const e=r.split(`
|
|
2
|
-
`),t=[],o=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const _ of e){const A=_.match(o);if(A&&A[1])t.push(A[1]);else{const i=/@(.*?):\d+:\d+$/,E=_.match(i);E&&E[1]&&t.push(E[1])}}return t};function Ve(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,_])=>t.setAttribute(o,_)),t}function br(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function xr(r,e,t,o,_,A){const{analytics:i,name:E=e,retryConfig:s}=A;await Ar(()=>new Promise((c,L)=>{const O=br(r,t,e)||Ve(r,{...o,[t]:e});O.onload=()=>{i?.sdkFunctionEvent({name:E,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),c()},O.onerror=()=>{O.remove(),L(new Error(`${_}: ${e}`))},O.parentNode||document.head.appendChild(O)}),s,c=>i?.messageEvent({...c,url:e}))}function We(r,e={}){return br("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):xr("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function $e(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()):xr("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let I;async function Hr(r){return I||(I=Promise.all([We("https://sdk.primer.io/web/v2.46.8/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),$e("https://sdk.primer.io/web/v2.46.8/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw I=void 0,o}),I)}const je="v2.46.8",Xe=w("createHeadless"),ze=w("showExpressCheckout"),Qe=w("showUniversalCheckout"),Ze=w("showVaultManager");function w(r){return async(...[e,t,...o])=>{const _=nr();try{const A=U(_);try{He(_,A),A.sdkFunctionEvent({name:r,params:[e,t,...o]}),A.timerStart({id:Qr[r]});const[i,E]=await Promise.all([xe(e,_,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Hr(A)]);return E[r](i,_,e,t,...o)}catch(i){const E=a.from(i);throw E.isReported||($({checkoutSessionId:_,analytics:A,error:E,reporter:"lazyLoad level 1"}),E.markAsReported()),E}}catch(A){const i=a.from(A);throw i.isReported||(vr(_,i,"lazyLoad level 0"),i.markAsReported()),i}}}const qe=()=>Hr().then(()=>{});var Je=(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))(Je||{}),ye=(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))(ye||{}),rt=(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))(rt||{}),Fr=(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))(Fr||{}),Gr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Gr||{}),et=(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))(et||{}),mr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(mr||{}),Kr=(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))(Kr||{}),X=(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))(X||{}),tt=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(tt||{}),Vr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(Vr||{});const Wr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},Rt=r=>{if(Object.values(X).includes(r))return r;if(Wr[r])return Wr[r]};var $r=(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))($r||{});class z extends null{static fromErrorCode(e,t,o){return new z(e,t,o)}constructor(e,t,o){super(t.message),this.code=e,this.diagnosticsId=t.diagnosticsId??null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,z),o&&(o.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:this.stack}),this.markAsReported())}}var ot=R(473),jr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(jr||{});const At=r=>"fullMandateText"in r?.mandateData;var Xr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Xr||{}),zr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(zr||{});const it={SDK_VERSION:je,createHeadless:Xe,showExpressCheckout:ze,showUniversalCheckout:Qe,showVaultManager:Ze}})(),B})());
|
|
1
|
+
(function(M,N){typeof exports=="object"&&typeof module=="object"?module.exports=N():typeof define=="function"&&define.amd?define([],N):typeof exports=="object"?exports.Primer=N():M.Primer=N()})(this,()=>(()=>{var J={476:()=>{},962:()=>{},473:()=>{}},M={};function N(a){var T=M[a];if(T!==void 0)return T.exports;var d=M[a]={exports:{}};return J[a](d,d.exports,N),d.exports}N.d=(a,T)=>{for(var d in T)N.o(T,d)&&!N.o(a,d)&&Object.defineProperty(a,d,{enumerable:!0,get:T[d]})},N.o=(a,T)=>Object.prototype.hasOwnProperty.call(a,T),N.r=a=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var p={};return(()=>{"use strict";N.r(p),N.d(p,{CheckoutUXFlow:()=>mr,ErrorCode:()=>Xr,EventTypes:()=>Qr,HeadlessManagerType:()=>Zr,PaymentFlow:()=>Kr,PaymentInstrumentType:()=>Wr,PaymentMethodData:()=>ot.PaymentMethodData,PaymentMethodType:()=>Z,Primer:()=>it,SuccessScreenType:()=>zr,ThreeDSecureStatus:()=>Vr,TokenType:()=>$r,isStripeOptionsDropInWithFullMandateText:()=>At});class a extends Error{constructor(e,t=!1){super(e),this.isReported=t,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(e,t=!1){if(e instanceof a)return e;const o=e instanceof Error?e.message:String(e),_=new a(o,t);return e instanceof Error&&e.stack&&(_.stack=e.stack,Object.assign(_,e)),_}markAsReported(){this.isReported=!0}}const T="https://analytics.production.data.primer.io/sdk-logs";var d=N(476),st=N(962),v=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(v||{}),b=(r=>(r.START="START",r.END="END",r))(b||{});const H={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var f=(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))(f||{});const qr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.48.0-beta.0";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_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return t||e}};var Jr=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(Jr||{});async function yr(){if(typeof navigator>"u"||typeof performance>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const re="WEB",ee=qr.get("PRIMER_SDK_VERSION");async function y(r,e,t){return{...t,createdAt:Date.now(),device:await yr(),eventType:r,properties:e,sdkVersion:ee,sdkType:re}}const rr=Symbol.for("__primerAnalytics__");let P={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const r=window[rr];r?P=r:window[rr]=P}const er=()=>P.providers,x=()=>P.timers,C=()=>P.eventsQueue,tr=500,U=new Map,or=64e3,te=5;function F(r,e=!1,t=1){if(U.has(r)){const A=U.get(r);clearTimeout(A),U.delete(r)}const o=()=>{const A=C().get(r);if(A?.length){let i=!0,E=[],n=0,s=0;for(;s<A.length;){const c=A[s],L=JSON.stringify(c),O=new Blob([L]).size;if(O>or){console.error("Event size exceeds maximum payload size and will be skipped:",c),s++;continue}if(n+O>or&&E.length>0){try{i=navigator.sendBeacon(r,JSON.stringify(E))}catch(D){i=!1,console.error("Unable to send events",D)}if(!i)break;E=[],n=0}E.push(c),n+=O,s++}if(E.length>0&&i)try{i=navigator.sendBeacon(r,JSON.stringify(E))}catch(c){i=!1,console.error("Unable to send events",c)}if(i)C().delete(r);else if(t<te){const c=tr*Math.pow(2,t);setTimeout(()=>F(r,e,t+1),c)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(e){o();return}const _=setTimeout(o,tr);U.set(r,_)}function oe(r,e){C().has(r)||C().set(r,[]),C().get(r)?.push(e),F(r)}const Ar=1024*5;function ir(r,e,t=new WeakSet,o=0,_=10){if(o>_||t.has(r))return r;t.add(r);const A=i=>typeof i=="object"&&i!==null?ir(i,e,t,o+1,_):e(i);return Array.isArray(r)?r.map(A):Object.fromEntries(Object.entries(r).map(([i,E])=>[i,A(E)]))}function Ae(r){return typeof r=="string"&&r.length>Ar?`${r.slice(0,Ar)}...`:r}function ie(r){return typeof r=="function"?r.name||"function":r}let Er=!1;function G({url:r=T,...e}){typeof document<"u"&&!Er&&(document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&F(r,!0)}),Er=!0);const t=_=>async A=>{if(typeof navigator>"u")return;const i=await y(_,A,e),n=ir(i,s=>Ae(ie(s)));oe(r,n)},o={crashEvent:t(f.CRASH_EVENT),messageEvent:t(f.MESSAGE_EVENT),networkCallEvent:t(f.NETWORK_CALL_EVENT),sdkFunctionEvent:t(f.SDK_FUNCTION_EVENT),timerStart:({id:_,...A})=>{const i=`${e.checkoutSessionId}|${_}`,E=performance?.now?performance.now():Date.now();return x().set(i,{start:E}),t(f.TIMER_EVENT)({...A,id:_,timerType:b.START})},timerEnd:({id:_,...A})=>{const i=`${e.checkoutSessionId}|${_}`,{start:E=void 0}=x().get(i)??{};x().delete(i);const n=performance?.now?performance.now():Date.now(),s=E?n-E:void 0;return t(f.TIMER_EVENT)({...A,id:_,timerType:b.END,duration:s})},v1Event:t(f.V1_EVENT),url:r};return er().set(e.checkoutSessionId,o),Y(e.checkoutSessionId)}function Y(r){return new Proxy({},{get(e,t){return(er().get(r)??G({checkoutSessionId:r}))[t]}})}const m=(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});function Ee(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const _e=8,se=100,ne=100;function ce(r){return{enabled:r?.enabled??!1,maxRetries:_e,initialBackoff:se,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:ne}}function ae(r,e,t){const o=r*Math.pow(2,e-1),_=Math.random()*t;return Math.min(o+_,Number.MAX_SAFE_INTEGER)}async function _r(r,e,t,o=Ee){let _=0;const A=ce(e);if(!A.enabled)return r();for(;;)try{const i=await r();if(_){let E=`Request succeeded after ${_} 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&&!A.retryNetworkErrors,c=E.status&&E.status>=500&&!A.retry500Errors;if(n||s||c){let D=`Failed after ${_} retries. `;throw n?D+=`Reached maximum retries (${A.maxRetries}).`:s?D+="Network error encountered and retryNetworkErrors is disabled.":c&&(D+="HTTP 500 error encountered and retry500Errors is disabled."),D+=` Last error: ${E.message}`,t?.({messageType:"RETRY_FAILED",message:D,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),new Error(D,{cause:i})}_++;const L=ae(A.initialBackoff,_,A.maxJitter);let O="Unknown error";E.isNetworkError?O="Network error":E.status&&(O=`HTTP ${E.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${_}/${A.maxRetries} due to: ${O}. Error details: ${E.message}. Waiting for ${L.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await o(L)}}let K={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=K),K=window.__primerCache__);const u=()=>K.cache,sr=1e3*60*60,Re=30,nr=50;function cr(){if(u().size<=Re)return;const r=Date.now();for(const[e,t]of u())t.exp<r&&u().delete(e);if(u().size>nr)for(const[e]of u()){if(u().size<=nr)break;u().delete(e)}}function Ne({key:r,ttl:e=sr},t){e?u().set(r,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+e}):u().delete(r)}function Oe(r){if(!r)return A=>A();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:_=sr}=r;return async A=>{const i=Date.now(),E=u().get(e);if(!t&&E&&E.exp>i)return E.promise;E&&u().delete(e);const n=A().then(s=>{let c=_;return o&&(c=(Number(s.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Ne({key:e,ttl:c},s),cr(),s},s=>{throw u().delete(e),s});return u().set(e,{promise:n,exp:i+_}),cr(),n}}const V=()=>ar.randomUUID?.()||ue(),ue=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^De()>>r/4).toString(16)),De=()=>(ar.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,ar=typeof crypto<"u"?crypto:{},Rr=15e3,Te=(r,e,t)=>Nr(r,"get",e,t),de=(r,e,t,o)=>Nr(r,"post",e,o,JSON.stringify(t)),Nr=async(r,e,t,o,_)=>{const A=V(),i=performance?.now();let E=Y(r);const n={method:e,url:t,body:_};E.networkCallEvent(m(A,n));try{const s=await fetch(t,{body:_,method:e,headers:{"content-type":"application/json","x-request-id":A,...o}});if(!s.ok){const D=new Error(`HTTP error! status: ${s.status}`);throw D.status=s.status,D}const c=await s.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:D,clientSession:{clientSessionId:Et,customer:_t}}=c;E=G({checkoutSessionId:r,clientSessionId:Et,customerId:_t?.customerId,primerAccountId:D,url:E.url})}const O=performance?.now()-i;return E.networkCallEvent(m(A,n,{data:c},O)),{data:c,headers:s.headers,status:s.status,source:"NETWORK"}}catch(s){const L=performance?.now()-i;throw Object.assign(s,{isNetworkError:s instanceof TypeError}),E.networkCallEvent(m(A,n,{error:s},L)),s}},Or=(r,e)=>new Promise((t,o)=>{const _=setTimeout(()=>{const A=new Error("Request timed out");A.isNetworkError=!0,o(A)},e);r.then(t).catch(o).finally(()=>clearTimeout(_))}),fe=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:_,timeout:A=Rr,checkoutSessionId:i}=e,E=Y(i);return Oe(_)(()=>_r(()=>Or(Te(i,r,t),A),o,n=>E.messageEvent({...n,url:r})))},nt=(r,e,t)=>{const{headers:o,retryConfig:_,cacheConfig:A,timeout:i=Rr,checkoutSessionId:E}=t,n=getAnalytics(E);return cacheRequest(A)(()=>retryWithExponentialBackoff(()=>Or(de(E,r,e,o),i),_,s=>n.messageEvent({...s,url:r})))},ur="3.6.1",Le=ur,Se=typeof atob=="function",le=typeof btoa=="function",S=typeof Buffer=="function",Dr=typeof TextDecoder=="function"?new TextDecoder:void 0,Tr=typeof TextEncoder=="function"?new TextEncoder:void 0,I=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],k=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(I),Pe=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,R=String.fromCharCode.bind(String),dr=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),fr=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),Lr=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Sr=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||(_=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|_,A+=I[e>>18&63]+I[e>>12&63]+I[e>>6&63]+I[e&63]}return i?A.slice(0,i-3)+"===".substring(i):A},W=le?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Sr,$=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,_=r.length;o<_;o+=4096)t.push(R.apply(null,r.subarray(o,o+4096)));return W(t.join(""))},g=(r,e=!1)=>e?fr($(r)):$(r),Ce=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?R(192|e>>>6)+R(128|e&63):R(224|e>>>12&15)+R(128|e>>>6&63)+R(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return R(240|e>>>18&7)+R(128|e>>>12&63)+R(128|e>>>6&63)+R(128|e&63)}},Ye=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,lr=r=>r.replace(Ye,Ce),Pr=S?r=>Buffer.from(r,"utf8").toString("base64"):Tr?r=>$(Tr.encode(r)):r=>W(lr(r)),l=(r,e=!1)=>e?fr(Pr(r)):Pr(r),Cr=r=>l(r,!0),Ie=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,he=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 R((t>>>10)+55296)+R((t&1023)+56320);case 3:return R((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return R((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},Yr=r=>r.replace(Ie,he),Ir=r=>{if(r=r.replace(/\s+/g,""),!Pe.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,_;for(let A=0;A<r.length;)e=k[r.charAt(A++)]<<18|k[r.charAt(A++)]<<12|(o=k[r.charAt(A++)])<<6|(_=k[r.charAt(A++)]),t+=o===64?R(e>>16&255):_===64?R(e>>16&255,e>>8&255):R(e>>16&255,e>>8&255,e&255);return t},j=Se?r=>atob(Lr(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Ir,hr=S?r=>dr(Buffer.from(r,"base64")):r=>dr(j(r),e=>e.charCodeAt(0)),Mr=r=>hr(Ur(r)),Me=S?r=>Buffer.from(r,"base64").toString("utf8"):Dr?r=>Dr.decode(hr(r)):r=>Yr(j(r)),Ur=r=>Lr(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),X=r=>Me(Ur(r)),Ue=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)},kr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),gr=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,kr(t));r("fromBase64",function(){return X(this)}),r("toBase64",function(e){return l(this,e)}),r("toBase64URI",function(){return l(this,!0)}),r("toBase64URL",function(){return l(this,!0)}),r("toUint8Array",function(){return Mr(this)})},wr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,kr(t));r("toBase64",function(e){return g(this,e)}),r("toBase64URI",function(){return g(this,!0)}),r("toBase64URL",function(){return g(this,!0)})},Br={version:ur,VERSION:Le,atob:j,atobPolyfill:Ir,btoa:W,btoaPolyfill:Sr,fromBase64:X,toBase64:l,encode:l,encodeURI:Cr,encodeURL:Cr,utob:lr,btou:Yr,decode:X,isValid:Ue,fromUint8Array:g,toUint8Array:Mr,extendString:gr,extendUint8Array:wr,extendBuiltins:()=>{gr(),wr()}},ke={encode:ge,decode:Br.decode};function ge(r,e={}){const{urlSafe:t=!1}=e;return Br.encode(r,t)}function we(r){const e=ve(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${Be}. Expiration date: ${new Date(t).toISOString()}`);return e}const pr="The provided `clientToken`",Be=`${pr} has expired`,pe=`${pr} is malformed`;function ve(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(ke.decode(o))}catch{throw new Error(pe)}}const be="v2.48.0-beta.0",He=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":be,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function xe(r,e,t){const{accessToken:o,configurationUrl:_,analyticsUrlV2:A}=we(r),i=G({checkoutSessionId:e,url:A});i.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:E,source:n}=await fe(`${_}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:He(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return i.timerEnd({id:"CONFIGURATION_LOADING",context:{source:n}}),E}catch(E){const n=E instanceof Error?E.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}function vr(r){return r instanceof Error?{errorBody:r.message,stacktrace:r.stack}:typeof r=="object"&&r!==null&&"message"in r?{errorBody:String(r.message),stacktrace:"stack"in r?String(r.stack):void 0}:{errorBody:String(r||"Unknown error")}}function w({checkoutSessionId:r,analytics:e,error:t,reporter:o}){e?.crashEvent?e.crashEvent({...vr(t),reporter:o}):r&&z(r,t,o)}async function z(r,e,t){const o=T,_=await y(f.CRASH_EVENT,{...vr(e),reporter:t},{checkoutSessionId:r});try{await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(_)})}catch(A){console.error("Failed to post crash event",A)}}const br=Symbol.for("initGlobalErrorMonitoringLoaded"),Hr=(r,e)=>{typeof window<"u"&&window[br]||(window[br]=!0,window.addEventListener("error",t=>{Fe(t)||Ge(t)&&w({checkoutSessionId:r,analytics:e,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{const o=t.reason||new Error("Unhandled promise rejection");me(o)&&w({checkoutSessionId:r,analytics:e,error:o,reporter:"unhandledrejection"})}))},Fe=r=>r.message==="Script error."||!r.filename||r.lineno===0,Ge=r=>{const e=r.filename;return!!(e&&Q(e)&&new a(r.error).isReported)},me=r=>{if(r&&typeof r=="object"&&"stack"in r&&typeof r.stack=="string"){const e=a.from(r);if(e.isReported)return!1;if("fileName"in r&&typeof r.fileName=="string"){const o=r.fileName;if(Q(o))return!0}return Ke(e.stack).some(Q)}return!1},Q=r=>{try{return new URL(r,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Ke=r=>{if(!r)return[];const e=r.split(`
|
|
2
|
+
`),t=[],o=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const _ of e){const A=_.match(o);if(A&&A[1])t.push(A[1]);else{const i=/@(.*?):\d+:\d+$/,E=_.match(i);E&&E[1]&&t.push(E[1])}}return t};function Ve(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,_])=>t.setAttribute(o,_)),t}function xr(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Fr(r,e,t,o,_,A){const{analytics:i,name:E=e,retryConfig:n}=A;await _r(()=>new Promise((c,L)=>{const O=xr(r,t,e)||Ve(r,{...o,[t]:e});O.onload=()=>{i?.sdkFunctionEvent({name:E,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),c()},O.onerror=()=>{O.remove(),L(new Error(`${_}: ${e}`))},O.parentNode||document.head.appendChild(O)}),n,c=>i?.messageEvent({...c,url:e}))}function We(r,e={}){return xr("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Fr("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function $e(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()):Fr("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let h;async function Gr(r){return h||(h=Promise.all([We("https://sdk.primer.io/web/v2.48.0-beta.0/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),$e("https://sdk.primer.io/web/v2.48.0-beta.0/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw h=void 0,o}),h)}const je=async()=>{const r=V();try{const e=Y(r);try{Hr(r,e),e.sdkFunctionEvent({name:"preloadPrimer"}),e.timerStart({id:H.preloadPrimer}),await Gr(e),e.timerEnd({id:H.preloadPrimer})}catch(t){const o=a.from(t);throw o.isReported||(w({checkoutSessionId:r,analytics:e,error:o,reporter:"preloadPrimer level 1"}),o.markAsReported()),o}}catch(e){const t=a.from(e);throw t.isReported||(z(r,t,"preloadPrimer level 0"),t.markAsReported()),t}},Xe="v2.48.0-beta.0",ze=B("createHeadless"),Qe=B("showExpressCheckout"),Ze=B("showUniversalCheckout"),qe=B("showVaultManager");function B(r){return async(...[e,t,...o])=>{const _=V();try{const A=Y(_);try{Hr(_,A),A.sdkFunctionEvent({name:r,params:[e,t,...o]}),A.timerStart({id:H[r]});const[i,E]=await Promise.all([xe(e,_,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Gr(A)]);return E[r](i,_,e,t,...o)}catch(i){const E=a.from(i);throw E.isReported||(w({checkoutSessionId:_,analytics:A,error:E,reporter:"lazyLoad level 1"}),E.markAsReported()),E}}catch(A){const i=a.from(A);throw i.isReported||(z(_,i,"lazyLoad level 0"),i.markAsReported()),i}}}var Je=(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))(Je||{}),ye=(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))(ye||{}),rt=(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))(rt||{}),mr=(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))(mr||{}),Kr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Kr||{}),et=(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))(et||{}),Vr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(Vr||{}),Wr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.AUTOMATED_CLEARING_HOUSE="AUTOMATED_CLEARING_HOUSE",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))(Wr||{}),Z=(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))(Z||{}),tt=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(tt||{}),$r=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))($r||{});const jr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA",AUTOMATED_CLEARING_HOUSE:"STRIPE_ACH"},Rt=r=>{if(Object.values(Z).includes(r))return r;if(jr[r])return jr[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 q extends null{static fromErrorCode(e,t,o){return new q(e,t,o)}constructor(e,t,o){super(t.message),this.code=e,this.diagnosticsId=t.diagnosticsId??null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,q),o&&(o.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:this.stack}),this.markAsReported())}}var ot=N(473),zr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(zr||{});const At=r=>{const e=r?.mandateData;return e?"fullMandateText"in e:!1};var Qr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Qr||{}),Zr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Zr||{});const it={SDK_VERSION:Xe,createHeadless:ze,showExpressCheckout:Qe,showUniversalCheckout:Ze,showVaultManager:qe,preloadPrimer:je}})(),p})());
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
// Generated by dts-bundle-generator
|
|
1
|
+
// Generated by dts-bundle-generator v8.1.2
|
|
2
2
|
|
|
3
|
-
export declare const preloadPrimer: () => Promise<void>;
|
|
4
3
|
declare enum PaymentIntent {
|
|
5
4
|
adyenKlarna = "ADYEN_KLARNA",
|
|
6
5
|
applePay = "APPLE_PAY",
|
|
@@ -15,6 +14,7 @@ declare enum PaymentIntent {
|
|
|
15
14
|
}
|
|
16
15
|
export declare enum PaymentInstrumentType {
|
|
17
16
|
WORLDPAY_IDEAL = "WORLDPAY_IDEAL",
|
|
17
|
+
AUTOMATED_CLEARING_HOUSE = "AUTOMATED_CLEARING_HOUSE",
|
|
18
18
|
ADYEN_KLARNA = "ADYEN_KLARNA",
|
|
19
19
|
ADYEN_BANCONTACT_CARD = "ADYEN_BANCONTACT_CARD",
|
|
20
20
|
PAY_NL_KAARTDIRECT = "PAY_NL_KAARTDIRECT",
|
|
@@ -199,7 +199,7 @@ export type NetworkEventProperties = {
|
|
|
199
199
|
duration?: number;
|
|
200
200
|
callType: NetworkCallType;
|
|
201
201
|
};
|
|
202
|
-
export type TimerId = "CONFIGURATION_LOADING" | "HEADLESS_LOADING" | "EXPRESS_LOADING" | "DROP_IN_LOADING" | "VAULT_MANAGER_LOADING";
|
|
202
|
+
export type TimerId = "CONFIGURATION_LOADING" | "HEADLESS_LOADING" | "EXPRESS_LOADING" | "DROP_IN_LOADING" | "VAULT_MANAGER_LOADING" | "PRELOAD_PRIMER_LOADING";
|
|
203
203
|
export interface TimerEventProperties {
|
|
204
204
|
id: TimerId;
|
|
205
205
|
context?: {
|
|
@@ -436,7 +436,7 @@ export interface Observer {
|
|
|
436
436
|
declare class Observable {
|
|
437
437
|
private observers;
|
|
438
438
|
constructor();
|
|
439
|
-
onEvent(
|
|
439
|
+
onEvent(_event: IFrameMessagePayload): void;
|
|
440
440
|
on(type: string, observer: Observer): void;
|
|
441
441
|
once(type: string, observer: Observer): void;
|
|
442
442
|
notify(event: IFrameMessagePayload): void;
|
|
@@ -787,7 +787,8 @@ declare enum ClientTokenIntent {
|
|
|
787
787
|
CHECKOUT = "CHECKOUT",
|
|
788
788
|
THREEDS_AUTHENTICATION = "3DS_AUTHENTICATION",
|
|
789
789
|
PROCESSOR_3DS = "PROCESSOR_3DS",
|
|
790
|
-
REDIRECTION_END = "REDIRECTION_END"
|
|
790
|
+
REDIRECTION_END = "REDIRECTION_END",
|
|
791
|
+
STRIPE_ACH_REDIRECTION = "STRIPE_ACH_REDIRECTION"
|
|
791
792
|
}
|
|
792
793
|
export type CommonClientToken = {
|
|
793
794
|
configurationUrl: string;
|
|
@@ -797,6 +798,16 @@ export type CommonClientToken = {
|
|
|
797
798
|
paymentFlow: PaymentFlow;
|
|
798
799
|
exp: number;
|
|
799
800
|
};
|
|
801
|
+
/**
|
|
802
|
+
* Start: Stripe ACH vaulted intent client token
|
|
803
|
+
*/
|
|
804
|
+
export type StripeACHVaultedIntentClientToken = {
|
|
805
|
+
intent: ClientTokenIntent.STRIPE_ACH_REDIRECTION;
|
|
806
|
+
sdkCompleteUrl: string;
|
|
807
|
+
};
|
|
808
|
+
/**
|
|
809
|
+
* End: Stripe ACH vaulted intent client token
|
|
810
|
+
*/
|
|
800
811
|
export type IntentClientToken = {
|
|
801
812
|
intent: ClientTokenIntent.CHECKOUT | undefined;
|
|
802
813
|
} | {
|
|
@@ -809,7 +820,7 @@ export type IntentClientToken = {
|
|
|
809
820
|
intent: ClientTokenIntent.REDIRECTION_END;
|
|
810
821
|
paymentId: string;
|
|
811
822
|
resumeToken: string;
|
|
812
|
-
} | ({
|
|
823
|
+
} | StripeACHVaultedIntentClientToken | ({
|
|
813
824
|
intent: string;
|
|
814
825
|
} & Record<string, unknown>);
|
|
815
826
|
export type DecodedClientToken = CommonClientToken & IntentClientToken;
|
|
@@ -950,9 +961,9 @@ declare class BasePaymentMethod {
|
|
|
950
961
|
setOption(key: any, value: any): void;
|
|
951
962
|
setupAndValidate(): Promise<boolean>;
|
|
952
963
|
mount(): Promise<boolean>;
|
|
953
|
-
tokenize(
|
|
964
|
+
tokenize(_options?: any): Promise<void>;
|
|
954
965
|
validate(): Promise<Validation>;
|
|
955
|
-
setDisabled(
|
|
966
|
+
setDisabled(_disabled: boolean): Promise<void>;
|
|
956
967
|
focus(): void;
|
|
957
968
|
blur(): void;
|
|
958
969
|
getPaymentElement(): Element | null;
|
|
@@ -1101,8 +1112,8 @@ declare class CheckoutStore extends BaseStore<ICheckoutState> implements IOption
|
|
|
1101
1112
|
selectVault(id: string | null): void;
|
|
1102
1113
|
getSelectedVaultItem(): VaultListItem | undefined;
|
|
1103
1114
|
getSelectedVaultItemState(): {
|
|
1104
|
-
metadata?: InputMetadata
|
|
1105
|
-
securityCode?: string
|
|
1115
|
+
metadata?: InputMetadata;
|
|
1116
|
+
securityCode?: string;
|
|
1106
1117
|
};
|
|
1107
1118
|
setSelectedVaultItemState(state: ICheckoutState["vault"]["state"]): void;
|
|
1108
1119
|
removeVault(id: string): Promise<void>;
|
|
@@ -1326,7 +1337,7 @@ export type AdyenMultibancoPaymentData = {
|
|
|
1326
1337
|
entity: string;
|
|
1327
1338
|
};
|
|
1328
1339
|
export interface PositionalConfig {
|
|
1329
|
-
container: string;
|
|
1340
|
+
container: string | Element;
|
|
1330
1341
|
}
|
|
1331
1342
|
export interface ApplePayOptions extends PositionalConfig {
|
|
1332
1343
|
buttonType?: "plain" | "buy" | "set-up" | "donate" | "check-out" | "book" | "subscribe";
|
|
@@ -1381,6 +1392,7 @@ export interface GooglePayOptions extends PositionalConfig {
|
|
|
1381
1392
|
shippingAddressParameters?: GooglePayShippingAddressParameters;
|
|
1382
1393
|
emailRequired?: boolean;
|
|
1383
1394
|
requireShippingMethod?: boolean;
|
|
1395
|
+
shadowRoot?: boolean;
|
|
1384
1396
|
}
|
|
1385
1397
|
export interface PayPalOptions extends PositionalConfig {
|
|
1386
1398
|
buttonColor?: "gold" | "blue" | "silver" | "white" | "black";
|
|
@@ -1935,7 +1947,7 @@ export interface HeadlessHostedInputOptions {
|
|
|
1935
1947
|
export interface IHeadlessHostedInput {
|
|
1936
1948
|
getOptions(): HeadlessHostedInputOptions;
|
|
1937
1949
|
setOptions(options: HeadlessHostedInputOptions): void;
|
|
1938
|
-
render(container: string, options: HeadlessHostedInputOptions): Promise<void>;
|
|
1950
|
+
render(container: string | Element | null, options: HeadlessHostedInputOptions): Promise<void>;
|
|
1939
1951
|
addEventListener(event: EventTypes, callback: EventListener): void;
|
|
1940
1952
|
focus(): void;
|
|
1941
1953
|
blur(): void;
|
|
@@ -1967,6 +1979,7 @@ export interface PayPalStyles {
|
|
|
1967
1979
|
export interface GooglePayStyles {
|
|
1968
1980
|
buttonType?: "long" | "short";
|
|
1969
1981
|
buttonColor?: "default" | "black" | "white";
|
|
1982
|
+
shadowRoot?: boolean;
|
|
1970
1983
|
}
|
|
1971
1984
|
export interface ApplePayStyles {
|
|
1972
1985
|
buttonType?: "plain" | "buy" | "set-up" | "donate" | "check-out" | "book" | "subscribe";
|
|
@@ -1976,7 +1989,7 @@ export interface HeadlessButtonRenderOptions {
|
|
|
1976
1989
|
style?: GooglePayStyles | PayPalStyles | ApplePayStyles | Record<string, unknown>;
|
|
1977
1990
|
}
|
|
1978
1991
|
export interface IHeadlessPaymentMethodButton {
|
|
1979
|
-
render(containerId: string, options: HeadlessButtonRenderOptions): Promise<void>;
|
|
1992
|
+
render(containerId: string | Element, options: HeadlessButtonRenderOptions): Promise<void>;
|
|
1980
1993
|
setDisabled(disabled: boolean): Promise<void>;
|
|
1981
1994
|
clean(): void;
|
|
1982
1995
|
focus(): void;
|
|
@@ -2095,7 +2108,7 @@ export type KlarnaPaymentResponse = {
|
|
|
2095
2108
|
outcome: "APPROVED" | "DENIED";
|
|
2096
2109
|
};
|
|
2097
2110
|
export type RenderCategoryDetails = {
|
|
2098
|
-
containerId: string;
|
|
2111
|
+
containerId: string | Element;
|
|
2099
2112
|
paymentMethodCategoryId: string;
|
|
2100
2113
|
onHeightChange: (height: number) => void;
|
|
2101
2114
|
};
|
|
@@ -2147,6 +2160,7 @@ export declare const Primer: {
|
|
|
2147
2160
|
showExpressCheckout: (clientToken: string, options: any) => Promise<Promise<PrimerCheckout>>;
|
|
2148
2161
|
showUniversalCheckout: (clientToken: string, options: UniversalCheckoutOptions | SinglePaymentMethodCheckoutOptions) => Promise<Promise<PrimerCheckout>>;
|
|
2149
2162
|
showVaultManager: (clientToken: string, options: VaultManagerOptions) => Promise<Promise<PrimerVaultManager>>;
|
|
2163
|
+
preloadPrimer: () => Promise<void>;
|
|
2150
2164
|
};
|
|
2151
2165
|
|
|
2152
2166
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primer-io/checkout-web",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.48.0-beta.0",
|
|
4
4
|
"description": "Primer.js for the web",
|
|
5
5
|
"author": "Primer Developers <developers@primer.io>",
|
|
6
6
|
"homepage": "",
|
|
@@ -18,15 +18,14 @@
|
|
|
18
18
|
"build": "yarn clean && yarn build.compile && yarn build.types",
|
|
19
19
|
"build.compile": "webpack",
|
|
20
20
|
"dev": "webpack serve --config ./webpack.dev.config.js",
|
|
21
|
-
"build.types": "
|
|
21
|
+
"build.types": "dts-bundle-generator --config ./dtsconfig.json --verbose",
|
|
22
22
|
"postpublish": "clean-package restore",
|
|
23
23
|
"prepublishOnly": "clean-package",
|
|
24
|
-
"start": "node demos/server.js",
|
|
25
|
-
"start:test": "webpack serve --env PORT=4321",
|
|
26
24
|
"start:playwright:test:ui": "npx playwright test --ui",
|
|
27
25
|
"start:playwright:test": "npx playwright test",
|
|
28
26
|
"start:playwright:ci": "npx playwright test --project=chromium",
|
|
29
27
|
"lint": "eslint ./src",
|
|
30
|
-
"check-types": "tsc --noemit -p tsconfig.json"
|
|
28
|
+
"check-types": "tsc --noemit -p tsconfig.json",
|
|
29
|
+
"generate-ts": "npx openapi-typescript ./apis/v2-4-api/openapi.yaml --output ./typings/generated.ts"
|
|
31
30
|
}
|
|
32
31
|
}
|