@primer-io/checkout-web 2.41.0 → 2.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Primer.js CHANGED
@@ -1 +1 @@
1
- (function(K,f){typeof exports=="object"&&typeof module=="object"?module.exports=f():typeof define=="function"&&define.amd?define([],f):typeof exports=="object"?exports.Primer=f():K.Primer=f()})(this,function(){return function(){var ee={453:function(N,A,c){"use strict";var D=this&&this.__assign||function(){return D=Object.assign||function(_){for(var u,C=1,M=arguments.length;C<M;C++){u=arguments[C];for(var U in u)Object.prototype.hasOwnProperty.call(u,U)&&(_[U]=u[U])}return _},D.apply(this,arguments)},S=c(743),a=c(576),E=c(243),Y=c(169),h=c(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=h.clone(v);function k(_){return l[_]||S[_]}function W(){return I.map(function(_){return h.clone(k(_))})}function B(_,u){u===void 0&&(u=!1);var C=I.indexOf(_);if(!u&&C===-1)throw new Error('"'+_+'" is not a supported card type.');return C}function g(_){var u=[];if(!E.isValidInputType(_))return u;if(_.length===0)return W();I.forEach(function(M){var U=k(M);a.addMatchingCardsToResults(_,U,u)});var C=Y.findBestMatch(u);return C?[C]:u}g.getTypeInfo=function(_){return h.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 C=l[_]||S[_];if(!C)throw new Error('"'+_+"\" is not a recognized type. Use `addCard` instead.'");if(u.type&&C.type!==u.type)throw new Error("Cannot overwrite type parameter.");var M=h.clone(C);M=D(D({},M),u),l[M.type]=M},g.changeOrder=function(_,u){var C=B(_);I.splice(C,1),I.splice(u,0,_)},g.resetModifications=function(){I=h.clone(v),l={}},g.types=O,N.exports=g},576:function(N,A,c){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.addMatchingCardsToResults=void 0;var D=c(679),S=c(864);function a(E,Y,h){var l,O;for(l=0;l<Y.patterns.length;l++){var v=Y.patterns[l];if(S.matches(E,v)){var I=D.clone(Y);Array.isArray(v)?O=String(v[0]).length:O=String(v).length,E.length>=O&&(I.matchStrength=O),h.push(I);break}}}A.addMatchingCardsToResults=a},743:function(N){"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}}};N.exports=A},679:function(N,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.clone=void 0;function c(D){return D?JSON.parse(JSON.stringify(D)):null}A.clone=c},169:function(N,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.findBestMatch=void 0;function c(S){var a=S.filter(function(E){return E.matchStrength}).length;return a>0&&a===S.length}function D(S){return c(S)?S.reduce(function(a,E){return!a||Number(a.matchStrength)<Number(E.matchStrength)?E:a}):null}A.findBestMatch=D},243:function(N,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.isValidInputType=void 0;function c(D){return typeof D=="string"||D instanceof String}A.isValidInputType=c},864:function(N,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.matches=void 0;function c(a,E,Y){var h=String(E).length,l=a.substr(0,h),O=parseInt(l,10);return E=parseInt(String(E).substr(0,l.length),10),Y=parseInt(String(Y).substr(0,l.length),10),O>=E&&O<=Y}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)?c(a,E[0],E[1]):D(a,E)}A.matches=S},476:function(){},962:function(){},473:function(){}},K={};function f(N){var A=K[N];if(A!==void 0)return A.exports;var c=K[N]={exports:{}};return ee[N].call(c.exports,c,c.exports,f),c.exports}(function(){f.d=function(N,A){for(var c in A)f.o(A,c)&&!f.o(N,c)&&Object.defineProperty(N,c,{enumerable:!0,get:A[c]})}})(),function(){f.o=function(N,A){return Object.prototype.hasOwnProperty.call(N,A)}}(),function(){f.r=function(N){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})}}();var $={};return function(){"use strict";f.r($),f.d($,{CheckoutUXFlow:function(){return Ue},CvvInput:function(){return N.CvvInput},ErrorCode:function(){return we},EventTypes:function(){return We},HeadlessManagerType:function(){return je},PaymentFlow:function(){return Be},PaymentInstrumentType:function(){return ke},PaymentMethodData:function(){return zr.PaymentMethodData},PaymentMethodType:function(){return y},Primer:function(){return Qr},SuccessScreenType:function(){return Ke},ThreeDSecureStatus:function(){return be},TokenType:function(){return Fe},preloadPrimer:function(){return mr}});var N={};f.r(N);var A=f(476),c=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.41.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 Y=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(Y||{});async function h(){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 h(),eventType:e,properties:r,sdkVersion:O,sdkType:l}}const I="https://analytics.production.data.primer.io/sdk-logs",k=1024*5,W=e=>`@primer/analytics/${e}`;function B({url:e=I,...r}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&g(e)});const t=o=>async n=>{if(typeof navigator>"u")return;const i=await v(o,n,r),s=u(i,T=>C(M(T)));_(e,s)};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=W(e);try{const t=sessionStorage.getItem(r);sessionStorage.removeItem(r),t&&navigator.sendBeacon(e,t)}catch(t){console.error("Unable to access sessionStorage or navigator",t)}}function _(e,r){const t=W(e);try{sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(r)].filter(Boolean).join(",")}]`)}catch(o){console.error("Unable to access sessionStorage",o)}}function u(e,r){const t=o=>typeof o=="object"&&o!==null?u(o,r):r(o);return Array.isArray(e)?e.map(t):Object.fromEntries(Object.entries(e).map(([o,n])=>[o,t(n)]))}function C(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,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class ze extends U{async tokenize(r){}}class Xe{get session(){const r=this.store.getState().clientSessionInfo;if(!r)throw new Error("Client Context Session does not exist");return r}}const $e=[Array,ze,Xe,Map,Set];function Qe(e){const r=new Set,t=20;let o=0;for(;o++<t&&e&&e!==Object.prototype;)Object.getOwnPropertyNames(e).forEach(n=>r.add(n)),e=Object.getPrototypeOf(e);return[...r]}function re(e,r,t,o,n){if(!t||$e.some(i=>t instanceof i))return t;switch(typeof t){case"function":return new Proxy(t,{apply(i,d,s=[]){const T={name:r.replace(/^bound /,""),params:s,module:n};e?.sdkFunctionEvent(T);const p=s.map((G,w)=>re(e,`${w}`,G,o,[n,r,`${w}`].filter(Boolean).join(".")));return i.apply(d,p)}});case"object":return t===o?t:Ze(e,t,[n,r].filter(Boolean).join("."));default:return t}}function Ze(e,r,t){return Object.fromEntries(Qe(r).map(o=>{const n=r?.[o],i=re(e,o,n,n,t);return[o,i]}))}const te=()=>oe.randomUUID?.()||Je(),Je=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^qe()>>e/4).toString(16)),qe=()=>(oe.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,oe=typeof crypto<"u"?crypto:{},ye=new Set(["post","get","delete"]),er=new Set(["post"]);function rr(e,r,t,o){const n=er.has(e);return{method:e,options:n?o:t,body:n?t:void 0,url:r}}function Zr(e,r){const t=({prop:o})=>({apply:async(n,i,d=[])=>{const s=rr(o.toString(),...d);if(s.options?.isAnalytics)return n.apply(i,d);const T=uuid();r?.networkCallEvent(prepareNetworkEventProps(T,s));const p=await n.apply(i,d);return r?.networkCallEvent(prepareNetworkEventProps(T,s,p)),p}});return new Proxy(e,{get(o,n){const i=o[n];return typeof i=="function"&&ye.has(n)?new Proxy(i,t({prop:n})):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}),ie="3.6.1",tr=ie,or=typeof atob=="function",nr=typeof btoa=="function",F=typeof Buffer=="function",Ae=typeof TextDecoder=="function"?new TextDecoder:void 0,_e=typeof TextEncoder=="function"?new TextEncoder:void 0,V=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],j=(e=>{let r={};return e.forEach((t,o)=>r[t]=o),r})(V),ir=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,P=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)),ce=e=>e.replace(/[+\/]/g,r=>r=="+"?"-":"_").replace(/=+$/m,""),Ee=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),ae=e=>{let r,t,o,n,i="";const d=e.length%3;for(let s=0;s<e.length;){if((t=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");r=t<<16|o<<8|n,i+=V[r>>18&63]+V[r>>12&63]+V[r>>6&63]+V[r&63]}return d?i.slice(0,d-3)+"===".substring(d):i},Q=nr?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 o=0,n=e.length;o<n;o+=4096)t.push(P.apply(null,e.subarray(o,o+4096)));return Q(t.join(""))},z=(e,r=!1)=>r?ce(Z(e)):Z(e),Ar=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?P(192|r>>>6)+P(128|r&63):P(224|r>>>12&15)+P(128|r>>>6&63)+P(128|r&63)}else{var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return P(240|r>>>18&7)+P(128|r>>>12&63)+P(128|r>>>6&63)+P(128|r&63)}},_r=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ue=e=>e.replace(_r,Ar),Re=F?e=>Buffer.from(e,"utf8").toString("base64"):_e?e=>Z(_e.encode(e)):e=>Q(ue(e)),H=(e,r=!1)=>r?ce(Re(e)):Re(e),Ne=e=>H(e,!0),sr=/[\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 P((t>>>10)+55296)+P((t&1023)+56320);case 3:return P((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return P((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Oe=e=>e.replace(sr,cr),de=e=>{if(e=e.replace(/\s+/g,""),!ir.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let r,t="",o,n;for(let i=0;i<e.length;)r=j[e.charAt(i++)]<<18|j[e.charAt(i++)]<<12|(o=j[e.charAt(i++)])<<6|(n=j[e.charAt(i++)]),t+=o===64?P(r>>16&255):n===64?P(r>>16&255,r>>8&255):P(r>>16&255,r>>8&255,r&255);return t},J=or?e=>atob(Ee(e)):F?e=>Buffer.from(e,"base64").toString("binary"):de,De=F?e=>se(Buffer.from(e,"base64")):e=>se(J(e),r=>r.charCodeAt(0)),Te=e=>De(fe(e)),Er=F?e=>Buffer.from(e,"base64").toString("utf8"):Ae?e=>Ae.decode(De(e)):e=>Oe(J(e)),fe=e=>Ee(e.replace(/[-_]/g,r=>r=="-"?"+":"/")),q=e=>Er(fe(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)},Ce=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Pe=function(){const e=(r,t)=>Object.defineProperty(String.prototype,r,Ce(t));e("fromBase64",function(){return q(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 Te(this)})},le=function(){const e=(r,t)=>Object.defineProperty(Uint8Array.prototype,r,Ce(t));e("toBase64",function(r){return z(this,r)}),e("toBase64URI",function(){return z(this,!0)}),e("toBase64URL",function(){return z(this,!0)})},Se={version:ie,VERSION:tr,atob:J,atobPolyfill:de,btoa:Q,btoaPolyfill:ae,fromBase64:q,toBase64:H,encode:H,encodeURI:Ne,encodeURL:Ne,utob:ue,btou:Oe,decode:q,isValid:ar,fromUint8Array:z,toUint8Array:Te,extendString:Pe,extendUint8Array:le,extendBuiltins:()=>{Pe(),le()}},ur={encode:Rr,decode:Se.decode};function Rr(e,r={}){const{urlSafe:t=!1}=r;return Se.encode(e,t)}function Nr(e){const r=Dr(e),t=r.exp*1e3;if(Date.now()>t)throw new Error(`${Or}. Expiration date: ${new Date(t).toISOString()}`);return r}const Le="The provided `clientToken`",Or=`${Le} has expired`,dr=`${Le} is malformed`;function Dr(e){try{const[r,t]=e.split("."),o=t||r;return JSON.parse(ur.decode(o))}catch{throw new Error(dr)}}const Tr=(e,r)=>Ie("get",e,r),yr=(e,r,t)=>Ie("post",e,t,JSON.stringify(r)),fr={"content-type":"application/json"},Ie=(e,r,t,o)=>fetch(r,{body:o,method:e,headers:{...fr,...t}}).then(n=>n.json().catch(()=>{})),Cr="v2.41.0",Pr=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":Cr,"primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function lr(e,r,t){try{return await Tr(`${r}/?withDisplayMetadata=true`,Pr(e,t,"2.2"))}catch(o){throw new Error(["Failed to initialize client",JSON.stringify(o||void 0,void 0,2)].filter(Boolean).join(": "))}}const Sr=e=>document.head.appendChild(e),Lr=(e,r)=>{const t=document.createElement(e);return Object.entries(r).forEach(([o,n])=>t.setAttribute(o,n)),t},Ir=(e,r)=>Sr(Lr(e,r)),Ye=(e,r,t)=>e.addEventListener(r,t),Yr=e=>document.querySelector(e),he="Can't load Primer SDK",hr=`${he}'s Stylesheet`;function pr(e){const r="script",t="src";return ge(r,t,e)&&window.__Primer?Promise.resolve():pe(r,e,t,{async:"",crossorigin:"anonymous"},he)}function gr(e){return Array.from(document.styleSheets).find(r=>r.href===e)?Promise.resolve():pe("link",e,"href",{rel:"stylesheet"},hr)}const pe=(e,r,t,o,n)=>new Promise((i,d)=>{const s=ge(e,t,r)||Ir(e,{...o,[t]:r});Ye(s,"load",()=>i()),Ye(s,"error",()=>{s?.remove(),d(new Error(n))})}),ge=(e,r,t)=>Yr(`${e}[${r}^="${t}"]`),Mr="https://sdk.primer.io/web/v2.41.0/Checkout.css",vr="https://sdk.primer.io/web/v2.41.0/PrimerCoreSDK.min.js";let m;async function Me(){return m||(m=Promise.all([Br(),Ur()]).then(([e])=>e),m)}const Ur=()=>gr(Mr),Br=()=>pr(vr).then(()=>{const e=window.__Primer;return delete window.__Primer,e}).catch(e=>{throw m=void 0,e}),br="v2.41.0",kr=X("createHeadless"),Fr=X("showExpressCheckout"),Hr=X("showUniversalCheckout"),wr=X("showVaultManager"),ve="LOAD_PERFORMANCE",x=te();let b=B({checkoutSessionId:x});b.messageEvent({message:"parsed",messageType:ve,now:performance.now?.()});function X(e){return async(...[r,t,...o])=>{b.sdkFunctionEvent({name:e,params:[r,t,...o]}),b.messageEvent({message:"create",messageType:ve,now:performance.now?.()});const[n,i]=await Promise.all([Vr(r),Me()]);return i[e](n,x,r,t)}}async function Vr(e){const{accessToken:r,configurationUrl:t,analyticsUrlV2:o}=Nr(e);b=B({checkoutSessionId:x,url:o});const n=`${t}/?withDisplayMetadata=true`,i=te(),d={method:"get",url:n};b.networkCallEvent(ne(i,d));const s=await lr(r,t,x),{primerAccountId:T}=s,{clientSessionId:p}=s.clientSession;return b=B({checkoutSessionId:x,clientSessionId:p,primerAccountId:T,url:o}),b.networkCallEvent(ne(i,d,{data:s})),s}const mr=()=>Me().then(()=>{});var xr=(e=>(e.LOADING="Loading",e.NO_PAYMENT_METHOD="NoPaymentMethod",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(xr||{}),Gr=(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))(Gr||{}),Kr=(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))(Kr||{}),Ue=(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))(Ue||{}),Be=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(Be||{}),Wr=(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))(Wr||{}),be=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))(be||{}),ke=(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_IDEAL="ADYEN_IDEAL",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))(ke||{}),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_IDEAL="ADYEN_IDEAL",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||{}),jr=(e=>(e.PAYMENT_CARD="PAYMENT_CARD",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e))(jr||{}),Fe=(e=>(e.SINGLE_USE="SINGLE_USE",e.MULTI_USE="MULTI_USE",e))(Fe||{});const He={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},et=e=>{if(Object.values(y).includes(e))return e;if(He[e])return He[e]};var we=(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.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",e))(we||{});class Ve extends Error{constructor(r,t,o){super(t.message),this.message=t.message,this.code=r,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,o?.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,o){return new Ve(r,t,o)}}const rt=e=>{throw console.error(e.message),e};var zr=f(473),tt=f(453);const Xr={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 ot(e,r){return Xr[e]}const me=[["AMEX","american-express"],["CARTES_BANCAIRES"],["DANKORT"],["DINERS_CLUB","diners-club"],["DISCOVER","discover"],["ENROUTE"],["ELO","elo"],["HIPER","hiper","hiper-pay"],["HIPERCARD","hipercard"],["INTERAC"],["JCB","jcb"],["MAESTRO","maestro"],["MASTERCARD","mastercard"],["MIR","mir","mir-pay"],["OTHER",void 0,"payment-card"],["UNIONPAY","unionpay"],["VISA","visa"]],xe=new Map(me.map(e=>[e[0],e])),$r=new Map(me.filter(e=>e[1]).map(e=>[e[1],e]));function nt(e){const{niceType:r,type:t}=getTypeInfo(toKebabCase(e))||getTypeInfo(xe.get(toUpperSnakeCase(e))?.[1]||"")||{},[o,n,i]=$r.get(t)||xe.get(toUpperSnakeCase(e))||[];return{asset:i||toKebabCase(n||e),backend:o,display:r||toCapitalizedSentenceCase(e),library:n}}const it={error:null,errorCode:null,valid:!1,active:!1,dirty:!1,touched:!1,submitted:!1},Ge=new Set(["change","blur","focus"]);async function At({container:e,placement:r="append",properties:t,allowedCharactersMap:o,...n},i){let d,s={...defaultFieldMetadata};const T={},p=i.store.getTranslations(),G=await new Promise(R=>{const L=i.iframes.create({container:e,filename:"secure-input.html",meta:n,onReady:()=>R(L),placement:r,payload:{allowedCharactersMap:JSON.stringify(o),properties:t}})});return window.addEventListener("message",({data:R})=>{switch(hasMetadata(R)&&(s=R.metadata.error?{...R.metadata,errorCode:R.metadata.error,error:p[R.metadata.error]}:R.metadata),R.type){case"change":d=R.valueToken,T.change?.forEach(L=>L(d,s));break;case"blur":T.blur?.forEach(L=>L());break;case"focus":T.focus?.forEach(L=>L());break;default:break}}),{frame:G,get metadata(){return s},name:n.name,get valueToken(){return d},remove(){G?.remove(),Object.values(T).forEach(R=>R.clear())},addListener(R,L){if(Ge.has(R))return T[R]||(T[R]=new Set),T[R].add(L),()=>this.removeListener(R,L);console.error(`Event not supported: supported events are ${[...Ge].join(", ")}`)},addEventListener(R,L){return this.addListener(R,L)},removeListener(R,L){T[R].delete(L)},blur(){w("blur")},focus(){w("focus")},validate(){w("validate")}};function w(R){G?.contentWindow?.postMessage(R,"*")}}async function _t({cardNetwork:e,...r},t){const o=`cvv-${r.name}`,n=getCardNetworkNames(e||""),i=getTypeInfo(n.library||""),d=!e&&"`cardNetwork` was not provided"||!i&&"could not get the code size from the provided `cardNetwork`";if(d){const p=`CvvInput: ${d}. Defaulting validation to minLength 3 and maxLength 4.`;t.analytics.messageEvent({messageType:"CARD_SECURITY_CODE_INPUT_VALIDATION",message:p,severity:"WARN"}),console.warn(p)}const{size:s}=i?.code??{},T={...r.properties,maxLength:s||4,minLength:s||3};return createSecureInput({...r,name:o,properties:T,allowedCharactersMap:DIGITS},t)}var Ke=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Ke||{}),We=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(We||{}),je=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",e.KLARNA="KLARNA",e))(je||{});const Qr={SDK_VERSION:br,createHeadless:kr,showExpressCheckout:Fr,showUniversalCheckout:Hr,showVaultManager:wr}}(),$}()});
1
+ (function(C,c){typeof exports=="object"&&typeof module=="object"?module.exports=c():typeof define=="function"&&define.amd?define([],c):typeof exports=="object"?exports.Primer=c():C.Primer=c()})(this,function(){return function(){var H={476:function(){},962:function(){},473:function(){}},C={};function c(s){var N=C[s];if(N!==void 0)return N.exports;var R=C[s]={exports:{}};return H[s](R,R.exports,c),R.exports}(function(){c.d=function(s,N){for(var R in N)c.o(N,R)&&!c.o(s,R)&&Object.defineProperty(s,R,{enumerable:!0,get:N[R]})}})(),function(){c.o=function(s,N){return Object.prototype.hasOwnProperty.call(s,N)}}(),function(){c.r=function(s){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})}}();var l={};return function(){"use strict";c.r(l),c.d(l,{CheckoutUXFlow:function(){return Tr},ErrorCode:function(){return Cr},EventTypes:function(){return fr},HeadlessManagerType:function(){return lr},PaymentFlow:function(){return Pr},PaymentInstrumentType:function(){return Lr},PaymentMethodData:function(){return wA.PaymentMethodData},PaymentMethodType:function(){return k},Primer:function(){return KA},SuccessScreenType:function(){return dr},ThreeDSecureStatus:function(){return ur},TokenType:function(){return Yr},preloadPrimer:function(){return HA}});var s=c(476),N=c(962),R=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(R||{}),Ur=(r=>(r.START="START",r.END="END",r))(Ur||{}),a=(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))(a||{});const hr={get(r,A){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.42.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||A}};var Br=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(Br||{});async function gr(){if(typeof navigator>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const vr="WEB",kr=hr.get("PRIMER_SDK_VERSION");async function Hr(r,A,t){return{...t,createdAt:Date.now(),device:await gr(),eventType:r,properties:A,sdkVersion:kr,sdkType:vr}}const b="https://analytics.production.data.primer.io/sdk-logs",br=b==="https://analytics.sandbox.data.primer.io/playwright",x=1024*5,F=r=>`@primer/analytics/${r}`;function M({url:r=b,...A}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&xr(r)});const t=_=>async o=>{if(typeof navigator>"u")return;const e=await Hr(_,o,A),n=O=>pr(Gr(O));if(br)return;const E=p(e,n);Fr(r,E)};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 xr(r){const A=F(r);try{const t=sessionStorage.getItem(A);sessionStorage.removeItem(A),t&&navigator.sendBeacon(r,t)}catch(t){console.error("Unable to access sessionStorage or navigator",t)}}function Fr(r,A){const t=F(r);try{sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(A)].filter(Boolean).join(",")}]`)}catch(_){console.error("Unable to access sessionStorage",_)}}function p(r,A){const t=_=>typeof _=="object"&&_!==null?p(_,A):A(_);return Array.isArray(r)?r.map(t):Object.fromEntries(Object.entries(r).map(([_,o])=>[_,t(o)]))}function pr(r){return typeof r=="string"&&r.length>x?`${r.slice(0,x)}...`:r}function Gr(r){return typeof r=="function"?r.name||"function":r}class U{constructor(A,t){this.type=A,this.displayName=t}get specs(){return this.constructor.specs}setOption(A,t){this.options&&(this.options[A]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(A){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(A){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}U.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},U.create=(r,A,t,_)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class wr extends U{async tokenize(A){}}class Kr{get session(){const A=this.store.getState().clientSessionInfo;if(!A)throw new Error("Client Context Session does not exist");return A}}const Vr=[Array,wr,Kr,Map,Set];function Wr(r){const A=new Set,t=20;let _=0;for(;_++<t&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(o=>A.add(o)),r=Object.getPrototypeOf(r);return[...A]}function G(r,A,t,_,o){if(!t||Vr.some(e=>t instanceof e))return t;switch(typeof t){case"function":return new Proxy(t,{apply(e,n,E=[]){const O={name:A.replace(/^bound /,""),params:E,module:o};r?.sdkFunctionEvent(O);const u=E.map((VA,Mr)=>G(r,`${Mr}`,VA,_,[o,A,`${Mr}`].filter(Boolean).join(".")));return e.apply(n,u)}});case"object":return t===_?t:jr(r,t,[o,A].filter(Boolean).join("."));default:return t}}function jr(r,A,t){return Object.fromEntries(Wr(A).map(_=>{const o=A?.[_],e=G(r,_,o,o,t);return[_,e]}))}const w=()=>K.randomUUID?.()||Xr(),Xr=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^$r()>>r/4).toString(16)),$r=()=>(K.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,K=typeof crypto<"u"?crypto:{},zr=new Set(["post","get","delete"]),Qr=new Set(["post"]);function Zr(r,A,t,_){const o=Qr.has(r);return{method:r,options:o?_:t,body:o?t:void 0,url:A}}function WA(r,A){const t=({prop:_})=>({apply:async(o,e,n=[])=>{const E=Zr(_.toString(),...n);if(E.options?.isAnalytics)return o.apply(e,n);const O=uuid();A?.networkCallEvent(prepareNetworkEventProps(O,E));const u=await o.apply(e,n);return A?.networkCallEvent(prepareNetworkEventProps(O,E,u)),u}});return new Proxy(r,{get(_,o){const e=_[o];return typeof e=="function"&&zr.has(o)?new Proxy(e,t({prop:o})):e}})}const V=(r,A,t)=>({callType:t?R.REQUEST_END:R.REQUEST_START,id:r,errorBody:t?.error&&JSON.stringify(t.error),method:A.method,responseCode:t?.status,url:A.url}),W="3.6.1",qr=W,Jr=typeof atob=="function",mr=typeof btoa=="function",T=typeof Buffer=="function",j=typeof TextDecoder=="function"?new TextDecoder:void 0,X=typeof TextEncoder=="function"?new TextEncoder:void 0,L=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],I=(r=>{let A={};return r.forEach((t,_)=>A[t]=_),A})(L),yr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,i=String.fromCharCode.bind(String),$=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,A=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(A)),z=r=>r.replace(/[+\/]/g,A=>A=="+"?"-":"_").replace(/=+$/m,""),Q=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Z=r=>{let A,t,_,o,e="";const n=r.length%3;for(let E=0;E<r.length;){if((t=r.charCodeAt(E++))>255||(_=r.charCodeAt(E++))>255||(o=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");A=t<<16|_<<8|o,e+=L[A>>18&63]+L[A>>12&63]+L[A>>6&63]+L[A&63]}return n?e.slice(0,n-3)+"===".substring(n):e},h=mr?r=>btoa(r):T?r=>Buffer.from(r,"binary").toString("base64"):Z,B=T?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let _=0,o=r.length;_<o;_+=4096)t.push(i.apply(null,r.subarray(_,_+4096)));return h(t.join(""))},d=(r,A=!1)=>A?z(B(r)):B(r),rA=r=>{if(r.length<2){var A=r.charCodeAt(0);return A<128?r:A<2048?i(192|A>>>6)+i(128|A&63):i(224|A>>>12&15)+i(128|A>>>6&63)+i(128|A&63)}else{var A=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return i(240|A>>>18&7)+i(128|A>>>12&63)+i(128|A>>>6&63)+i(128|A&63)}},AA=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,q=r=>r.replace(AA,rA),J=T?r=>Buffer.from(r,"utf8").toString("base64"):X?r=>B(X.encode(r)):r=>h(q(r)),P=(r,A=!1)=>A?z(J(r)):J(r),m=r=>P(r,!0),tA=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,_A=r=>{switch(r.length){case 4:var A=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=A-65536;return i((t>>>10)+55296)+i((t&1023)+56320);case 3:return i((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return i((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},y=r=>r.replace(tA,_A),rr=r=>{if(r=r.replace(/\s+/g,""),!yr.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let A,t="",_,o;for(let e=0;e<r.length;)A=I[r.charAt(e++)]<<18|I[r.charAt(e++)]<<12|(_=I[r.charAt(e++)])<<6|(o=I[r.charAt(e++)]),t+=_===64?i(A>>16&255):o===64?i(A>>16&255,A>>8&255):i(A>>16&255,A>>8&255,A&255);return t},g=Jr?r=>atob(Q(r)):T?r=>Buffer.from(r,"base64").toString("binary"):rr,Ar=T?r=>$(Buffer.from(r,"base64")):r=>$(g(r),A=>A.charCodeAt(0)),tr=r=>Ar(_r(r)),oA=T?r=>Buffer.from(r,"base64").toString("utf8"):j?r=>j.decode(Ar(r)):r=>y(g(r)),_r=r=>Q(r.replace(/[-_]/g,A=>A=="-"?"+":"/")),v=r=>oA(_r(r)),eA=r=>{if(typeof r!="string")return!1;const A=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(A)||!/[^\s0-9a-zA-Z\-_]/.test(A)},or=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),er=function(){const r=(A,t)=>Object.defineProperty(String.prototype,A,or(t));r("fromBase64",function(){return v(this)}),r("toBase64",function(A){return P(this,A)}),r("toBase64URI",function(){return P(this,!0)}),r("toBase64URL",function(){return P(this,!0)}),r("toUint8Array",function(){return tr(this)})},Er=function(){const r=(A,t)=>Object.defineProperty(Uint8Array.prototype,A,or(t));r("toBase64",function(A){return d(this,A)}),r("toBase64URI",function(){return d(this,!0)}),r("toBase64URL",function(){return d(this,!0)})},ir={version:W,VERSION:qr,atob:g,atobPolyfill:rr,btoa:h,btoaPolyfill:Z,fromBase64:v,toBase64:P,encode:P,encodeURI:m,encodeURL:m,utob:q,btou:y,decode:v,isValid:eA,fromUint8Array:d,toUint8Array:tr,extendString:er,extendUint8Array:Er,extendBuiltins:()=>{er(),Er()}},EA={encode:iA,decode:ir.decode};function iA(r,A={}){const{urlSafe:t=!1}=A;return ir.encode(r,t)}function nA(r){const A=RA(r),t=A.exp*1e3;if(Date.now()>t)throw new Error(`${cA}. Expiration date: ${new Date(t).toISOString()}`);return A}const nr="The provided `clientToken`",cA=`${nr} has expired`,sA=`${nr} is malformed`;function RA(r){try{const[A,t]=r.split("."),_=t||A;return JSON.parse(EA.decode(_))}catch{throw new Error(sA)}}const NA=(r,A)=>cr("get",r,A),$A=(r,A,t)=>cr("post",r,t,JSON.stringify(A)),OA={"content-type":"application/json"},cr=(r,A,t,_)=>fetch(A,{body:_,method:r,headers:{...OA,...t}}).then(o=>o.json().catch(()=>{})),aA="v2.42.1",DA=(r,A,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":aA,"primer-sdk-checkout-session-id":A,...t&&{"x-api-version":t}});async function TA(r,A,t){try{return await NA(`${A}/?withDisplayMetadata=true`,DA(r,t,"2.2"))}catch(_){throw new Error(["Failed to initialize client",JSON.stringify(_||void 0,void 0,2)].filter(Boolean).join(": "))}}const PA=r=>document.head.appendChild(r),uA=(r,A)=>{const t=document.createElement(r);return Object.entries(A).forEach(([_,o])=>t.setAttribute(_,o)),t},LA=(r,A)=>PA(uA(r,A)),sr=(r,A,t)=>r.addEventListener(A,t),YA=r=>document.querySelector(r),Rr="Can't load Primer SDK",SA=`${Rr}'s Stylesheet`;function CA(r){const A="script",t="src";return Or(A,t,r)&&window.__Primer?Promise.resolve():Nr(A,r,t,{async:"",crossorigin:"anonymous"},Rr)}function IA(r){return Array.from(document.styleSheets).find(A=>A.href===r)?Promise.resolve():Nr("link",r,"href",{rel:"stylesheet"},SA)}const Nr=(r,A,t,_,o)=>new Promise((e,n)=>{const E=Or(r,t,A)||LA(r,{..._,[t]:A});sr(E,"load",()=>e()),sr(E,"error",()=>{E?.remove(),n(new Error(o))})}),Or=(r,A,t)=>YA(`${r}[${A}^="${t}"]`),dA="https://sdk.primer.io/web/v2.42.1/Checkout.css",fA="https://sdk.primer.io/web/v2.42.1/PrimerCoreSDK.min.js";let Y;async function ar(){return Y||(Y=Promise.all([MA(),lA()]).then(([r])=>r),Y)}const lA=()=>IA(dA),MA=()=>CA(fA).then(()=>{const r=window.__Primer;return delete window.__Primer,r}).catch(r=>{throw Y=void 0,r}),UA="v2.42.1",hA=f("createHeadless"),BA=f("showExpressCheckout"),gA=f("showUniversalCheckout"),vA=f("showVaultManager"),Dr="LOAD_PERFORMANCE",S=w();let D=M({checkoutSessionId:S});D.messageEvent({message:"parsed",messageType:Dr,now:performance.now?.()});function f(r){return async(...[A,t,..._])=>{D.sdkFunctionEvent({name:r,params:[A,t,..._]}),D.messageEvent({message:"create",messageType:Dr,now:performance.now?.()});const[o,e]=await Promise.all([kA(A),ar()]);return e[r](o,S,A,t)}}async function kA(r){const{accessToken:A,configurationUrl:t,analyticsUrlV2:_}=nA(r);D=M({checkoutSessionId:S,url:_});const o=`${t}/?withDisplayMetadata=true`,e=w(),n={method:"get",url:o};D.networkCallEvent(V(e,n));const E=await TA(A,t,S),{primerAccountId:O}=E,{clientSessionId:u}=E.clientSession;return D=M({checkoutSessionId:S,clientSessionId:u,primerAccountId:O,url:_}),D.networkCallEvent(V(e,n,{data:E})),E}const HA=()=>ar().then(()=>{});var bA=(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))(bA||{}),xA=(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))(xA||{}),FA=(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))(FA||{}),Tr=(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))(Tr||{}),Pr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Pr||{}),pA=(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))(pA||{}),ur=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(ur||{}),Lr=(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_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))(Lr||{}),k=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",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))(k||{}),GA=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(GA||{}),Yr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(Yr||{});const Sr={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},zA=r=>{if(Object.values(k).includes(r))return r;if(Sr[r])return Sr[r]};var Cr=(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_SETUP_ERROR="THREE_DS_SETUP_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.THREE_DS_NEGOTIATION_ERROR="THREE_DS_NEGOTIATION_ERROR",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.TAX_ERROR="TAX_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))(Cr||{});class Ir extends Error{static fromErrorCode(A,t,_){return new Ir(A,t,_)}constructor(A,t,_){super(t.message),this.message=t.message,this.code=A,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,_?.messageEvent?.({message:t.message,messageType:A,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}}const QA=r=>{throw console.error(r.message),r};var wA=c(473),dr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(dr||{}),fr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(fr||{}),lr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r))(lr||{});const KA={SDK_VERSION:UA,createHeadless:hA,showExpressCheckout:BA,showUniversalCheckout:gA,showVaultManager:vA}}(),l}()});
package/dist/index.d.ts CHANGED
@@ -1893,9 +1893,9 @@ export interface IRedirectPaymentMethodManager {
1893
1893
  start(): Promise<void>;
1894
1894
  addEventListener(event: EventTypes, callback: EventListener): void;
1895
1895
  }
1896
- export interface IFormWithRedirectPaymentMethodManager {
1896
+ export interface IFormWithRedirectPaymentMethodManager<T> {
1897
1897
  start(): any;
1898
- submit(issuer: MetadataBankIssuer): any;
1898
+ submit(data: T): any;
1899
1899
  }
1900
1900
  export interface IKlarnaPaymentMethodManager {
1901
1901
  start(paymentPayload: KlarnaPaymentPayload): Promise<KlarnaPaymentResponse>;
@@ -1903,7 +1903,7 @@ export interface IKlarnaPaymentMethodManager {
1903
1903
  addEventListener(event: EventTypes, callback: EventListener): void;
1904
1904
  getPaymentMethod(): void;
1905
1905
  }
1906
- export type PaymentMethodManagers = ICardPaymentMethodManager | INativePaymentMethodManager | IRedirectPaymentMethodManager | IFormWithRedirectPaymentMethodManager | IKlarnaPaymentMethodManager;
1906
+ export type PaymentMethodManagers = ICardPaymentMethodManager | INativePaymentMethodManager | IRedirectPaymentMethodManager | IFormWithRedirectPaymentMethodManager<BankIssuer> | IKlarnaPaymentMethodManager;
1907
1907
  export declare enum HeadlessManagerType {
1908
1908
  CARD = "CARD",
1909
1909
  NATIVE = "NATIVE",
@@ -1953,28 +1953,19 @@ export type CardNetworksAndSource = {
1953
1953
  networks: CardNetworkInfo[];
1954
1954
  source: CardNetworkChangeEvent["source"];
1955
1955
  };
1956
- export interface FormWithRedirectPaymentMethodManagerOptions {
1957
- onMetadataLoad?: (payload: Record<string, MetadataCallbackPayload>) => void;
1958
- }
1959
- export type MetadataCallbackPayload = {
1960
- error: PrimerClientError | null;
1961
- validation: MetadataValidation | null;
1962
- options: MetadataBankIssuer[] | null;
1963
- };
1964
- export type MetadataValidation = {
1965
- required: boolean;
1966
- };
1967
- export type ResponseMetadataOption = {
1956
+ export type BankIssuer = {
1968
1957
  id: string;
1969
1958
  name: string;
1970
1959
  iconUrl: string;
1971
1960
  disabled: boolean;
1972
1961
  };
1973
- export type MetadataBankIssuer = {
1974
- id: string;
1975
- name: string;
1976
- iconUrl: string;
1977
- };
1962
+ export interface FormWithRedirectConfiguration {
1963
+ bankIssuers?: BankIssuer[];
1964
+ error?: PrimerClientError | Error;
1965
+ }
1966
+ export interface FormWithRedirectPaymentMethodManagerOptions {
1967
+ onConfigurationLoad?: (payload: FormWithRedirectConfiguration) => void;
1968
+ }
1978
1969
  export interface KlarnaPaymentMethodManagerOptions {
1979
1970
  onPaymentMethodCategoriesChange?: (paymentMethodCategories: KlarnaPaymentMethodCategory[]) => void;
1980
1971
  }
@@ -1999,6 +1990,7 @@ export type PaymentMethodManagerOptions = CardPaymentMethodManagerOptions | Form
1999
1990
  export interface PrimerHeadlessCheckout {
2000
1991
  createPaymentMethodManager(type: "PAYMENT_CARD", options?: PaymentMethodManagerOptions): Promise<ICardPaymentMethodManager | null>;
2001
1992
  createPaymentMethodManager(type: PaymentMethodType.PAYPAL | "PAYPAL" | "GOOGLE_PAY" | "APPLE_PAY", options?: PaymentMethodManagerOptions): Promise<INativePaymentMethodManager | null>;
1993
+ createPaymentMethodManager(type: PaymentMethodType.ADYEN_IDEAL, options?: FormWithRedirectPaymentMethodManagerOptions): Promise<IFormWithRedirectPaymentMethodManager<BankIssuer> | null>;
2002
1994
  createPaymentMethodManager(type: PaymentMethodType, options?: PaymentMethodManagerOptions): Promise<IRedirectPaymentMethodManager | null>;
2003
1995
  createVaultManager(): HeadlessVaultManager;
2004
1996
  configure: (options: HeadlessUniversalCheckoutOptions) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.41.0",
3
+ "version": "2.42.1",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",
@@ -22,10 +22,17 @@
22
22
  "postpublish": "clean-package restore",
23
23
  "prepublishOnly": "clean-package",
24
24
  "start": "node demos/server.js",
25
+ "start:test": "webpack serve --env PORT=4321",
26
+ "start:playwright:test:ui": "npx playwright test --ui",
27
+ "start:playwright:test": "npx playwright test",
28
+ "start:playwright:ci": "npx playwright test --project=chromium",
25
29
  "lint": "run -T eslint ./src",
26
30
  "check-types": "run -T tsc --noemit -p tsconfig.json"
27
31
  },
28
32
  "msw": {
29
- "workerDirectory": "demos/assets"
33
+ "workerDirectory": [
34
+ "demos/assets",
35
+ ""
36
+ ]
30
37
  }
31
38
  }