@primer-io/checkout-web 2.35.1 → 2.37.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 CHANGED
@@ -1 +1,2 @@
1
- (function(G,f){typeof exports=="object"&&typeof module=="object"?module.exports=f():typeof define=="function"&&define.amd?define([],f):typeof exports=="object"?exports.Primer=f():G.Primer=f()})(this,function(){return function(){var y={453:function(R,A,s){"use strict";var D=this&&this.__assign||function(){return D=Object.assign||function(_){for(var u,P=1,M=arguments.length;P<M;P++){u=arguments[P];for(var U in u)Object.prototype.hasOwnProperty.call(u,U)&&(_[U]=u[U])}return _},D.apply(this,arguments)},S=s(743),a=s(576),E=s(243),h=s(169),p=s(679),l={},O={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},v=[O.VISA,O.MASTERCARD,O.AMERICAN_EXPRESS,O.DINERS_CLUB,O.DISCOVER,O.JCB,O.UNIONPAY,O.MAESTRO,O.ELO,O.MIR,O.HIPER,O.HIPERCARD],I=p.clone(v);function k(_){return l[_]||S[_]}function m(){return I.map(function(_){return p.clone(k(_))})}function B(_,u){u===void 0&&(u=!1);var P=I.indexOf(_);if(!u&&P===-1)throw new Error('"'+_+'" is not a supported card type.');return P}function g(_){var u=[];if(!E.isValidInputType(_))return u;if(_.length===0)return m();I.forEach(function(M){var U=k(M);a.addMatchingCardsToResults(_,U,u)});var P=h.findBestMatch(u);return P?[P]:u}g.getTypeInfo=function(_){return p.clone(k(_))},g.removeCard=function(_){var u=B(_);I.splice(u,1)},g.addCard=function(_){var u=B(_.type,!0);l[_.type]=_,u===-1&&I.push(_.type)},g.updateCard=function(_,u){var P=l[_]||S[_];if(!P)throw new Error('"'+_+"\" is not a recognized type. Use `addCard` instead.'");if(u.type&&P.type!==u.type)throw new Error("Cannot overwrite type parameter.");var M=p.clone(P);M=D(D({},M),u),l[M.type]=M},g.changeOrder=function(_,u){var P=B(_);I.splice(P,1),I.splice(u,0,_)},g.resetModifications=function(){I=p.clone(v),l={}},g.types=O,R.exports=g},576:function(R,A,s){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.addMatchingCardsToResults=void 0;var D=s(679),S=s(864);function a(E,h,p){var l,O;for(l=0;l<h.patterns.length;l++){var v=h.patterns[l];if(S.matches(E,v)){var I=D.clone(h);Array.isArray(v)?O=String(v[0]).length:O=String(v).length,E.length>=O&&(I.matchStrength=O),p.push(I);break}}}A.addMatchingCardsToResults=a},743:function(R){"use strict";var A={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}};R.exports=A},679:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.clone=void 0;function s(D){return D?JSON.parse(JSON.stringify(D)):null}A.clone=s},169:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.findBestMatch=void 0;function s(S){var a=S.filter(function(E){return E.matchStrength}).length;return a>0&&a===S.length}function D(S){return s(S)?S.reduce(function(a,E){return!a||Number(a.matchStrength)<Number(E.matchStrength)?E:a}):null}A.findBestMatch=D},243:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.isValidInputType=void 0;function s(D){return typeof D=="string"||D instanceof String}A.isValidInputType=s},864:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.matches=void 0;function s(a,E,h){var p=String(E).length,l=a.substr(0,p),O=parseInt(l,10);return E=parseInt(String(E).substr(0,l.length),10),h=parseInt(String(h).substr(0,l.length),10),O>=E&&O<=h}function D(a,E){return E=String(E),E.substring(0,a.length)===a.substring(0,E.length)}function S(a,E){return Array.isArray(E)?s(a,E[0],E[1]):D(a,E)}A.matches=S},476:function(){},962:function(){},473:function(){}},G={};function f(R){var A=G[R];if(A!==void 0)return A.exports;var s=G[R]={exports:{}};return y[R].call(s.exports,s,s.exports,f),s.exports}(function(){f.d=function(R,A){for(var s in A)f.o(A,s)&&!f.o(R,s)&&Object.defineProperty(R,s,{enumerable:!0,get:A[s]})}})(),function(){f.o=function(R,A){return Object.prototype.hasOwnProperty.call(R,A)}}(),function(){f.r=function(R){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})}}();var X={};return function(){"use strict";f.r(X),f.d(X,{CheckoutUXFlow:function(){return ve},CvvInput:function(){return R.CvvInput},ErrorCode:function(){return He},EventTypes:function(){return Ge},HeadlessManagerType:function(){return me},PaymentFlow:function(){return Ue},PaymentInstrumentType:function(){return be},PaymentMethodData:function(){return Kr.PaymentMethodData},PaymentMethodType:function(){return q},Primer:function(){return zr},SuccessScreenType:function(){return xe},ThreeDSecureStatus:function(){return Be},TokenType:function(){return ke},preloadPrimer:function(){return Hr}});var R={};f.r(R);var A=f(476),s=f(962),D=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(D||{}),S=(e=>(e.START="START",e.END="END",e))(S||{}),a=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(a||{});const E={get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.35.1";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||r}};var h=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(h||{});async function p(){if(typeof navigator>"u")return;const e=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:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}const l="WEB",O=E.get("PRIMER_SDK_VERSION");async function v(e,r,t){return{...t,createdAt:Date.now(),device:await p(),eventType:e,properties:r,sdkVersion:O,sdkType:l}}const I="https://analytics.production.data.primer.io/sdk-logs",k=1024*5,m=e=>`@primer/analytics/${e}`;function B({url:e=I,...r}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&g(e)});const t=n=>async o=>{if(typeof navigator>"u")return;const i=await v(n,o,r),c=u(i,T=>P(M(T)));_(e,c)};return{crashEvent:t(a.CRASH_EVENT),messageEvent:t(a.MESSAGE_EVENT),networkCallEvent:t(a.NETWORK_CALL_EVENT),sdkFunctionEvent:t(a.SDK_FUNCTION_EVENT),timerEvent:t(a.TIMER_EVENT),v1Event:t(a.V1_EVENT)}}function g(e){const r=m(e),t=sessionStorage.getItem(r);sessionStorage.removeItem(r),t&&navigator.sendBeacon(e,t)}function _(e,r){const t=m(e);sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(r)].filter(Boolean).join(",")}]`)}function u(e,r){const t=n=>typeof n=="object"&&n!==null?u(n,r):r(n);return Array.isArray(e)?e.map(t):Object.fromEntries(Object.entries(e).map(([n,o])=>[n,t(o)]))}function P(e){return typeof e=="string"&&e.length>k?`${e.slice(0,k)}...`:e}function M(e){return typeof e=="function"?e.name||"function":e}class U{constructor(r,t){this.type=r,this.displayName=t}get specs(){return this.constructor.specs}setOption(r,t){this.options&&(this.options[r]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(r){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(r){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}U.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},U.create=(e,r,t,n)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class Ke extends U{async tokenize(r){}}class We{get session(){const r=this.store.getState().clientSessionInfo;if(!r)throw new Error("Client Context Session does not exist");return r}}const je=[Array,Ke,We,Map,Set];function ze(e){const r=new Set,t=20;let n=0;for(;n++<t&&e&&e!==Object.prototype;)Object.getOwnPropertyNames(e).forEach(o=>r.add(o)),e=Object.getPrototypeOf(e);return[...r]}function ee(e,r,t,n,o){if(!t||je.some(i=>t instanceof i))return t;switch(typeof t){case"function":return new Proxy(t,{apply(i,N,c=[]){const T={name:r.replace(/^bound /,""),params:c,module:o};e?.sdkFunctionEvent(T);const Y=c.map((z,d)=>ee(e,`${d}`,z,n,[o,r,`${d}`].filter(Boolean).join(".")));return i.apply(N,Y)}});case"object":return t===n?t:Xe(e,t,[o,r].filter(Boolean).join("."));default:return t}}function Xe(e,r,t){return Object.fromEntries(ze(r).map(n=>{const o=r?.[n],i=ee(e,n,o,o,t);return[n,i]}))}const re=()=>te.randomUUID?.()||$e(),$e=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^Qe()>>e/4).toString(16)),Qe=()=>(te.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,te=typeof crypto<"u"?crypto:{},Ze=new Set(["post","get","delete"]),Je=new Set(["post"]);function qe(e,r,t,n){const o=Je.has(e);return{method:e,options:o?n:t,body:o?t:void 0,url:r}}function Xr(e,r){const t=({prop:n})=>({apply:async(o,i,N=[])=>{const c=qe(n.toString(),...N);if(c.options?.isAnalytics)return o.apply(i,N);const T=uuid();r?.networkCallEvent(prepareNetworkEventProps(T,c));const Y=await o.apply(i,N);return r?.networkCallEvent(prepareNetworkEventProps(T,c,Y)),Y}});return new Proxy(e,{get(n,o){const i=n[o];return typeof i=="function"&&Ze.has(o)?new Proxy(i,t({prop:o})):i}})}const ne=(e,r,t)=>({callType:t?D.REQUEST_END:D.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error),method:r.method,responseCode:t?.status,url:r.url}),oe="3.6.1",ye=oe,er=typeof atob=="function",rr=typeof btoa=="function",F=typeof Buffer=="function",ie=typeof TextDecoder=="function"?new TextDecoder:void 0,Ae=typeof TextEncoder=="function"?new TextEncoder:void 0,w=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],K=(e=>{let r={};return e.forEach((t,n)=>r[t]=n),r})(w),tr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,C=String.fromCharCode.bind(String),_e=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(e,r=t=>t)=>new Uint8Array(Array.prototype.slice.call(e,0).map(r)),ce=e=>e.replace(/[+\/]/g,r=>r=="+"?"-":"_").replace(/=+$/m,""),se=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Ee=e=>{let r,t,n,o,i="";const N=e.length%3;for(let c=0;c<e.length;){if((t=e.charCodeAt(c++))>255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");r=t<<16|n<<8|o,i+=w[r>>18&63]+w[r>>12&63]+w[r>>6&63]+w[r&63]}return N?i.slice(0,N-3)+"===".substring(N):i},$=rr?e=>btoa(e):F?e=>Buffer.from(e,"binary").toString("base64"):Ee,Q=F?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let n=0,o=e.length;n<o;n+=4096)t.push(C.apply(null,e.subarray(n,n+4096)));return $(t.join(""))},W=(e,r=!1)=>r?ce(Q(e)):Q(e),nr=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?C(192|r>>>6)+C(128|r&63):C(224|r>>>12&15)+C(128|r>>>6&63)+C(128|r&63)}else{var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return C(240|r>>>18&7)+C(128|r>>>12&63)+C(128|r>>>6&63)+C(128|r&63)}},or=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ae=e=>e.replace(or,nr),ue=F?e=>Buffer.from(e,"utf8").toString("base64"):Ae?e=>Q(Ae.encode(e)):e=>$(ae(e)),H=(e,r=!1)=>r?ce(ue(e)):ue(e),Re=e=>H(e,!0),ir=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Ar=e=>{switch(e.length){case 4:var r=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),t=r-65536;return C((t>>>10)+55296)+C((t&1023)+56320);case 3:return C((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return C((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Oe=e=>e.replace(ir,Ar),Ne=e=>{if(e=e.replace(/\s+/g,""),!tr.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let r,t="",n,o;for(let i=0;i<e.length;)r=K[e.charAt(i++)]<<18|K[e.charAt(i++)]<<12|(n=K[e.charAt(i++)])<<6|(o=K[e.charAt(i++)]),t+=n===64?C(r>>16&255):o===64?C(r>>16&255,r>>8&255):C(r>>16&255,r>>8&255,r&255);return t},Z=er?e=>atob(se(e)):F?e=>Buffer.from(e,"base64").toString("binary"):Ne,de=F?e=>_e(Buffer.from(e,"base64")):e=>_e(Z(e),r=>r.charCodeAt(0)),De=e=>de(Te(e)),_r=F?e=>Buffer.from(e,"base64").toString("utf8"):ie?e=>ie.decode(de(e)):e=>Oe(Z(e)),Te=e=>se(e.replace(/[-_]/g,r=>r=="-"?"+":"/")),J=e=>_r(Te(e)),cr=e=>{if(typeof e!="string")return!1;const r=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)},fe=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Pe=function(){const e=(r,t)=>Object.defineProperty(String.prototype,r,fe(t));e("fromBase64",function(){return J(this)}),e("toBase64",function(r){return H(this,r)}),e("toBase64URI",function(){return H(this,!0)}),e("toBase64URL",function(){return H(this,!0)}),e("toUint8Array",function(){return De(this)})},Ce=function(){const e=(r,t)=>Object.defineProperty(Uint8Array.prototype,r,fe(t));e("toBase64",function(r){return W(this,r)}),e("toBase64URI",function(){return W(this,!0)}),e("toBase64URL",function(){return W(this,!0)})},le={version:oe,VERSION:ye,atob:Z,atobPolyfill:Ne,btoa:$,btoaPolyfill:Ee,fromBase64:J,toBase64:H,encode:H,encodeURI:Re,encodeURL:Re,utob:ae,btou:Oe,decode:J,isValid:cr,fromUint8Array:W,toUint8Array:De,extendString:Pe,extendUint8Array:Ce,extendBuiltins:()=>{Pe(),Ce()}},sr={encode:Er,decode:le.decode};function Er(e,r={}){const{urlSafe:t=!1}=r;return le.encode(e,t)}function ar(e){const r=Or(e),t=r.exp*1e3;if(Date.now()>t)throw new Error(`${ur}. Expiration date: ${new Date(t).toISOString()}`);return r}const Se="The provided `clientToken`",ur=`${Se} has expired`,Rr=`${Se} is malformed`;function Or(e){try{const[r,t]=e.split("."),n=t||r;return JSON.parse(sr.decode(n))}catch{throw new Error(Rr)}}const Nr=(e,r)=>Le("get",e,r),Zr=(e,r,t)=>Le("post",e,t,JSON.stringify(r)),dr={"content-type":"application/json"},Le=(e,r,t,n)=>fetch(r,{body:n,method:e,headers:{...dr,...t}}).then(o=>o.json().catch(()=>{})),Dr="v2.35.1",Tr=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":Dr,"primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function fr(e,r,t){try{return await Nr(`${r}/?withDisplayMetadata=true`,Tr(e,t,"2.2"))}catch(n){throw new Error(["Failed to initialize client",JSON.stringify(n||void 0,void 0,2)].filter(Boolean).join(": "))}}const Pr=e=>document.head.appendChild(e),Cr=(e,r)=>{const t=document.createElement(e);return Object.entries(r).forEach(([n,o])=>t.setAttribute(n,o)),t},lr=(e,r)=>Pr(Cr(e,r)),Ie=(e,r,t)=>e.addEventListener(r,t),Sr=e=>document.querySelector(e),Ye="Can't load Primer SDK",Lr=`${Ye}'s Stylesheet`;function Ir(e){const r="script",t="src";return pe(r,t,e)&&window.__Primer?Promise.resolve():he(r,e,t,{async:"",crossorigin:"anonymous"},Ye)}function Yr(e){return Array.from(document.styleSheets).find(r=>r.href===e)?Promise.resolve():he("link",e,"href",{rel:"stylesheet"},Lr)}const he=(e,r,t,n,o)=>new Promise((i,N)=>{const c=pe(e,t,r)||lr(e,{...n,[t]:r});Ie(c,"load",()=>i()),Ie(c,"error",()=>{c?.remove(),N(new Error(o))})}),pe=(e,r,t)=>Sr(`${e}[${r}^="${t}"]`),hr="https://sdk.primer.io/web/v2.35.1/Checkout.css",pr="https://sdk.primer.io/web/v2.35.1/PrimerCoreSDK.min.js";let V;async function ge(){return V||(V=Promise.all([Mr(),gr()]).then(([e])=>e),V)}const gr=()=>Yr(hr),Mr=()=>Ir(pr).then(()=>{const e=window.__Primer;return delete window.__Primer,e}).catch(e=>{throw V=void 0,e}),vr="v2.35.1",Ur=j("createHeadless"),Br=j("showExpressCheckout"),br=j("showUniversalCheckout"),kr=j("showVaultManager"),Me="LOAD_PERFORMANCE",x=re();let b=B({checkoutSessionId:x});b.messageEvent({message:"parsed",messageType:Me,now:performance.now?.()});function j(e){return async(...[r,t,...n])=>{b.sdkFunctionEvent({name:e,params:[r,t,...n]}),b.messageEvent({message:"create",messageType:Me,now:performance.now?.()});const[o,i]=await Promise.all([Fr(r),ge()]);return i[e](o,x,r,t)}}async function Fr(e){const{accessToken:r,configurationUrl:t,analyticsUrlV2:n}=ar(e);b=B({checkoutSessionId:x,url:n});const o=`${t}/?withDisplayMetadata=true`,i=re(),N={method:"get",url:o};b.networkCallEvent(ne(i,N));const c=await fr(r,t,x),{primerAccountId:T}=c,{clientSessionId:Y}=c.clientSession;return b=B({checkoutSessionId:x,clientSessionId:Y,primerAccountId:T,url:n}),b.networkCallEvent(ne(i,N,{data:c})),c}const Hr=()=>ge().then(()=>{});var wr=(e=>(e.LOADING="Loading",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(wr||{}),Vr=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Vr||{}),xr=(e=>(e.TOKEN="PrimerCheckout__token",e.HIDDEN="PrimerCheckout--hidden",e.FOCUSED="PrimerCheckout--focused",e.SELECTED="PrimerCheckout--selected",e.LOADING="PrimerCheckout--loading",e.ERROR="PrimerCheckout--error",e.CARD_TYPE="PrimerCheckout__cardType",e.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",e.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",e.APM_BUTTON="PrimerCheckout__apmButton",e.EDIT_BUTTON="PrimerCheckout__editButton",e.MENU="PrimerCheckout__dropDownMenu",e.MENU_ITEM="PrimerCheckout__dropDownMenuItem",e.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",e.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",e.ENTER="PrimerCheckout--enter",e.ENTERING="PrimerCheckout--entering",e.ENTERED="PrimerCheckout--entered",e.EXIT="PrimerCheckout--exit",e.EXITING="PrimerCheckout--exiting",e.EXITED="PrimerCheckout--exited",e))(xr||{}),ve=(e=>(e.CHECKOUT="CHECKOUT",e.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",e))(ve||{}),Ue=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(Ue||{}),Gr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(Gr||{}),Be=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))(Be||{}),be=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL_ORDER",e.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",e.GO_CARDLESS="GOCARDLESS",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(be||{}),q=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.PAYMENT_CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL",e.GO_CARDLESS="GOCARDLESS",e.KLARNA="KLARNA",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(q||{}),mr=(e=>(e.PAYMENT_CARD="PAYMENT_CARD",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e))(mr||{}),ke=(e=>(e.SINGLE_USE="SINGLE_USE",e.MULTI_USE="MULTI_USE",e))(ke||{});const Fe={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},Jr=e=>{if(Object.values(q).includes(e))return e;if(Fe[e])return Fe[e]};var He=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_SETUP_ERROR="THREE_DS_SETUP_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.THREE_DS_NEGOTIATION_ERROR="THREE_DS_NEGOTIATION_ERROR",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.TAX_ERROR="TAX_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e))(He||{});class we extends Error{constructor(r,t,n){super(t.message),this.message=t.message,this.code=r,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,n?.messageEvent?.({message:t.message,messageType:r,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})}static fromErrorCode(r,t,n){return new we(r,t,n)}}const qr=e=>{throw console.error(e.message),e};var Kr=f(473),yr=f(453);const Wr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uFF10":"0","\uFF11":"1","\uFF12":"2","\uFF13":"3","\uFF14":"4","\uFF15":"5","\uFF16":"6","\uFF17":"7","\uFF18":"8","\uFF19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06F0":"0","\u06F1":"1","\u06F2":"2","\u06F3":"3","\u06F4":"4","\u06F5":"5","\u06F6":"6","\u06F7":"7","\u06F8":"8","\u06F9":"9"};function et(e,r){return Wr[e]}const rt={error:null,errorCode:null,valid:!1,active:!1,dirty:!1,touched:!1,submitted:!1},Ve=new Set(["change","blur","focus"]);async function tt({container:e,placement:r="append",properties:t,allowedCharactersMap:n,...o},i){let N,c={...defaultFieldMetadata};const T={},Y=await new Promise(d=>{const L=i.iframes.create({container:e,filename:"secure-input.html",meta:o,onReady:()=>d(L),placement:r,payload:{allowedCharactersMap:JSON.stringify(n),properties:t}})});return window.addEventListener("message",({data:d})=>{switch(d.type){case"metadata":c=d.metadata;break;case"change":c=d.metadata,N=d.valueToken,T.change?.forEach(L=>L(N,c));break;case"blur":T.blur?.forEach(L=>L());break;case"focus":T.focus?.forEach(L=>L());break;default:break}}),{frame:Y,get metadata(){return c},name:o.name,get valueToken(){return N},remove(){Y?.remove(),Object.values(T).forEach(d=>d.clear())},addListener(d,L){if(Ve.has(d))return T[d]||(T[d]=new Set),T[d].add(L),()=>this.removeListener(d,L);console.error(`Event not supported: supported events are ${[...Ve].join(", ")}`)},addEventListener(d,L){return this.addListener(d,L)},removeListener(d,L){T[d].delete(L)},blur(){z("blur")},focus(){z("focus")}};function z(d){Y?.contentWindow?.postMessage(d,"*")}}async function nt({cardNetwork:e,...r},t){const n=`cvv-${r.name}`,o=jr(e||""),i=getTypeInfo(o),N=!e&&"`cardNetwork` was not provided"||!i&&"could not get the code size from the provided `cardNetwork`";if(N){const Y=`CvvInput: ${N}. Defaulting validation to minLength 3 and maxLength 4.`;t.analytics.messageEvent({messageType:"CARD_SECURITY_CODE_INPUT_VALIDATION",message:Y,severity:"WARN"}),console.warn(Y)}const{size:c}=i?.code??{},T={...r.properties,maxLength:c||4,minLength:c||3};return createSecureInput({...r,name:n,properties:T,allowedCharactersMap:DIGITS},t)}function jr(e){const r=toKebabCase(e);switch(r){case"union-pay":return"unionpay";default:return r}}var xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(xe||{}),Ge=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Ge||{}),me=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e))(me||{});const zr={SDK_VERSION:vr,createHeadless:Ur,showExpressCheckout:Br,showUniversalCheckout:br,showVaultManager:kr}}(),X}()});
1
+ (function(G,c){typeof exports=="object"&&typeof module=="object"?module.exports=c():typeof define=="function"&&define.amd?define([],c):typeof exports=="object"?exports.Primer=c():G.Primer=c()})(this,function(){return function(){var $={453:function(o,s,A){"use strict";var u=this&&this.__assign||function(){return u=Object.assign||function(O){for(var l,I=1,U=arguments.length;I<U;I++){l=arguments[I];for(var B in l)Object.prototype.hasOwnProperty.call(l,B)&&(O[B]=l[B])}return O},u.apply(this,arguments)},f=A(743),a=A(576),i=A(243),S=A(169),D=A(679),d={},E={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},L=[E.VISA,E.MASTERCARD,E.AMERICAN_EXPRESS,E.DINERS_CLUB,E.DISCOVER,E.JCB,E.UNIONPAY,E.MAESTRO,E.ELO,E.MIR,E.HIPER,E.HIPERCARD],C=D.clone(L);function b(O){return d[O]||f[O]}function k(){return C.map(function(O){return D.clone(b(O))})}function M(O,l){l===void 0&&(l=!1);var I=C.indexOf(O);if(!l&&I===-1)throw new Error('"'+O+'" is not a supported card type.');return I}function v(O){var l=[];if(!i.isValidInputType(O))return l;if(O.length===0)return k();C.forEach(function(U){var B=b(U);a.addMatchingCardsToResults(O,B,l)});var I=S.findBestMatch(l);return I?[I]:l}v.getTypeInfo=function(O){return D.clone(b(O))},v.removeCard=function(O){var l=M(O);C.splice(l,1)},v.addCard=function(O){var l=M(O.type,!0);d[O.type]=O,l===-1&&C.push(O.type)},v.updateCard=function(O,l){var I=d[O]||f[O];if(!I)throw new Error('"'+O+"\" is not a recognized type. Use `addCard` instead.'");if(l.type&&I.type!==l.type)throw new Error("Cannot overwrite type parameter.");var U=D.clone(I);U=u(u({},U),l),d[U.type]=U},v.changeOrder=function(O,l){var I=M(O);C.splice(I,1),C.splice(l,0,O)},v.resetModifications=function(){C=D.clone(L),d={}},v.types=E,o.exports=v},576:function(o,s,A){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.addMatchingCardsToResults=void 0;var u=A(679),f=A(864);function a(i,S,D){var d,E;for(d=0;d<S.patterns.length;d++){var L=S.patterns[d];if(f.matches(i,L)){var C=u.clone(S);Array.isArray(L)?E=String(L[0]).length:E=String(L).length,i.length>=E&&(C.matchStrength=E),D.push(C);break}}}s.addMatchingCardsToResults=a},743:function(o){"use strict";var s={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}};o.exports=s},679:function(o,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.clone=void 0;function A(u){return u?JSON.parse(JSON.stringify(u)):null}s.clone=A},169:function(o,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.findBestMatch=void 0;function A(f){var a=f.filter(function(i){return i.matchStrength}).length;return a>0&&a===f.length}function u(f){return A(f)?f.reduce(function(a,i){return!a||Number(a.matchStrength)<Number(i.matchStrength)?i:a}):null}s.findBestMatch=u},243:function(o,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.isValidInputType=void 0;function A(u){return typeof u=="string"||u instanceof String}s.isValidInputType=A},864:function(o,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.matches=void 0;function A(a,i,S){var D=String(i).length,d=a.substr(0,D),E=parseInt(d,10);return i=parseInt(String(i).substr(0,d.length),10),S=parseInt(String(S).substr(0,d.length),10),E>=i&&E<=S}function u(a,i){return i=String(i),i.substring(0,a.length)===a.substring(0,i.length)}function f(a,i){return Array.isArray(i)?A(a,i[0],i[1]):u(a,i)}s.matches=f},476:function(){},962:function(){},473:function(){}},G={};function c(o){var s=G[o];if(s!==void 0)return s.exports;var A=G[o]={exports:{}};return $[o].call(A.exports,A,A.exports,c),A.exports}c.m=$,function(){c.d=function(o,s){for(var A in s)c.o(s,A)&&!c.o(o,A)&&Object.defineProperty(o,A,{enumerable:!0,get:s[A]})}}(),function(){c.f={},c.e=function(o){return Promise.all(Object.keys(c.f).reduce(function(s,A){return c.f[A](o,s),s},[]))}}(),function(){c.u=function(o){return""+o+".js"}}(),function(){c.miniCssF=function(o){return""+(o===926?"Primer":o)+".css"}}(),function(){c.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){c.o=function(o,s){return Object.prototype.hasOwnProperty.call(o,s)}}(),function(){var o={},s="@primer-io/checkout-web:";c.l=function(A,u,f,a){if(o[A]){o[A].push(u);return}var i,S;if(f!==void 0)for(var D=document.getElementsByTagName("script"),d=0;d<D.length;d++){var E=D[d];if(E.getAttribute("src")==A||E.getAttribute("data-webpack")==s+f){i=E;break}}i||(S=!0,i=document.createElement("script"),i.charset="utf-8",i.timeout=120,c.nc&&i.setAttribute("nonce",c.nc),i.setAttribute("data-webpack",s+f),i.src=A),o[A]=[u];var L=function(b,k){i.onerror=i.onload=null,clearTimeout(C);var M=o[A];if(delete o[A],i.parentNode&&i.parentNode.removeChild(i),M&&M.forEach(function(v){return v(k)}),b)return b(k)},C=setTimeout(L.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=L.bind(null,i.onerror),i.onload=L.bind(null,i.onload),S&&document.head.appendChild(i)}}(),function(){c.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})}}(),function(){var o;c.g.importScripts&&(o=c.g.location+"");var s=c.g.document;if(!o&&s&&(s.currentScript&&(o=s.currentScript.src),!o)){var A=s.getElementsByTagName("script");A.length&&(o=A[A.length-1].src)}if(!o)throw new Error("Automatic publicPath is not supported in this browser");o=o.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),c.p=o}(),function(){var o={926:0};c.f.j=function(u,f){var a=c.o(o,u)?o[u]:void 0;if(a!==0)if(a)f.push(a[2]);else{var i=new Promise(function(E,L){a=o[u]=[E,L]});f.push(a[2]=i);var S=c.p+c.u(u),D=new Error,d=function(E){if(c.o(o,u)&&(a=o[u],a!==0&&(o[u]=void 0),a)){var L=E&&(E.type==="load"?"missing":E.type),C=E&&E.target&&E.target.src;D.message="Loading chunk "+u+` failed.
2
+ (`+L+": "+C+")",D.name="ChunkLoadError",D.type=L,D.request=C,a[1](D)}};c.l(S,d,"chunk-"+u,u)}};var s=function(u,f){var a=f[0],i=f[1],S=f[2],D,d,E=0;if(a.some(function(C){return o[C]!==0})){for(D in i)c.o(i,D)&&(c.m[D]=i[D]);if(S)var L=S(c)}for(u&&u(f);E<a.length;E++)d=a[E],c.o(o,d)&&o[d]&&o[d][0](),o[d]=0},A=this.webpackChunk_primer_io_checkout_web=this.webpackChunk_primer_io_checkout_web||[];A.forEach(s.bind(null,0)),A.push=s.bind(null,A.push.bind(A))}();var X={};return function(){"use strict";c.r(X),c.d(X,{CheckoutUXFlow:function(){return Me},CvvInput:function(){return o.CvvInput},ErrorCode:function(){return Fe},EventTypes:function(){return xe},HeadlessManagerType:function(){return Ge},PaymentFlow:function(){return Ue},PaymentInstrumentType:function(){return Be},PaymentMethodData:function(){return jr.PaymentMethodData},PaymentMethodType:function(){return y},Primer:function(){return $r},SuccessScreenType:function(){return Ve},ThreeDSecureStatus:function(){return be},TokenType:function(){return ke},preloadPrimer:function(){return mr}});var o={};c.r(o);var s=c(476),A=c(962),u=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(u||{}),f=(e=>(e.START="START",e.END="END",e))(f||{}),a=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(a||{});const i={get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.37.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_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||r}};var S=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(S||{});async function D(){if(typeof navigator>"u")return;const e=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:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}const d="WEB",E=i.get("PRIMER_SDK_VERSION");async function L(e,r,t){return{...t,createdAt:Date.now(),device:await D(),eventType:e,properties:r,sdkVersion:E,sdkType:d}}const C="https://analytics.production.data.primer.io/sdk-logs",b=1024*5,k=e=>`@primer/analytics/${e}`;function M({url:e=C,...r}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&v(e)});const t=n=>async _=>{if(typeof navigator>"u")return;const R=await L(n,_,r),N=l(R,Y=>I(U(Y)));O(e,N)};return{crashEvent:t(a.CRASH_EVENT),messageEvent:t(a.MESSAGE_EVENT),networkCallEvent:t(a.NETWORK_CALL_EVENT),sdkFunctionEvent:t(a.SDK_FUNCTION_EVENT),timerEvent:t(a.TIMER_EVENT),v1Event:t(a.V1_EVENT)}}function v(e){const r=k(e),t=sessionStorage.getItem(r);sessionStorage.removeItem(r),t&&navigator.sendBeacon(e,t)}function O(e,r){const t=k(e);sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(r)].filter(Boolean).join(",")}]`)}function l(e,r){const t=n=>typeof n=="object"&&n!==null?l(n,r):r(n);return Array.isArray(e)?e.map(t):Object.fromEntries(Object.entries(e).map(([n,_])=>[n,t(_)]))}function I(e){return typeof e=="string"&&e.length>b?`${e.slice(0,b)}...`:e}function U(e){return typeof e=="function"?e.name||"function":e}class B{constructor(r,t){this.type=r,this.displayName=t}get specs(){return this.constructor.specs}setOption(r,t){this.options&&(this.options[r]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(r){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(r){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}B.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},B.create=(e,r,t,n)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class Ke extends B{async tokenize(r){}}class je{get session(){const r=this.store.getState().clientSessionInfo;if(!r)throw new Error("Client Context Session does not exist");return r}}const We=[Array,Ke,je,Map,Set];function ze(e){const r=new Set,t=20;let n=0;for(;n++<t&&e&&e!==Object.prototype;)Object.getOwnPropertyNames(e).forEach(_=>r.add(_)),e=Object.getPrototypeOf(e);return[...r]}function ee(e,r,t,n,_){if(!t||We.some(R=>t instanceof R))return t;switch(typeof t){case"function":return new Proxy(t,{apply(R,T,N=[]){const Y={name:r.replace(/^bound /,""),params:N,module:_};e?.sdkFunctionEvent(Y);const g=N.map((z,P)=>ee(e,`${P}`,z,n,[_,r,`${P}`].filter(Boolean).join(".")));return R.apply(T,g)}});case"object":return t===n?t:$e(e,t,[_,r].filter(Boolean).join("."));default:return t}}function $e(e,r,t){return Object.fromEntries(ze(r).map(n=>{const _=r?.[n],R=ee(e,n,_,_,t);return[n,R]}))}const re=()=>te.randomUUID?.()||Xe(),Xe=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^Qe()>>e/4).toString(16)),Qe=()=>(te.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,te=typeof crypto<"u"?crypto:{},Ze=new Set(["post","get","delete"]),Je=new Set(["post"]);function qe(e,r,t,n){const _=Je.has(e);return{method:e,options:_?n:t,body:_?t:void 0,url:r}}function Xr(e,r){const t=({prop:n})=>({apply:async(_,R,T=[])=>{const N=qe(n.toString(),...T);if(N.options?.isAnalytics)return _.apply(R,T);const Y=uuid();r?.networkCallEvent(prepareNetworkEventProps(Y,N));const g=await _.apply(R,T);return r?.networkCallEvent(prepareNetworkEventProps(Y,N,g)),g}});return new Proxy(e,{get(n,_){const R=n[_];return typeof R=="function"&&Ze.has(_)?new Proxy(R,t({prop:_})):R}})}const ne=(e,r,t)=>({callType:t?u.REQUEST_END:u.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error),method:r.method,responseCode:t?.status,url:r.url}),oe="3.6.1",ye=oe,er=typeof atob=="function",rr=typeof btoa=="function",F=typeof Buffer=="function",ie=typeof TextDecoder=="function"?new TextDecoder:void 0,ce=typeof TextEncoder=="function"?new TextEncoder:void 0,H=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],K=(e=>{let r={};return e.forEach((t,n)=>r[t]=n),r})(H),tr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,h=String.fromCharCode.bind(String),se=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(e,r=t=>t)=>new Uint8Array(Array.prototype.slice.call(e,0).map(r)),Ae=e=>e.replace(/[+\/]/g,r=>r=="+"?"-":"_").replace(/=+$/m,""),_e=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),ae=e=>{let r,t,n,_,R="";const T=e.length%3;for(let N=0;N<e.length;){if((t=e.charCodeAt(N++))>255||(n=e.charCodeAt(N++))>255||(_=e.charCodeAt(N++))>255)throw new TypeError("invalid character found");r=t<<16|n<<8|_,R+=H[r>>18&63]+H[r>>12&63]+H[r>>6&63]+H[r&63]}return T?R.slice(0,T-3)+"===".substring(T):R},Q=rr?e=>btoa(e):F?e=>Buffer.from(e,"binary").toString("base64"):ae,Z=F?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let n=0,_=e.length;n<_;n+=4096)t.push(h.apply(null,e.subarray(n,n+4096)));return Q(t.join(""))},j=(e,r=!1)=>r?Ae(Z(e)):Z(e),nr=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?h(192|r>>>6)+h(128|r&63):h(224|r>>>12&15)+h(128|r>>>6&63)+h(128|r&63)}else{var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return h(240|r>>>18&7)+h(128|r>>>12&63)+h(128|r>>>6&63)+h(128|r&63)}},or=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Ee=e=>e.replace(or,nr),ue=F?e=>Buffer.from(e,"utf8").toString("base64"):ce?e=>Z(ce.encode(e)):e=>Q(Ee(e)),m=(e,r=!1)=>r?Ae(ue(e)):ue(e),Re=e=>m(e,!0),ir=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,cr=e=>{switch(e.length){case 4:var r=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),t=r-65536;return h((t>>>10)+55296)+h((t&1023)+56320);case 3:return h((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return h((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Oe=e=>e.replace(ir,cr),Ne=e=>{if(e=e.replace(/\s+/g,""),!tr.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let r,t="",n,_;for(let R=0;R<e.length;)r=K[e.charAt(R++)]<<18|K[e.charAt(R++)]<<12|(n=K[e.charAt(R++)])<<6|(_=K[e.charAt(R++)]),t+=n===64?h(r>>16&255):_===64?h(r>>16&255,r>>8&255):h(r>>16&255,r>>8&255,r&255);return t},J=er?e=>atob(_e(e)):F?e=>Buffer.from(e,"base64").toString("binary"):Ne,de=F?e=>se(Buffer.from(e,"base64")):e=>se(J(e),r=>r.charCodeAt(0)),fe=e=>de(le(e)),sr=F?e=>Buffer.from(e,"base64").toString("utf8"):ie?e=>ie.decode(de(e)):e=>Oe(J(e)),le=e=>_e(e.replace(/[-_]/g,r=>r=="-"?"+":"/")),q=e=>sr(le(e)),Ar=e=>{if(typeof e!="string")return!1;const r=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)},De=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Te=function(){const e=(r,t)=>Object.defineProperty(String.prototype,r,De(t));e("fromBase64",function(){return q(this)}),e("toBase64",function(r){return m(this,r)}),e("toBase64URI",function(){return m(this,!0)}),e("toBase64URL",function(){return m(this,!0)}),e("toUint8Array",function(){return fe(this)})},Pe=function(){const e=(r,t)=>Object.defineProperty(Uint8Array.prototype,r,De(t));e("toBase64",function(r){return j(this,r)}),e("toBase64URI",function(){return j(this,!0)}),e("toBase64URL",function(){return j(this,!0)})},Ce={version:oe,VERSION:ye,atob:J,atobPolyfill:Ne,btoa:Q,btoaPolyfill:ae,fromBase64:q,toBase64:m,encode:m,encodeURI:Re,encodeURL:Re,utob:Ee,btou:Oe,decode:q,isValid:Ar,fromUint8Array:j,toUint8Array:fe,extendString:Te,extendUint8Array:Pe,extendBuiltins:()=>{Te(),Pe()}},_r={encode:ar,decode:Ce.decode};function ar(e,r={}){const{urlSafe:t=!1}=r;return Ce.encode(e,t)}function Er(e){const r=Or(e),t=r.exp*1e3;if(Date.now()>t)throw new Error(`${ur}. Expiration date: ${new Date(t).toISOString()}`);return r}const Se="The provided `clientToken`",ur=`${Se} has expired`,Rr=`${Se} is malformed`;function Or(e){try{const[r,t]=e.split("."),n=t||r;return JSON.parse(_r.decode(n))}catch{throw new Error(Rr)}}const Nr=(e,r)=>Le("get",e,r),Jr=(e,r,t)=>Le("post",e,t,JSON.stringify(r)),dr={"content-type":"application/json"},Le=(e,r,t,n)=>fetch(r,{body:n,method:e,headers:{...dr,...t}}).then(_=>_.json().catch(()=>{})),fr="v2.37.0",lr=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":fr,"primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function Dr(e,r,t){try{return await Nr(`${r}/?withDisplayMetadata=true`,lr(e,t,"2.2"))}catch(n){throw new Error(["Failed to initialize client",JSON.stringify(n||void 0,void 0,2)].filter(Boolean).join(": "))}}const Tr=e=>document.head.appendChild(e),Pr=(e,r)=>{const t=document.createElement(e);return Object.entries(r).forEach(([n,_])=>t.setAttribute(n,_)),t},Cr=(e,r)=>Tr(Pr(e,r)),Ye=(e,r,t)=>e.addEventListener(r,t),Sr=e=>document.querySelector(e),Ie="Can't load Primer SDK",Lr=`${Ie}'s Stylesheet`;function Yr(e){const r="script",t="src";return pe(r,t,e)&&window.__Primer?Promise.resolve():he(r,e,t,{async:"",crossorigin:"anonymous"},Ie)}function Ir(e){return Array.from(document.styleSheets).find(r=>r.href===e)?Promise.resolve():he("link",e,"href",{rel:"stylesheet"},Lr)}const he=(e,r,t,n,_)=>new Promise((R,T)=>{const N=pe(e,t,r)||Cr(e,{...n,[t]:r});Ye(N,"load",()=>R()),Ye(N,"error",()=>{N?.remove(),T(new Error(_))})}),pe=(e,r,t)=>Sr(`${e}[${r}^="${t}"]`),hr="https://sdk.primer.io/web/v2.37.0/Checkout.css",pr="https://sdk.primer.io/web/v2.37.0/PrimerCoreSDK.min.js";let V;async function ge(){return V||(V=Promise.all([vr(),gr()]).then(([e])=>e),V)}const gr=()=>Ir(hr),vr=()=>Yr(pr).then(()=>{const e=window.__Primer;return delete window.__Primer,e}).catch(e=>{throw V=void 0,e}),Mr="v2.37.0",Ur=W("createHeadless"),br=W("showExpressCheckout"),Br=W("showUniversalCheckout"),kr=W("showVaultManager"),ve="LOAD_PERFORMANCE",x=re();let w=M({checkoutSessionId:x});w.messageEvent({message:"parsed",messageType:ve,now:performance.now?.()});function W(e){return async(...[r,t,...n])=>{w.sdkFunctionEvent({name:e,params:[r,t,...n]}),w.messageEvent({message:"create",messageType:ve,now:performance.now?.()});const[_,R]=await Promise.all([wr(r),ge(),Fr()]);return R[e](_,x,r,t)}}async function wr(e){const{accessToken:r,configurationUrl:t,analyticsUrlV2:n}=Er(e);w=M({checkoutSessionId:x,url:n});const _=`${t}/?withDisplayMetadata=true`,R=re(),T={method:"get",url:_};w.networkCallEvent(ne(R,T));const N=await Dr(r,t,x),{primerAccountId:Y}=N,{clientSessionId:g}=N.clientSession;return w=M({checkoutSessionId:x,clientSessionId:g,primerAccountId:Y,url:n}),w.networkCallEvent(ne(R,T,{data:N})),N}async function Fr(){}const mr=()=>ge().then(()=>{});var Hr=(e=>(e.LOADING="Loading",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(Hr||{}),Vr=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Vr||{}),xr=(e=>(e.TOKEN="PrimerCheckout__token",e.HIDDEN="PrimerCheckout--hidden",e.FOCUSED="PrimerCheckout--focused",e.SELECTED="PrimerCheckout--selected",e.LOADING="PrimerCheckout--loading",e.ERROR="PrimerCheckout--error",e.CARD_TYPE="PrimerCheckout__cardType",e.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",e.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",e.APM_BUTTON="PrimerCheckout__apmButton",e.EDIT_BUTTON="PrimerCheckout__editButton",e.MENU="PrimerCheckout__dropDownMenu",e.MENU_ITEM="PrimerCheckout__dropDownMenuItem",e.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",e.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",e.ENTER="PrimerCheckout--enter",e.ENTERING="PrimerCheckout--entering",e.ENTERED="PrimerCheckout--entered",e.EXIT="PrimerCheckout--exit",e.EXITING="PrimerCheckout--exiting",e.EXITED="PrimerCheckout--exited",e))(xr||{}),Me=(e=>(e.CHECKOUT="CHECKOUT",e.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",e))(Me||{}),Ue=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(Ue||{}),Gr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(Gr||{}),be=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))(be||{}),Be=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL_ORDER",e.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",e.GO_CARDLESS="GOCARDLESS",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(Be||{}),y=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.STRIPE_IDEAL="STRIPE_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.PAYMENT_CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL",e.GO_CARDLESS="GOCARDLESS",e.KLARNA="KLARNA",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(y||{}),Kr=(e=>(e.PAYMENT_CARD="PAYMENT_CARD",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e))(Kr||{}),ke=(e=>(e.SINGLE_USE="SINGLE_USE",e.MULTI_USE="MULTI_USE",e))(ke||{});const we={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},qr=e=>{if(Object.values(y).includes(e))return e;if(we[e])return we[e]};var Fe=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_SETUP_ERROR="THREE_DS_SETUP_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.THREE_DS_NEGOTIATION_ERROR="THREE_DS_NEGOTIATION_ERROR",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.TAX_ERROR="TAX_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e))(Fe||{});class me extends Error{constructor(r,t,n){super(t.message),this.message=t.message,this.code=r,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,n?.messageEvent?.({message:t.message,messageType:r,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})}static fromErrorCode(r,t,n){return new me(r,t,n)}}const yr=e=>{throw console.error(e.message),e};var jr=c(473),et=c(453);const Wr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uFF10":"0","\uFF11":"1","\uFF12":"2","\uFF13":"3","\uFF14":"4","\uFF15":"5","\uFF16":"6","\uFF17":"7","\uFF18":"8","\uFF19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06F0":"0","\u06F1":"1","\u06F2":"2","\u06F3":"3","\u06F4":"4","\u06F5":"5","\u06F6":"6","\u06F7":"7","\u06F8":"8","\u06F9":"9"};function rt(e,r){return Wr[e]}const tt={error:null,errorCode:null,valid:!1,active:!1,dirty:!1,touched:!1,submitted:!1},He=new Set(["change","blur","focus"]);async function nt({container:e,placement:r="append",properties:t,allowedCharactersMap:n,..._},R){let T,N={...defaultFieldMetadata};const Y={},g=await new Promise(P=>{const p=R.iframes.create({container:e,filename:"secure-input.html",meta:_,onReady:()=>P(p),placement:r,payload:{allowedCharactersMap:JSON.stringify(n),properties:t}})});return window.addEventListener("message",({data:P})=>{switch(P.type){case"metadata":N=P.metadata;break;case"change":N=P.metadata,T=P.valueToken,Y.change?.forEach(p=>p(T,N));break;case"blur":Y.blur?.forEach(p=>p());break;case"focus":Y.focus?.forEach(p=>p());break;default:break}}),{frame:g,get metadata(){return N},name:_.name,get valueToken(){return T},remove(){g?.remove(),Object.values(Y).forEach(P=>P.clear())},addListener(P,p){if(He.has(P))return Y[P]||(Y[P]=new Set),Y[P].add(p),()=>this.removeListener(P,p);console.error(`Event not supported: supported events are ${[...He].join(", ")}`)},addEventListener(P,p){return this.addListener(P,p)},removeListener(P,p){Y[P].delete(p)},blur(){z("blur")},focus(){z("focus")}};function z(P){g?.contentWindow?.postMessage(P,"*")}}async function ot({cardNetwork:e,...r},t){const n=`cvv-${r.name}`,_=zr(e||""),R=getTypeInfo(_),T=!e&&"`cardNetwork` was not provided"||!R&&"could not get the code size from the provided `cardNetwork`";if(T){const g=`CvvInput: ${T}. Defaulting validation to minLength 3 and maxLength 4.`;t.analytics.messageEvent({messageType:"CARD_SECURITY_CODE_INPUT_VALIDATION",message:g,severity:"WARN"}),console.warn(g)}const{size:N}=R?.code??{},Y={...r.properties,maxLength:N||4,minLength:N||3};return createSecureInput({...r,name:n,properties:Y,allowedCharactersMap:DIGITS},t)}function zr(e){const r=toKebabCase(e);switch(r){case"union-pay":return"unionpay";default:return r}}var Ve=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Ve||{}),xe=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(xe||{}),Ge=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e))(Ge||{});const $r={SDK_VERSION:Mr,createHeadless:Ur,showExpressCheckout:br,showUniversalCheckout:Br,showVaultManager:kr}}(),X}()});
package/dist/index.d.ts CHANGED
@@ -77,6 +77,7 @@ export declare enum PaymentInstrumentType {
77
77
  }
