@flopay/shared 1.7.0 → 1.8.2

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/README.md CHANGED
@@ -56,7 +56,6 @@ import type {
56
56
  CheckoutSession,
57
57
  PaymentResult,
58
58
  PaymentProviderAdapter,
59
- ElementType,
60
59
  FloPayAppearance,
61
60
  } from '@flopay/shared';
62
61
 
@@ -98,17 +97,12 @@ throw validationError('Email is required', 'email');
98
97
  | `GatewayEnvironment` | `'sandbox'` / `'live'` — drives the PayPal JS SDK script and any other environment-scoped behavior |
99
98
  | `PaymentResult` | Payment outcome: `status` (`'authorized'`/`'succeeded'`/`'processing'`/`'requires_action'`/`'failed'`); authorized results carry `paymentId?`, `sessionId?`, and `authorizationExpiresAt?` |
100
99
  | `CheckoutFailureOutcome` | Stable authorization lifecycle failure: `'authorization_declined'` / `'authentication_required'` / `'authorization_expired'` / `'capture_failed'` |
101
- | `ConfirmPaymentParams` | Non-card confirmation: `clientSecret`, `paymentMethodCategory` (`'wallet'`/`'apm'`), `paymentMethodType`, `returnUrl?`, `billingDetails?`; `card` is rejected at runtime. |
102
100
  | `PayPalPaymentResult` | Stripe-hosted PayPal outcome: `status`, `paymentIntentId?`, `paymentMethodId?`, `error?` |
103
101
  | `CreateSessionIntentRequest` | Discriminated Stripe wallet/APM or direct-PayPal intent request. PayPal sends `intentKind: 'payment'` for Orders/subscriptions and `'setup'` for a standalone setup token. Direct card is not representable. |
104
102
  | `SessionIntent` | Matching discriminated response. Stripe carries `clientSecret`; PayPal carries a server-derived `providerObjectType` (`'order'`/`'subscription'`/`'setup_token'`). Provider, payment-method category/type/id, intent kind, and provider object ID are kept as separate fields. |
105
103
  | `PayPalProviderObjectType` | `'order'` / `'subscription'` / `'setup_token'` — the direct-PayPal continuation selected by the backend and verified by the SDK. |
106
104
  | `SessionIntentDeclineRequest` | Non-card provider decline classification. Runtime reporting accepts safe classification codes only and rejects messages or identifier-shaped values. |
107
- | `ElementType` | `'payment'` / `'address'` |
108
- | `ElementOptions` | Options for creating non-card elements: `appearance?`, `paymentMethodTypes?`, `clientSecret?`, `amount?`, `currency?`, `paymentMethodCreation?`, `layout?`, `defaultValues?`, `readOnly?`, `mode?`. A `payment` element requires a non-empty wallet/APM allowlist. |
109
- | `MountedElement` | Runtime element: `mount()`, `unmount()`, `update()`, `on()`, `off()`, `destroy()` |
110
- | `PaymentProviderAdapter` | Provider interface for non-card elements, confirmations, PayPal, raw-provider access, and lifecycle management. Card collection uses `CardCaptureAdapter`. |
111
- | `ElementChangeEvent` | Change event: `elementType`, `complete`, `empty`, `error?`, `value?` |
105
+ | `PaymentProviderAdapter` | Minimal provider interface for initialization, raw-provider access, and lifecycle management. Card collection uses `CardCaptureAdapter`; React owns live Stripe Elements directly. |
112
106
  | `Customer` | `id`, `email`, `firstName?`, `lastName?`, `gender?`, `city?`, `state?`, `country?`, `zip?` |
113
107
  | `LineItem` | `price?`, `priceData?`, `quantity` |
114
108
  | `PriceData` | `currency`, `unitAmount`, `productData`, `recurring?` |
@@ -223,7 +217,6 @@ messages, or bundle Sentry configuration.
223
217
  | `THEMES` | `Record<ThemeBundleId, ThemeBundle>` — pick `THEMES['glass-dark']` to get `{ appearance, buttonsLayout }` |
224
218
  | `resolveTheme(id)` | Resolve a `ThemeId` (`'classic'` ∪ `ThemeBundleId`) to its `ThemeBundle`; `'classic'` and missing ids return `undefined` |
225
219
  | `resolveButtonsLayoutTheme(name)` | Map a `ButtonsLayoutTheme` name to its `ButtonsLayoutStyles` preset |
226
- | `ELEMENT_TYPES` | `['payment', 'address']` |
227
220
  | `PAYPAL_VAULTED_PAYMENT_METHOD_TYPE` | `paypal_vaulted` — in-band payment-method channel that opts a session intent/process request into Flo-owned PayPal Order and setup-token continuations; legacy `paypal` keeps provider-managed semantics. |
228
221
  | `SUPPORTED_CARD_BRANDS` | `['visa', 'mastercard', 'mastercard_debit', 'amex', 'discover']` |
