@flopay/shared 1.11.3 → 1.11.5

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var pr=Object.create;var T=Object.defineProperty;var mr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var gr=Object.getPrototypeOf,Er=Object.prototype.hasOwnProperty;var fr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},be=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yr(t))!Er.call(e,o)&&o!==r&&T(e,o,{get:()=>t[o],enumerable:!(n=mr(t,o))||n.enumerable});return e};var Cr=(e,t,r)=>(r=e!=null?pr(gr(e)):{},be(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),Tr=e=>be(T({},"__esModule",{value:!0}),e);var Un={};fr(Un,{ASYNC_AUTO_CHECKOUT_CAPABILITY:()=>He,BILLING_API_URL:()=>Je,BILLING_API_URL_PRODUCTION:()=>G,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>q,BOLD_LIGHT_APPEARANCE:()=>H,BUTTONS_LAYOUT_BOLD_DARK:()=>F,BUTTONS_LAYOUT_BOLD_LIGHT:()=>_,BUTTONS_LAYOUT_DARK:()=>J,BUTTONS_LAYOUT_DEFAULT:()=>Z,BUTTONS_LAYOUT_GLASS_DARK:()=>I,BUTTONS_LAYOUT_GLASS_LIGHT:()=>P,BUTTONS_LAYOUT_MINIMAL:()=>$,BUTTONS_LAYOUT_MODERN_DARK:()=>A,BUTTONS_LAYOUT_MODERN_LIGHT:()=>x,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>se,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE:()=>$e,COUNTRY_OPTIONS:()=>oe,CURRENCY_MAP:()=>R,DEFAULT_API_BASE_URL:()=>Xe,DEFAULT_API_VERSION:()=>et,DEFAULT_APPEARANCE:()=>Y,DEFAULT_CURRENCY:()=>M,FLAT_APPEARANCE:()=>tt,FLO_INSTRUMENT_CATALOG:()=>kt,FLO_INSTRUMENT_SCHEMA_VERSION:()=>Mt,FLO_SDK_CAPABILITIES_HEADER:()=>ze,FLO_SDK_VERSION_HEADER:()=>Ke,FloPayError:()=>d,GLASS_DARK_APPEARANCE:()=>j,GLASS_LIGHT_APPEARANCE:()=>W,IDEMPOTENCY_IN_PROGRESS_CODE:()=>It,IDEMPOTENCY_KEY_HEADER:()=>Pt,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>z,MODERN_LIGHT_APPEARANCE:()=>K,NIGHT_APPEARANCE:()=>rt,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>We,SAVED_PAYMENT_METHOD_FAMILIES:()=>Ut,SAVED_PAYMENT_METHOD_LIST_TYPES:()=>Vt,SAVED_PAYMENT_METHOD_TYPES:()=>wt,SDK_VERSION:()=>Ye,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE:()=>je,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE:()=>Ze,STRIPE_EXPRESS_METHODS:()=>ee,STRIPE_METHOD_AMOUNT_LIMITS:()=>ne,STRIPE_METHOD_COUNTRIES:()=>re,STRIPE_METHOD_CURRENCIES:()=>te,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>gt,TELEMETRY_ERROR_CODES:()=>le,TELEMETRY_FAILURE_CATEGORIES:()=>pe,TELEMETRY_LOG_NAMES:()=>me,TELEMETRY_MAX_BATCH_BYTES:()=>Ht,TELEMETRY_MAX_BATCH_EVENTS:()=>qt,TELEMETRY_SCHEMA_VERSION:()=>zt,TELEMETRY_SDK_PACKAGES:()=>ce,THEMES:()=>Q,THREE_DS_CHALLENGE_WINDOW_MS:()=>qe,US_STATES:()=>ie,UUID_V4:()=>B,apiError:()=>Pe,assertCaptureMethodEligible:()=>ke,authenticationError:()=>Ie,buildCheckoutDisplayData:()=>xt,buildItemPayload:()=>Le,buildProductPayload:()=>Oe,buildSubscriptionPayload:()=>ve,buildTelemetryErrorEvent:()=>ge,buildTelemetryLogEvent:()=>Ee,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>fe,classifyPaymentRejection:()=>$t,classifyTelemetryFailure:()=>Xt,configureFlopay:()=>De,dropThirdPartyOnlyError:()=>Kt,filterStripeMethodsByAmount:()=>mt,filterStripeMethodsByCountry:()=>pt,filterStripeMethodsByCurrency:()=>lt,foldIntoProducts:()=>w,generateIdempotencyKey:()=>ue,getConfiguredBillingApiUrl:()=>b,getCountryByCode:()=>Ct,getCurrencyByCountry:()=>tr,getFloPayEnvironment:()=>Be,getPostalCodeExample:()=>Bt,getPostalCodeLabel:()=>Et,getStateFromPostalCode:()=>Nt,getStateLabel:()=>bt,getStateOptions:()=>ht,getStripeMethodDisplayName:()=>ut,hasVendoredStripeMethodLogo:()=>st,isAVSEnabled:()=>St,isAVSFieldVisible:()=>Tt,isAuthorizationOnlySession:()=>xe,isCardHolderNamePlaceholder:()=>ar,isCardSetupCheckoutSession:()=>S,isDetachedSessionEligible:()=>Ne,isMoneySettledOutcome:()=>Ae,isPostalCodeSupported:()=>vt,isSetupCheckoutSession:()=>Gt,isSetupIntentClientSecret:()=>or,isUuidV4:()=>Qt,isValidEmail:()=>_t,isValidPostalCode:()=>Dt,isValidPublishableKey:()=>rr,isValidSecretKey:()=>nr,needsStripeMethodExplicitConfirm:()=>dt,networkError:()=>Me,normalizeCheckoutFailureOutcome:()=>_e,normalizeGatewayEnvironment:()=>Jt,partitionStripeMethods:()=>yt,randomUuidV4:()=>er,rateLimitError:()=>Re,resolveAVSConfig:()=>ae,resolveBillingApiUrl:()=>Qe,resolveButtonsLayoutTheme:()=>nt,resolveIdempotencyKey:()=>Rt,resolveSessionCurrency:()=>h,resolveSetupFutureUsage:()=>Ft,resolveStripeMethodBrandVariant:()=>ct,resolveTheme:()=>ot,serializeTelemetryBatch:()=>Zt,stripeExpressMethodToOptionKey:()=>at,telemetryStatusClass:()=>D,validationError:()=>Fe});module.exports=Tr(Un);function S(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function xe(e){return e?.captureMethod==="manual"}function Ae(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function _e(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var d=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Fe(e,t){return new d(e,"validation_error",{param:t})}function Pe(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function Ie(e){return new d(e,"authentication_error")}function Re(e){return new d(e,"rate_limit_error")}function Me(e){return new d(e,"network_error")}function ke(e){if(!(e.captureMethod!=="manual"||!(e.products??w(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new d("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function Ne(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function h(e,t,r,n){let o=a(e);if(o)return o;for(let i of t??[]){let s=a(i.currency);if(s)return s}for(let i of r??[]){let s=a(i.currency);if(s)return s}for(let i of n??[]){let s=a(i.currency);if(s)return s}return null}function w(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function Oe(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Le(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function ve(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var Sr={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},V="staging";function De(e){V=e.environment}function b(){return Sr[V]}function Be(){return V}var Ue=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var Ye="1.11.3",Ke="x-flo-sdk-version",ze="x-flo-sdk-capabilities",He="async-auto-checkout-v1",qe=3e5,We="paypal_vaulted",je="stored_payment_method_unsupported",Ze="This saved payment method can\u2019t be used for this payment. Choose another payment method.",$e="We\u2019re still confirming your payment. Please don\u2019t pay again.",E="https://api.stage.flopay.com",G="https://api.flopay.com",Xe=E,Je=E;function Qe(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?G:E:b())}var et="2024-01-01",Y={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},tt={theme:"flat",variables:{...Y.variables,borderRadius:"4px"}},rt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},K={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},z={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},H={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},W={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},j={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},Z={},$={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},X={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},J={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},x={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},A={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},_={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},F={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},P={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},I={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function nt(e){switch(e){case"minimal":return $;case"rounded":return X;case"dark":return J;case"modern-light":return x;case"modern-dark":return A;case"bold-light":return _;case"bold-dark":return F;case"glass-light":return P;case"glass-dark":return I;default:return Z}}var Q={"modern-light":{appearance:K,buttonsLayout:x},"modern-dark":{appearance:z,buttonsLayout:A},"bold-light":{appearance:H,buttonsLayout:_},"bold-dark":{appearance:q,buttonsLayout:F},"glass-light":{appearance:W,buttonsLayout:P},"glass-dark":{appearance:j,buttonsLayout:I}};function ot(e){if(!(!e||e==="classic"))return Q[e]}function at(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function hr(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function we(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function Ve(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:hr(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:Ve(e,t,r),dark:Ve(e,n,o,i)}}var it=["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","CH","GB","MC","SM","AD","VA"],br=[...it,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:br,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:we("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:we("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:it,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function st(e){return Ue.includes(e)}var ee=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),xr=new Set(ee),te=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ut(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function dt(e){return y[e]?.needsExplicitConfirm!==!1}function ct(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function lt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=te[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function pt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=re[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var ne=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function mt(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=ne[o];if(!i)return!0;let s=i[n];return s?!(typeof s.min=="number"&&r<s.min||typeof s.max=="number"&&r>s.max):!0}):[...e]}function yt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let s of e){if(typeof s!="string")continue;let p=s.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(xr.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var gt=["visa","mastercard","mastercard_debit","amex","discover"],R={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},M={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function Et(e){switch(e.toUpperCase()){case"US":return"ZIP Code";case"GB":return"Postcode";case"CA":return"Postal Code";case"AU":case"NZ":return"Postcode";case"IE":return"Eircode";default:return"Postal Code"}}var Ar=new Intl.DisplayNames(["en"],{type:"region"});function _r(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var ft=["US","GB","CA","AU","NZ","IE","DE","FR"],Fr=["AD","AE","AF","AG","AL","AM","AO","AR","AT","AU","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CL","CM","CN","CO","CR","CU","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FM","FR","GA","GB","GD","GE","GH","GM","GN","GQ","GR","GT","GW","GY","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MM","MN","MR","MT","MU","MV","MW","MX","MY","MZ","NA","NE","NG","NI","NL","NO","NP","NR","NZ","OM","PA","PE","PG","PH","PK","PL","PT","PW","PY","QA","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SI","SK","SL","SM","SN","SO","SR","SS","ST","SV","SY","SZ","TD","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VN","VU","WS","XK","YE","ZA","ZM","ZW"];function Ge(e){return{code:e,name:Ar.of(e)??e,flag:_r(e)}}var Pr=new Set(ft),Ir=Fr.filter(e=>!Pr.has(e)),oe=[...ft.map(Ge),...Ir.map(Ge)];function Ct(e){return oe.find(t=>t.code===e)}var Rr={country:!0,postal_code:!0};function ae(e){return e===!0?Rr:e||null}function Tt(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function St(e){let t=ae(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ie=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],se=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function ht(e){switch(e.toUpperCase()){case"US":return ie;case"CA":return se;default:return null}}function bt(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function xt(e,t={}){let r=[],n=e.products??[],o=n.filter(u=>u.type==="subscription"),i=n.filter(u=>u.type!=="subscription"),p=(h(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let u of o){let m=u.totalAmount??0,C=u.overrideAmount??m,U=u.name||u.code||"Subscription";U==="4-WEEK PLAN"&&C<=1&&(U="7-DAY TRIAL: FULL ACCESS"),r.push({name:U,quantity:u.quantity,price:C,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let u of i){let m=u.totalAmount??0,C=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:C,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let ir=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),sr=r.reduce((u,m)=>u+m.price*m.quantity,0),ur=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),dr=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),cr=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Se=ur?e.totalAmount:sr,f=dr?e.subtotalAmount:ir,he=Math.max(0,f-Se),lr=f>0?Math.round(he/f*100):0;return{items:r,currency:p,total:Se,originalTotal:f,totalSave:he,discountPercent:lr,...cr?{couponDiscount:e.discountAmount}:{}}}var Mr=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,kr=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Nr=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Or=/^[a-z\u00a1-\uffff0-9-]+$/i;function At(e){return encodeURI(e).split(/%..|./).length-1}function Lr(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Nr.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&Or.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function _t(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return At(n)>64||At(r)>254||!Lr(r)?!1:n.startsWith('"')&&n.endsWith('"')?kr.test(n.slice(1,-1)):n.split(".").every(o=>Mr.test(o))}var vr=new Set(["revolut_pay","sepa_debit","us_bank_account"]);function Dr(e){return e==="on_session"||e==="off_session"}function Ft(e,t,r){let n=typeof t=="string"?[t]:t,o=e?.futureUse;if(Dr(o)){let i=e?.futureUseUnsupported??[];return n.some(p=>i.some(Te=>Te.paymentMethodType===p))?void 0:o}switch(r){case"wallet":case"paypal":return"off_session";case"inline_apm":return n.length>0&&n.every(i=>vr.has(i))?"off_session":void 0;default:return}}var Pt="Idempotency-Key",k=255,It="IdempotencyKeyInProgress";function Br(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ue(){let e=Br();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Rt(e){if(e===void 0)return ue();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>k)throw new d(`idempotencyKey must be at most ${k} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Mt=1,kt=[{name:"checkout_mount"},{name:"sdk_loaded"},{name:"form_rendered"},{name:"card_expanded"},{name:"tokenize"},{name:"process_attempt"},{name:"3ds_challenge"},{name:"checkout_error",phase:"session_create"},{name:"checkout_error",phase:"sdk_load"},{name:"checkout_error",phase:"process"},{name:"checkout_error",phase:"wallets"}];var Ur=[[5,5,"NY"],[10,27,"MA"],[28,29,"RI"],[30,38,"NH"],[39,49,"ME"],[50,59,"VT"],[60,69,"CT"],[70,89,"NJ"],[100,149,"NY"],[150,196,"PA"],[197,199,"DE"],[200,205,"DC"],[206,219,"MD"],[220,246,"VA"],[247,268,"WV"],[270,289,"NC"],[290,299,"SC"],[300,319,"GA"],[320,349,"FL"],[350,369,"AL"],[370,385,"TN"],[386,397,"MS"],[398,399,"GA"],[400,427,"KY"],[430,459,"OH"],[460,479,"IN"],[480,499,"MI"],[500,528,"IA"],[530,549,"WI"],[550,567,"MN"],[570,577,"SD"],[580,588,"ND"],[590,599,"MT"],[600,629,"IL"],[630,658,"MO"],[660,679,"KS"],[680,693,"NE"],[700,714,"LA"],[716,729,"AR"],[730,749,"OK"],[750,799,"TX"],[800,816,"CO"],[820,831,"WY"],[832,838,"ID"],[840,847,"UT"],[850,865,"AZ"],[870,884,"NM"],[889,898,"NV"],[900,961,"CA"],[967,968,"HI"],[970,979,"OR"],[980,994,"WA"],[995,999,"AK"]],wr={A:"NL",B:"NS",C:"PE",E:"NB",G:"QC",H:"QC",J:"QC",K:"ON",L:"ON",M:"ON",N:"ON",P:"ON",R:"MB",S:"SK",T:"AB",V:"BC",X:"NT",Y:"YT"};function Vr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of Ur)if(r>=n&&r<=o)return i;return null}function Gr(e){let t=e.replace(/\s+/g,"").toUpperCase();if(!/^[A-Z]\d[A-Z]\d[A-Z]\d$/.test(t))return null;let r=t[0]??"";return wr[r]??null}function Nt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return Vr(n);case"CA":return Gr(n);default:return null}}var Yr=Cr(require("validator/lib/isPostalCode.js"),1),N=Yr,Ot=typeof N.default=="function"?N.default:N.default?.default;if(typeof Ot!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Lt=new Set(N.locales.map(e=>e.toUpperCase())),Kr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function de(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Kr[t]??null:null}var zr={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function vt(e){let t=de(e);return t!==null&&Lt.has(t)}function Dt(e,t){let r=(t??"").trim();if(!r)return!0;let n=de(e);if(n===null||!Lt.has(n))return!0;try{return Ot(r,n)}catch{return!0}}function Bt(e){let t=de(e);return t?zr[t]:void 0}var Ut=["card","wallet","paypal","apm"],wt=["card","wallet","paypal","apm"],Vt=["card","paypal","apple_pay","google_pay","sepa_debit","us_bank_account"];function Gt(e){return S(e)}var Hr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,qr=/^dahlia\/stripe$/i,Wr=/^(?:chrome|moz|safari-web)-extension:\/\//i,jr=/^@flopay(?:\/|$)/i;function Yt(e){return Hr.test(e)||Wr.test(e)}function Zr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&jr.test(e.module)||t.some(r=>!Yt(r))?"first-party":e.module!==void 0&&qr.test(e.module)||t.some(Yt)?"third-party-hosted":t.length===0?"injected":"first-party"}function Kt(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Zr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var zt=1,ce=["@flopay/shared","@flopay/js","@flopay/react"],Ht=32768,qt=20,$r=["stripe","paypal"],Xr=["card","wallet","paypal","apm","saved","unknown"],Jr=["apple_pay","google_pay"],Qr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],en=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],tn=["unknown","available","blocked"],rn=["popup","app_switch","redirect"],nn=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],on=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],le=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],pe=["server_error","transport_error","invalid_response","provider_runtime"],an=["authorization_declined","authentication_required","authorization_expired","capture_failed","deferred_contract_mismatch","intent_unexpected_state","invalid_request","confirmation_result_missing","confirmation_result_not_object","confirmation_result_unconfirmed","unknown"],me=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],sn=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],un=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],dn=["full","auto","confirm","setup","unknown"],cn=["embedded","buttons","automatic","unknown"],ln=["machine","buyer","total"],pn=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],ye=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,mn=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,yn=new Set(le),gn=new Set(pe),En=new Set(an),O=new Set(on),fn=new Set($r),Cn=new Set(Xr),Tn=new Set(Jr),Sn=new Set(Qr),hn=new Set(en),bn=new Set(tn),xn=new Set(rn),An=new Set(nn),_n=new Set(me),Fn=new Set(dn),Pn=new Set(cn),In=new Set(sn),Rn=new Set(un),Mn=new Set(ln),kn=new Set(pn),Nn=new Set(ce),Wt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function On(){try{let r=globalThis.crypto.randomUUID();if(ye.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&ye.test(e)?e:On()}function Ln(e){return typeof e=="string"&&ye.test(e)?e:void 0}function vn(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function L(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function jt(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Wt)}function Dn(e){return Number.isFinite(e)&&e>Wt}function v(e,t){let r=vn(t.attempt);return t.provider&&fn.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,Rn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,In,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Cn,"unknown")),t.walletType&&Tn.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&Sn.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Fn,"unknown")),t.layout&&(e.layout=l(t.layout,Pn,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&hn.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&bn.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&xn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&An.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ge(e){let t=v({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,yn,"INTERNAL_SDK_ERROR"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e);if(e.failureCategory&&gn.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,En,"unknown")),e.stage!=="provider_confirmation"){let r=Ln(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=jt(e.durationMs)),t}function Ee(e){return v({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,_n,"operation.retry"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e)}function fe(e){let t={...e,stage:e.stage??"completion"};return v({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,kn,"customer_abandoned"),stage:l(e.stage,O,"completion"),sequence:L(e.sequence)},t)}function Ce(e){let t=v({eventId:g(e.eventId),class:"performance",stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence),durationMs:jt(e.durationMs),durationMode:l(e.durationMode,Mn,"machine")},e);return(e.durationTruncated===!0||Dn(e.durationMs))&&(t.durationTruncated=!0),t}function Zt(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[ge({...o,errorCode:o.code})]:o.class==="lifecycle"?[Ee(o)]:o.class==="expected_outcome"?[fe(o)]:o.class==="performance"?[Ce(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Nn,"@flopay/shared"),version:mn.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var Bn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function $t(e,t){if(e===422)return"validation_rejected";if(e===400&&!(t===null||typeof t!="object"||Array.isArray(t)))return Array.isArray(t.fields)?"validation_rejected":"payment_declined"}function Xt(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&Bn.has(e.code))return{errorCode:t,statusClass:D(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=D(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function D(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function Jt(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var B=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Qt(e){return typeof e=="string"&&B.test(e)}function er(){try{let r=globalThis.crypto.randomUUID();if(B.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function tr(e){return R[e.toUpperCase()]??M}function rr(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function nr(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function or(e){return typeof e=="string"&&e.startsWith("seti_")}function ar(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}0&&(module.exports={ASYNC_AUTO_CHECKOUT_CAPABILITY,BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_CAPABILITIES_HEADER,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SAVED_PAYMENT_METHOD_FAMILIES,SAVED_PAYMENT_METHOD_LIST_TYPES,SAVED_PAYMENT_METHOD_TYPES,SDK_VERSION,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,THREE_DS_CHALLENGE_WINDOW_MS,US_STATES,UUID_V4,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,isSetupCheckoutSession,isSetupIntentClientSecret,isUuidV4,isValidEmail,isValidPostalCode,isValidPublishableKey,isValidSecretKey,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveSetupFutureUsage,resolveStripeMethodBrandVariant,resolveTheme,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
1
+ "use strict";var Er=Object.create;var T=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var Cr=Object.getOwnPropertyNames;var Tr=Object.getPrototypeOf,Sr=Object.prototype.hasOwnProperty;var hr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},_e=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cr(t))!Sr.call(e,o)&&o!==r&&T(e,o,{get:()=>t[o],enumerable:!(n=fr(t,o))||n.enumerable});return e};var br=(e,t,r)=>(r=e!=null?Er(Tr(e)):{},_e(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),xr=e=>_e(T({},"__esModule",{value:!0}),e);var zn={};hr(zn,{ASYNC_AUTO_CHECKOUT_CAPABILITY:()=>je,BILLING_API_URL:()=>tt,BILLING_API_URL_PRODUCTION:()=>K,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>j,BOLD_LIGHT_APPEARANCE:()=>W,BUTTONS_LAYOUT_BOLD_DARK:()=>P,BUTTONS_LAYOUT_BOLD_LIGHT:()=>F,BUTTONS_LAYOUT_DARK:()=>ee,BUTTONS_LAYOUT_DEFAULT:()=>X,BUTTONS_LAYOUT_GLASS_DARK:()=>R,BUTTONS_LAYOUT_GLASS_LIGHT:()=>I,BUTTONS_LAYOUT_MINIMAL:()=>J,BUTTONS_LAYOUT_MODERN_DARK:()=>_,BUTTONS_LAYOUT_MODERN_LIGHT:()=>A,BUTTONS_LAYOUT_ROUNDED:()=>Q,CA_PROVINCES:()=>de,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE:()=>Qe,COUNTRY_OPTIONS:()=>ie,CURRENCY_MAP:()=>M,DEFAULT_API_BASE_URL:()=>et,DEFAULT_API_VERSION:()=>rt,DEFAULT_APPEARANCE:()=>H,DEFAULT_CURRENCY:()=>k,FLAT_APPEARANCE:()=>nt,FLO_INSTRUMENT_CATALOG:()=>Nt,FLO_INSTRUMENT_SCHEMA_VERSION:()=>Ot,FLO_SDK_CAPABILITIES_HEADER:()=>We,FLO_SDK_VERSION_HEADER:()=>qe,FloPayError:()=>d,GLASS_DARK_APPEARANCE:()=>$,GLASS_LIGHT_APPEARANCE:()=>Z,IDEMPOTENCY_IN_PROGRESS_CODE:()=>Mt,IDEMPOTENCY_KEY_HEADER:()=>Rt,MAX_IDEMPOTENCY_KEY_LENGTH:()=>O,MODERN_DARK_APPEARANCE:()=>q,MODERN_LIGHT_APPEARANCE:()=>z,NIGHT_APPEARANCE:()=>ot,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>$e,SAVED_PAYMENT_METHOD_FAMILIES:()=>Vt,SAVED_PAYMENT_METHOD_LIST_TYPES:()=>Yt,SAVED_PAYMENT_METHOD_TYPES:()=>Gt,SDK_VERSION:()=>ze,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE:()=>Xe,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE:()=>Je,STRIPE_EXPRESS_METHODS:()=>re,STRIPE_METHOD_AMOUNT_LIMITS:()=>ae,STRIPE_METHOD_COUNTRIES:()=>oe,STRIPE_METHOD_CURRENCIES:()=>ne,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>ft,TELEMETRY_ERROR_CODES:()=>me,TELEMETRY_FAILURE_CATEGORIES:()=>ye,TELEMETRY_LOG_NAMES:()=>ge,TELEMETRY_MAX_BATCH_BYTES:()=>Wt,TELEMETRY_MAX_BATCH_EVENTS:()=>jt,TELEMETRY_SCHEMA_VERSION:()=>qt,TELEMETRY_SDK_PACKAGES:()=>pe,THEMES:()=>te,THREE_DS_CHALLENGE_WINDOW_MS:()=>Ze,US_STATES:()=>ue,UUID_V4:()=>U,VAULT_CAPTURE_FORM_PATH:()=>he,apiError:()=>Me,assertCaptureMethodEligible:()=>Le,authenticationError:()=>ke,buildCheckoutDisplayData:()=>_t,buildItemPayload:()=>Be,buildProductPayload:()=>De,buildSubscriptionPayload:()=>Ue,buildTelemetryErrorEvent:()=>fe,buildTelemetryLogEvent:()=>Ce,buildTelemetryPerformanceEvent:()=>Se,buildTelemetryTerminalEvent:()=>Te,classifyPaymentRejection:()=>Jt,classifyTelemetryFailure:()=>Qt,configureFlopay:()=>we,dropThirdPartyOnlyError:()=>zt,filterStripeMethodsByAmount:()=>gt,filterStripeMethodsByCountry:()=>yt,filterStripeMethodsByCurrency:()=>mt,foldIntoProducts:()=>G,generateIdempotencyKey:()=>ce,getConfiguredBillingApiUrl:()=>b,getCountryByCode:()=>St,getCurrencyByCountry:()=>nr,getFloPayEnvironment:()=>Ve,getPostalCodeExample:()=>wt,getPostalCodeLabel:()=>Ct,getStateFromPostalCode:()=>Lt,getStateLabel:()=>At,getStateOptions:()=>xt,getStripeMethodDisplayName:()=>ct,hasVendoredStripeMethodLogo:()=>dt,isAVSEnabled:()=>bt,isAVSFieldVisible:()=>ht,isAuthorizationOnlySession:()=>Fe,isCardHolderNamePlaceholder:()=>sr,isCardSetupCheckoutSession:()=>S,isDetachedSessionEligible:()=>ve,isMoneySettledOutcome:()=>Pe,isMountableVaultBlock:()=>ur,isPostalCodeSupported:()=>Bt,isSetupCheckoutSession:()=>Kt,isSetupIntentClientSecret:()=>ir,isUuidV4:()=>tr,isValidEmail:()=>Pt,isValidPostalCode:()=>Ut,isValidPublishableKey:()=>or,isValidSecretKey:()=>ar,isVaultVerificationRequired:()=>w,needsStripeMethodExplicitConfirm:()=>lt,networkError:()=>Ne,normalizeCheckoutFailureOutcome:()=>Ie,normalizeGatewayEnvironment:()=>er,partitionStripeMethods:()=>Et,randomUuidV4:()=>rr,rateLimitError:()=>Oe,resolveAVSConfig:()=>se,resolveBillingApiUrl:()=>x,resolveButtonsLayoutTheme:()=>at,resolveIdempotencyKey:()=>kt,resolveSessionCurrency:()=>h,resolveSetupFutureUsage:()=>It,resolveStripeMethodBrandVariant:()=>pt,resolveTheme:()=>it,resolveVaultMountOptions:()=>dr,serializeTelemetryBatch:()=>Xt,stripeExpressMethodToOptionKey:()=>st,telemetryStatusClass:()=>B,validationError:()=>Re});module.exports=xr(zn);function S(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Fe(e){return e?.captureMethod==="manual"}function Pe(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ie(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var d=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Re(e,t){return new d(e,"validation_error",{param:t})}function Me(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function ke(e){return new d(e,"authentication_error")}function Oe(e){return new d(e,"rate_limit_error")}function Ne(e){return new d(e,"network_error")}function Le(e){if(!(e.captureMethod!=="manual"||!(e.products??G(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new d("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function ve(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function h(e,t,r,n){let o=a(e);if(o)return o;for(let i of t??[]){let s=a(i.currency);if(s)return s}for(let i of r??[]){let s=a(i.currency);if(s)return s}for(let i of n??[]){let s=a(i.currency);if(s)return s}return null}function G(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function De(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Be(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Ue(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var Ar={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},Y="staging";function we(e){Y=e.environment}function b(){return Ar[Y]}function Ve(){return Y}var Ge=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var ze="1.11.5",qe="x-flo-sdk-version",We="x-flo-sdk-capabilities",je="async-auto-checkout-v1",Ze=3e5,$e="paypal_vaulted",Xe="stored_payment_method_unsupported",Je="This saved payment method can\u2019t be used for this payment. Choose another payment method.",Qe="We\u2019re still confirming your payment. Please don\u2019t pay again.",E="https://api.stage.flopay.com",K="https://api.flopay.com",et=E,tt=E;function x(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?K:E:b())}var rt="2024-01-01",H={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},nt={theme:"flat",variables:{...H.variables,borderRadius:"4px"}},ot={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},z={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},W={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},j={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},Z={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},$={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},X={},J={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},Q={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},ee={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},A={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},_={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},F={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},P={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},I={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},R={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function at(e){switch(e){case"minimal":return J;case"rounded":return Q;case"dark":return ee;case"modern-light":return A;case"modern-dark":return _;case"bold-light":return F;case"bold-dark":return P;case"glass-light":return I;case"glass-dark":return R;default:return X}}var te={"modern-light":{appearance:z,buttonsLayout:A},"modern-dark":{appearance:q,buttonsLayout:_},"bold-light":{appearance:W,buttonsLayout:F},"bold-dark":{appearance:j,buttonsLayout:P},"glass-light":{appearance:Z,buttonsLayout:I},"glass-dark":{appearance:$,buttonsLayout:R}};function it(e){if(!(!e||e==="classic"))return te[e]}function st(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function _r(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function Ye(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function Ke(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:_r(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:Ke(e,t,r),dark:Ke(e,n,o,i)}}var ut=["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","CH","GB","MC","SM","AD","VA"],Fr=[...ut,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:Fr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Ye("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Ye("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:ut,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function dt(e){return Ge.includes(e)}var re=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),Pr=new Set(re),ne=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),oe=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ct(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function lt(e){return y[e]?.needsExplicitConfirm!==!1}function pt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function mt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ne[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function yt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=oe[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var ae=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function gt(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=ae[o];if(!i)return!0;let s=i[n];return s?!(typeof s.min=="number"&&r<s.min||typeof s.max=="number"&&r>s.max):!0}):[...e]}function Et(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let s of e){if(typeof s!="string")continue;let p=s.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(Pr.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var ft=["visa","mastercard","mastercard_debit","amex","discover"],M={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},k={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function Ct(e){switch(e.toUpperCase()){case"US":return"ZIP Code";case"GB":return"Postcode";case"CA":return"Postal Code";case"AU":case"NZ":return"Postcode";case"IE":return"Eircode";default:return"Postal Code"}}var Ir=new Intl.DisplayNames(["en"],{type:"region"});function Rr(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var Tt=["US","GB","CA","AU","NZ","IE","DE","FR"],Mr=["AD","AE","AF","AG","AL","AM","AO","AR","AT","AU","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CL","CM","CN","CO","CR","CU","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FM","FR","GA","GB","GD","GE","GH","GM","GN","GQ","GR","GT","GW","GY","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MM","MN","MR","MT","MU","MV","MW","MX","MY","MZ","NA","NE","NG","NI","NL","NO","NP","NR","NZ","OM","PA","PE","PG","PH","PK","PL","PT","PW","PY","QA","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SI","SK","SL","SM","SN","SO","SR","SS","ST","SV","SY","SZ","TD","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VN","VU","WS","XK","YE","ZA","ZM","ZW"];function He(e){return{code:e,name:Ir.of(e)??e,flag:Rr(e)}}var kr=new Set(Tt),Or=Mr.filter(e=>!kr.has(e)),ie=[...Tt.map(He),...Or.map(He)];function St(e){return ie.find(t=>t.code===e)}var Nr={country:!0,postal_code:!0};function se(e){return e===!0?Nr:e||null}function ht(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function bt(e){let t=se(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ue=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],de=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function xt(e){switch(e.toUpperCase()){case"US":return ue;case"CA":return de;default:return null}}function At(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function _t(e,t={}){let r=[],n=e.products??[],o=n.filter(u=>u.type==="subscription"),i=n.filter(u=>u.type!=="subscription"),p=(h(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let u of o){let m=u.totalAmount??0,C=u.overrideAmount??m,V=u.name||u.code||"Subscription";V==="4-WEEK PLAN"&&C<=1&&(V="7-DAY TRIAL: FULL ACCESS"),r.push({name:V,quantity:u.quantity,price:C,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let u of i){let m=u.totalAmount??0,C=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:C,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let cr=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),lr=r.reduce((u,m)=>u+m.price*m.quantity,0),pr=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),mr=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),yr=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),xe=pr?e.totalAmount:lr,f=mr?e.subtotalAmount:cr,Ae=Math.max(0,f-xe),gr=f>0?Math.round(Ae/f*100):0;return{items:r,currency:p,total:xe,originalTotal:f,totalSave:Ae,discountPercent:gr,...yr?{couponDiscount:e.discountAmount}:{}}}var Lr=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,vr=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Dr=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Br=/^[a-z\u00a1-\uffff0-9-]+$/i;function Ft(e){return encodeURI(e).split(/%..|./).length-1}function Ur(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Dr.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&Br.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function Pt(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return Ft(n)>64||Ft(r)>254||!Ur(r)?!1:n.startsWith('"')&&n.endsWith('"')?vr.test(n.slice(1,-1)):n.split(".").every(o=>Lr.test(o))}var wr=new Set(["revolut_pay","sepa_debit","us_bank_account"]);function Vr(e){return e==="on_session"||e==="off_session"}function It(e,t,r){let n=typeof t=="string"?[t]:t,o=e?.futureUse;if(Vr(o)){let i=e?.futureUseUnsupported??[];return n.some(p=>i.some(be=>be.paymentMethodType===p))?void 0:o}switch(r){case"wallet":case"paypal":return"off_session";case"inline_apm":return n.length>0&&n.every(i=>wr.has(i))?"off_session":void 0;default:return}}var Rt="Idempotency-Key",O=255,Mt="IdempotencyKeyInProgress";function Gr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ce(){let e=Gr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function kt(e){if(e===void 0)return ce();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>O)throw new d(`idempotencyKey must be at most ${O} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Ot=1,Nt=[{name:"checkout_mount"},{name:"sdk_loaded"},{name:"form_rendered"},{name:"card_expanded"},{name:"tokenize"},{name:"process_attempt"},{name:"3ds_challenge"},{name:"checkout_error",phase:"session_create"},{name:"checkout_error",phase:"sdk_load"},{name:"checkout_error",phase:"process"},{name:"checkout_error",phase:"wallets"}];var Yr=[[5,5,"NY"],[10,27,"MA"],[28,29,"RI"],[30,38,"NH"],[39,49,"ME"],[50,59,"VT"],[60,69,"CT"],[70,89,"NJ"],[100,149,"NY"],[150,196,"PA"],[197,199,"DE"],[200,205,"DC"],[206,219,"MD"],[220,246,"VA"],[247,268,"WV"],[270,289,"NC"],[290,299,"SC"],[300,319,"GA"],[320,349,"FL"],[350,369,"AL"],[370,385,"TN"],[386,397,"MS"],[398,399,"GA"],[400,427,"KY"],[430,459,"OH"],[460,479,"IN"],[480,499,"MI"],[500,528,"IA"],[530,549,"WI"],[550,567,"MN"],[570,577,"SD"],[580,588,"ND"],[590,599,"MT"],[600,629,"IL"],[630,658,"MO"],[660,679,"KS"],[680,693,"NE"],[700,714,"LA"],[716,729,"AR"],[730,749,"OK"],[750,799,"TX"],[800,816,"CO"],[820,831,"WY"],[832,838,"ID"],[840,847,"UT"],[850,865,"AZ"],[870,884,"NM"],[889,898,"NV"],[900,961,"CA"],[967,968,"HI"],[970,979,"OR"],[980,994,"WA"],[995,999,"AK"]],Kr={A:"NL",B:"NS",C:"PE",E:"NB",G:"QC",H:"QC",J:"QC",K:"ON",L:"ON",M:"ON",N:"ON",P:"ON",R:"MB",S:"SK",T:"AB",V:"BC",X:"NT",Y:"YT"};function Hr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of Yr)if(r>=n&&r<=o)return i;return null}function zr(e){let t=e.replace(/\s+/g,"").toUpperCase();if(!/^[A-Z]\d[A-Z]\d[A-Z]\d$/.test(t))return null;let r=t[0]??"";return Kr[r]??null}function Lt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return Hr(n);case"CA":return zr(n);default:return null}}var qr=br(require("validator/lib/isPostalCode.js"),1),N=qr,vt=typeof N.default=="function"?N.default:N.default?.default;if(typeof vt!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Dt=new Set(N.locales.map(e=>e.toUpperCase())),Wr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function le(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Wr[t]??null:null}var jr={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function Bt(e){let t=le(e);return t!==null&&Dt.has(t)}function Ut(e,t){let r=(t??"").trim();if(!r)return!0;let n=le(e);if(n===null||!Dt.has(n))return!0;try{return vt(r,n)}catch{return!0}}function wt(e){let t=le(e);return t?jr[t]:void 0}var Vt=["card","wallet","paypal","apm"],Gt=["card","wallet","paypal","apm"],Yt=["card","paypal","apple_pay","google_pay","sepa_debit","us_bank_account"];function Kt(e){return S(e)}var Zr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,$r=/^dahlia\/stripe$/i,Xr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Jr=/^@flopay(?:\/|$)/i;function Ht(e){return Zr.test(e)||Xr.test(e)}function Qr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Jr.test(e.module)||t.some(r=>!Ht(r))?"first-party":e.module!==void 0&&$r.test(e.module)||t.some(Ht)?"third-party-hosted":t.length===0?"injected":"first-party"}function zt(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Qr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var qt=1,pe=["@flopay/shared","@flopay/js","@flopay/react"],Wt=32768,jt=20,en=["stripe","paypal"],tn=["card","wallet","paypal","apm","saved","unknown"],rn=["apple_pay","google_pay"],nn=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],on=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],an=["unknown","available","blocked"],sn=["popup","app_switch","redirect"],un=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],dn=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],me=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],ye=["server_error","transport_error","invalid_response","provider_runtime"],cn=["authorization_declined","authentication_required","authorization_expired","capture_failed","deferred_contract_mismatch","intent_unexpected_state","invalid_request","confirmation_result_missing","confirmation_result_not_object","confirmation_result_unconfirmed","unknown"],ge=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],ln=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],pn=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],mn=["full","auto","confirm","setup","unknown"],yn=["embedded","buttons","automatic","unknown"],gn=["machine","buyer","total"],En=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],Ee=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,fn=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Cn=new Set(me),Tn=new Set(ye),Sn=new Set(cn),L=new Set(dn),hn=new Set(en),bn=new Set(tn),xn=new Set(rn),An=new Set(nn),_n=new Set(on),Fn=new Set(an),Pn=new Set(sn),In=new Set(un),Rn=new Set(ge),Mn=new Set(mn),kn=new Set(yn),On=new Set(ln),Nn=new Set(pn),Ln=new Set(gn),vn=new Set(En),Dn=new Set(pe),Zt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function Bn(){try{let r=globalThis.crypto.randomUUID();if(Ee.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&Ee.test(e)?e:Bn()}function Un(e){return typeof e=="string"&&Ee.test(e)?e:void 0}function wn(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function v(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function $t(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Zt)}function Vn(e){return Number.isFinite(e)&&e>Zt}function D(e,t){let r=wn(t.attempt);return t.provider&&hn.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,Nn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,On,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,bn,"unknown")),t.walletType&&xn.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&An.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Mn,"unknown")),t.layout&&(e.layout=l(t.layout,kn,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&_n.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&Fn.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&Pn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&In.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function fe(e){let t=D({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Cn,"INTERNAL_SDK_ERROR"),stage:l(e.stage,L,"sdk_initialize"),sequence:v(e.sequence)},e);if(e.failureCategory&&Tn.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,Sn,"unknown")),e.stage!=="provider_confirmation"){let r=Un(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=$t(e.durationMs)),t}function Ce(e){return D({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Rn,"operation.retry"),stage:l(e.stage,L,"sdk_initialize"),sequence:v(e.sequence)},e)}function Te(e){let t={...e,stage:e.stage??"completion"};return D({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,vn,"customer_abandoned"),stage:l(e.stage,L,"completion"),sequence:v(e.sequence)},t)}function Se(e){let t=D({eventId:g(e.eventId),class:"performance",stage:l(e.stage,L,"sdk_initialize"),sequence:v(e.sequence),durationMs:$t(e.durationMs),durationMode:l(e.durationMode,Ln,"machine")},e);return(e.durationTruncated===!0||Vn(e.durationMs))&&(t.durationTruncated=!0),t}function Xt(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[fe({...o,errorCode:o.code})]:o.class==="lifecycle"?[Ce(o)]:o.class==="expected_outcome"?[Te(o)]:o.class==="performance"?[Se(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Dn,"@flopay/shared"),version:fn.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var Gn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Jt(e,t){if(e===422)return"validation_rejected";if(e===400&&!(t===null||typeof t!="object"||Array.isArray(t)))return Array.isArray(t.fields)?"validation_rejected":"payment_declined"}function Qt(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&Gn.has(e.code))return{errorCode:t,statusClass:B(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=B(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function B(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function er(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function tr(e){return typeof e=="string"&&U.test(e)}function rr(){try{let r=globalThis.crypto.randomUUID();if(U.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function nr(e){return M[e.toUpperCase()]??k}function or(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function ar(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function ir(e){return typeof e=="string"&&e.startsWith("seti_")}function sr(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}var he="/v1/vault/capture/form",Yn="Secure card details";function w(e){return e?.verification?.required===!0}function ur(e){return!!e?.html?.trim()||w(e)}function Kn(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Hn(e){if(!e.sessionId)return null;let t=x(e.billingApiUrl||void 0).replace(/\/+$/,""),r;try{r=new URL(`${t}${he}`)}catch{return null}return r.protocol!=="https:"&&r.protocol!=="http:"?null:(r.searchParams.set("session",e.sessionId),e.nonce&&r.searchParams.set("nonce",e.nonce),r)}function dr(e,t){if(!e)return null;let r=w(e),n=e.html?.trim()?e.html:void 0;if(n)return{html:n,...e.messageToken?{messageToken:e.messageToken}:{},...e.expectedOrigin?{expectedOrigin:e.expectedOrigin}:{},...r?{verificationRequired:!0}:{}};if(!r)return null;let o=Hn(t);return o?{html:`<iframe id="flopay_vault_form_iframe" title="${Yn}" src="${Kn(o.toString())}" allow="payment" style="border:0;width:100%;height:260px"></iframe>`,...e.messageToken?{messageToken:e.messageToken}:{},expectedOrigin:e.expectedOrigin||o.origin,verificationRequired:!0}:null}0&&(module.exports={ASYNC_AUTO_CHECKOUT_CAPABILITY,BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_CAPABILITIES_HEADER,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SAVED_PAYMENT_METHOD_FAMILIES,SAVED_PAYMENT_METHOD_LIST_TYPES,SAVED_PAYMENT_METHOD_TYPES,SDK_VERSION,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,THREE_DS_CHALLENGE_WINDOW_MS,US_STATES,UUID_V4,VAULT_CAPTURE_FORM_PATH,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isMountableVaultBlock,isPostalCodeSupported,isSetupCheckoutSession,isSetupIntentClientSecret,isUuidV4,isValidEmail,isValidPostalCode,isValidPublishableKey,isValidSecretKey,isVaultVerificationRequired,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveSetupFutureUsage,resolveStripeMethodBrandVariant,resolveTheme,resolveVaultMountOptions,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
package/dist/index.d.cts CHANGED
@@ -1046,6 +1046,17 @@ interface VaultCaptureBlock {
1046
1046
  * submit-label directive.
1047
1047
  */
1048
1048
  expectedOrigin?: string;
1049
+ /**
1050
+ * Verification descriptor the backend adds when a human check is required
1051
+ * before card capture. The SDK never renders the widget or reads `siteKey`.
1052
+ */
1053
+ verification?: {
1054
+ required: boolean;
1055
+ provider: 'turnstile';
1056
+ siteKey?: string;
1057
+ action?: string;
1058
+ cData?: string;
1059
+ };
1049
1060
  }
1050
1061
  /**
1051
1062
  * Lifecycle / outcome events emitted by a {@link CardCaptureAdapter}.
@@ -1215,6 +1226,14 @@ interface CardCaptureMountOptions {
1215
1226
  * nothing is sent if it was never given one.
1216
1227
  */
1217
1228
  submitLabel?: string | null;
1229
+ /**
1230
+ * The mounted form sits behind the backend's production human check (the
1231
+ * vault block's `verification.required`). An `error` the frame posts before
1232
+ * the buyer submits is then the check's own state (failed, expired or
1233
+ * unavailable) rather than a broken card form: it still reaches `error`
1234
+ * listeners, but is not reported as a vault load failure.
1235
+ */
1236
+ verificationRequired?: boolean;
1218
1237
  }
1219
1238
  /**
1220
1239
  * Merchant style values the SDK pushes into the hosted vault card form so it
@@ -2159,7 +2178,7 @@ declare function getConfiguredBillingApiUrl(): string;
2159
2178
  declare function getFloPayEnvironment(): FloPayEnvironment;
2160
2179
 
2161
2180
  /** Current SDK version. */
2162
- declare const SDK_VERSION = "1.11.3";
2181
+ declare const SDK_VERSION = "1.11.5";
2163
2182
  /**
2164
2183
  * HTTP header the SDK sends on checkout-session create/read requests so the
2165
2184
  * backend can observe compatibility. Version 1.4.9 is the first release that
@@ -2934,4 +2953,49 @@ declare function isSetupIntentClientSecret(clientSecret: string | null | undefin
2934
2953
  /** Treat the checkout's normalized fallback cardholder sentinel as absent. */
2935
2954
  declare function isCardHolderNamePlaceholder(...nameParts: Array<string | null | undefined>): boolean;
2936
2955
 
2937
- export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, type FutureUseSessionFields, type FutureUseSurface, type FutureUseUnsupportedMethod, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_FAMILIES, SAVED_PAYMENT_METHOD_LIST_TYPES, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodFamily, type SavedPaymentMethodListType, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveSetupFutureUsage, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
2956
+ /**
2957
+ * Production card-capture verification (TeamFloPay/backend#1920, sdk#414).
2958
+ *
2959
+ * While the backend enforces a human check before card capture, a vault block
2960
+ * may arrive as a verification descriptor (`verification.required`) instead of
2961
+ * a ready-to-inject `html` shell, and `POST …/vault/capture` answers
2962
+ * `403 verification_required`. Both are a mountable state: the SDK mounts the
2963
+ * billing API's hosted, credential-free form route, which runs the check inside
2964
+ * the card area and then loads the credentialed card form in the same frame.
2965
+ * The SDK never renders the challenge and never reads the descriptor's site
2966
+ * key, action or `cData`.
2967
+ */
2968
+ /** Path of the billing API's gated hosted card-form route. */
2969
+ declare const VAULT_CAPTURE_FORM_PATH = "/v1/vault/capture/form";
2970
+ /** True when the vault block says a human check guards card capture. */
2971
+ declare function isVaultVerificationRequired(block: VaultCaptureBlock | null | undefined): boolean;
2972
+ /**
2973
+ * True when the SDK can mount a card form from this block: either the shell
2974
+ * `html` the backend rendered, or a verification descriptor the SDK builds the
2975
+ * shell for. A block that is neither still needs the lazy recovery path.
2976
+ */
2977
+ declare function isMountableVaultBlock(block: VaultCaptureBlock | null | undefined): boolean;
2978
+ /** Session context a descriptor-built shell is addressed with. */
2979
+ interface VaultMountContext {
2980
+ /** Billing API base URL (the hosted form's origin). */
2981
+ billingApiUrl?: string;
2982
+ /** Checkout session the form is bound to. */
2983
+ sessionId?: string | null;
2984
+ /** Session nonce the gated form route authenticates the frame with. */
2985
+ nonce?: string | null;
2986
+ }
2987
+ /**
2988
+ * Resolve a vault block into the adapter's mount options.
2989
+ *
2990
+ * - A block with `html` mounts that html exactly as before (released adapters
2991
+ * and the backend's own shell keep working unchanged).
2992
+ * - A verification-required block without `html` mounts a credential-free
2993
+ * iframe shell pointing at the billing API's hosted form route for this
2994
+ * session. Its `expectedOrigin` defaults to the billing API origin, so a
2995
+ * same-window forged outcome is rejected, and the block's `messageToken` is
2996
+ * still enforced when present.
2997
+ * - Anything else returns `null` (nothing to mount).
2998
+ */
2999
+ declare function resolveVaultMountOptions(block: VaultCaptureBlock | null | undefined, context: VaultMountContext): CardCaptureMountOptions | null;
3000
+
3001
+ export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, type FutureUseSessionFields, type FutureUseSurface, type FutureUseUnsupportedMethod, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_FAMILIES, SAVED_PAYMENT_METHOD_LIST_TYPES, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodFamily, type SavedPaymentMethodListType, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, VAULT_CAPTURE_FORM_PATH, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultMountContext, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isMountableVaultBlock, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, isVaultVerificationRequired, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveSetupFutureUsage, resolveStripeMethodBrandVariant, resolveTheme, resolveVaultMountOptions, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
package/dist/index.d.ts CHANGED
@@ -1046,6 +1046,17 @@ interface VaultCaptureBlock {
1046
1046
  * submit-label directive.
1047
1047
  */
1048
1048
  expectedOrigin?: string;
1049
+ /**
1050
+ * Verification descriptor the backend adds when a human check is required
1051
+ * before card capture. The SDK never renders the widget or reads `siteKey`.
1052
+ */
1053
+ verification?: {
1054
+ required: boolean;
1055
+ provider: 'turnstile';
1056
+ siteKey?: string;
1057
+ action?: string;
1058
+ cData?: string;
1059
+ };
1049
1060
  }
1050
1061
  /**
1051
1062
  * Lifecycle / outcome events emitted by a {@link CardCaptureAdapter}.
@@ -1215,6 +1226,14 @@ interface CardCaptureMountOptions {
1215
1226
  * nothing is sent if it was never given one.
1216
1227
  */
1217
1228
  submitLabel?: string | null;
1229
+ /**
1230
+ * The mounted form sits behind the backend's production human check (the
1231
+ * vault block's `verification.required`). An `error` the frame posts before
1232
+ * the buyer submits is then the check's own state (failed, expired or
1233
+ * unavailable) rather than a broken card form: it still reaches `error`
1234
+ * listeners, but is not reported as a vault load failure.
1235
+ */
1236
+ verificationRequired?: boolean;
1218
1237
  }
1219
1238
  /**
1220
1239
  * Merchant style values the SDK pushes into the hosted vault card form so it
@@ -2159,7 +2178,7 @@ declare function getConfiguredBillingApiUrl(): string;
2159
2178
  declare function getFloPayEnvironment(): FloPayEnvironment;
2160
2179
 
2161
2180
  /** Current SDK version. */
2162
- declare const SDK_VERSION = "1.11.3";
2181
+ declare const SDK_VERSION = "1.11.5";
2163
2182
  /**
2164
2183
  * HTTP header the SDK sends on checkout-session create/read requests so the
2165
2184
  * backend can observe compatibility. Version 1.4.9 is the first release that
@@ -2934,4 +2953,49 @@ declare function isSetupIntentClientSecret(clientSecret: string | null | undefin
2934
2953
  /** Treat the checkout's normalized fallback cardholder sentinel as absent. */
2935
2954
  declare function isCardHolderNamePlaceholder(...nameParts: Array<string | null | undefined>): boolean;
2936
2955
 
2937
- export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, type FutureUseSessionFields, type FutureUseSurface, type FutureUseUnsupportedMethod, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_FAMILIES, SAVED_PAYMENT_METHOD_LIST_TYPES, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodFamily, type SavedPaymentMethodListType, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveSetupFutureUsage, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
2956
+ /**
2957
+ * Production card-capture verification (TeamFloPay/backend#1920, sdk#414).
2958
+ *
2959
+ * While the backend enforces a human check before card capture, a vault block
2960
+ * may arrive as a verification descriptor (`verification.required`) instead of
2961
+ * a ready-to-inject `html` shell, and `POST …/vault/capture` answers
2962
+ * `403 verification_required`. Both are a mountable state: the SDK mounts the
2963
+ * billing API's hosted, credential-free form route, which runs the check inside
2964
+ * the card area and then loads the credentialed card form in the same frame.
2965
+ * The SDK never renders the challenge and never reads the descriptor's site
2966
+ * key, action or `cData`.
2967
+ */
2968
+ /** Path of the billing API's gated hosted card-form route. */
2969
+ declare const VAULT_CAPTURE_FORM_PATH = "/v1/vault/capture/form";
2970
+ /** True when the vault block says a human check guards card capture. */
2971
+ declare function isVaultVerificationRequired(block: VaultCaptureBlock | null | undefined): boolean;
2972
+ /**
2973
+ * True when the SDK can mount a card form from this block: either the shell
2974
+ * `html` the backend rendered, or a verification descriptor the SDK builds the
2975
+ * shell for. A block that is neither still needs the lazy recovery path.
2976
+ */
2977
+ declare function isMountableVaultBlock(block: VaultCaptureBlock | null | undefined): boolean;
2978
+ /** Session context a descriptor-built shell is addressed with. */
2979
+ interface VaultMountContext {
2980
+ /** Billing API base URL (the hosted form's origin). */
2981
+ billingApiUrl?: string;
2982
+ /** Checkout session the form is bound to. */
2983
+ sessionId?: string | null;
2984
+ /** Session nonce the gated form route authenticates the frame with. */
2985
+ nonce?: string | null;
2986
+ }
2987
+ /**
2988
+ * Resolve a vault block into the adapter's mount options.
2989
+ *
2990
+ * - A block with `html` mounts that html exactly as before (released adapters
2991
+ * and the backend's own shell keep working unchanged).
2992
+ * - A verification-required block without `html` mounts a credential-free
2993
+ * iframe shell pointing at the billing API's hosted form route for this
2994
+ * session. Its `expectedOrigin` defaults to the billing API origin, so a
2995
+ * same-window forged outcome is rejected, and the block's `messageToken` is
2996
+ * still enforced when present.
2997
+ * - Anything else returns `null` (nothing to mount).
2998
+ */
2999
+ declare function resolveVaultMountOptions(block: VaultCaptureBlock | null | undefined, context: VaultMountContext): CardCaptureMountOptions | null;
3000
+
3001
+ export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, type FutureUseSessionFields, type FutureUseSurface, type FutureUseUnsupportedMethod, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_FAMILIES, SAVED_PAYMENT_METHOD_LIST_TYPES, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodFamily, type SavedPaymentMethodListType, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, VAULT_CAPTURE_FORM_PATH, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultMountContext, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isMountableVaultBlock, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, isVaultVerificationRequired, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveSetupFutureUsage, resolveStripeMethodBrandVariant, resolveTheme, resolveVaultMountOptions, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function A(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function we(e){return e?.captureMethod==="manual"}function Ve(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ge(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var d=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ye(e,t){return new d(e,"validation_error",{param:t})}function Ke(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function ze(e){return new d(e,"authentication_error")}function He(e){return new d(e,"rate_limit_error")}function qe(e){return new d(e,"network_error")}function We(e){if(!(e.captureMethod!=="manual"||!(e.products??z(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new d("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function je(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _(e,t,r,n){let o=a(e);if(o)return o;for(let i of t??[]){let s=a(i.currency);if(s)return s}for(let i of r??[]){let s=a(i.currency);if(s)return s}for(let i of n??[]){let s=a(i.currency);if(s)return s}return null}function z(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function Ze(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function $e(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Xe(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var Je={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},F="staging";function Qe(e){F=e.environment}function P(){return Je[F]}function et(){return F}var H=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var tt="1.11.3",rt="x-flo-sdk-version",nt="x-flo-sdk-capabilities",ot="async-auto-checkout-v1",at=3e5,it="paypal_vaulted",st="stored_payment_method_unsupported",ut="This saved payment method can\u2019t be used for this payment. Choose another payment method.",dt="We\u2019re still confirming your payment. Please don\u2019t pay again.",C="https://api.stage.flopay.com",Z="https://api.flopay.com",ct=C,lt=C;function pt(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?Z:C:P())}var mt="2024-01-01",$={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},yt={theme:"flat",variables:{...$.variables,borderRadius:"4px"}},gt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},X={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},J={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},Q={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},ee={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},te={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},re={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},ne={},oe={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},ae={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},ie={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},I={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},R={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},M={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},k={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},N={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},O={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function Et(e){switch(e){case"minimal":return oe;case"rounded":return ae;case"dark":return ie;case"modern-light":return I;case"modern-dark":return R;case"bold-light":return M;case"bold-dark":return k;case"glass-light":return N;case"glass-dark":return O;default:return ne}}var se={"modern-light":{appearance:X,buttonsLayout:I},"modern-dark":{appearance:J,buttonsLayout:R},"bold-light":{appearance:Q,buttonsLayout:M},"bold-dark":{appearance:ee,buttonsLayout:k},"glass-light":{appearance:te,buttonsLayout:N},"glass-dark":{appearance:re,buttonsLayout:O}};function ft(e){if(!(!e||e==="classic"))return se[e]}function Ct(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function Tt(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function q(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function W(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:Tt(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:W(e,t,r),dark:W(e,n,o,i)}}var ue=["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","CH","GB","MC","SM","AD","VA"],St=[...ue,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:St,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:q("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:q("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:ue,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function ht(e){return H.includes(e)}var de=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),bt=new Set(de),ce=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),le=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function xt(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function At(e){return y[e]?.needsExplicitConfirm!==!1}function _t(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function Ft(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ce[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function Pt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=le[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var pe=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function It(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=pe[o];if(!i)return!0;let s=i[n];return s?!(typeof s.min=="number"&&r<s.min||typeof s.max=="number"&&r>s.max):!0}):[...e]}function Rt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let s of e){if(typeof s!="string")continue;let p=s.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(bt.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var Mt=["visa","mastercard","mastercard_debit","amex","discover"],L={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},v={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function kt(e){switch(e.toUpperCase()){case"US":return"ZIP Code";case"GB":return"Postcode";case"CA":return"Postal Code";case"AU":case"NZ":return"Postcode";case"IE":return"Eircode";default:return"Postal Code"}}var Nt=new Intl.DisplayNames(["en"],{type:"region"});function Ot(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var me=["US","GB","CA","AU","NZ","IE","DE","FR"],Lt=["AD","AE","AF","AG","AL","AM","AO","AR","AT","AU","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CL","CM","CN","CO","CR","CU","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FM","FR","GA","GB","GD","GE","GH","GM","GN","GQ","GR","GT","GW","GY","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MM","MN","MR","MT","MU","MV","MW","MX","MY","MZ","NA","NE","NG","NI","NL","NO","NP","NR","NZ","OM","PA","PE","PG","PH","PK","PL","PT","PW","PY","QA","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SI","SK","SL","SM","SN","SO","SR","SS","ST","SV","SY","SZ","TD","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VN","VU","WS","XK","YE","ZA","ZM","ZW"];function j(e){return{code:e,name:Nt.of(e)??e,flag:Ot(e)}}var vt=new Set(me),Dt=Lt.filter(e=>!vt.has(e)),ye=[...me.map(j),...Dt.map(j)];function Bt(e){return ye.find(t=>t.code===e)}var Ut={country:!0,postal_code:!0};function ge(e){return e===!0?Ut:e||null}function wt(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function Vt(e){let t=ge(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var Ee=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],fe=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function Gt(e){switch(e.toUpperCase()){case"US":return Ee;case"CA":return fe;default:return null}}function Yt(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function Kt(e,t={}){let r=[],n=e.products??[],o=n.filter(u=>u.type==="subscription"),i=n.filter(u=>u.type!=="subscription"),p=(_(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let u of o){let m=u.totalAmount??0,f=u.overrideAmount??m,x=u.name||u.code||"Subscription";x==="4-WEEK PLAN"&&f<=1&&(x="7-DAY TRIAL: FULL ACCESS"),r.push({name:x,quantity:u.quantity,price:f,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let u of i){let m=u.totalAmount??0,f=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:f,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let Oe=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),Le=r.reduce((u,m)=>u+m.price*m.quantity,0),ve=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),De=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),Be=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Y=ve?e.totalAmount:Le,E=De?e.subtotalAmount:Oe,K=Math.max(0,E-Y),Ue=E>0?Math.round(K/E*100):0;return{items:r,currency:p,total:Y,originalTotal:E,totalSave:K,discountPercent:Ue,...Be?{couponDiscount:e.discountAmount}:{}}}var zt=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,Ht=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,qt=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Wt=/^[a-z\u00a1-\uffff0-9-]+$/i;function Ce(e){return encodeURI(e).split(/%..|./).length-1}function jt(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&qt.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&Wt.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function Zt(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return Ce(n)>64||Ce(r)>254||!jt(r)?!1:n.startsWith('"')&&n.endsWith('"')?Ht.test(n.slice(1,-1)):n.split(".").every(o=>zt.test(o))}var $t=new Set(["revolut_pay","sepa_debit","us_bank_account"]);function Xt(e){return e==="on_session"||e==="off_session"}function Jt(e,t,r){let n=typeof t=="string"?[t]:t,o=e?.futureUse;if(Xt(o)){let i=e?.futureUseUnsupported??[];return n.some(p=>i.some(G=>G.paymentMethodType===p))?void 0:o}switch(r){case"wallet":case"paypal":return"off_session";case"inline_apm":return n.length>0&&n.every(i=>$t.has(i))?"off_session":void 0;default:return}}var Qt="Idempotency-Key",D=255,er="IdempotencyKeyInProgress";function tr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function Te(){let e=tr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function rr(e){if(e===void 0)return Te();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>D)throw new d(`idempotencyKey must be at most ${D} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var nr=1,or=[{name:"checkout_mount"},{name:"sdk_loaded"},{name:"form_rendered"},{name:"card_expanded"},{name:"tokenize"},{name:"process_attempt"},{name:"3ds_challenge"},{name:"checkout_error",phase:"session_create"},{name:"checkout_error",phase:"sdk_load"},{name:"checkout_error",phase:"process"},{name:"checkout_error",phase:"wallets"}];var ar=[[5,5,"NY"],[10,27,"MA"],[28,29,"RI"],[30,38,"NH"],[39,49,"ME"],[50,59,"VT"],[60,69,"CT"],[70,89,"NJ"],[100,149,"NY"],[150,196,"PA"],[197,199,"DE"],[200,205,"DC"],[206,219,"MD"],[220,246,"VA"],[247,268,"WV"],[270,289,"NC"],[290,299,"SC"],[300,319,"GA"],[320,349,"FL"],[350,369,"AL"],[370,385,"TN"],[386,397,"MS"],[398,399,"GA"],[400,427,"KY"],[430,459,"OH"],[460,479,"IN"],[480,499,"MI"],[500,528,"IA"],[530,549,"WI"],[550,567,"MN"],[570,577,"SD"],[580,588,"ND"],[590,599,"MT"],[600,629,"IL"],[630,658,"MO"],[660,679,"KS"],[680,693,"NE"],[700,714,"LA"],[716,729,"AR"],[730,749,"OK"],[750,799,"TX"],[800,816,"CO"],[820,831,"WY"],[832,838,"ID"],[840,847,"UT"],[850,865,"AZ"],[870,884,"NM"],[889,898,"NV"],[900,961,"CA"],[967,968,"HI"],[970,979,"OR"],[980,994,"WA"],[995,999,"AK"]],ir={A:"NL",B:"NS",C:"PE",E:"NB",G:"QC",H:"QC",J:"QC",K:"ON",L:"ON",M:"ON",N:"ON",P:"ON",R:"MB",S:"SK",T:"AB",V:"BC",X:"NT",Y:"YT"};function sr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of ar)if(r>=n&&r<=o)return i;return null}function ur(e){let t=e.replace(/\s+/g,"").toUpperCase();if(!/^[A-Z]\d[A-Z]\d[A-Z]\d$/.test(t))return null;let r=t[0]??"";return ir[r]??null}function dr(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return sr(n);case"CA":return ur(n);default:return null}}import*as cr from"validator/lib/isPostalCode.js";var T=cr,Se=typeof T.default=="function"?T.default:T.default?.default;if(typeof Se!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var he=new Set(T.locales.map(e=>e.toUpperCase())),lr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function B(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:lr[t]??null:null}var pr={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function mr(e){let t=B(e);return t!==null&&he.has(t)}function yr(e,t){let r=(t??"").trim();if(!r)return!0;let n=B(e);if(n===null||!he.has(n))return!0;try{return Se(r,n)}catch{return!0}}function gr(e){let t=B(e);return t?pr[t]:void 0}var Er=["card","wallet","paypal","apm"],fr=["card","wallet","paypal","apm"],Cr=["card","paypal","apple_pay","google_pay","sepa_debit","us_bank_account"];function Tr(e){return A(e)}var Sr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,hr=/^dahlia\/stripe$/i,br=/^(?:chrome|moz|safari-web)-extension:\/\//i,xr=/^@flopay(?:\/|$)/i;function be(e){return Sr.test(e)||br.test(e)}function Ar(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&xr.test(e.module)||t.some(r=>!be(r))?"first-party":e.module!==void 0&&hr.test(e.module)||t.some(be)?"third-party-hosted":t.length===0?"injected":"first-party"}function _r(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Ar);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Fr=1,xe=["@flopay/shared","@flopay/js","@flopay/react"],Pr=32768,Ir=20,Rr=["stripe","paypal"],Mr=["card","wallet","paypal","apm","saved","unknown"],kr=["apple_pay","google_pay"],Nr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Or=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Lr=["unknown","available","blocked"],vr=["popup","app_switch","redirect"],Dr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],Br=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],Ae=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],_e=["server_error","transport_error","invalid_response","provider_runtime"],Ur=["authorization_declined","authentication_required","authorization_expired","capture_failed","deferred_contract_mismatch","intent_unexpected_state","invalid_request","confirmation_result_missing","confirmation_result_not_object","confirmation_result_unconfirmed","unknown"],Fe=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],wr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Vr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],Gr=["full","auto","confirm","setup","unknown"],Yr=["embedded","buttons","automatic","unknown"],Kr=["machine","buyer","total"],zr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Hr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,qr=new Set(Ae),Wr=new Set(_e),jr=new Set(Ur),S=new Set(Br),Zr=new Set(Rr),$r=new Set(Mr),Xr=new Set(kr),Jr=new Set(Nr),Qr=new Set(Or),en=new Set(Lr),tn=new Set(vr),rn=new Set(Dr),nn=new Set(Fe),on=new Set(Gr),an=new Set(Yr),sn=new Set(wr),un=new Set(Vr),dn=new Set(Kr),cn=new Set(zr),ln=new Set(xe),Pe=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function pn(){try{let r=globalThis.crypto.randomUUID();if(U.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&U.test(e)?e:pn()}function mn(e){return typeof e=="string"&&U.test(e)?e:void 0}function yn(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function h(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Ie(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Pe)}function gn(e){return Number.isFinite(e)&&e>Pe}function b(e,t){let r=yn(t.attempt);return t.provider&&Zr.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,un,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,sn,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,$r,"unknown")),t.walletType&&Xr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&Jr.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,on,"unknown")),t.layout&&(e.layout=l(t.layout,an,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&Qr.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&en.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&tn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&rn.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function Re(e){let t=b({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,qr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence)},e);if(e.failureCategory&&Wr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,jr,"unknown")),e.stage!=="provider_confirmation"){let r=mn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ie(e.durationMs)),t}function Me(e){return b({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,nn,"operation.retry"),stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence)},e)}function ke(e){let t={...e,stage:e.stage??"completion"};return b({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,cn,"customer_abandoned"),stage:l(e.stage,S,"completion"),sequence:h(e.sequence)},t)}function Ne(e){let t=b({eventId:g(e.eventId),class:"performance",stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence),durationMs:Ie(e.durationMs),durationMode:l(e.durationMode,dn,"machine")},e);return(e.durationTruncated===!0||gn(e.durationMs))&&(t.durationTruncated=!0),t}function En(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[Re({...o,errorCode:o.code})]:o.class==="lifecycle"?[Me(o)]:o.class==="expected_outcome"?[ke(o)]:o.class==="performance"?[Ne(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,ln,"@flopay/shared"),version:Hr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var fn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Cn(e,t){if(e===422)return"validation_rejected";if(e===400&&!(t===null||typeof t!="object"||Array.isArray(t)))return Array.isArray(t.fields)?"validation_rejected":"payment_declined"}function Tn(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&fn.has(e.code))return{errorCode:t,statusClass:w(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=w(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function w(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function Sn(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var V=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function hn(e){return typeof e=="string"&&V.test(e)}function bn(){try{let r=globalThis.crypto.randomUUID();if(V.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function xn(e){return L[e.toUpperCase()]??v}function An(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function _n(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Fn(e){return typeof e=="string"&&e.startsWith("seti_")}function Pn(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}export{ot as ASYNC_AUTO_CHECKOUT_CAPABILITY,lt as BILLING_API_URL,Z as BILLING_API_URL_PRODUCTION,C as BILLING_API_URL_STAGING,ee as BOLD_DARK_APPEARANCE,Q as BOLD_LIGHT_APPEARANCE,k as BUTTONS_LAYOUT_BOLD_DARK,M as BUTTONS_LAYOUT_BOLD_LIGHT,ie as BUTTONS_LAYOUT_DARK,ne as BUTTONS_LAYOUT_DEFAULT,O as BUTTONS_LAYOUT_GLASS_DARK,N as BUTTONS_LAYOUT_GLASS_LIGHT,oe as BUTTONS_LAYOUT_MINIMAL,R as BUTTONS_LAYOUT_MODERN_DARK,I as BUTTONS_LAYOUT_MODERN_LIGHT,ae as BUTTONS_LAYOUT_ROUNDED,fe as CA_PROVINCES,dt as CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,ye as COUNTRY_OPTIONS,L as CURRENCY_MAP,ct as DEFAULT_API_BASE_URL,mt as DEFAULT_API_VERSION,$ as DEFAULT_APPEARANCE,v as DEFAULT_CURRENCY,yt as FLAT_APPEARANCE,or as FLO_INSTRUMENT_CATALOG,nr as FLO_INSTRUMENT_SCHEMA_VERSION,nt as FLO_SDK_CAPABILITIES_HEADER,rt as FLO_SDK_VERSION_HEADER,d as FloPayError,re as GLASS_DARK_APPEARANCE,te as GLASS_LIGHT_APPEARANCE,er as IDEMPOTENCY_IN_PROGRESS_CODE,Qt as IDEMPOTENCY_KEY_HEADER,D as MAX_IDEMPOTENCY_KEY_LENGTH,J as MODERN_DARK_APPEARANCE,X as MODERN_LIGHT_APPEARANCE,gt as NIGHT_APPEARANCE,it as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,Er as SAVED_PAYMENT_METHOD_FAMILIES,Cr as SAVED_PAYMENT_METHOD_LIST_TYPES,fr as SAVED_PAYMENT_METHOD_TYPES,tt as SDK_VERSION,st as STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,ut as STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,de as STRIPE_EXPRESS_METHODS,pe as STRIPE_METHOD_AMOUNT_LIMITS,le as STRIPE_METHOD_COUNTRIES,ce as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,Mt as SUPPORTED_CARD_BRANDS,Ae as TELEMETRY_ERROR_CODES,_e as TELEMETRY_FAILURE_CATEGORIES,Fe as TELEMETRY_LOG_NAMES,Pr as TELEMETRY_MAX_BATCH_BYTES,Ir as TELEMETRY_MAX_BATCH_EVENTS,Fr as TELEMETRY_SCHEMA_VERSION,xe as TELEMETRY_SDK_PACKAGES,se as THEMES,at as THREE_DS_CHALLENGE_WINDOW_MS,Ee as US_STATES,V as UUID_V4,Ke as apiError,We as assertCaptureMethodEligible,ze as authenticationError,Kt as buildCheckoutDisplayData,$e as buildItemPayload,Ze as buildProductPayload,Xe as buildSubscriptionPayload,Re as buildTelemetryErrorEvent,Me as buildTelemetryLogEvent,Ne as buildTelemetryPerformanceEvent,ke as buildTelemetryTerminalEvent,Cn as classifyPaymentRejection,Tn as classifyTelemetryFailure,Qe as configureFlopay,_r as dropThirdPartyOnlyError,It as filterStripeMethodsByAmount,Pt as filterStripeMethodsByCountry,Ft as filterStripeMethodsByCurrency,z as foldIntoProducts,Te as generateIdempotencyKey,P as getConfiguredBillingApiUrl,Bt as getCountryByCode,xn as getCurrencyByCountry,et as getFloPayEnvironment,gr as getPostalCodeExample,kt as getPostalCodeLabel,dr as getStateFromPostalCode,Yt as getStateLabel,Gt as getStateOptions,xt as getStripeMethodDisplayName,ht as hasVendoredStripeMethodLogo,Vt as isAVSEnabled,wt as isAVSFieldVisible,we as isAuthorizationOnlySession,Pn as isCardHolderNamePlaceholder,A as isCardSetupCheckoutSession,je as isDetachedSessionEligible,Ve as isMoneySettledOutcome,mr as isPostalCodeSupported,Tr as isSetupCheckoutSession,Fn as isSetupIntentClientSecret,hn as isUuidV4,Zt as isValidEmail,yr as isValidPostalCode,An as isValidPublishableKey,_n as isValidSecretKey,At as needsStripeMethodExplicitConfirm,qe as networkError,Ge as normalizeCheckoutFailureOutcome,Sn as normalizeGatewayEnvironment,Rt as partitionStripeMethods,bn as randomUuidV4,He as rateLimitError,ge as resolveAVSConfig,pt as resolveBillingApiUrl,Et as resolveButtonsLayoutTheme,rr as resolveIdempotencyKey,_ as resolveSessionCurrency,Jt as resolveSetupFutureUsage,_t as resolveStripeMethodBrandVariant,ft as resolveTheme,En as serializeTelemetryBatch,Ct as stripeExpressMethodToOptionKey,w as telemetryStatusClass,Ye as validationError};
1
+ function A(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Ye(e){return e?.captureMethod==="manual"}function Ke(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function He(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var d=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function ze(e,t){return new d(e,"validation_error",{param:t})}function qe(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function We(e){return new d(e,"authentication_error")}function je(e){return new d(e,"rate_limit_error")}function Ze(e){return new d(e,"network_error")}function $e(e){if(!(e.captureMethod!=="manual"||!(e.products??q(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new d("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function Xe(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _(e,t,r,n){let o=a(e);if(o)return o;for(let i of t??[]){let s=a(i.currency);if(s)return s}for(let i of r??[]){let s=a(i.currency);if(s)return s}for(let i of n??[]){let s=a(i.currency);if(s)return s}return null}function q(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function Je(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Qe(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function et(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var tt={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},F="staging";function rt(e){F=e.environment}function P(){return tt[F]}function nt(){return F}var W=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var ot="1.11.5",at="x-flo-sdk-version",it="x-flo-sdk-capabilities",st="async-auto-checkout-v1",ut=3e5,dt="paypal_vaulted",ct="stored_payment_method_unsupported",lt="This saved payment method can\u2019t be used for this payment. Choose another payment method.",pt="We\u2019re still confirming your payment. Please don\u2019t pay again.",C="https://api.stage.flopay.com",X="https://api.flopay.com",mt=C,yt=C;function I(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?X:C:P())}var gt="2024-01-01",J={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Et={theme:"flat",variables:{...J.variables,borderRadius:"4px"}},ft={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Q={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},ee={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},te={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},re={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},ne={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},oe={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},ae={},ie={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},se={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},ue={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},R={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},M={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},k={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},O={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},N={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},L={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function Ct(e){switch(e){case"minimal":return ie;case"rounded":return se;case"dark":return ue;case"modern-light":return R;case"modern-dark":return M;case"bold-light":return k;case"bold-dark":return O;case"glass-light":return N;case"glass-dark":return L;default:return ae}}var de={"modern-light":{appearance:Q,buttonsLayout:R},"modern-dark":{appearance:ee,buttonsLayout:M},"bold-light":{appearance:te,buttonsLayout:k},"bold-dark":{appearance:re,buttonsLayout:O},"glass-light":{appearance:ne,buttonsLayout:N},"glass-dark":{appearance:oe,buttonsLayout:L}};function Tt(e){if(!(!e||e==="classic"))return de[e]}function St(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function ht(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function j(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function Z(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:ht(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:Z(e,t,r),dark:Z(e,n,o,i)}}var ce=["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","CH","GB","MC","SM","AD","VA"],bt=[...ce,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:bt,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:j("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:j("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:ce,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function xt(e){return W.includes(e)}var le=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),At=new Set(le),pe=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),me=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function _t(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function Ft(e){return y[e]?.needsExplicitConfirm!==!1}function Pt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function It(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=pe[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function Rt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=me[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var ye=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function Mt(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=ye[o];if(!i)return!0;let s=i[n];return s?!(typeof s.min=="number"&&r<s.min||typeof s.max=="number"&&r>s.max):!0}):[...e]}function kt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let s of e){if(typeof s!="string")continue;let p=s.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(At.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var Ot=["visa","mastercard","mastercard_debit","amex","discover"],v={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},D={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function Nt(e){switch(e.toUpperCase()){case"US":return"ZIP Code";case"GB":return"Postcode";case"CA":return"Postal Code";case"AU":case"NZ":return"Postcode";case"IE":return"Eircode";default:return"Postal Code"}}var Lt=new Intl.DisplayNames(["en"],{type:"region"});function vt(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var ge=["US","GB","CA","AU","NZ","IE","DE","FR"],Dt=["AD","AE","AF","AG","AL","AM","AO","AR","AT","AU","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CF","CG","CH","CI","CL","CM","CN","CO","CR","CU","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FM","FR","GA","GB","GD","GE","GH","GM","GN","GQ","GR","GT","GW","GY","HN","HR","HT","HU","ID","IE","IL","IN","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MM","MN","MR","MT","MU","MV","MW","MX","MY","MZ","NA","NE","NG","NI","NL","NO","NP","NR","NZ","OM","PA","PE","PG","PH","PK","PL","PT","PW","PY","QA","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SI","SK","SL","SM","SN","SO","SR","SS","ST","SV","SY","SZ","TD","TG","TH","TJ","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VN","VU","WS","XK","YE","ZA","ZM","ZW"];function $(e){return{code:e,name:Lt.of(e)??e,flag:vt(e)}}var Bt=new Set(ge),Ut=Dt.filter(e=>!Bt.has(e)),Ee=[...ge.map($),...Ut.map($)];function wt(e){return Ee.find(t=>t.code===e)}var Vt={country:!0,postal_code:!0};function fe(e){return e===!0?Vt:e||null}function Gt(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function Yt(e){let t=fe(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var Ce=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],Te=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function Kt(e){switch(e.toUpperCase()){case"US":return Ce;case"CA":return Te;default:return null}}function Ht(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function zt(e,t={}){let r=[],n=e.products??[],o=n.filter(u=>u.type==="subscription"),i=n.filter(u=>u.type!=="subscription"),p=(_(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let u of o){let m=u.totalAmount??0,f=u.overrideAmount??m,x=u.name||u.code||"Subscription";x==="4-WEEK PLAN"&&f<=1&&(x="7-DAY TRIAL: FULL ACCESS"),r.push({name:x,quantity:u.quantity,price:f,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let u of i){let m=u.totalAmount??0,f=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:f,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let De=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),Be=r.reduce((u,m)=>u+m.price*m.quantity,0),Ue=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),we=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),Ve=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),H=Ue?e.totalAmount:Be,E=we?e.subtotalAmount:De,z=Math.max(0,E-H),Ge=E>0?Math.round(z/E*100):0;return{items:r,currency:p,total:H,originalTotal:E,totalSave:z,discountPercent:Ge,...Ve?{couponDiscount:e.discountAmount}:{}}}var qt=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,Wt=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,jt=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Zt=/^[a-z\u00a1-\uffff0-9-]+$/i;function Se(e){return encodeURI(e).split(/%..|./).length-1}function $t(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&jt.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&Zt.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function Xt(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return Se(n)>64||Se(r)>254||!$t(r)?!1:n.startsWith('"')&&n.endsWith('"')?Wt.test(n.slice(1,-1)):n.split(".").every(o=>qt.test(o))}var Jt=new Set(["revolut_pay","sepa_debit","us_bank_account"]);function Qt(e){return e==="on_session"||e==="off_session"}function er(e,t,r){let n=typeof t=="string"?[t]:t,o=e?.futureUse;if(Qt(o)){let i=e?.futureUseUnsupported??[];return n.some(p=>i.some(K=>K.paymentMethodType===p))?void 0:o}switch(r){case"wallet":case"paypal":return"off_session";case"inline_apm":return n.length>0&&n.every(i=>Jt.has(i))?"off_session":void 0;default:return}}var tr="Idempotency-Key",B=255,rr="IdempotencyKeyInProgress";function nr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function he(){let e=nr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function or(e){if(e===void 0)return he();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>B)throw new d(`idempotencyKey must be at most ${B} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var ar=1,ir=[{name:"checkout_mount"},{name:"sdk_loaded"},{name:"form_rendered"},{name:"card_expanded"},{name:"tokenize"},{name:"process_attempt"},{name:"3ds_challenge"},{name:"checkout_error",phase:"session_create"},{name:"checkout_error",phase:"sdk_load"},{name:"checkout_error",phase:"process"},{name:"checkout_error",phase:"wallets"}];var sr=[[5,5,"NY"],[10,27,"MA"],[28,29,"RI"],[30,38,"NH"],[39,49,"ME"],[50,59,"VT"],[60,69,"CT"],[70,89,"NJ"],[100,149,"NY"],[150,196,"PA"],[197,199,"DE"],[200,205,"DC"],[206,219,"MD"],[220,246,"VA"],[247,268,"WV"],[270,289,"NC"],[290,299,"SC"],[300,319,"GA"],[320,349,"FL"],[350,369,"AL"],[370,385,"TN"],[386,397,"MS"],[398,399,"GA"],[400,427,"KY"],[430,459,"OH"],[460,479,"IN"],[480,499,"MI"],[500,528,"IA"],[530,549,"WI"],[550,567,"MN"],[570,577,"SD"],[580,588,"ND"],[590,599,"MT"],[600,629,"IL"],[630,658,"MO"],[660,679,"KS"],[680,693,"NE"],[700,714,"LA"],[716,729,"AR"],[730,749,"OK"],[750,799,"TX"],[800,816,"CO"],[820,831,"WY"],[832,838,"ID"],[840,847,"UT"],[850,865,"AZ"],[870,884,"NM"],[889,898,"NV"],[900,961,"CA"],[967,968,"HI"],[970,979,"OR"],[980,994,"WA"],[995,999,"AK"]],ur={A:"NL",B:"NS",C:"PE",E:"NB",G:"QC",H:"QC",J:"QC",K:"ON",L:"ON",M:"ON",N:"ON",P:"ON",R:"MB",S:"SK",T:"AB",V:"BC",X:"NT",Y:"YT"};function dr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of sr)if(r>=n&&r<=o)return i;return null}function cr(e){let t=e.replace(/\s+/g,"").toUpperCase();if(!/^[A-Z]\d[A-Z]\d[A-Z]\d$/.test(t))return null;let r=t[0]??"";return ur[r]??null}function lr(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return dr(n);case"CA":return cr(n);default:return null}}import*as pr from"validator/lib/isPostalCode.js";var T=pr,be=typeof T.default=="function"?T.default:T.default?.default;if(typeof be!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var xe=new Set(T.locales.map(e=>e.toUpperCase())),mr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function U(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:mr[t]??null:null}var yr={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function gr(e){let t=U(e);return t!==null&&xe.has(t)}function Er(e,t){let r=(t??"").trim();if(!r)return!0;let n=U(e);if(n===null||!xe.has(n))return!0;try{return be(r,n)}catch{return!0}}function fr(e){let t=U(e);return t?yr[t]:void 0}var Cr=["card","wallet","paypal","apm"],Tr=["card","wallet","paypal","apm"],Sr=["card","paypal","apple_pay","google_pay","sepa_debit","us_bank_account"];function hr(e){return A(e)}var br=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,xr=/^dahlia\/stripe$/i,Ar=/^(?:chrome|moz|safari-web)-extension:\/\//i,_r=/^@flopay(?:\/|$)/i;function Ae(e){return br.test(e)||Ar.test(e)}function Fr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&_r.test(e.module)||t.some(r=>!Ae(r))?"first-party":e.module!==void 0&&xr.test(e.module)||t.some(Ae)?"third-party-hosted":t.length===0?"injected":"first-party"}function Pr(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Fr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Ir=1,_e=["@flopay/shared","@flopay/js","@flopay/react"],Rr=32768,Mr=20,kr=["stripe","paypal"],Or=["card","wallet","paypal","apm","saved","unknown"],Nr=["apple_pay","google_pay"],Lr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],vr=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Dr=["unknown","available","blocked"],Br=["popup","app_switch","redirect"],Ur=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],wr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],Fe=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],Pe=["server_error","transport_error","invalid_response","provider_runtime"],Vr=["authorization_declined","authentication_required","authorization_expired","capture_failed","deferred_contract_mismatch","intent_unexpected_state","invalid_request","confirmation_result_missing","confirmation_result_not_object","confirmation_result_unconfirmed","unknown"],Ie=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],Gr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Yr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],Kr=["full","auto","confirm","setup","unknown"],Hr=["embedded","buttons","automatic","unknown"],zr=["machine","buyer","total"],qr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],w=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Wr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,jr=new Set(Fe),Zr=new Set(Pe),$r=new Set(Vr),S=new Set(wr),Xr=new Set(kr),Jr=new Set(Or),Qr=new Set(Nr),en=new Set(Lr),tn=new Set(vr),rn=new Set(Dr),nn=new Set(Br),on=new Set(Ur),an=new Set(Ie),sn=new Set(Kr),un=new Set(Hr),dn=new Set(Gr),cn=new Set(Yr),ln=new Set(zr),pn=new Set(qr),mn=new Set(_e),Re=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function yn(){try{let r=globalThis.crypto.randomUUID();if(w.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&w.test(e)?e:yn()}function gn(e){return typeof e=="string"&&w.test(e)?e:void 0}function En(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function h(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Me(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Re)}function fn(e){return Number.isFinite(e)&&e>Re}function b(e,t){let r=En(t.attempt);return t.provider&&Xr.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,cn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,dn,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Jr,"unknown")),t.walletType&&Qr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&en.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,sn,"unknown")),t.layout&&(e.layout=l(t.layout,un,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&tn.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&rn.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&nn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&on.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ke(e){let t=b({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,jr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence)},e);if(e.failureCategory&&Zr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,$r,"unknown")),e.stage!=="provider_confirmation"){let r=gn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Me(e.durationMs)),t}function Oe(e){return b({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,an,"operation.retry"),stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence)},e)}function Ne(e){let t={...e,stage:e.stage??"completion"};return b({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,pn,"customer_abandoned"),stage:l(e.stage,S,"completion"),sequence:h(e.sequence)},t)}function Le(e){let t=b({eventId:g(e.eventId),class:"performance",stage:l(e.stage,S,"sdk_initialize"),sequence:h(e.sequence),durationMs:Me(e.durationMs),durationMode:l(e.durationMode,ln,"machine")},e);return(e.durationTruncated===!0||fn(e.durationMs))&&(t.durationTruncated=!0),t}function Cn(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[ke({...o,errorCode:o.code})]:o.class==="lifecycle"?[Oe(o)]:o.class==="expected_outcome"?[Ne(o)]:o.class==="performance"?[Le(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,mn,"@flopay/shared"),version:Wr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var Tn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Sn(e,t){if(e===422)return"validation_rejected";if(e===400&&!(t===null||typeof t!="object"||Array.isArray(t)))return Array.isArray(t.fields)?"validation_rejected":"payment_declined"}function hn(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&Tn.has(e.code))return{errorCode:t,statusClass:V(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=V(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function V(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function bn(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var G=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function xn(e){return typeof e=="string"&&G.test(e)}function An(){try{let r=globalThis.crypto.randomUUID();if(G.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function _n(e){return v[e.toUpperCase()]??D}function Fn(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Pn(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function In(e){return typeof e=="string"&&e.startsWith("seti_")}function Rn(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}var ve="/v1/vault/capture/form",Mn="Secure card details";function Y(e){return e?.verification?.required===!0}function kn(e){return!!e?.html?.trim()||Y(e)}function On(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Nn(e){if(!e.sessionId)return null;let t=I(e.billingApiUrl||void 0).replace(/\/+$/,""),r;try{r=new URL(`${t}${ve}`)}catch{return null}return r.protocol!=="https:"&&r.protocol!=="http:"?null:(r.searchParams.set("session",e.sessionId),e.nonce&&r.searchParams.set("nonce",e.nonce),r)}function Ln(e,t){if(!e)return null;let r=Y(e),n=e.html?.trim()?e.html:void 0;if(n)return{html:n,...e.messageToken?{messageToken:e.messageToken}:{},...e.expectedOrigin?{expectedOrigin:e.expectedOrigin}:{},...r?{verificationRequired:!0}:{}};if(!r)return null;let o=Nn(t);return o?{html:`<iframe id="flopay_vault_form_iframe" title="${Mn}" src="${On(o.toString())}" allow="payment" style="border:0;width:100%;height:260px"></iframe>`,...e.messageToken?{messageToken:e.messageToken}:{},expectedOrigin:e.expectedOrigin||o.origin,verificationRequired:!0}:null}export{st as ASYNC_AUTO_CHECKOUT_CAPABILITY,yt as BILLING_API_URL,X as BILLING_API_URL_PRODUCTION,C as BILLING_API_URL_STAGING,re as BOLD_DARK_APPEARANCE,te as BOLD_LIGHT_APPEARANCE,O as BUTTONS_LAYOUT_BOLD_DARK,k as BUTTONS_LAYOUT_BOLD_LIGHT,ue as BUTTONS_LAYOUT_DARK,ae as BUTTONS_LAYOUT_DEFAULT,L as BUTTONS_LAYOUT_GLASS_DARK,N as BUTTONS_LAYOUT_GLASS_LIGHT,ie as BUTTONS_LAYOUT_MINIMAL,M as BUTTONS_LAYOUT_MODERN_DARK,R as BUTTONS_LAYOUT_MODERN_LIGHT,se as BUTTONS_LAYOUT_ROUNDED,Te as CA_PROVINCES,pt as CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,Ee as COUNTRY_OPTIONS,v as CURRENCY_MAP,mt as DEFAULT_API_BASE_URL,gt as DEFAULT_API_VERSION,J as DEFAULT_APPEARANCE,D as DEFAULT_CURRENCY,Et as FLAT_APPEARANCE,ir as FLO_INSTRUMENT_CATALOG,ar as FLO_INSTRUMENT_SCHEMA_VERSION,it as FLO_SDK_CAPABILITIES_HEADER,at as FLO_SDK_VERSION_HEADER,d as FloPayError,oe as GLASS_DARK_APPEARANCE,ne as GLASS_LIGHT_APPEARANCE,rr as IDEMPOTENCY_IN_PROGRESS_CODE,tr as IDEMPOTENCY_KEY_HEADER,B as MAX_IDEMPOTENCY_KEY_LENGTH,ee as MODERN_DARK_APPEARANCE,Q as MODERN_LIGHT_APPEARANCE,ft as NIGHT_APPEARANCE,dt as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,Cr as SAVED_PAYMENT_METHOD_FAMILIES,Sr as SAVED_PAYMENT_METHOD_LIST_TYPES,Tr as SAVED_PAYMENT_METHOD_TYPES,ot as SDK_VERSION,ct as STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,lt as STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,le as STRIPE_EXPRESS_METHODS,ye as STRIPE_METHOD_AMOUNT_LIMITS,me as STRIPE_METHOD_COUNTRIES,pe as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,Ot as SUPPORTED_CARD_BRANDS,Fe as TELEMETRY_ERROR_CODES,Pe as TELEMETRY_FAILURE_CATEGORIES,Ie as TELEMETRY_LOG_NAMES,Rr as TELEMETRY_MAX_BATCH_BYTES,Mr as TELEMETRY_MAX_BATCH_EVENTS,Ir as TELEMETRY_SCHEMA_VERSION,_e as TELEMETRY_SDK_PACKAGES,de as THEMES,ut as THREE_DS_CHALLENGE_WINDOW_MS,Ce as US_STATES,G as UUID_V4,ve as VAULT_CAPTURE_FORM_PATH,qe as apiError,$e as assertCaptureMethodEligible,We as authenticationError,zt as buildCheckoutDisplayData,Qe as buildItemPayload,Je as buildProductPayload,et as buildSubscriptionPayload,ke as buildTelemetryErrorEvent,Oe as buildTelemetryLogEvent,Le as buildTelemetryPerformanceEvent,Ne as buildTelemetryTerminalEvent,Sn as classifyPaymentRejection,hn as classifyTelemetryFailure,rt as configureFlopay,Pr as dropThirdPartyOnlyError,Mt as filterStripeMethodsByAmount,Rt as filterStripeMethodsByCountry,It as filterStripeMethodsByCurrency,q as foldIntoProducts,he as generateIdempotencyKey,P as getConfiguredBillingApiUrl,wt as getCountryByCode,_n as getCurrencyByCountry,nt as getFloPayEnvironment,fr as getPostalCodeExample,Nt as getPostalCodeLabel,lr as getStateFromPostalCode,Ht as getStateLabel,Kt as getStateOptions,_t as getStripeMethodDisplayName,xt as hasVendoredStripeMethodLogo,Yt as isAVSEnabled,Gt as isAVSFieldVisible,Ye as isAuthorizationOnlySession,Rn as isCardHolderNamePlaceholder,A as isCardSetupCheckoutSession,Xe as isDetachedSessionEligible,Ke as isMoneySettledOutcome,kn as isMountableVaultBlock,gr as isPostalCodeSupported,hr as isSetupCheckoutSession,In as isSetupIntentClientSecret,xn as isUuidV4,Xt as isValidEmail,Er as isValidPostalCode,Fn as isValidPublishableKey,Pn as isValidSecretKey,Y as isVaultVerificationRequired,Ft as needsStripeMethodExplicitConfirm,Ze as networkError,He as normalizeCheckoutFailureOutcome,bn as normalizeGatewayEnvironment,kt as partitionStripeMethods,An as randomUuidV4,je as rateLimitError,fe as resolveAVSConfig,I as resolveBillingApiUrl,Ct as resolveButtonsLayoutTheme,or as resolveIdempotencyKey,_ as resolveSessionCurrency,er as resolveSetupFutureUsage,Pt as resolveStripeMethodBrandVariant,Tt as resolveTheme,Ln as resolveVaultMountOptions,Cn as serializeTelemetryBatch,St as stripeExpressMethodToOptionKey,V as telemetryStatusClass,ze as validationError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flopay/shared",
3
- "version": "1.11.3",
3
+ "version": "1.11.5",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {
@@ -26,7 +26,7 @@
26
26
  "dist"
27
27
  ],
28
28
  "devDependencies": {
29
- "@types/node": "^25.9.3",
29
+ "@types/node": "^25.9.9",
30
30
  "@types/validator": "^13.15.10",
31
31
  "tsup": "^8.3.0",
32
32
  "typescript": "^6.0.3",