78
78
  export declare enum PaymentMethodType {
79
79
  WORLDPAY_IDEAL = "WORLDPAY_IDEAL",
80
+ STRIPE_IDEAL = "STRIPE_IDEAL",
80
81
  ADYEN_KLARNA = "ADYEN_KLARNA",
81
82
  ADYEN_BANCONTACT_CARD = "ADYEN_BANCONTACT_CARD",
82
83
  PAY_NL_KAARTDIRECT = "PAY_NL_KAARTDIRECT",
@@ -415,7 +416,7 @@ export interface IFrameMessagePayloadMeta {
415
416
  css?: string;
416
417
  stylesheets?: Stylesheet[];
417
418
  ariaLabel?: string;
418
- allowedCardNetworks?: CardNetwork[];
419
+ allowedCardNetworks?: string[];
419
420
  [x: string]: unknown;
420
421
  }
421
422
  export interface IFrameInputMessagePayload<T = unknown> {
@@ -459,7 +460,7 @@ export type CreateIFrameOptionsMeta = {
459
460
  placeholder?: string;
460
461
  css?: string;
461
462
  stylesheets?: string[];
462
- allowedCardNetworks?: CardNetwork[];
463
+ allowedCardNetworks?: string[];
463
464
  };
464
465
  export interface CreateIFrameOptions {
465
466
  filename: string;
@@ -633,6 +634,7 @@ export interface ClientSessionAddress {
633
634
  }
634
635
  export interface ClientSessionPaymentMethodOptions {
635
636
  options?: PaymentMethodOption[];
637
+ orderedAllowedCardNetworks: string[];
636
638
  vaultOnSuccess: boolean;
637
639
  }
638
640
  export interface PaymentMethodOption {
@@ -666,8 +668,9 @@ export interface ClientSession {
666
668
  nationalDocumentId?: string;
667
669
  };
668
670
  paymentMethod?: {
669
- vaultOnSuccess?: boolean;
670
671
  options?: Record<string, any>;
672
+ orderedAllowedCardNetworks?: string[];
673
+ vaultOnSuccess?: boolean;
671
674
  };
672
675
  }
673
676
  export interface InternalClientSession {
@@ -751,6 +754,7 @@ export interface ClientSessionInfo {
751
754
  isTeardown: boolean;
752
755
  }
753
756
  export interface ClientConfiguration {
757
+ binDataUrl: string;
754
758
  checkoutModules: CheckoutModuleConfig[];
755
759
  clientSession: InternalClientSession;
756
760
  coreUrl: string;
@@ -1259,7 +1263,9 @@ declare class PrimerClientError extends Error {
1259
1263
  constructor(code: ErrorCode, options: ErrorOptions, analytics?: Analytics);
1260
1264
  }
1261
1265
  export interface CardMetadata {
1266
+ /** @deprecated Use onCardNetworksChange instead. */
1262
1267
  type: CardNetwork | null;
1268
+ /** @deprecated Use onCardNetworksChange instead. */
1263
1269
  possibleTypes: string[];
1264
1270
  cvvLength: number;
1265
1271
  cardNumberLength: number;
@@ -1702,7 +1708,7 @@ export interface ClientSessionHandlers {
1702
1708
  onClientSessionUpdate?: (clientSession: ClientSession) => void;
1703
1709
  onBeforeClientSessionUpdate?: () => void;
1704
1710
  }
1705
- export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers, PaymentHandlers, ClientSessionHandlers, PaymentMethodHandlers {
1711
+ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers, PaymentHandlers, ClientSessionHandlers, PaymentMethodHandlers, WithAllowedCardNetworks {
1706
1712
  uxFlow: CheckoutUXFlow.SINGLE_PAYMENT_METHOD_CHECKOUT;
1707
1713
  container: string | Element;
1708
1714
  paymentMethod: PaymentMethodType;
@@ -1715,7 +1721,6 @@ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers
1715
1721
  form?: FormOptions;
1716
1722
  scene?: SceneOptions;
1717
1723
  vault?: VaultOptions;
1718
- allowedCardNetworks?: CardNetwork[];
1719
1724
  redirect?: RedirectOptions;
1720
1725
  card?: CheckoutCardOptions;
1721
1726
  giftCard?: CustomizablePaymentMethodButton;
@@ -1726,7 +1731,7 @@ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers
1726
1731
  directDebit?: DirectDebitOptions;
1727
1732
  paymentHandling?: PaymentHandling;
1728
1733
  }
1729
- export interface VaultManagerOptions {
1734
+ export interface VaultManagerOptions extends WithAllowedCardNetworks {
1730
1735
  container: string | Element;
1731
1736
  locale?: SupportedLocale;
1732
1737
  vaultOnly?: boolean;
@@ -1737,7 +1742,6 @@ export interface VaultManagerOptions {
1737
1742
  form?: FormOptions;
1738
1743
  submitButton?: SubmitButtonOptions;
1739
1744
  processingIndicator?: ProcessingIndicatorOptions;
1740
- allowedCardNetworks?: CardNetwork[];
1741
1745
  card?: CheckoutCardOptions;
1742
1746
  threeDSecure?: ThreeDSVerificationOptions;
1743
1747
  giftCard?: CustomizablePaymentMethodButton;
@@ -1749,7 +1753,7 @@ export interface VaultManagerOptions {
1749
1753
  onTokenizeSuccess?: (data: PaymentMethodToken) => void;
1750
1754
  onTokenizeError?: (message: PrimerClientError) => void;
1751
1755
  }
1752
- export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers {
1756
+ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
1753
1757
  uxFlow?: CheckoutUXFlow.CHECKOUT;
1754
1758
  container: string | Element;
1755
1759
  locale?: SupportedLocale;
@@ -1762,7 +1766,6 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
1762
1766
  successScreen?: SuccessScreenOptions;
1763
1767
  form?: FormOptions;
1764
1768
  allowedPaymentMethods?: PaymentMethodType[];
1765
- allowedCardNetworks?: CardNetwork[];
1766
1769
  card?: CheckoutCardOptions;
1767
1770
  redirect?: RedirectOptions;
1768
1771
  paypal?: Omit<PayPalOptions, "container">;
@@ -1774,11 +1777,10 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
1774
1777
  paymentHandling?: PaymentHandling;
1775
1778
  advanced?: AdvancedOptions;
1776
1779
  }
1777
- export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers {
1780
+ export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
1778
1781
  style?: CheckoutStyle;
1779
1782
  paymentHandling?: PaymentHandling;
1780
1783
  locale?: SupportedLocale;
1781
- allowedCardNetworks?: CardNetwork[];
1782
1784
  card?: CheckoutCardOptions;
1783
1785
  redirect?: RedirectOptions;
1784
1786
  paypal?: Omit<PayPalOptions, "container">;
@@ -1789,6 +1791,10 @@ export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers,
1789
1791
  giftCard?: CustomizablePaymentMethodButton;
1790
1792
  onAvailablePaymentMethodsLoad: (paymentMethods: PaymentMethodInfo[]) => void;
1791
1793
  }
1794
+ export type WithAllowedCardNetworks = {
1795
+ /** @deprecated Use `orderedAllowedCardNetworks` on your Primer Dashboard instead. */
1796
+ allowedCardNetworks?: CardNetwork[];
1797
+ };
1792
1798
  export interface PrimerCheckout {
1793
1799
  teardown(): void;
1794
1800
  submit(): void;
@@ -1831,10 +1837,13 @@ export interface ICardPaymentMethodManager {
1831
1837
  };
1832
1838
  setCardholderName(cardholderName: string): void;
1833
1839
  removeHostedInputs(): void;
1834
- submit(): Promise<void>;
1840
+ submit(values?: CardPaymentMethodSubmitValues): Promise<void>;
1835
1841
  validate(): Promise<Validation>;
1836
1842
  reset(): void;
1837
1843
  }
1844
+ export type CardPaymentMethodSubmitValues = {
1845
+ cardNetwork?: string;
1846
+ };
1838
1847
  export interface PayPalStyles {
1839
1848
  buttonColor?: "gold" | "blue" | "silver" | "white" | "black";
1840
1849
  buttonShape?: "pill" | "rect";
@@ -1885,11 +1894,38 @@ export type ButtonPaymentMethodAsset = {
1885
1894
  paymentMethodName?: string;
1886
1895
  };
1887
1896
  export interface IAssetsManager {
1897
+ getCardNetworkAsset(cardNetwork: string): Promise<CardNetworkAsset>;
1888
1898
  getPaymentMethodAsset(type: PaymentMethodType): Promise<ButtonPaymentMethodAsset | null>;
1889
1899
  }
1900
+ export type CardNetworkAsset = {
1901
+ cardUrl: string;
1902
+ displayName: string;
1903
+ };
1890
1904
  export interface CardPaymentMethodManagerOptions {
1891
1905
  onCardMetadataChange?: (metadata: CardMetadata) => void;
1906
+ onCardNetworksChange?: (event: CardNetworkChangeEvent) => void;
1907
+ onCardNetworksLoading?: () => void;
1892
1908
  }
1909
+ export type CardNetworkChangeEvent = {
1910
+ detectedCardNetworks: CardNetworks;
1911
+ selectableCardNetworks?: CardNetworks;
1912
+ source: "REMOTE" | "LOCAL" | "LOCAL_FALLBACK";
1913
+ };
1914
+ export type CardNetworks = {
1915
+ items: CardNetworkDetails[];
1916
+ preferred?: CardNetworkDetails;
1917
+ };
1918
+ export type CardNetworkDetails = CardNetworkInfo & {
1919
+ allowed: boolean;
1920
+ };
1921
+ export type CardNetworkInfo = {
1922
+ displayName: string;
1923
+ network: string;
1924
+ };
1925
+ export type CardNetworksAndSource = {
1926
+ networks: CardNetworkInfo[];
1927
+ source: CardNetworkChangeEvent["source"];
1928
+ };
1893
1929
  export type PaymentMethodManagerOptions = CardPaymentMethodManagerOptions;
1894
1930
  export interface PrimerHeadlessCheckout {
1895
1931
  createPaymentMethodManager(type: "PAYMENT_CARD", options?: PaymentMethodManagerOptions): Promise<ICardPaymentMethodManager | null>;
@@ -1898,7 +1934,7 @@ export interface PrimerHeadlessCheckout {
1898
1934
  createVaultManager(): HeadlessVaultManager;
1899
1935
  configure: (options: HeadlessUniversalCheckoutOptions) => void;
1900
1936
  getAssetsManager(): IAssetsManager;
1901
- start: () => void;
1937
+ start: () => Promise<void>;
1902
1938
  }
1903
1939
  export interface PrimerSinglePaymentMethodCheckout {
1904
1940
  submit(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.35.1",
3
+ "version": "2.37.0",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",
@@ -21,10 +21,11 @@
21
21
  "prepare": "yarn build",
22
22
  "postpublish": "clean-package restore",
23
23
  "prepublishOnly": "clean-package",
24
- "preview-s3": "./script/preview",
25
- "publish-s3": "./script/publish-s3",
26
24
  "start": "node demos/server.js",
27
25
  "lint": "run -T eslint ./src",
28
26
  "check-types": "run -T tsc --noemit -p tsconfig.json"
27
+ },
28
+ "msw": {
29
+ "workerDirectory": "demos/assets"
29
30
  }
30
31
  }