229
222
  | `STRIPE_EXPRESS_METHODS` | `['apple_pay', 'google_pay', 'paypal', 'link', 'amazon_pay', 'klarna']` — Stripe method type identifiers supported by `ExpressCheckoutElement` (everything else returned in `gateways.stripe.enabledPaymentMethods` falls into the `PaymentElement` accordion in the React SDK) |
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var Xt=Object.create;var f=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Jt=Object.getOwnPropertyNames;var Qt=Object.getPrototypeOf,er=Object.prototype.hasOwnProperty;var tr=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})},fe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Jt(t))!er.call(e,n)&&n!==r&&f(e,n,{get:()=>t[n],enumerable:!(o=$t(t,n))||o.enumerable});return e};var rr=(e,t,r)=>(r=e!=null?Xt(Qt(e)):{},fe(t||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r,e)),or=e=>fe(f({},"__esModule",{value:!0}),e);var Qr={};tr(Qr,{BILLING_API_URL:()=>Ye,BILLING_API_URL_PRODUCTION:()=>G,BILLING_API_URL_STAGING:()=>C,BOLD_DARK_APPEARANCE:()=>H,BOLD_LIGHT_APPEARANCE:()=>z,BUTTONS_LAYOUT_BOLD_DARK:()=>A,BUTTONS_LAYOUT_BOLD_LIGHT:()=>T,BUTTONS_LAYOUT_DARK:()=>$,BUTTONS_LAYOUT_DEFAULT:()=>j,BUTTONS_LAYOUT_GLASS_DARK:()=>_,BUTTONS_LAYOUT_GLASS_LIGHT:()=>I,BUTTONS_LAYOUT_MINIMAL:()=>Z,BUTTONS_LAYOUT_MODERN_DARK:()=>S,BUTTONS_LAYOUT_MODERN_LIGHT:()=>h,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>ie,COUNTRY_OPTIONS:()=>oe,CURRENCY_MAP:()=>P,DEFAULT_API_BASE_URL:()=>Ke,DEFAULT_API_VERSION:()=>He,DEFAULT_APPEARANCE:()=>V,DEFAULT_CURRENCY:()=>R,ELEMENT_TYPES:()=>it,FLAT_APPEARANCE:()=>qe,FLO_INSTRUMENT_CATALOG:()=>bt,FLO_INSTRUMENT_SCHEMA_VERSION:()=>ft,FLO_SDK_VERSION_HEADER:()=>Ge,FloPayError:()=>d,GLASS_DARK_APPEARANCE:()=>W,GLASS_LIGHT_APPEARANCE:()=>q,IDEMPOTENCY_IN_PROGRESS_CODE:()=>Et,IDEMPOTENCY_KEY_HEADER:()=>Ct,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>Y,MODERN_LIGHT_APPEARANCE:()=>K,NIGHT_APPEARANCE:()=>We,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>Ve,SDK_VERSION:()=>we,STRIPE_EXPRESS_METHODS:()=>Q,STRIPE_METHOD_AMOUNT_LIMITS:()=>re,STRIPE_METHOD_COUNTRIES:()=>te,STRIPE_METHOD_CURRENCIES:()=>ee,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>st,TELEMETRY_ERROR_CODES:()=>ce,TELEMETRY_FAILURE_CATEGORIES:()=>le,TELEMETRY_LOG_NAMES:()=>pe,TELEMETRY_MAX_BATCH_BYTES:()=>kt,TELEMETRY_MAX_BATCH_EVENTS:()=>vt,TELEMETRY_SCHEMA_VERSION:()=>Rt,TELEMETRY_SDK_PACKAGES:()=>de,THEMES:()=>J,US_STATES:()=>ae,UUID_V4:()=>D,apiError:()=>Ae,assertCaptureMethodEligible:()=>Re,authenticationError:()=>Ie,buildCheckoutDisplayData:()=>gt,buildItemPayload:()=>Be,buildProductPayload:()=>ve,buildSubscriptionPayload:()=>Ne,buildTelemetryErrorEvent:()=>me,buildTelemetryLogEvent:()=>ye,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>ge,classifyPaymentRejection:()=>Lt,classifyTelemetryFailure:()=>Dt,configureFlopay:()=>Me,dropThirdPartyOnlyError:()=>Pt,filterStripeMethodsByAmount:()=>nt,filterStripeMethodsByCountry:()=>ot,filterStripeMethodsByCurrency:()=>rt,foldIntoProducts:()=>U,generateIdempotencyKey:()=>se,getConfiguredBillingApiUrl:()=>x,getCountryByCode:()=>ct,getCurrencyByCountry:()=>Gt,getFloPayEnvironment:()=>Le,getPostalCodeExample:()=>It,getPostalCodeLabel:()=>ut,getStateFromPostalCode:()=>xt,getStateLabel:()=>yt,getStateOptions:()=>mt,getStripeMethodDisplayName:()=>Qe,hasVendoredStripeMethodLogo:()=>Je,isAVSEnabled:()=>pt,isAVSFieldVisible:()=>lt,isAuthorizationOnlySession:()=>xe,isCardSetupCheckoutSession:()=>be,isDetachedSessionEligible:()=>ke,isMoneySettledOutcome:()=>he,isPostalCodeSupported:()=>Tt,isSetupIntentClientSecret:()=>Yt,isUuidV4:()=>Ut,isValidPostalCode:()=>At,isValidPublishableKey:()=>Vt,isValidSecretKey:()=>Kt,needsStripeMethodExplicitConfirm:()=>et,networkError:()=>Pe,normalizeCheckoutFailureOutcome:()=>Se,normalizeGatewayEnvironment:()=>Ot,partitionStripeMethods:()=>at,randomUuidV4:()=>wt,rateLimitError:()=>_e,resolveAVSConfig:()=>ne,resolveBillingApiUrl:()=>ze,resolveButtonsLayoutTheme:()=>je,resolveIdempotencyKey:()=>Ft,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>tt,resolveTheme:()=>Ze,serializeTelemetryBatch:()=>Mt,stripeExpressMethodToOptionKey:()=>Xe,telemetryStatusClass:()=>L,validationError:()=>Te});module.exports=or(Qr);function be(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function xe(e){return e?.captureMethod==="manual"}function he(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Se(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,o){super(t),this.name="FloPayError",this.type=r,this.code=o?.code,this.declineCode=o?.declineCode,this.param=o?.param,this.statusCode=o?.statusCode,Object.setPrototypeOf(this,new.target.prototype)}};function Te(e,t){return new d(e,"validation_error",{param:t})}function Ae(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function Ie(e){return new d(e,"authentication_error")}function _e(e){return new d(e,"rate_limit_error")}function Pe(e){return new d(e,"network_error")}function Re(e){if(!(e.captureMethod!=="manual"||!(e.products??U(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 ke(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 b(e,t,r,o){let n=a(e);if(n)return n;for(let s of t??[]){let c=a(s.currency);if(c)return c}for(let s of r??[]){let c=a(s.currency);if(c)return c}for(let s of o??[]){let c=a(s.currency);if(c)return c}return null}function U(e,t){let r=[];for(let o of t??[])r.push({type:"subscription",code:a(o.code)??a(o.providerPlanId),providerPlanId:o.providerPlanId,name:a(o.subscriptionName)??a(o.providerPlanName)??null,subscriptionName:o.subscriptionName??null,providerPlanName:o.providerPlanName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});for(let o of e??[])r.push({type:"item",code:a(o.code)??a(o.providerItemId),providerItemId:o.providerItemId,name:a(o.itemName)??a(o.providerItemName)??null,itemName:o.itemName??null,providerItemName:o.providerItemName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});return r}function ve(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 o=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,n={type:e.type,code:r,name:o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}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 o=a(e.itemName)??a(e.providerItemName)??null,n={code:r,providerItemId:a(e.providerItemId)??r,itemName:o,providerItemName:a(e.providerItemName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}function Ne(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let o=a(e.subscriptionName)??a(e.providerPlanName)??null,n={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:o,providerPlanName:a(e.providerPlanName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}var nr={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},w="staging";function Me(e){w=e.environment}function x(){return nr[w]}function Le(){return w}var De=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var we="1.7.0",Ge="x-flo-sdk-version",Ve="paypal_vaulted",C="https://api.stage.flopay.com",G="https://api.flopay.com",Ke=C,Ye=C;function ze(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?G:C:x())}var He="2024-01-01",V={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},qe={theme:"flat",variables:{...V.variables,borderRadius:"4px"}},We={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"}}},Y={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"}}},z={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"}}},H={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"}}},q={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)"}}},W={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)"}}},j={},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"}},$={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"}},h={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"}},S={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"}},T={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"}},A={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)"}},_={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 je(e){switch(e){case"minimal":return Z;case"rounded":return X;case"dark":return $;case"modern-light":return h;case"modern-dark":return S;case"bold-light":return T;case"bold-dark":return A;case"glass-light":return I;case"glass-dark":return _;default:return j}}var J={"modern-light":{appearance:K,buttonsLayout:h},"modern-dark":{appearance:Y,buttonsLayout:S},"bold-light":{appearance:z,buttonsLayout:T},"bold-dark":{appearance:H,buttonsLayout:A},"glass-light":{appearance:q,buttonsLayout:I},"glass-dark":{appearance:W,buttonsLayout:_}};function Ze(e){if(!(!e||e==="classic"))return J[e]}function Xe(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function i(e,t,r){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif" fill="${r}">${e}</text></svg>`}function Oe(e,t){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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>`}var $e=["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"],ar=[...$e,"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:{light:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")},dark:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")}}},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#060F33",textColor:"#FFFFFF",borderColor:"#060F33",logoSvg:i("a","#FFFFFF","#060F33")},dark:{backgroundColor:"#0FA0EA",textColor:"#060F33",borderColor:"#0FA0EA",logoSvg:i("a","#060F33","#FFFFFF")}}},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")},dark:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")}}},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:{light:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")},dark:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")}}},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")},dark:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")}}},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:{light:{backgroundColor:"#FFDD55",textColor:"#1E3791",borderColor:"#FFDD55",logoSvg:i("B","#1E3791","#FFDD55")},dark:{backgroundColor:"#1E3791",textColor:"#FFDD55",borderColor:"#1E3791",logoSvg:i("B","#FFDD55","#1E3791")}}},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:{light:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")},dark:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")}}},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:{light:{backgroundColor:"#000000",textColor:"#FFFFFF",borderColor:"#000000",logoSvg:i("B","#FFFFFF","#000000")},dark:{backgroundColor:"#FFFFFF",textColor:"#000000",borderColor:"#FFFFFF",logoSvg:i("B","#000000","#FFFFFF")}}},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:ar,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Oe("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Oe("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:{light:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")},dark:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")}}},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:{light:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")},dark:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")}}},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:{light:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")},dark:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")}}},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:{light:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")},dark:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")}}},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:{light:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")},dark:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")}}},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:$e,theme:{light:{backgroundColor:"#10298E",textColor:"#FFFFFF",borderColor:"#10298E",logoSvg:i("\u20AC","#FFFFFF","#10298E")},dark:{backgroundColor:"#3056D3",textColor:"#FFFFFF",borderColor:"#3056D3",logoSvg:i("\u20AC","#FFFFFF","#3056D3")}}},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:{light:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")},dark:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")}}},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:{light:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")},dark:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")}}},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")},dark:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")}}},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function Je(e){return e?De.includes(e):!1}var Q=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),ir=new Set(Q),ee=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),te=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function Qe(e){if(!e)return"this method";let t=y[e];return t?t.displayName:e.split("_").filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function et(e){if(!e)return!0;let t=y[e];return t?t.needsExplicitConfirm!==!1:!0}function tt(e,t){if(!e)return null;let r=y[e];return r?.theme?(typeof t=="string"&&t.endsWith("-dark")?r.theme.dark:r.theme.light)??r.theme.light??null:null}function rt(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=ee[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function ot(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=te[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function nt(e,t,r){if(!e?.length)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let s=re[n];if(!s)return!0;let c=s[o];return c?!(typeof c.min=="number"&&r<c.min||typeof c.max=="number"&&r>c.max):!0}):[...e]}function at(e,t){if(!e?.length)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,s=new Set;for(let c of e){if(typeof c!="string")continue;let p=c.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(ir.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(s.has(p))continue;s.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var it=["payment","address"],st=["visa","mastercard","mastercard_debit","amex","discover"],P={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}},R={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function ut(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 sr=new Intl.DisplayNames(["en"],{type:"region"});function ur(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var dt=["US","GB","CA","AU","NZ","IE","DE","FR"],dr=["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 Ue(e){return{code:e,name:sr.of(e)??e,flag:ur(e)}}var cr=new Set(dt),lr=dr.filter(e=>!cr.has(e)),oe=[...dt.map(Ue),...lr.map(Ue)];function ct(e){return oe.find(t=>t.code===e)}var pr={country:!0,postal_code:!0};function ne(e){return e?e===!0?pr:e:null}function lt(e,t){if(e===void 0||e===!1)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function pt(e){let t=ne(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ae=[{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"}],ie=[{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 mt(e){switch(e.toUpperCase()){case"US":return ae;case"CA":return ie;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 gt(e,t={}){let r=[],o=e.products??[],n=o.filter(u=>u.type==="subscription"),s=o.filter(u=>u.type!=="subscription"),p=(b(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let u of n){let m=u.totalAmount??0,F=u.overrideAmount??m,O=u.name||u.code||"Subscription";O==="4-WEEK PLAN"&&F<=1&&(O="7-DAY TRIAL: FULL ACCESS"),r.push({name:O,quantity:u.quantity,price:F,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&s.length>0))for(let u of s){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 zt=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),Ht=r.reduce((u,m)=>u+m.price*m.quantity,0),qt=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Wt=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),jt=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Ee=qt?e.totalAmount:Ht,E=Wt?e.subtotalAmount:zt,Fe=Math.max(0,E-Ee),Zt=E>0?Math.round(Fe/E*100):0;return{items:r,currency:p,total:Ee,originalTotal:E,totalSave:Fe,discountPercent:Zt,...jt?{couponDiscount:e.discountAmount}:{}}}var Ct="Idempotency-Key",k=255,Et="IdempotencyKeyInProgress";function mr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function se(){let e=mr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Ft(e){if(e===void 0)return se();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 ft=1,bt=[{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"]],gr={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 Cr(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[o,n,s]of yr)if(r>=o&&r<=n)return s;return null}function Er(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 gr[r]??null}function xt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return Cr(o);case"CA":return Er(o);default:return null}}var Fr=rr(require("validator/lib/isPostalCode.js"),1),v=Fr,ht=typeof v.default=="function"?v.default:v.default?.default;if(typeof ht!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var St=new Set(v.locales.map(e=>e.toUpperCase())),fr={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 ue(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:fr[t]??null:null}var br={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 Tt(e){let t=ue(e);return t!==null&&St.has(t)}function At(e,t){let r=(t??"").trim();if(!r)return!0;let o=ue(e);if(o===null||!St.has(o))return!0;try{return ht(r,o)}catch{return!0}}function It(e){let t=ue(e);return t?br[t]:void 0}var xr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,hr=/^dahlia\/stripe$/i,Sr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Tr=/^@flopay(?:\/|$)/i;function _t(e){return xr.test(e)||Sr.test(e)}function Ar(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Tr.test(e.module)||t.some(r=>!_t(r))?"first-party":e.module!==void 0&&hr.test(e.module)||t.some(_t)?"third-party-hosted":t.length===0?"injected":"first-party"}function Pt(e){let t=e.exception?.values;if(!t?.length)return e;let r=[];for(let n of t){let s=n.stacktrace?.frames;if(!s?.length)return e;r.push(...s)}let o=r.map(Ar);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var Rt=1,de=["@flopay/shared","@flopay/js","@flopay/react"],kt=32768,vt=20,Ir=["stripe","paypal"],_r=["card","wallet","paypal","apm","saved","unknown"],Pr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","checkout_interactive","provider_load","provider_ready","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"],ce=["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"],le=["server_error","transport_error","invalid_response","provider_runtime"],pe=["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.interactive","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","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.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"],Rr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],kr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],vr=["full","auto","confirm","setup","unknown"],Br=["embedded","buttons","automatic","unknown"],Nr=["machine","buyer","total"],Mr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],Bt=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Lr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Dr=new Set(ce),Or=new Set(le),B=new Set(Pr),Ur=new Set(Ir),wr=new Set(_r),Gr=new Set(pe),Vr=new Set(vr),Kr=new Set(Br),Yr=new Set(Rr),zr=new Set(kr),Hr=new Set(Nr),qr=new Set(Mr),Wr=new Set(de),Nt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function jr(){try{let r=globalThis.crypto.randomUUID();if(Bt.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]&15|64,e[8]=e[8]&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"&&Bt.test(e)?e:jr()}function Zr(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function N(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Xr(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Nt)}function $r(e){return Number.isFinite(e)&&e>Nt}function M(e,t){let r=Zr(t.attempt);return t.provider&&Ur.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,zr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,Yr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,wr,"unknown")),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Vr,"unknown")),t.layout&&(e.layout=l(t.layout,Kr,"unknown")),e}function me(e){let t=M({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Dr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,B,"sdk_initialize"),sequence:N(e.sequence)},e);return e.failureCategory&&Or.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),t}function ye(e){return M({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Gr,"operation.retry"),stage:l(e.stage,B,"sdk_initialize"),sequence:N(e.sequence)},e)}function ge(e){let t={...e,stage:e.stage??"completion"};return M({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,qr,"customer_abandoned"),stage:l(e.stage,B,"completion"),sequence:N(e.sequence)},t)}function Ce(e){let t=M({eventId:g(e.eventId),class:"performance",stage:l(e.stage,B,"sdk_initialize"),sequence:N(e.sequence),durationMs:Xr(e.durationMs),durationMode:l(e.durationMode,Hr,"machine")},e);return(e.durationTruncated===!0||$r(e.durationMs))&&(t.durationTruncated=!0),t}function Mt(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[me({...n,errorCode:n.code})]:n.class==="lifecycle"?[ye(n)]:n.class==="expected_outcome"?[ge(n)]:n.class==="performance"?[Ce(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Wr,"@flopay/shared"),version:Lr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var Jr=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Lt(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 Dt(e,t,r="network_error"){if(e instanceof d&&e.code!==void 0&&Jr.has(e.code))return{errorCode:t,statusClass:L(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 o=L(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function L(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 Ot(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 D=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ut(e){return typeof e=="string"&&D.test(e)}function wt(){try{let r=globalThis.crypto.randomUUID();if(D.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]&15|64,e[8]=e[8]&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 Gt(e){return P[e.toUpperCase()]??R}function Vt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Kt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Yt(e){return typeof e=="string"&&e.startsWith("seti_")}0&&(module.exports={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,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,ELEMENT_TYPES,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,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,SDK_VERSION,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,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,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,isSetupIntentClientSecret,isUuidV4,isValidPostalCode,isValidPublishableKey,isValidSecretKey,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveStripeMethodBrandVariant,resolveTheme,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
1
+ "use strict";var Zt=Object.create;var f=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Jt=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty;var er=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})},fe=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $t(t))!Qt.call(e,n)&&n!==r&&f(e,n,{get:()=>t[n],enumerable:!(o=Xt(t,n))||o.enumerable});return e};var tr=(e,t,r)=>(r=e!=null?Zt(Jt(e)):{},fe(t||!e||!e.__esModule?f(r,"default",{value:e,enumerable:!0}):r,e)),rr=e=>fe(f({},"__esModule",{value:!0}),e);var Jr={};er(Jr,{BILLING_API_URL:()=>Ye,BILLING_API_URL_PRODUCTION:()=>G,BILLING_API_URL_STAGING:()=>C,BOLD_DARK_APPEARANCE:()=>H,BOLD_LIGHT_APPEARANCE:()=>z,BUTTONS_LAYOUT_BOLD_DARK:()=>A,BUTTONS_LAYOUT_BOLD_LIGHT:()=>T,BUTTONS_LAYOUT_DARK:()=>$,BUTTONS_LAYOUT_DEFAULT:()=>j,BUTTONS_LAYOUT_GLASS_DARK:()=>_,BUTTONS_LAYOUT_GLASS_LIGHT:()=>I,BUTTONS_LAYOUT_MINIMAL:()=>Z,BUTTONS_LAYOUT_MODERN_DARK:()=>S,BUTTONS_LAYOUT_MODERN_LIGHT:()=>h,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>ie,COUNTRY_OPTIONS:()=>oe,CURRENCY_MAP:()=>R,DEFAULT_API_BASE_URL:()=>Ke,DEFAULT_API_VERSION:()=>He,DEFAULT_APPEARANCE:()=>V,DEFAULT_CURRENCY:()=>P,FLAT_APPEARANCE:()=>qe,FLO_INSTRUMENT_CATALOG:()=>ft,FLO_INSTRUMENT_SCHEMA_VERSION:()=>Ft,FLO_SDK_VERSION_HEADER:()=>Ge,FloPayError:()=>d,GLASS_DARK_APPEARANCE:()=>W,GLASS_LIGHT_APPEARANCE:()=>q,IDEMPOTENCY_IN_PROGRESS_CODE:()=>Ct,IDEMPOTENCY_KEY_HEADER:()=>gt,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>Y,MODERN_LIGHT_APPEARANCE:()=>K,NIGHT_APPEARANCE:()=>We,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>Ve,SDK_VERSION:()=>we,STRIPE_EXPRESS_METHODS:()=>Q,STRIPE_METHOD_AMOUNT_LIMITS:()=>re,STRIPE_METHOD_COUNTRIES:()=>te,STRIPE_METHOD_CURRENCIES:()=>ee,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>it,TELEMETRY_ERROR_CODES:()=>ce,TELEMETRY_FAILURE_CATEGORIES:()=>le,TELEMETRY_LOG_NAMES:()=>pe,TELEMETRY_MAX_BATCH_BYTES:()=>Pt,TELEMETRY_MAX_BATCH_EVENTS:()=>kt,TELEMETRY_SCHEMA_VERSION:()=>Rt,TELEMETRY_SDK_PACKAGES:()=>de,THEMES:()=>J,US_STATES:()=>ae,UUID_V4:()=>D,apiError:()=>Ae,assertCaptureMethodEligible:()=>Pe,authenticationError:()=>Ie,buildCheckoutDisplayData:()=>yt,buildItemPayload:()=>Ne,buildProductPayload:()=>Be,buildSubscriptionPayload:()=>ve,buildTelemetryErrorEvent:()=>me,buildTelemetryLogEvent:()=>ye,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>ge,classifyPaymentRejection:()=>Mt,classifyTelemetryFailure:()=>Lt,configureFlopay:()=>Me,dropThirdPartyOnlyError:()=>_t,filterStripeMethodsByAmount:()=>nt,filterStripeMethodsByCountry:()=>ot,filterStripeMethodsByCurrency:()=>rt,foldIntoProducts:()=>U,generateIdempotencyKey:()=>se,getConfiguredBillingApiUrl:()=>x,getCountryByCode:()=>dt,getCurrencyByCountry:()=>wt,getFloPayEnvironment:()=>Le,getPostalCodeExample:()=>At,getPostalCodeLabel:()=>st,getStateFromPostalCode:()=>bt,getStateLabel:()=>mt,getStateOptions:()=>pt,getStripeMethodDisplayName:()=>Qe,hasVendoredStripeMethodLogo:()=>Je,isAVSEnabled:()=>lt,isAVSFieldVisible:()=>ct,isAuthorizationOnlySession:()=>xe,isCardSetupCheckoutSession:()=>be,isDetachedSessionEligible:()=>ke,isMoneySettledOutcome:()=>he,isPostalCodeSupported:()=>St,isSetupIntentClientSecret:()=>Kt,isUuidV4:()=>Ot,isValidPostalCode:()=>Tt,isValidPublishableKey:()=>Gt,isValidSecretKey:()=>Vt,needsStripeMethodExplicitConfirm:()=>et,networkError:()=>Re,normalizeCheckoutFailureOutcome:()=>Se,normalizeGatewayEnvironment:()=>Dt,partitionStripeMethods:()=>at,randomUuidV4:()=>Ut,rateLimitError:()=>_e,resolveAVSConfig:()=>ne,resolveBillingApiUrl:()=>ze,resolveButtonsLayoutTheme:()=>je,resolveIdempotencyKey:()=>Et,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>tt,resolveTheme:()=>Ze,serializeTelemetryBatch:()=>vt,stripeExpressMethodToOptionKey:()=>Xe,telemetryStatusClass:()=>L,validationError:()=>Te});module.exports=rr(Jr);function be(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function xe(e){return e?.captureMethod==="manual"}function he(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Se(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,o){super(t),this.name="FloPayError",this.type=r,this.code=o?.code,this.declineCode=o?.declineCode,this.param=o?.param,this.statusCode=o?.statusCode,Object.setPrototypeOf(this,new.target.prototype)}};function Te(e,t){return new d(e,"validation_error",{param:t})}function Ae(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function Ie(e){return new d(e,"authentication_error")}function _e(e){return new d(e,"rate_limit_error")}function Re(e){return new d(e,"network_error")}function Pe(e){if(!(e.captureMethod!=="manual"||!(e.products??U(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 ke(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 b(e,t,r,o){let n=a(e);if(n)return n;for(let s of t??[]){let c=a(s.currency);if(c)return c}for(let s of r??[]){let c=a(s.currency);if(c)return c}for(let s of o??[]){let c=a(s.currency);if(c)return c}return null}function U(e,t){let r=[];for(let o of t??[])r.push({type:"subscription",code:a(o.code)??a(o.providerPlanId),providerPlanId:o.providerPlanId,name:a(o.subscriptionName)??a(o.providerPlanName)??null,subscriptionName:o.subscriptionName??null,providerPlanName:o.providerPlanName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});for(let o of e??[])r.push({type:"item",code:a(o.code)??a(o.providerItemId),providerItemId:o.providerItemId,name:a(o.itemName)??a(o.providerItemName)??null,itemName:o.itemName??null,providerItemName:o.providerItemName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});return r}function Be(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 o=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,n={type:e.type,code:r,name:o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}function Ne(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let o=a(e.itemName)??a(e.providerItemName)??null,n={code:r,providerItemId:a(e.providerItemId)??r,itemName:o,providerItemName:a(e.providerItemName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}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 o=a(e.subscriptionName)??a(e.providerPlanName)??null,n={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:o,providerPlanName:a(e.providerPlanName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}var or={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},w="staging";function Me(e){w=e.environment}function x(){return or[w]}function Le(){return w}var De=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var we="1.8.2",Ge="x-flo-sdk-version",Ve="paypal_vaulted",C="https://api.stage.flopay.com",G="https://api.flopay.com",Ke=C,Ye=C;function ze(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?G:C:x())}var He="2024-01-01",V={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},qe={theme:"flat",variables:{...V.variables,borderRadius:"4px"}},We={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"}}},Y={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"}}},z={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"}}},H={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"}}},q={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)"}}},W={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)"}}},j={},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"}},$={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"}},h={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"}},S={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"}},T={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"}},A={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)"}},_={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 je(e){switch(e){case"minimal":return Z;case"rounded":return X;case"dark":return $;case"modern-light":return h;case"modern-dark":return S;case"bold-light":return T;case"bold-dark":return A;case"glass-light":return I;case"glass-dark":return _;default:return j}}var J={"modern-light":{appearance:K,buttonsLayout:h},"modern-dark":{appearance:Y,buttonsLayout:S},"bold-light":{appearance:z,buttonsLayout:T},"bold-dark":{appearance:H,buttonsLayout:A},"glass-light":{appearance:q,buttonsLayout:I},"glass-dark":{appearance:W,buttonsLayout:_}};function Ze(e){if(!(!e||e==="classic"))return J[e]}function Xe(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function i(e,t,r){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif" fill="${r}">${e}</text></svg>`}function Oe(e,t){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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>`}var $e=["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"],nr=[...$e,"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:{light:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")},dark:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")}}},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#060F33",textColor:"#FFFFFF",borderColor:"#060F33",logoSvg:i("a","#FFFFFF","#060F33")},dark:{backgroundColor:"#0FA0EA",textColor:"#060F33",borderColor:"#0FA0EA",logoSvg:i("a","#060F33","#FFFFFF")}}},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")},dark:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")}}},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:{light:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")},dark:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")}}},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")},dark:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")}}},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:{light:{backgroundColor:"#FFDD55",textColor:"#1E3791",borderColor:"#FFDD55",logoSvg:i("B","#1E3791","#FFDD55")},dark:{backgroundColor:"#1E3791",textColor:"#FFDD55",borderColor:"#1E3791",logoSvg:i("B","#FFDD55","#1E3791")}}},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:{light:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")},dark:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")}}},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:{light:{backgroundColor:"#000000",textColor:"#FFFFFF",borderColor:"#000000",logoSvg:i("B","#FFFFFF","#000000")},dark:{backgroundColor:"#FFFFFF",textColor:"#000000",borderColor:"#FFFFFF",logoSvg:i("B","#000000","#FFFFFF")}}},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:nr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Oe("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Oe("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:{light:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")},dark:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")}}},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:{light:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")},dark:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")}}},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:{light:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")},dark:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")}}},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:{light:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")},dark:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")}}},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:{light:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")},dark:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")}}},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:$e,theme:{light:{backgroundColor:"#10298E",textColor:"#FFFFFF",borderColor:"#10298E",logoSvg:i("\u20AC","#FFFFFF","#10298E")},dark:{backgroundColor:"#3056D3",textColor:"#FFFFFF",borderColor:"#3056D3",logoSvg:i("\u20AC","#FFFFFF","#3056D3")}}},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:{light:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")},dark:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")}}},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:{light:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")},dark:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")}}},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")},dark:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")}}},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function Je(e){return e?De.includes(e):!1}var Q=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),ar=new Set(Q),ee=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),te=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function Qe(e){if(!e)return"this method";let t=y[e];return t?t.displayName:e.split("_").filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function et(e){if(!e)return!0;let t=y[e];return t?t.needsExplicitConfirm!==!1:!0}function tt(e,t){if(!e)return null;let r=y[e];return r?.theme?(typeof t=="string"&&t.endsWith("-dark")?r.theme.dark:r.theme.light)??r.theme.light??null:null}function rt(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=ee[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function ot(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=te[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function nt(e,t,r){if(!e?.length)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let s=re[n];if(!s)return!0;let c=s[o];return c?!(typeof c.min=="number"&&r<c.min||typeof c.max=="number"&&r>c.max):!0}):[...e]}function at(e,t){if(!e?.length)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,s=new Set;for(let c of e){if(typeof c!="string")continue;let p=c.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(ar.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(s.has(p))continue;s.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var it=["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}},P={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function st(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 sr(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var ut=["US","GB","CA","AU","NZ","IE","DE","FR"],ur=["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 Ue(e){return{code:e,name:ir.of(e)??e,flag:sr(e)}}var dr=new Set(ut),cr=ur.filter(e=>!dr.has(e)),oe=[...ut.map(Ue),...cr.map(Ue)];function dt(e){return oe.find(t=>t.code===e)}var lr={country:!0,postal_code:!0};function ne(e){return e?e===!0?lr:e:null}function ct(e,t){if(e===void 0||e===!1)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function lt(e){let t=ne(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ae=[{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"}],ie=[{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 pt(e){switch(e.toUpperCase()){case"US":return ae;case"CA":return ie;default:return null}}function mt(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 yt(e,t={}){let r=[],o=e.products??[],n=o.filter(u=>u.type==="subscription"),s=o.filter(u=>u.type!=="subscription"),p=(b(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let u of n){let m=u.totalAmount??0,F=u.overrideAmount??m,O=u.name||u.code||"Subscription";O==="4-WEEK PLAN"&&F<=1&&(O="7-DAY TRIAL: FULL ACCESS"),r.push({name:O,quantity:u.quantity,price:F,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&s.length>0))for(let u of s){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 Yt=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),zt=r.reduce((u,m)=>u+m.price*m.quantity,0),Ht=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),qt=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),Wt=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Ee=Ht?e.totalAmount:zt,E=qt?e.subtotalAmount:Yt,Fe=Math.max(0,E-Ee),jt=E>0?Math.round(Fe/E*100):0;return{items:r,currency:p,total:Ee,originalTotal:E,totalSave:Fe,discountPercent:jt,...Wt?{couponDiscount:e.discountAmount}:{}}}var gt="Idempotency-Key",k=255,Ct="IdempotencyKeyInProgress";function pr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function se(){let e=pr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Et(e){if(e===void 0)return se();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 Ft=1,ft=[{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 mr=[[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"]],yr={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 gr(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[o,n,s]of mr)if(r>=o&&r<=n)return s;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 yr[r]??null}function bt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return gr(o);case"CA":return Cr(o);default:return null}}var Er=tr(require("validator/lib/isPostalCode.js"),1),B=Er,xt=typeof B.default=="function"?B.default:B.default?.default;if(typeof xt!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var ht=new Set(B.locales.map(e=>e.toUpperCase())),Fr={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 ue(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Fr[t]??null:null}var fr={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 St(e){let t=ue(e);return t!==null&&ht.has(t)}function Tt(e,t){let r=(t??"").trim();if(!r)return!0;let o=ue(e);if(o===null||!ht.has(o))return!0;try{return xt(r,o)}catch{return!0}}function At(e){let t=ue(e);return t?fr[t]:void 0}var br=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,xr=/^dahlia\/stripe$/i,hr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Sr=/^@flopay(?:\/|$)/i;function It(e){return br.test(e)||hr.test(e)}function Tr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Sr.test(e.module)||t.some(r=>!It(r))?"first-party":e.module!==void 0&&xr.test(e.module)||t.some(It)?"third-party-hosted":t.length===0?"injected":"first-party"}function _t(e){let t=e.exception?.values;if(!t?.length)return e;let r=[];for(let n of t){let s=n.stacktrace?.frames;if(!s?.length)return e;r.push(...s)}let o=r.map(Tr);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var Rt=1,de=["@flopay/shared","@flopay/js","@flopay/react"],Pt=32768,kt=20,Ar=["stripe","paypal"],Ir=["card","wallet","paypal","apm","saved","unknown"],_r=["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","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"],ce=["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"],le=["server_error","transport_error","invalid_response","provider_runtime"],pe=["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.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.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"],Rr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Pr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],kr=["full","auto","confirm","setup","unknown"],Br=["embedded","buttons","automatic","unknown"],Nr=["machine","buyer","total"],vr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],Bt=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Mr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Lr=new Set(ce),Dr=new Set(le),N=new Set(_r),Or=new Set(Ar),Ur=new Set(Ir),wr=new Set(pe),Gr=new Set(kr),Vr=new Set(Br),Kr=new Set(Rr),Yr=new Set(Pr),zr=new Set(Nr),Hr=new Set(vr),qr=new Set(de),Nt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function Wr(){try{let r=globalThis.crypto.randomUUID();if(Bt.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]&15|64,e[8]=e[8]&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"&&Bt.test(e)?e:Wr()}function jr(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 Zr(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Nt)}function Xr(e){return Number.isFinite(e)&&e>Nt}function M(e,t){let r=jr(t.attempt);return t.provider&&Or.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,Yr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,Kr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Ur,"unknown")),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Gr,"unknown")),t.layout&&(e.layout=l(t.layout,Vr,"unknown")),e}function me(e){let t=M({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Lr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,N,"sdk_initialize"),sequence:v(e.sequence)},e);return e.failureCategory&&Dr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),t}function ye(e){return M({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,wr,"operation.retry"),stage:l(e.stage,N,"sdk_initialize"),sequence:v(e.sequence)},e)}function ge(e){let t={...e,stage:e.stage??"completion"};return M({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,Hr,"customer_abandoned"),stage:l(e.stage,N,"completion"),sequence:v(e.sequence)},t)}function Ce(e){let t=M({eventId:g(e.eventId),class:"performance",stage:l(e.stage,N,"sdk_initialize"),sequence:v(e.sequence),durationMs:Zr(e.durationMs),durationMode:l(e.durationMode,zr,"machine")},e);return(e.durationTruncated===!0||Xr(e.durationMs))&&(t.durationTruncated=!0),t}function vt(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[me({...n,errorCode:n.code})]:n.class==="lifecycle"?[ye(n)]:n.class==="expected_outcome"?[ge(n)]:n.class==="performance"?[Ce(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,qr,"@flopay/shared"),version:Mr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var $r=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Mt(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 Lt(e,t,r="network_error"){if(e instanceof d&&e.code!==void 0&&$r.has(e.code))return{errorCode:t,statusClass:L(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 o=L(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function L(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 Dt(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 D=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ot(e){return typeof e=="string"&&D.test(e)}function Ut(){try{let r=globalThis.crypto.randomUUID();if(D.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]&15|64,e[8]=e[8]&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 wt(e){return R[e.toUpperCase()]??P}function Gt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Vt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Kt(e){return typeof e=="string"&&e.startsWith("seti_")}0&&(module.exports={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,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_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,SDK_VERSION,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,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,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,isSetupIntentClientSecret,isUuidV4,isValidPostalCode,isValidPublishableKey,isValidSecretKey,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveStripeMethodBrandVariant,resolveTheme,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
package/dist/index.d.cts CHANGED
@@ -332,6 +332,9 @@ interface CheckoutGateway {
332
332
  * provider-neutral hosted card form can be recovered from
333
333
  * `POST /v1/checkouts/sessions/{id}/vault/capture` when no embedded
334
334
  * {@link CheckoutSession.vault} block is present. Absent on legacy backends.
335
+ * `SplitCardForm` uses this list to scope the retained wallet/APM surfaces.
336
+ * When a buyer selects one, the SDK requests a session-scoped intent for
337
+ * that explicit method. Card checkout uses the hosted vault.
335
338
  */
336
339
  enabledPaymentMethods?: string[];
337
340
  /**
@@ -463,22 +466,6 @@ interface PaymentResult {
463
466
  checkoutMethod?: CheckoutButtonMethod;
464
467
  error?: FloPayError;
465
468
  }
466
- /** Parameters for confirming a wallet/APM payment from a mounted PaymentElement. */
467
- interface ConfirmPaymentParams {
468
- clientSecret: string;
469
- /** Explicit non-card category for the selected payment method. */
470
- paymentMethodCategory: NonCardPaymentMethodCategory;
471
- /** Provider method type (for example `cashapp` or `ideal`); `card` is rejected. */
472
- paymentMethodType: string;
473
- /** Optional redirect URL after 3-D Secure or wallet authentication. */
474
- returnUrl?: string;
475
- /**
476
- * Optional billing details appended to `payment_method_data` on the confirm call.
477
- * Ensures `billing_details.email` (and name/address) lands on the PaymentMethod
478
- * Stripe mints from Elements during 3DS confirmation.
479
- */
480
- billingDetails?: BillingDetails;
481
- }
482
469
  /** Billing details passed to Stripe for AVS (Address Verification). */
483
470
  interface BillingDetails {
484
471
  email?: string;
@@ -601,71 +588,6 @@ type SessionIntentDeclineRequest = {
601
588
  /** Provider classification code only; messages and identifiers are rejected. */
602
589
  providerDeclineReason: string;
603
590
  };
604
- /** The type of payment element to render. */
605
- type ElementType = 'payment' | 'address';
606
- /** Emitted when an element's internal state changes. */
607
- interface ElementChangeEvent {
608
- elementType: ElementType;
609
- complete: boolean;
610
- empty: boolean;
611
- error?: {
612
- message: string;
613
- type: string;
614
- };
615
- /** Only populated for non-sensitive fields (e.g. address). */
616
- value?: Record<string, unknown>;
617
- }
618
- /** Configuration options when creating an element. */
619
- interface ElementOptions {
620
- appearance?: FloPayAppearance;
621
- /**
622
- * Explicit non-card provider method types rendered by a payment element.
623
- * The SDK removes `card`; card collection belongs to the hosted vault.
624
- */
625
- paymentMethodTypes?: readonly string[];
626
- /**
627
- * Client secret for an existing non-card PaymentIntent or SetupIntent.
628
- * The explicit `paymentMethodTypes` allowlist remains required; the SDK uses
629
- * it to validate the provider intent before mounting. Card checkout uses the
630
- * hosted vault.
631
- */
632
- clientSecret?: string;
633
- /**
634
- * Total amount in the smallest currency unit (e.g. cents).
635
- * Used when no `clientSecret` is available — Stripe Elements needs
636
- * `mode` + `amount` + `currency` to render without a server-side intent.
637
- */
638
- amount?: number;
639
- /** ISO 4217 currency code (lowercase). Used with `amount` when no `clientSecret`. */
640
- currency?: string;
641
- /** How payment methods are created. 'manual' = tokenize only, 'auto' = Stripe handles it. */
642
- paymentMethodCreation?: 'manual' | 'auto';
643
- /**
644
- * Requests reusable payment credentials for future payments when Stripe
645
- * creates or validates a deferred PaymentIntent for this Elements group.
646
- */
647
- setupFutureUsage?: 'off_session' | 'on_session';
648
- layout?: 'tabs' | 'accordion' | 'auto';
649
- defaultValues?: Record<string, unknown>;
650
- readOnly?: boolean;
651
- /** Address element mode: 'billing' or 'shipping'. */
652
- mode?: 'billing' | 'shipping';
653
- }
654
- /**
655
- * A payment element that has been created and can be mounted into the DOM.
656
- *
657
- * TODO: In a future phase, each MountedElement will render inside an iframe
658
- * for PCI DSS SAQ-A compliance. For now, it wraps the underlying provider
659
- * element directly.
660
- */
661
- interface MountedElement {
662
- mount(container: HTMLElement): void;
663
- unmount(): void;
664
- update(options: Partial<ElementOptions>): void;
665
- on(event: string, handler: (...args: unknown[]) => void): void;
666
- off(event: string, handler: (...args: unknown[]) => void): void;
667
- destroy(): void;
668
- }
669
591
  /** Top-level configuration for initializing FloPay. */
670
592
  interface FloPayConfig {
671
593
  publishableKey: string;
@@ -691,41 +613,8 @@ interface FloPayConfig {
691
613
  interface PaymentProviderAdapter {
692
614
  readonly name: string;
693
615
  initialize(config: FloPayConfig): Promise<void>;
694
- createElement(type: ElementType, options: ElementOptions): Promise<MountedElement>;
695
- /** Retrieve an existing element by type, or `null` if not yet created. */
696
- getElement(type: ElementType): MountedElement | null;
697
- /** Submit elements for validation (Stripe `elements.submit()`). */
698
- submitElements(): Promise<{
699
- error?: FloPayError;
700
- }>;
701
- /** Confirm a non-card wallet/APM payment from mounted elements. */
702
- confirmPayment(params: ConfirmPaymentParams): Promise<PaymentResult>;
703
- /**
704
- * Create a PayPal payment: create PM → create intent → confirm with redirect.
705
- * Returns the confirmed PaymentIntent ID if completed inline, or redirects to PayPal.
706
- *
707
- * `nonce` is the session-bound checkout token forwarded to the
708
- * session-scoped non-card intent contract.
709
- */
710
- confirmPayPalPayment(params: {
711
- billingApiUrl: string;
712
- sessionId: string;
713
- email: string;
714
- returnUrl: string;
715
- nonce?: string;
716
- }): Promise<PayPalPaymentResult>;
717
- /**
718
- * Resume a PayPal payment after redirect return.
719
- * Checks URL params for payment_intent + redirect_status.
720
- */
721
- resumePayPalPayment(): Promise<PayPalPaymentResult | null>;
722
- /**
723
- * Get the raw underlying provider instance (e.g. Stripe object).
724
- * Used internally for creating secondary Elements groups (e.g. PayPal).
725
- */
616
+ /** Get the raw underlying provider instance (e.g. Stripe object). */
726
617
  getRawProvider(): unknown;
727
- /** Create a secondary Elements group for PayPal's automatic payment-method flow. */
728
- createPayPalElements(options: ElementOptions): unknown;
729
618
  destroy(): void;
730
619
  }
731
620
  /**
@@ -1342,8 +1231,11 @@ interface CreateSessionParams {
1342
1231
  * so a timeout or lost response cannot mint a second session. Supply this to
1343
1232
  * keep the key stable across React remounts, multiple SDK instances, or
1344
1233
  * server retries you control; it **must not** be reused for a new purchase.
1345
- * When omitted, the SDK generates a fresh, cryptographically random key per
1346
- * call. Must be non-empty and at most 255 characters.
1234
+ * In browser flows (`@flopay/js` and `@flopay/react`), omitting the option
1235
+ * generates a fresh cryptographically random key for the SDK's retry loop.
1236
+ * `@flopay/node` has no internal retry loop, so omission sends no header and
1237
+ * the server integration owns key reuse across calls. Must be non-empty and
1238
+ * at most 255 characters when supplied.
1347
1239
  */
1348
1240
  idempotencyKey?: string;
1349
1241
  }
@@ -1702,7 +1594,7 @@ declare function getConfiguredBillingApiUrl(): string;
1702
1594
  declare function getFloPayEnvironment(): FloPayEnvironment;
1703
1595
 
1704
1596
  /** Current SDK version. */
1705
- declare const SDK_VERSION = "1.7.0";
1597
+ declare const SDK_VERSION = "1.8.2";
1706
1598
  /**
1707
1599
  * HTTP header the SDK sends on checkout-session create/read requests so the
1708
1600
  * backend can observe compatibility. Version 1.4.9 is the first release that
@@ -2083,8 +1975,6 @@ declare function partitionStripeMethods(enabledPaymentMethods: readonly string[]
2083
1975
  expressMethods: string[];
2084
1976
  paymentElementMethods: string[];
2085
1977
  };
2086
- /** All supported element type identifiers. */
2087
- declare const ELEMENT_TYPES: readonly ["payment", "address"];
2088
1978
  declare const SUPPORTED_CARD_BRANDS: readonly ["visa", "mastercard", "mastercard_debit", "amex", "discover"];
2089
1979
  /** Country code to currency information mapping. */
2090
1980
  declare const CURRENCY_MAP: Record<string, CurrencyInfo>;
@@ -2387,14 +2277,14 @@ type TelemetryProvider = (typeof TELEMETRY_PROVIDERS)[number];
2387
2277
  type TelemetryProviderInput = TelemetryProvider | 'flo' | 'pcivault' | 'other' | 'unknown';
2388
2278
  declare const TELEMETRY_PAYMENT_METHOD_CATEGORIES: readonly ["card", "wallet", "paypal", "apm", "saved", "unknown"];
2389
2279
  type TelemetryPaymentMethodCategory = (typeof TELEMETRY_PAYMENT_METHOD_CATEGORIES)[number];
2390
- declare const TELEMETRY_STAGES: readonly ["callback", "sdk_initialize", "checkout_mount", "session_create", "session_shell", "session_claim", "session_read", "session_first_byte", "session_complete", "checkout_data_ready", "checkout_render", "checkout_interactive", "provider_load", "provider_ready", "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"];
2280
+ declare const TELEMETRY_STAGES: readonly ["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", "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"];
2391
2281
  type TelemetryStage = (typeof TELEMETRY_STAGES)[number];
2392
2282
  declare const TELEMETRY_ERROR_CODES: readonly ["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"];
2393
2283
  type TelemetryErrorCode = (typeof TELEMETRY_ERROR_CODES)[number];
2394
2284
  declare const TELEMETRY_FAILURE_CATEGORIES: readonly ["server_error", "transport_error", "invalid_response", "provider_runtime"];
2395
2285
  type TelemetryFailureCategory = (typeof TELEMETRY_FAILURE_CATEGORIES)[number];
2396
2286
  /** Closed catalog of SDK-authored lifecycle and operational log names. */
2397
- declare const TELEMETRY_LOG_NAMES: readonly ["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.interactive", "checkout.recovery.started", "checkout.recovery.completed", "checkout.unmount", "provider.load.started", "provider.eligibility.checked", "provider.availability.checked", "provider.ready", "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.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"];
2287
+ declare const TELEMETRY_LOG_NAMES: readonly ["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.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.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"];
2398
2288
  type TelemetryLogName = (typeof TELEMETRY_LOG_NAMES)[number];
2399
2289
  declare const TELEMETRY_REQUEST_CATEGORIES: readonly ["session_create", "session_claim", "session_read", "intent_create", "process_payment", "vault_capture", "account_snapshot", "provider_sdk", "other"];
2400
2290
  type TelemetryRequestCategory = (typeof TELEMETRY_REQUEST_CATEGORIES)[number];
@@ -2548,4 +2438,4 @@ declare function isValidSecretKey(key: string): boolean;
2548
2438
  */
2549
2439
  declare function isSetupIntentClientSecret(clientSecret: string | null | undefined): boolean;
2550
2440
 
2551
- export { type AVSFieldConfig, 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, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, 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 ConfirmPaymentParams, type CountryOption, 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, ELEMENT_TYPES, type ElementChangeEvent, type ElementOptions, type ElementType, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, type MountedElement, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, 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, SDK_VERSION, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedPaymentMethodStatus, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, 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, type TagsData, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, 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, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupIntentClientSecret, isUuidV4, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
2441
+ export { type AVSFieldConfig, 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, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, 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 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, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, 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, SDK_VERSION, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedPaymentMethodStatus, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, 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, type TagsData, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, 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, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupIntentClientSecret, isUuidV4, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
package/dist/index.d.ts CHANGED
@@ -332,6 +332,9 @@ interface CheckoutGateway {
332
332
  * provider-neutral hosted card form can be recovered from
333
333
  * `POST /v1/checkouts/sessions/{id}/vault/capture` when no embedded
334
334
  * {@link CheckoutSession.vault} block is present. Absent on legacy backends.
335
+ * `SplitCardForm` uses this list to scope the retained wallet/APM surfaces.
336
+ * When a buyer selects one, the SDK requests a session-scoped intent for
337
+ * that explicit method. Card checkout uses the hosted vault.
335
338
  */
336
339
  enabledPaymentMethods?: string[];
337
340
  /**
@@ -463,22 +466,6 @@ interface PaymentResult {
463
466
  checkoutMethod?: CheckoutButtonMethod;
464
467
  error?: FloPayError;
465
468
  }
466
- /** Parameters for confirming a wallet/APM payment from a mounted PaymentElement. */
467
- interface ConfirmPaymentParams {
468
- clientSecret: string;
469
- /** Explicit non-card category for the selected payment method. */
470
- paymentMethodCategory: NonCardPaymentMethodCategory;
471
- /** Provider method type (for example `cashapp` or `ideal`); `card` is rejected. */
472
- paymentMethodType: string;
473
- /** Optional redirect URL after 3-D Secure or wallet authentication. */
474
- returnUrl?: string;
475
- /**
476
- * Optional billing details appended to `payment_method_data` on the confirm call.
477
- * Ensures `billing_details.email` (and name/address) lands on the PaymentMethod
478
- * Stripe mints from Elements during 3DS confirmation.
479
- */
480
- billingDetails?: BillingDetails;
481
- }
482
469
  /** Billing details passed to Stripe for AVS (Address Verification). */
483
470
  interface BillingDetails {
484
471
  email?: string;
@@ -601,71 +588,6 @@ type SessionIntentDeclineRequest = {
601
588
  /** Provider classification code only; messages and identifiers are rejected. */
602
589
  providerDeclineReason: string;
603
590
  };
604
- /** The type of payment element to render. */
605
- type ElementType = 'payment' | 'address';
606
- /** Emitted when an element's internal state changes. */
607
- interface ElementChangeEvent {
608
- elementType: ElementType;
609
- complete: boolean;
610
- empty: boolean;
611
- error?: {
612
- message: string;
613
- type: string;
614
- };
615
- /** Only populated for non-sensitive fields (e.g. address). */
616
- value?: Record<string, unknown>;
617
- }
618
- /** Configuration options when creating an element. */
619
- interface ElementOptions {
620
- appearance?: FloPayAppearance;
621
- /**
622
- * Explicit non-card provider method types rendered by a payment element.
623
- * The SDK removes `card`; card collection belongs to the hosted vault.
624
- */
625
- paymentMethodTypes?: readonly string[];
626
- /**
627
- * Client secret for an existing non-card PaymentIntent or SetupIntent.
628
- * The explicit `paymentMethodTypes` allowlist remains required; the SDK uses
629
- * it to validate the provider intent before mounting. Card checkout uses the
630
- * hosted vault.
631
- */
632
- clientSecret?: string;
633
- /**
634
- * Total amount in the smallest currency unit (e.g. cents).
635
- * Used when no `clientSecret` is available — Stripe Elements needs
636
- * `mode` + `amount` + `currency` to render without a server-side intent.
637
- */
638
- amount?: number;
639
- /** ISO 4217 currency code (lowercase). Used with `amount` when no `clientSecret`. */
640
- currency?: string;
641
- /** How payment methods are created. 'manual' = tokenize only, 'auto' = Stripe handles it. */
642
- paymentMethodCreation?: 'manual' | 'auto';
643
- /**
644
- * Requests reusable payment credentials for future payments when Stripe
645
- * creates or validates a deferred PaymentIntent for this Elements group.
646
- */
647
- setupFutureUsage?: 'off_session' | 'on_session';
648
- layout?: 'tabs' | 'accordion' | 'auto';
649
- defaultValues?: Record<string, unknown>;
650
- readOnly?: boolean;
651
- /** Address element mode: 'billing' or 'shipping'. */
652
- mode?: 'billing' | 'shipping';
653
- }
654
- /**
655
- * A payment element that has been created and can be mounted into the DOM.
656
- *
657
- * TODO: In a future phase, each MountedElement will render inside an iframe
658
- * for PCI DSS SAQ-A compliance. For now, it wraps the underlying provider
659
- * element directly.
660
- */
661
- interface MountedElement {
662
- mount(container: HTMLElement): void;
663
- unmount(): void;
664
- update(options: Partial<ElementOptions>): void;
665
- on(event: string, handler: (...args: unknown[]) => void): void;
666
- off(event: string, handler: (...args: unknown[]) => void): void;
667
- destroy(): void;
668
- }
669
591
  /** Top-level configuration for initializing FloPay. */
670
592
  interface FloPayConfig {
671
593
  publishableKey: string;
@@ -691,41 +613,8 @@ interface FloPayConfig {
691
613
  interface PaymentProviderAdapter {
692
614
  readonly name: string;
693
615
  initialize(config: FloPayConfig): Promise<void>;
694
- createElement(type: ElementType, options: ElementOptions): Promise<MountedElement>;
695
- /** Retrieve an existing element by type, or `null` if not yet created. */
696
- getElement(type: ElementType): MountedElement | null;
697
- /** Submit elements for validation (Stripe `elements.submit()`). */
698
- submitElements(): Promise<{
699
- error?: FloPayError;
700
- }>;
701
- /** Confirm a non-card wallet/APM payment from mounted elements. */
702
- confirmPayment(params: ConfirmPaymentParams): Promise<PaymentResult>;
703
- /**
704
- * Create a PayPal payment: create PM → create intent → confirm with redirect.
705
- * Returns the confirmed PaymentIntent ID if completed inline, or redirects to PayPal.
706
- *
707
- * `nonce` is the session-bound checkout token forwarded to the
708
- * session-scoped non-card intent contract.
709
- */
710
- confirmPayPalPayment(params: {
711
- billingApiUrl: string;
712
- sessionId: string;
713
- email: string;
714
- returnUrl: string;
715
- nonce?: string;
716
- }): Promise<PayPalPaymentResult>;
717
- /**
718
- * Resume a PayPal payment after redirect return.
719
- * Checks URL params for payment_intent + redirect_status.
720
- */
721
- resumePayPalPayment(): Promise<PayPalPaymentResult | null>;
722
- /**
723
- * Get the raw underlying provider instance (e.g. Stripe object).
724
- * Used internally for creating secondary Elements groups (e.g. PayPal).
725
- */
616
+ /** Get the raw underlying provider instance (e.g. Stripe object). */
726
617
  getRawProvider(): unknown;
727
- /** Create a secondary Elements group for PayPal's automatic payment-method flow. */
728
- createPayPalElements(options: ElementOptions): unknown;
729
618
  destroy(): void;
730
619
  }
731
620
  /**
@@ -1342,8 +1231,11 @@ interface CreateSessionParams {
1342
1231
  * so a timeout or lost response cannot mint a second session. Supply this to
1343
1232
  * keep the key stable across React remounts, multiple SDK instances, or
1344
1233
  * server retries you control; it **must not** be reused for a new purchase.
1345
- * When omitted, the SDK generates a fresh, cryptographically random key per
1346
- * call. Must be non-empty and at most 255 characters.
1234
+ * In browser flows (`@flopay/js` and `@flopay/react`), omitting the option
1235
+ * generates a fresh cryptographically random key for the SDK's retry loop.
1236
+ * `@flopay/node` has no internal retry loop, so omission sends no header and
1237
+ * the server integration owns key reuse across calls. Must be non-empty and
1238
+ * at most 255 characters when supplied.
1347
1239
  */
1348
1240
  idempotencyKey?: string;
1349
1241
  }
@@ -1702,7 +1594,7 @@ declare function getConfiguredBillingApiUrl(): string;
1702
1594
  declare function getFloPayEnvironment(): FloPayEnvironment;
1703
1595
 
1704
1596
  /** Current SDK version. */
1705
- declare const SDK_VERSION = "1.7.0";
1597
+ declare const SDK_VERSION = "1.8.2";
1706
1598
  /**
1707
1599
  * HTTP header the SDK sends on checkout-session create/read requests so the
1708
1600
  * backend can observe compatibility. Version 1.4.9 is the first release that
@@ -2083,8 +1975,6 @@ declare function partitionStripeMethods(enabledPaymentMethods: readonly string[]
2083
1975
  expressMethods: string[];
2084
1976
  paymentElementMethods: string[];
2085
1977
  };
2086
- /** All supported element type identifiers. */
2087
- declare const ELEMENT_TYPES: readonly ["payment", "address"];
2088
1978
  declare const SUPPORTED_CARD_BRANDS: readonly ["visa", "mastercard", "mastercard_debit", "amex", "discover"];
2089
1979
  /** Country code to currency information mapping. */
2090
1980
  declare const CURRENCY_MAP: Record<string, CurrencyInfo>;
@@ -2387,14 +2277,14 @@ type TelemetryProvider = (typeof TELEMETRY_PROVIDERS)[number];
2387
2277
  type TelemetryProviderInput = TelemetryProvider | 'flo' | 'pcivault' | 'other' | 'unknown';
2388
2278
  declare const TELEMETRY_PAYMENT_METHOD_CATEGORIES: readonly ["card", "wallet", "paypal", "apm", "saved", "unknown"];
2389
2279
  type TelemetryPaymentMethodCategory = (typeof TELEMETRY_PAYMENT_METHOD_CATEGORIES)[number];
2390
- declare const TELEMETRY_STAGES: readonly ["callback", "sdk_initialize", "checkout_mount", "session_create", "session_shell", "session_claim", "session_read", "session_first_byte", "session_complete", "checkout_data_ready", "checkout_render", "checkout_interactive", "provider_load", "provider_ready", "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"];
2280
+ declare const TELEMETRY_STAGES: readonly ["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", "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"];
2391
2281
  type TelemetryStage = (typeof TELEMETRY_STAGES)[number];
2392
2282
  declare const TELEMETRY_ERROR_CODES: readonly ["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"];
2393
2283
  type TelemetryErrorCode = (typeof TELEMETRY_ERROR_CODES)[number];
2394
2284
  declare const TELEMETRY_FAILURE_CATEGORIES: readonly ["server_error", "transport_error", "invalid_response", "provider_runtime"];
2395
2285
  type TelemetryFailureCategory = (typeof TELEMETRY_FAILURE_CATEGORIES)[number];
2396
2286
  /** Closed catalog of SDK-authored lifecycle and operational log names. */
2397
- declare const TELEMETRY_LOG_NAMES: readonly ["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.interactive", "checkout.recovery.started", "checkout.recovery.completed", "checkout.unmount", "provider.load.started", "provider.eligibility.checked", "provider.availability.checked", "provider.ready", "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.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"];
2287
+ declare const TELEMETRY_LOG_NAMES: readonly ["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.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.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"];
2398
2288
  type TelemetryLogName = (typeof TELEMETRY_LOG_NAMES)[number];
2399
2289
  declare const TELEMETRY_REQUEST_CATEGORIES: readonly ["session_create", "session_claim", "session_read", "intent_create", "process_payment", "vault_capture", "account_snapshot", "provider_sdk", "other"];
2400
2290
  type TelemetryRequestCategory = (typeof TELEMETRY_REQUEST_CATEGORIES)[number];
@@ -2548,4 +2438,4 @@ declare function isValidSecretKey(key: string): boolean;
2548
2438
  */
2549
2439
  declare function isSetupIntentClientSecret(clientSecret: string | null | undefined): boolean;
2550
2440
 
2551
- export { type AVSFieldConfig, 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, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, 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 ConfirmPaymentParams, type CountryOption, 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, ELEMENT_TYPES, type ElementChangeEvent, type ElementOptions, type ElementType, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, type MountedElement, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, 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, SDK_VERSION, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedPaymentMethodStatus, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, 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, type TagsData, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, 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, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupIntentClientSecret, isUuidV4, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
2441
+ export { type AVSFieldConfig, 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, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, 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 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, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, 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, SDK_VERSION, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedPaymentMethodStatus, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, 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, type TagsData, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, 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, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupIntentClientSecret, isUuidV4, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function Me(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Le(e){return e?.captureMethod==="manual"}function De(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Oe(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 c=class extends Error{constructor(t,r,o){super(t),this.name="FloPayError",this.type=r,this.code=o?.code,this.declineCode=o?.declineCode,this.param=o?.param,this.statusCode=o?.statusCode,Object.setPrototypeOf(this,new.target.prototype)}};function Ue(e,t){return new c(e,"validation_error",{param:t})}function we(e,t,r){return new c(e,"api_error",{code:t,statusCode:r})}function Ge(e){return new c(e,"authentication_error")}function Ve(e){return new c(e,"rate_limit_error")}function Ke(e){return new c(e,"network_error")}function Ye(e){if(!(e.captureMethod!=="manual"||!(e.products??V(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new c("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function ze(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 T(e,t,r,o){let n=a(e);if(n)return n;for(let s of t??[]){let d=a(s.currency);if(d)return d}for(let s of r??[]){let d=a(s.currency);if(d)return d}for(let s of o??[]){let d=a(s.currency);if(d)return d}return null}function V(e,t){let r=[];for(let o of t??[])r.push({type:"subscription",code:a(o.code)??a(o.providerPlanId),providerPlanId:o.providerPlanId,name:a(o.subscriptionName)??a(o.providerPlanName)??null,subscriptionName:o.subscriptionName??null,providerPlanName:o.providerPlanName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});for(let o of e??[])r.push({type:"item",code:a(o.code)??a(o.providerItemId),providerItemId:o.providerItemId,name:a(o.itemName)??a(o.providerItemName)??null,itemName:o.itemName??null,providerItemName:o.providerItemName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});return r}function He(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 o=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,n={type:e.type,code:r,name:o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}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 o=a(e.itemName)??a(e.providerItemName)??null,n={code:r,providerItemId:a(e.providerItemId)??r,itemName:o,providerItemName:a(e.providerItemName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}function We(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let o=a(e.subscriptionName)??a(e.providerPlanName)??null,n={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:o,providerPlanName:a(e.providerPlanName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}var je={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},A="staging";function Ze(e){A=e.environment}function I(){return je[A]}function Xe(){return A}var K=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var $e="1.7.0",Je="x-flo-sdk-version",Qe="paypal_vaulted",F="https://api.stage.flopay.com",H="https://api.flopay.com",et=F,tt=F;function rt(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?H:F:I())}var ot="2024-01-01",q={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:{...q.variables,borderRadius:"4px"}},at={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},W={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"}}},Z={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"}}},X={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"}}},$={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)"}}},Q={},ee={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},te={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"}},re={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"}},_={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"}},P={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"}},R={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"}},v={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)"}},B={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 it(e){switch(e){case"minimal":return ee;case"rounded":return te;case"dark":return re;case"modern-light":return _;case"modern-dark":return P;case"bold-light":return R;case"bold-dark":return k;case"glass-light":return v;case"glass-dark":return B;default:return Q}}var oe={"modern-light":{appearance:W,buttonsLayout:_},"modern-dark":{appearance:j,buttonsLayout:P},"bold-light":{appearance:Z,buttonsLayout:R},"bold-dark":{appearance:X,buttonsLayout:k},"glass-light":{appearance:$,buttonsLayout:v},"glass-dark":{appearance:J,buttonsLayout:B}};function st(e){if(!(!e||e==="classic"))return oe[e]}function ut(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function i(e,t,r){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif" fill="${r}">${e}</text></svg>`}function Y(e,t){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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>`}var ne=["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"],dt=[...ne,"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:{light:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")},dark:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")}}},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#060F33",textColor:"#FFFFFF",borderColor:"#060F33",logoSvg:i("a","#FFFFFF","#060F33")},dark:{backgroundColor:"#0FA0EA",textColor:"#060F33",borderColor:"#0FA0EA",logoSvg:i("a","#060F33","#FFFFFF")}}},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")},dark:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")}}},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:{light:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")},dark:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")}}},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")},dark:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")}}},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:{light:{backgroundColor:"#FFDD55",textColor:"#1E3791",borderColor:"#FFDD55",logoSvg:i("B","#1E3791","#FFDD55")},dark:{backgroundColor:"#1E3791",textColor:"#FFDD55",borderColor:"#1E3791",logoSvg:i("B","#FFDD55","#1E3791")}}},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:{light:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")},dark:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")}}},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:{light:{backgroundColor:"#000000",textColor:"#FFFFFF",borderColor:"#000000",logoSvg:i("B","#FFFFFF","#000000")},dark:{backgroundColor:"#FFFFFF",textColor:"#000000",borderColor:"#FFFFFF",logoSvg:i("B","#000000","#FFFFFF")}}},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:dt,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Y("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Y("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:{light:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")},dark:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")}}},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:{light:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")},dark:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")}}},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:{light:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")},dark:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")}}},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:{light:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")},dark:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")}}},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:{light:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")},dark:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")}}},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:ne,theme:{light:{backgroundColor:"#10298E",textColor:"#FFFFFF",borderColor:"#10298E",logoSvg:i("\u20AC","#FFFFFF","#10298E")},dark:{backgroundColor:"#3056D3",textColor:"#FFFFFF",borderColor:"#3056D3",logoSvg:i("\u20AC","#FFFFFF","#3056D3")}}},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:{light:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")},dark:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")}}},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:{light:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")},dark:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")}}},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")},dark:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")}}},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function ct(e){return e?K.includes(e):!1}var ae=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),lt=new Set(ae),ie=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),se=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function pt(e){if(!e)return"this method";let t=y[e];return t?t.displayName:e.split("_").filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function mt(e){if(!e)return!0;let t=y[e];return t?t.needsExplicitConfirm!==!1:!0}function yt(e,t){if(!e)return null;let r=y[e];return r?.theme?(typeof t=="string"&&t.endsWith("-dark")?r.theme.dark:r.theme.light)??r.theme.light??null:null}function gt(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=ie[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function Ct(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=se[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var ue=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function Et(e,t,r){if(!e?.length)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let s=ue[n];if(!s)return!0;let d=s[o];return d?!(typeof d.min=="number"&&r<d.min||typeof d.max=="number"&&r>d.max):!0}):[...e]}function Ft(e,t){if(!e?.length)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,s=new Set;for(let d of e){if(typeof d!="string")continue;let p=d.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(lt.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(s.has(p))continue;s.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var ft=["payment","address"],bt=["visa","mastercard","mastercard_debit","amex","discover"],N={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 xt(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 ht=new Intl.DisplayNames(["en"],{type:"region"});function St(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var de=["US","GB","CA","AU","NZ","IE","DE","FR"],Tt=["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 z(e){return{code:e,name:ht.of(e)??e,flag:St(e)}}var At=new Set(de),It=Tt.filter(e=>!At.has(e)),ce=[...de.map(z),...It.map(z)];function _t(e){return ce.find(t=>t.code===e)}var Pt={country:!0,postal_code:!0};function le(e){return e?e===!0?Pt:e:null}function Rt(e,t){if(e===void 0||e===!1)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function kt(e){let t=le(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var pe=[{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"}],me=[{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 vt(e){switch(e.toUpperCase()){case"US":return pe;case"CA":return me;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 Nt(e,t={}){let r=[],o=e.products??[],n=o.filter(u=>u.type==="subscription"),s=o.filter(u=>u.type!=="subscription"),p=(T(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let u of n){let m=u.totalAmount??0,E=u.overrideAmount??m,S=u.name||u.code||"Subscription";S==="4-WEEK PLAN"&&E<=1&&(S="7-DAY TRIAL: FULL ACCESS"),r.push({name:S,quantity:u.quantity,price:E,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&s.length>0))for(let u of s){let m=u.totalAmount??0,E=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:E,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let Pe=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),Re=r.reduce((u,m)=>u+m.price*m.quantity,0),ke=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),ve=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),Be=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),w=ke?e.totalAmount:Re,C=ve?e.subtotalAmount:Pe,G=Math.max(0,C-w),Ne=C>0?Math.round(G/C*100):0;return{items:r,currency:p,total:w,originalTotal:C,totalSave:G,discountPercent:Ne,...Be?{couponDiscount:e.discountAmount}:{}}}var Mt="Idempotency-Key",L=255,Lt="IdempotencyKeyInProgress";function Dt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ye(){let e=Dt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Ot(e){if(e===void 0)return ye();if(typeof e!="string"||e.trim()==="")throw new c("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>L)throw new c(`idempotencyKey must be at most ${L} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Ut=1,wt=[{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 Gt=[[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"]],Vt={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 Kt(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[o,n,s]of Gt)if(r>=o&&r<=n)return s;return null}function Yt(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 Vt[r]??null}function zt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return Kt(o);case"CA":return Yt(o);default:return null}}import*as Ht from"validator/lib/isPostalCode.js";var f=Ht,ge=typeof f.default=="function"?f.default:f.default?.default;if(typeof ge!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Ce=new Set(f.locales.map(e=>e.toUpperCase())),qt={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 D(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:qt[t]??null:null}var Wt={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 jt(e){let t=D(e);return t!==null&&Ce.has(t)}function Zt(e,t){let r=(t??"").trim();if(!r)return!0;let o=D(e);if(o===null||!Ce.has(o))return!0;try{return ge(r,o)}catch{return!0}}function Xt(e){let t=D(e);return t?Wt[t]:void 0}var $t=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,Jt=/^dahlia\/stripe$/i,Qt=/^(?:chrome|moz|safari-web)-extension:\/\//i,er=/^@flopay(?:\/|$)/i;function Ee(e){return $t.test(e)||Qt.test(e)}function tr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&er.test(e.module)||t.some(r=>!Ee(r))?"first-party":e.module!==void 0&&Jt.test(e.module)||t.some(Ee)?"third-party-hosted":t.length===0?"injected":"first-party"}function rr(e){let t=e.exception?.values;if(!t?.length)return e;let r=[];for(let n of t){let s=n.stacktrace?.frames;if(!s?.length)return e;r.push(...s)}let o=r.map(tr);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var or=1,Fe=["@flopay/shared","@flopay/js","@flopay/react"],nr=32768,ar=20,ir=["stripe","paypal"],sr=["card","wallet","paypal","apm","saved","unknown"],ur=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","checkout_interactive","provider_load","provider_ready","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"],be=["server_error","transport_error","invalid_response","provider_runtime"],xe=["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.interactive","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","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.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"],dr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],cr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],lr=["full","auto","confirm","setup","unknown"],pr=["embedded","buttons","automatic","unknown"],mr=["machine","buyer","total"],yr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],he=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,gr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Cr=new Set(fe),Er=new Set(be),b=new Set(ur),Fr=new Set(ir),fr=new Set(sr),br=new Set(xe),xr=new Set(lr),hr=new Set(pr),Sr=new Set(dr),Tr=new Set(cr),Ar=new Set(mr),Ir=new Set(yr),_r=new Set(Fe),Se=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function Pr(){try{let r=globalThis.crypto.randomUUID();if(he.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]&15|64,e[8]=e[8]&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"&&he.test(e)?e:Pr()}function Rr(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function x(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function kr(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Se)}function vr(e){return Number.isFinite(e)&&e>Se}function h(e,t){let r=Rr(t.attempt);return t.provider&&Fr.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,Tr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,Sr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,fr,"unknown")),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,xr,"unknown")),t.layout&&(e.layout=l(t.layout,hr,"unknown")),e}function Te(e){let t=h({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Cr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence)},e);return e.failureCategory&&Er.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),t}function Ae(e){return h({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,br,"operation.retry"),stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence)},e)}function Ie(e){let t={...e,stage:e.stage??"completion"};return h({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,Ir,"customer_abandoned"),stage:l(e.stage,b,"completion"),sequence:x(e.sequence)},t)}function _e(e){let t=h({eventId:g(e.eventId),class:"performance",stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence),durationMs:kr(e.durationMs),durationMode:l(e.durationMode,Ar,"machine")},e);return(e.durationTruncated===!0||vr(e.durationMs))&&(t.durationTruncated=!0),t}function Br(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[Te({...n,errorCode:n.code})]:n.class==="lifecycle"?[Ae(n)]:n.class==="expected_outcome"?[Ie(n)]:n.class==="performance"?[_e(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,_r,"@flopay/shared"),version:gr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var Nr=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Mr(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 Lr(e,t,r="network_error"){if(e instanceof c&&e.code!==void 0&&Nr.has(e.code))return{errorCode:t,statusClass:O(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof c&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof c&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let o=O(e instanceof c?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function O(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 Dr(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 Or(e){return typeof e=="string"&&U.test(e)}function Ur(){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]&15|64,e[8]=e[8]&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 wr(e){return N[e.toUpperCase()]??M}function Gr(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Vr(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Kr(e){return typeof e=="string"&&e.startsWith("seti_")}export{tt as BILLING_API_URL,H as BILLING_API_URL_PRODUCTION,F as BILLING_API_URL_STAGING,X as BOLD_DARK_APPEARANCE,Z as BOLD_LIGHT_APPEARANCE,k as BUTTONS_LAYOUT_BOLD_DARK,R as BUTTONS_LAYOUT_BOLD_LIGHT,re as BUTTONS_LAYOUT_DARK,Q as BUTTONS_LAYOUT_DEFAULT,B as BUTTONS_LAYOUT_GLASS_DARK,v as BUTTONS_LAYOUT_GLASS_LIGHT,ee as BUTTONS_LAYOUT_MINIMAL,P as BUTTONS_LAYOUT_MODERN_DARK,_ as BUTTONS_LAYOUT_MODERN_LIGHT,te as BUTTONS_LAYOUT_ROUNDED,me as CA_PROVINCES,ce as COUNTRY_OPTIONS,N as CURRENCY_MAP,et as DEFAULT_API_BASE_URL,ot as DEFAULT_API_VERSION,q as DEFAULT_APPEARANCE,M as DEFAULT_CURRENCY,ft as ELEMENT_TYPES,nt as FLAT_APPEARANCE,wt as FLO_INSTRUMENT_CATALOG,Ut as FLO_INSTRUMENT_SCHEMA_VERSION,Je as FLO_SDK_VERSION_HEADER,c as FloPayError,J as GLASS_DARK_APPEARANCE,$ as GLASS_LIGHT_APPEARANCE,Lt as IDEMPOTENCY_IN_PROGRESS_CODE,Mt as IDEMPOTENCY_KEY_HEADER,L as MAX_IDEMPOTENCY_KEY_LENGTH,j as MODERN_DARK_APPEARANCE,W as MODERN_LIGHT_APPEARANCE,at as NIGHT_APPEARANCE,Qe as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,$e as SDK_VERSION,ae as STRIPE_EXPRESS_METHODS,ue as STRIPE_METHOD_AMOUNT_LIMITS,se as STRIPE_METHOD_COUNTRIES,ie as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,bt as SUPPORTED_CARD_BRANDS,fe as TELEMETRY_ERROR_CODES,be as TELEMETRY_FAILURE_CATEGORIES,xe as TELEMETRY_LOG_NAMES,nr as TELEMETRY_MAX_BATCH_BYTES,ar as TELEMETRY_MAX_BATCH_EVENTS,or as TELEMETRY_SCHEMA_VERSION,Fe as TELEMETRY_SDK_PACKAGES,oe as THEMES,pe as US_STATES,U as UUID_V4,we as apiError,Ye as assertCaptureMethodEligible,Ge as authenticationError,Nt as buildCheckoutDisplayData,qe as buildItemPayload,He as buildProductPayload,We as buildSubscriptionPayload,Te as buildTelemetryErrorEvent,Ae as buildTelemetryLogEvent,_e as buildTelemetryPerformanceEvent,Ie as buildTelemetryTerminalEvent,Mr as classifyPaymentRejection,Lr as classifyTelemetryFailure,Ze as configureFlopay,rr as dropThirdPartyOnlyError,Et as filterStripeMethodsByAmount,Ct as filterStripeMethodsByCountry,gt as filterStripeMethodsByCurrency,V as foldIntoProducts,ye as generateIdempotencyKey,I as getConfiguredBillingApiUrl,_t as getCountryByCode,wr as getCurrencyByCountry,Xe as getFloPayEnvironment,Xt as getPostalCodeExample,xt as getPostalCodeLabel,zt as getStateFromPostalCode,Bt as getStateLabel,vt as getStateOptions,pt as getStripeMethodDisplayName,ct as hasVendoredStripeMethodLogo,kt as isAVSEnabled,Rt as isAVSFieldVisible,Le as isAuthorizationOnlySession,Me as isCardSetupCheckoutSession,ze as isDetachedSessionEligible,De as isMoneySettledOutcome,jt as isPostalCodeSupported,Kr as isSetupIntentClientSecret,Or as isUuidV4,Zt as isValidPostalCode,Gr as isValidPublishableKey,Vr as isValidSecretKey,mt as needsStripeMethodExplicitConfirm,Ke as networkError,Oe as normalizeCheckoutFailureOutcome,Dr as normalizeGatewayEnvironment,Ft as partitionStripeMethods,Ur as randomUuidV4,Ve as rateLimitError,le as resolveAVSConfig,rt as resolveBillingApiUrl,it as resolveButtonsLayoutTheme,Ot as resolveIdempotencyKey,T as resolveSessionCurrency,yt as resolveStripeMethodBrandVariant,st as resolveTheme,Br as serializeTelemetryBatch,ut as stripeExpressMethodToOptionKey,O as telemetryStatusClass,Ue as validationError};
1
+ function Me(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Le(e){return e?.captureMethod==="manual"}function De(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Oe(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 c=class extends Error{constructor(t,r,o){super(t),this.name="FloPayError",this.type=r,this.code=o?.code,this.declineCode=o?.declineCode,this.param=o?.param,this.statusCode=o?.statusCode,Object.setPrototypeOf(this,new.target.prototype)}};function Ue(e,t){return new c(e,"validation_error",{param:t})}function we(e,t,r){return new c(e,"api_error",{code:t,statusCode:r})}function Ge(e){return new c(e,"authentication_error")}function Ve(e){return new c(e,"rate_limit_error")}function Ke(e){return new c(e,"network_error")}function Ye(e){if(!(e.captureMethod!=="manual"||!(e.products??V(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new c("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function ze(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 T(e,t,r,o){let n=a(e);if(n)return n;for(let s of t??[]){let d=a(s.currency);if(d)return d}for(let s of r??[]){let d=a(s.currency);if(d)return d}for(let s of o??[]){let d=a(s.currency);if(d)return d}return null}function V(e,t){let r=[];for(let o of t??[])r.push({type:"subscription",code:a(o.code)??a(o.providerPlanId),providerPlanId:o.providerPlanId,name:a(o.subscriptionName)??a(o.providerPlanName)??null,subscriptionName:o.subscriptionName??null,providerPlanName:o.providerPlanName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});for(let o of e??[])r.push({type:"item",code:a(o.code)??a(o.providerItemId),providerItemId:o.providerItemId,name:a(o.itemName)??a(o.providerItemName)??null,itemName:o.itemName??null,providerItemName:o.providerItemName??null,quantity:o.quantity,totalAmount:o.totalAmount,overrideAmount:o.overrideAmount,currency:o.currency,metadata:o.metadata});return r}function He(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 o=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,n={type:e.type,code:r,name:o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}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 o=a(e.itemName)??a(e.providerItemName)??null,n={code:r,providerItemId:a(e.providerItemId)??r,itemName:o,providerItemName:a(e.providerItemName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}function We(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let o=a(e.subscriptionName)??a(e.providerPlanName)??null,n={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:o,providerPlanName:a(e.providerPlanName)??o,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(n.metadata=e.metadata),n}var je={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},A="staging";function Ze(e){A=e.environment}function I(){return je[A]}function Xe(){return A}var K=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var $e="1.8.2",Je="x-flo-sdk-version",Qe="paypal_vaulted",F="https://api.stage.flopay.com",H="https://api.flopay.com",et=F,tt=F;function rt(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?H:F:I())}var ot="2024-01-01",q={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:{...q.variables,borderRadius:"4px"}},at={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},W={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"}}},Z={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"}}},X={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"}}},$={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)"}}},Q={},ee={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},te={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"}},re={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"}},_={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"}},P={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"}},B={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)"}},N={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 it(e){switch(e){case"minimal":return ee;case"rounded":return te;case"dark":return re;case"modern-light":return _;case"modern-dark":return R;case"bold-light":return P;case"bold-dark":return k;case"glass-light":return B;case"glass-dark":return N;default:return Q}}var oe={"modern-light":{appearance:W,buttonsLayout:_},"modern-dark":{appearance:j,buttonsLayout:R},"bold-light":{appearance:Z,buttonsLayout:P},"bold-dark":{appearance:X,buttonsLayout:k},"glass-light":{appearance:$,buttonsLayout:B},"glass-dark":{appearance:J,buttonsLayout:N}};function st(e){if(!(!e||e==="classic"))return oe[e]}function ut(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function i(e,t,r){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif" fill="${r}">${e}</text></svg>`}function Y(e,t){return`<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true"><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>`}var ne=["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"],dt=[...ne,"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:{light:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")},dark:{backgroundColor:"#FFB3C7",textColor:"#0A0B09",borderColor:"#FFB3C7",logoSvg:i("K","#0A0B09","#FFB3C7")}}},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#060F33",textColor:"#FFFFFF",borderColor:"#060F33",logoSvg:i("a","#FFFFFF","#060F33")},dark:{backgroundColor:"#0FA0EA",textColor:"#060F33",borderColor:"#0FA0EA",logoSvg:i("a","#060F33","#FFFFFF")}}},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:{light:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")},dark:{backgroundColor:"#00D54B",textColor:"#0A1F0E",borderColor:"#00D54B",logoSvg:i("$","#0A1F0E","#00D54B")}}},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:{light:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")},dark:{backgroundColor:"#B2FCE4",textColor:"#0A0B09",borderColor:"#B2FCE4",logoSvg:i("A","#0A0B09","#B2FCE4")}}},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")},dark:{backgroundColor:"#1677FF",textColor:"#FFFFFF",borderColor:"#1677FF",logoSvg:i("A","#FFFFFF","#1677FF")}}},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:{light:{backgroundColor:"#FFDD55",textColor:"#1E3791",borderColor:"#FFDD55",logoSvg:i("B","#1E3791","#FFDD55")},dark:{backgroundColor:"#1E3791",textColor:"#FFDD55",borderColor:"#1E3791",logoSvg:i("B","#FFDD55","#1E3791")}}},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:{light:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")},dark:{backgroundColor:"#00BFB3",textColor:"#FFFFFF",borderColor:"#00BFB3",logoSvg:i("B","#FFFFFF","#00BFB3")}}},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:{light:{backgroundColor:"#000000",textColor:"#FFFFFF",borderColor:"#000000",logoSvg:i("B","#FFFFFF","#000000")},dark:{backgroundColor:"#FFFFFF",textColor:"#000000",borderColor:"#FFFFFF",logoSvg:i("B","#000000","#FFFFFF")}}},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:dt,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Y("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Y("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:{light:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")},dark:{backgroundColor:"#C8102E",textColor:"#FFFFFF",borderColor:"#C8102E",logoSvg:i("E","#FFFFFF","#C8102E")}}},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:{light:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")},dark:{backgroundColor:"#0F4197",textColor:"#FFFFFF",borderColor:"#0F4197",logoSvg:i("G","#FFFFFF","#0F4197")}}},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:{light:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")},dark:{backgroundColor:"#CC0066",textColor:"#FFFFFF",borderColor:"#CC0066",logoSvg:i("i","#FFFFFF","#CC0066")}}},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:{light:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")},dark:{backgroundColor:"#0B3D91",textColor:"#FFFFFF",borderColor:"#0B3D91",logoSvg:i("K","#FFFFFF","#0B3D91")}}},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:{light:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")},dark:{backgroundColor:"#D90F1B",textColor:"#FFFFFF",borderColor:"#D90F1B",logoSvg:i("P","#FFFFFF","#D90F1B")}}},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:ne,theme:{light:{backgroundColor:"#10298E",textColor:"#FFFFFF",borderColor:"#10298E",logoSvg:i("\u20AC","#FFFFFF","#10298E")},dark:{backgroundColor:"#3056D3",textColor:"#FFFFFF",borderColor:"#3056D3",logoSvg:i("\u20AC","#FFFFFF","#3056D3")}}},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:{light:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")},dark:{backgroundColor:"#EF809F",textColor:"#FFFFFF",borderColor:"#EF809F",logoSvg:i("S","#FFFFFF","#EF809F")}}},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:{light:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")},dark:{backgroundColor:"#FF7909",textColor:"#FFFFFF",borderColor:"#FF7909",logoSvg:i("U","#FFFFFF","#FF7909")}}},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:{light:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")},dark:{backgroundColor:"#07C160",textColor:"#FFFFFF",borderColor:"#07C160",logoSvg:i("W","#FFFFFF","#07C160")}}},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function ct(e){return e?K.includes(e):!1}var ae=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),lt=new Set(ae),ie=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),se=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function pt(e){if(!e)return"this method";let t=y[e];return t?t.displayName:e.split("_").filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function mt(e){if(!e)return!0;let t=y[e];return t?t.needsExplicitConfirm!==!1:!0}function yt(e,t){if(!e)return null;let r=y[e];return r?.theme?(typeof t=="string"&&t.endsWith("-dark")?r.theme.dark:r.theme.light)??r.theme.light??null:null}function gt(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=ie[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function Ct(e,t){if(!e?.length)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=se[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var ue=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function Et(e,t,r){if(!e?.length)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let s=ue[n];if(!s)return!0;let d=s[o];return d?!(typeof d.min=="number"&&r<d.min||typeof d.max=="number"&&r>d.max):!0}):[...e]}function Ft(e,t){if(!e?.length)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,s=new Set;for(let d of e){if(typeof d!="string")continue;let p=d.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(lt.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(s.has(p))continue;s.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var ft=["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}},M={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function bt(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 xt=new Intl.DisplayNames(["en"],{type:"region"});function ht(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var de=["US","GB","CA","AU","NZ","IE","DE","FR"],St=["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 z(e){return{code:e,name:xt.of(e)??e,flag:ht(e)}}var Tt=new Set(de),At=St.filter(e=>!Tt.has(e)),ce=[...de.map(z),...At.map(z)];function It(e){return ce.find(t=>t.code===e)}var _t={country:!0,postal_code:!0};function le(e){return e?e===!0?_t:e:null}function Rt(e,t){if(e===void 0||e===!1)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function Pt(e){let t=le(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var pe=[{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"}],me=[{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 pe;case"CA":return me;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 Nt(e,t={}){let r=[],o=e.products??[],n=o.filter(u=>u.type==="subscription"),s=o.filter(u=>u.type!=="subscription"),p=(T(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let u of n){let m=u.totalAmount??0,E=u.overrideAmount??m,S=u.name||u.code||"Subscription";S==="4-WEEK PLAN"&&E<=1&&(S="7-DAY TRIAL: FULL ACCESS"),r.push({name:S,quantity:u.quantity,price:E,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&s.length>0))for(let u of s){let m=u.totalAmount??0,E=u.overrideAmount??m;r.push({name:u.name||u.code||"Item",quantity:u.quantity,price:E,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let Re=r.reduce((u,m)=>u+m.originalPrice*m.quantity,0),Pe=r.reduce((u,m)=>u+m.price*m.quantity,0),ke=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Be=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),Ne=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),w=ke?e.totalAmount:Pe,C=Be?e.subtotalAmount:Re,G=Math.max(0,C-w),ve=C>0?Math.round(G/C*100):0;return{items:r,currency:p,total:w,originalTotal:C,totalSave:G,discountPercent:ve,...Ne?{couponDiscount:e.discountAmount}:{}}}var vt="Idempotency-Key",L=255,Mt="IdempotencyKeyInProgress";function Lt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ye(){let e=Lt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Dt(e){if(e===void 0)return ye();if(typeof e!="string"||e.trim()==="")throw new c("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>L)throw new c(`idempotencyKey must be at most ${L} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Ot=1,Ut=[{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 wt=[[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"]],Gt={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 Vt(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[o,n,s]of wt)if(r>=o&&r<=n)return s;return null}function Kt(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 Gt[r]??null}function Yt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return Vt(o);case"CA":return Kt(o);default:return null}}import*as zt from"validator/lib/isPostalCode.js";var f=zt,ge=typeof f.default=="function"?f.default:f.default?.default;if(typeof ge!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Ce=new Set(f.locales.map(e=>e.toUpperCase())),Ht={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 D(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Ht[t]??null:null}var qt={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 Wt(e){let t=D(e);return t!==null&&Ce.has(t)}function jt(e,t){let r=(t??"").trim();if(!r)return!0;let o=D(e);if(o===null||!Ce.has(o))return!0;try{return ge(r,o)}catch{return!0}}function Zt(e){let t=D(e);return t?qt[t]:void 0}var Xt=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,$t=/^dahlia\/stripe$/i,Jt=/^(?:chrome|moz|safari-web)-extension:\/\//i,Qt=/^@flopay(?:\/|$)/i;function Ee(e){return Xt.test(e)||Jt.test(e)}function er(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Qt.test(e.module)||t.some(r=>!Ee(r))?"first-party":e.module!==void 0&&$t.test(e.module)||t.some(Ee)?"third-party-hosted":t.length===0?"injected":"first-party"}function tr(e){let t=e.exception?.values;if(!t?.length)return e;let r=[];for(let n of t){let s=n.stacktrace?.frames;if(!s?.length)return e;r.push(...s)}let o=r.map(er);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var rr=1,Fe=["@flopay/shared","@flopay/js","@flopay/react"],or=32768,nr=20,ar=["stripe","paypal"],ir=["card","wallet","paypal","apm","saved","unknown"],sr=["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","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"],be=["server_error","transport_error","invalid_response","provider_runtime"],xe=["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.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.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"],ur=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],dr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],cr=["full","auto","confirm","setup","unknown"],lr=["embedded","buttons","automatic","unknown"],pr=["machine","buyer","total"],mr=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],he=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,yr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,gr=new Set(fe),Cr=new Set(be),b=new Set(sr),Er=new Set(ar),Fr=new Set(ir),fr=new Set(xe),br=new Set(cr),xr=new Set(lr),hr=new Set(ur),Sr=new Set(dr),Tr=new Set(pr),Ar=new Set(mr),Ir=new Set(Fe),Se=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function _r(){try{let r=globalThis.crypto.randomUUID();if(he.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]&15|64,e[8]=e[8]&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"&&he.test(e)?e:_r()}function Rr(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function x(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Pr(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Se)}function kr(e){return Number.isFinite(e)&&e>Se}function h(e,t){let r=Rr(t.attempt);return t.provider&&Er.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,Sr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,hr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Fr,"unknown")),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,br,"unknown")),t.layout&&(e.layout=l(t.layout,xr,"unknown")),e}function Te(e){let t=h({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,gr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence)},e);return e.failureCategory&&Cr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),t}function Ae(e){return h({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,fr,"operation.retry"),stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence)},e)}function Ie(e){let t={...e,stage:e.stage??"completion"};return h({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,Ar,"customer_abandoned"),stage:l(e.stage,b,"completion"),sequence:x(e.sequence)},t)}function _e(e){let t=h({eventId:g(e.eventId),class:"performance",stage:l(e.stage,b,"sdk_initialize"),sequence:x(e.sequence),durationMs:Pr(e.durationMs),durationMode:l(e.durationMode,Tr,"machine")},e);return(e.durationTruncated===!0||kr(e.durationMs))&&(t.durationTruncated=!0),t}function Br(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[Te({...n,errorCode:n.code})]:n.class==="lifecycle"?[Ae(n)]:n.class==="expected_outcome"?[Ie(n)]:n.class==="performance"?[_e(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Ir,"@flopay/shared"),version:yr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var Nr=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function vr(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 Mr(e,t,r="network_error"){if(e instanceof c&&e.code!==void 0&&Nr.has(e.code))return{errorCode:t,statusClass:O(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof c&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof c&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let o=O(e instanceof c?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function O(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 Lr(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 Dr(e){return typeof e=="string"&&U.test(e)}function Or(){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]&15|64,e[8]=e[8]&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 Ur(e){return v[e.toUpperCase()]??M}function wr(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Gr(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Vr(e){return typeof e=="string"&&e.startsWith("seti_")}export{tt as BILLING_API_URL,H as BILLING_API_URL_PRODUCTION,F as BILLING_API_URL_STAGING,X as BOLD_DARK_APPEARANCE,Z as BOLD_LIGHT_APPEARANCE,k as BUTTONS_LAYOUT_BOLD_DARK,P as BUTTONS_LAYOUT_BOLD_LIGHT,re as BUTTONS_LAYOUT_DARK,Q as BUTTONS_LAYOUT_DEFAULT,N as BUTTONS_LAYOUT_GLASS_DARK,B as BUTTONS_LAYOUT_GLASS_LIGHT,ee as BUTTONS_LAYOUT_MINIMAL,R as BUTTONS_LAYOUT_MODERN_DARK,_ as BUTTONS_LAYOUT_MODERN_LIGHT,te as BUTTONS_LAYOUT_ROUNDED,me as CA_PROVINCES,ce as COUNTRY_OPTIONS,v as CURRENCY_MAP,et as DEFAULT_API_BASE_URL,ot as DEFAULT_API_VERSION,q as DEFAULT_APPEARANCE,M as DEFAULT_CURRENCY,nt as FLAT_APPEARANCE,Ut as FLO_INSTRUMENT_CATALOG,Ot as FLO_INSTRUMENT_SCHEMA_VERSION,Je as FLO_SDK_VERSION_HEADER,c as FloPayError,J as GLASS_DARK_APPEARANCE,$ as GLASS_LIGHT_APPEARANCE,Mt as IDEMPOTENCY_IN_PROGRESS_CODE,vt as IDEMPOTENCY_KEY_HEADER,L as MAX_IDEMPOTENCY_KEY_LENGTH,j as MODERN_DARK_APPEARANCE,W as MODERN_LIGHT_APPEARANCE,at as NIGHT_APPEARANCE,Qe as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,$e as SDK_VERSION,ae as STRIPE_EXPRESS_METHODS,ue as STRIPE_METHOD_AMOUNT_LIMITS,se as STRIPE_METHOD_COUNTRIES,ie as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,ft as SUPPORTED_CARD_BRANDS,fe as TELEMETRY_ERROR_CODES,be as TELEMETRY_FAILURE_CATEGORIES,xe as TELEMETRY_LOG_NAMES,or as TELEMETRY_MAX_BATCH_BYTES,nr as TELEMETRY_MAX_BATCH_EVENTS,rr as TELEMETRY_SCHEMA_VERSION,Fe as TELEMETRY_SDK_PACKAGES,oe as THEMES,pe as US_STATES,U as UUID_V4,we as apiError,Ye as assertCaptureMethodEligible,Ge as authenticationError,Nt as buildCheckoutDisplayData,qe as buildItemPayload,He as buildProductPayload,We as buildSubscriptionPayload,Te as buildTelemetryErrorEvent,Ae as buildTelemetryLogEvent,_e as buildTelemetryPerformanceEvent,Ie as buildTelemetryTerminalEvent,vr as classifyPaymentRejection,Mr as classifyTelemetryFailure,Ze as configureFlopay,tr as dropThirdPartyOnlyError,Et as filterStripeMethodsByAmount,Ct as filterStripeMethodsByCountry,gt as filterStripeMethodsByCurrency,V as foldIntoProducts,ye as generateIdempotencyKey,I as getConfiguredBillingApiUrl,It as getCountryByCode,Ur as getCurrencyByCountry,Xe as getFloPayEnvironment,Zt as getPostalCodeExample,bt as getPostalCodeLabel,Yt as getStateFromPostalCode,Bt as getStateLabel,kt as getStateOptions,pt as getStripeMethodDisplayName,ct as hasVendoredStripeMethodLogo,Pt as isAVSEnabled,Rt as isAVSFieldVisible,Le as isAuthorizationOnlySession,Me as isCardSetupCheckoutSession,ze as isDetachedSessionEligible,De as isMoneySettledOutcome,Wt as isPostalCodeSupported,Vr as isSetupIntentClientSecret,Dr as isUuidV4,jt as isValidPostalCode,wr as isValidPublishableKey,Gr as isValidSecretKey,mt as needsStripeMethodExplicitConfirm,Ke as networkError,Oe as normalizeCheckoutFailureOutcome,Lr as normalizeGatewayEnvironment,Ft as partitionStripeMethods,Or as randomUuidV4,Ve as rateLimitError,le as resolveAVSConfig,rt as resolveBillingApiUrl,it as resolveButtonsLayoutTheme,Dt as resolveIdempotencyKey,T as resolveSessionCurrency,yt as resolveStripeMethodBrandVariant,st as resolveTheme,Br as serializeTelemetryBatch,ut as stripeExpressMethodToOptionKey,O as telemetryStatusClass,Ue as validationError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flopay/shared",
3
- "version": "1.7.0",
3
+ "version": "1.8.2",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {