@flopay/shared 1.10.0 → 1.10.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 +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +27 -11
- package/dist/index.d.ts +27 -11
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ The postal-code helpers are a faithful mirror of the billing API's own postcode
|
|
|
56
56
|
|
|
57
57
|
`@flopay/shared` exposes no helper for declaring, selecting, or filtering payment gateways or gateway capabilities, and none should be added. Which gateway processes a session (Stripe, PayPal, Worldpay Corporate Gateway, or a future provider) is decided by the billing API from the merchant's configured gateways and their approved capability records. Clients that build `POST /v1/checkouts/sessions` themselves send the same provider-neutral body the SDK sends and render whatever `gateways` the response advertises. Card setup follows the same rule: the optional `country`, `currency`, and `futureUse` on `CreateCardSetupSessionRequest` describe the transaction the card is set up for, and the billing API alone decides which gateway verifies the card.
|
|
58
58
|
|
|
59
|
-
Saved payment methods of any type follow the same rule. A setup session's optional `
|
|
59
|
+
Saved payment methods of any type follow the same rule. A setup session's optional `advertisedPaymentMethods` lists what the billing API advertises, and `isSetupCheckoutSession()` recognises the session without reading that list. `ListSavedPaymentMethodsQuery` filters only by method `type`, and no type here names a gateway or a provider.
|
|
60
60
|
|
|
61
61
|
An Auto-mode create may send `x-flo-sdk-capabilities: async-auto-checkout-v1`. This generic response-shape negotiation says only that the client can consume a `202 checkout_processing` response and its authenticated status endpoint. It is not a gateway hint, a saved-card eligibility claim, or a Worldpay opt-in. Confirm and Full creates do not send it.
|
|
62
62
|
|
|
@@ -187,14 +187,14 @@ try {
|
|
|
187
187
|
| `CheckoutMode` | Checkout mode: `'full'` / `'auto'` / `'confirm'` |
|
|
188
188
|
| `CheckoutSessionMode` | Mode accepted on session reads: any `CheckoutMode` plus `'setup'`. Browser session-creation types deliberately reject `'setup'`. |
|
|
189
189
|
| `CheckoutMetadata` | Caller-owned checkout snapshot: `Record<string, string>`. Creation accepts this shape or `null`; session reads contain the map only when the billing API returns it. |
|
|
190
|
-
| `CheckoutSession` | Session object: `id`, `clientSecret`, `mode`, `status` (`open`/`authorized`/`complete`/`expired`), `amount`, `currency`, `captureMethod?`, `paymentId?`, `authorizationExpiresAt?`, `failureOutcome?`, `customer?`, `checkoutMode?`, `checkoutMetadata?`, `buyerIdentified?` (false for a catalog-attached anonymous session), `vault?` (the hosted card form), `products?`, `successUrl?`, `cancelUrl?`, `coupons?`, `subtotalAmount?` / `discountAmount?` / `totalAmount?` (cart-currency major units), `gateways?` (map keyed by gateway code), `accountData?`, `tagsData?`, `
|
|
190
|
+
| `CheckoutSession` | Session object: `id`, `clientSecret`, `mode`, `status` (`open`/`authorized`/`complete`/`expired`), `amount`, `currency`, `captureMethod?`, `paymentId?`, `authorizationExpiresAt?`, `failureOutcome?`, `customer?`, `checkoutMode?`, `checkoutMetadata?`, `buyerIdentified?` (false for a catalog-attached anonymous session), `vault?` (the hosted card form), `products?`, `successUrl?`, `cancelUrl?`, `coupons?`, `subtotalAmount?` / `discountAmount?` / `totalAmount?` (cart-currency major units), `gateways?` (map keyed by gateway code), `accountData?`, `tagsData?`, `advertisedPaymentMethods?` (the methods the billing API advertises a setup session can save, exactly as received; absent on older backends) |
|
|
191
191
|
| `SavedCardDisplay` | Display-only saved card: FloPay `id`, `brand`, `lastFour`, `expiryMonth`, `expiryYear`, and lifecycle `status`. It contains no reusable credential. |
|
|
192
192
|
| `SavedPaymentMethodType` | Kind of saved payment method: `'card'` / `'wallet'` / `'paypal'` / `'apm'` |
|
|
193
193
|
| `SavedPaymentMethodDisplay` | Display-only saved payment method of any type, discriminated by `type`: a `SavedCardPaymentMethodDisplay` or a `SavedOtherPaymentMethodDisplay`. Every variant has `id` and lifecycle `status`, and none carries a reusable credential. A wallet, PayPal, or APM variant always has a safe `label`; a card's `label` is optional, so fall back to its `brand` and `lastFour` when it is missing. Any `SavedCardDisplay` is assignable to it unchanged. |
|
|
194
194
|
| `SavedCardPaymentMethodDisplay` | A `SavedCardDisplay` with an optional `type?` (always the card type) and an optional display `label?` |
|
|
195
195
|
| `SavedOtherPaymentMethodDisplay` | Saved wallet, PayPal, or APM: `id`, `type`, a safe display `label`, and lifecycle `status`. No credential, token, or account number. |
|
|
196
196
|
| `ListSavedPaymentMethodsQuery` | Optional saved-method list filter: `type?` (a `SavedPaymentMethodType`). Omit it to list every saved method. |
|
|
197
|
-
| `
|
|
197
|
+
| `AdvertisedPaymentMethod` | One method the billing API advertises a setup session can save, as the backend sends it: `family` (card, wallet, apm or paypal today), `paymentMethodType`, `gatewayId`, `providerType`, that method's own `publishableKey` (the client id for PayPal) and `environment`. The values are open strings: skip a family or type you do not know. |
|
|
198
198
|
| `CheckoutSessionProduct` | Product from a session response: `uuid`, `checkoutSessionId`, `type` (`'item'`/`'subscription'`), `code?`, `name?`, `description?`, `quantity`, `totalAmount?`, `overrideAmount?`, `currency?`, `metadata?` |
|
|
199
199
|
| `CheckoutProductType` | `'item'` / `'subscription'` |
|
|
200
200
|
| `CheckoutProduct` | Product input for session creation: `type?`, `code?`, `name?`, `quantity?`, `totalAmount?`, `overrideAmount?`, `currency?`, `metadata?` |
|
|
@@ -314,7 +314,7 @@ try {
|
|
|
314
314
|
| `isValidPublishableKey(key)` | `true` for keys shaped like `pk_test_...` or `pk_live_...` |
|
|
315
315
|
| `isValidSecretKey(key)` | `true` for keys shaped like `sk_test_...` or `sk_live_...` |
|
|
316
316
|
| `isCardSetupCheckoutSession(session)` | `true` only for a session read with `checkoutMode: 'setup'`, zero amount, and no products. Use it before mounting a no-charge card-setup surface. |
|
|
317
|
-
| `isSetupCheckoutSession(session)` | `true` for the same no-charge setup session (`checkoutMode: 'setup'`, zero amount, and no products) whatever methods its `
|
|
317
|
+
| `isSetupCheckoutSession(session)` | `true` for the same no-charge setup session (`checkoutMode: 'setup'`, zero amount, and no products) whatever methods its `advertisedPaymentMethods` list. It never reads `advertisedPaymentMethods` to decide. |
|
|
318
318
|
| `isValidPostalCode(country, postalCode)` | `true` when the trimmed postcode matches the country's format; fails open for a blank postcode, an unresolvable country, or an unsupported country |
|
|
319
319
|
| `isPostalCodeSupported(country)` | `true` when a postcode rule exists for the country |
|
|
320
320
|
| `getPostalCodeExample(country)` | The billing API's example postcode for the country (US `12345 or 12345-6789`, GB `SW1A 1AA`, CA `A1A 1A1`), or `undefined` |
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ur=Object.create;var T=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var mr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},be=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of cr(t))!pr.call(e,n)&&n!==r&&T(e,n,{get:()=>t[n],enumerable:!(o=dr(t,n))||o.enumerable});return e};var yr=(e,t,r)=>(r=e!=null?ur(lr(e)):{},be(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),gr=e=>be(T({},"__esModule",{value:!0}),e);var No={};mr(No,{ASYNC_AUTO_CHECKOUT_CAPABILITY:()=>ze,BILLING_API_URL:()=>Xe,BILLING_API_URL_PRODUCTION:()=>G,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>q,BOLD_LIGHT_APPEARANCE:()=>H,BUTTONS_LAYOUT_BOLD_DARK:()=>F,BUTTONS_LAYOUT_BOLD_LIGHT:()=>_,BUTTONS_LAYOUT_DARK:()=>J,BUTTONS_LAYOUT_DEFAULT:()=>Z,BUTTONS_LAYOUT_GLASS_DARK:()=>P,BUTTONS_LAYOUT_GLASS_LIGHT:()=>I,BUTTONS_LAYOUT_MINIMAL:()=>$,BUTTONS_LAYOUT_MODERN_DARK:()=>A,BUTTONS_LAYOUT_MODERN_LIGHT:()=>x,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>se,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE:()=>Ze,COUNTRY_OPTIONS:()=>ne,CURRENCY_MAP:()=>R,DEFAULT_API_BASE_URL:()=>$e,DEFAULT_API_VERSION:()=>Qe,DEFAULT_APPEARANCE:()=>Y,DEFAULT_CURRENCY:()=>M,FLAT_APPEARANCE:()=>et,FLO_INSTRUMENT_CATALOG:()=>Rt,FLO_INSTRUMENT_SCHEMA_VERSION:()=>Pt,FLO_SDK_CAPABILITIES_HEADER:()=>Ke,FLO_SDK_VERSION_HEADER:()=>Ye,FloPayError:()=>u,GLASS_DARK_APPEARANCE:()=>j,GLASS_LIGHT_APPEARANCE:()=>W,IDEMPOTENCY_IN_PROGRESS_CODE:()=>Ft,IDEMPOTENCY_KEY_HEADER:()=>_t,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>z,MODERN_LIGHT_APPEARANCE:()=>K,NIGHT_APPEARANCE:()=>tt,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>qe,SAVED_PAYMENT_METHOD_TYPES:()=>Dt,SDK_VERSION:()=>Ge,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE:()=>We,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE:()=>je,STRIPE_EXPRESS_METHODS:()=>ee,STRIPE_METHOD_AMOUNT_LIMITS:()=>oe,STRIPE_METHOD_COUNTRIES:()=>re,STRIPE_METHOD_CURRENCIES:()=>te,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>yt,TELEMETRY_ERROR_CODES:()=>le,TELEMETRY_FAILURE_CATEGORIES:()=>pe,TELEMETRY_LOG_NAMES:()=>me,TELEMETRY_MAX_BATCH_BYTES:()=>Gt,TELEMETRY_MAX_BATCH_EVENTS:()=>Yt,TELEMETRY_SCHEMA_VERSION:()=>Vt,TELEMETRY_SDK_PACKAGES:()=>ce,THEMES:()=>Q,THREE_DS_CHALLENGE_WINDOW_MS:()=>He,US_STATES:()=>ie,UUID_V4:()=>B,apiError:()=>Fe,assertCaptureMethodEligible:()=>Me,authenticationError:()=>Ie,buildCheckoutDisplayData:()=>ht,buildItemPayload:()=>Oe,buildProductPayload:()=>Ne,buildSubscriptionPayload:()=>Le,buildTelemetryErrorEvent:()=>ge,buildTelemetryLogEvent:()=>Ee,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>fe,classifyPaymentRejection:()=>qt,classifyTelemetryFailure:()=>Wt,configureFlopay:()=>ve,dropThirdPartyOnlyError:()=>wt,filterStripeMethodsByAmount:()=>pt,filterStripeMethodsByCountry:()=>lt,filterStripeMethodsByCurrency:()=>ct,foldIntoProducts:()=>w,generateIdempotencyKey:()=>ue,getConfiguredBillingApiUrl:()=>h,getCountryByCode:()=>ft,getCurrencyByCountry:()=>Xt,getFloPayEnvironment:()=>De,getPostalCodeExample:()=>vt,getPostalCodeLabel:()=>gt,getStateFromPostalCode:()=>Mt,getStateLabel:()=>bt,getStateOptions:()=>St,getStripeMethodDisplayName:()=>st,hasVendoredStripeMethodLogo:()=>it,isAVSEnabled:()=>Tt,isAVSFieldVisible:()=>Ct,isAuthorizationOnlySession:()=>he,isCardHolderNamePlaceholder:()=>tr,isCardSetupCheckoutSession:()=>S,isDetachedSessionEligible:()=>ke,isMoneySettledOutcome:()=>xe,isPostalCodeSupported:()=>Ot,isSetupCheckoutSession:()=>Bt,isSetupIntentClientSecret:()=>er,isUuidV4:()=>Zt,isValidEmail:()=>At,isValidPostalCode:()=>Lt,isValidPublishableKey:()=>Jt,isValidSecretKey:()=>Qt,needsStripeMethodExplicitConfirm:()=>ut,networkError:()=>Re,normalizeCheckoutFailureOutcome:()=>Ae,normalizeGatewayEnvironment:()=>jt,partitionStripeMethods:()=>mt,randomUuidV4:()=>$t,rateLimitError:()=>Pe,resolveAVSConfig:()=>ae,resolveBillingApiUrl:()=>Je,resolveButtonsLayoutTheme:()=>rt,resolveIdempotencyKey:()=>It,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>dt,resolveTheme:()=>ot,serializeTelemetryBatch:()=>Ht,stripeExpressMethodToOptionKey:()=>nt,telemetryStatusClass:()=>D,validationError:()=>_e});module.exports=gr(No);function S(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function he(e){return e?.captureMethod==="manual"}function xe(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ae(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 u=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,o?.details!==void 0&&(this.details=o.details),o?.sessionId!==void 0&&(this.sessionId=o.sessionId),o?.cause!==void 0&&(this.cause=o.cause),Object.setPrototypeOf(this,new.target.prototype)}};function _e(e,t){return new u(e,"validation_error",{param:t})}function Fe(e,t,r){return new u(e,"api_error",{code:t,statusCode:r})}function Ie(e){return new u(e,"authentication_error")}function Pe(e){return new u(e,"rate_limit_error")}function Re(e){return new u(e,"network_error")}function Me(e){if(!(e.captureMethod!=="manual"||!(e.products??w(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new u("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 i of t??[]){let d=a(i.currency);if(d)return d}for(let i of r??[]){let d=a(i.currency);if(d)return d}for(let i of o??[]){let d=a(i.currency);if(d)return d}return null}function w(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 Ne(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 Oe(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 Le(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 Er={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},V="staging";function ve(e){V=e.environment}function h(){return Er[V]}function De(){return V}var Be=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var Ge="1.10.0",Ye="x-flo-sdk-version",Ke="x-flo-sdk-capabilities",ze="async-auto-checkout-v1",He=3e5,qe="paypal_vaulted",We="stored_payment_method_unsupported",je="This saved payment method can\u2019t be used for this payment. Choose another payment method.",Ze="We\u2019re still confirming your payment. Please don\u2019t pay again.",E="https://api.stage.flopay.com",G="https://api.flopay.com",$e=E,Xe=E;function Je(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?G:E:h())}var Qe="2024-01-01",Y={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},et={theme:"flat",variables:{...Y.variables,borderRadius:"4px"}},tt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},K={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},z={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},H={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},W={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},j={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},Z={},$={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},X={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},J={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},x={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},A={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},_={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},F={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},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)"}},P={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 rt(e){switch(e){case"minimal":return $;case"rounded":return X;case"dark":return J;case"modern-light":return x;case"modern-dark":return A;case"bold-light":return _;case"bold-dark":return F;case"glass-light":return I;case"glass-dark":return P;default:return Z}}var Q={"modern-light":{appearance:K,buttonsLayout:x},"modern-dark":{appearance:z,buttonsLayout:A},"bold-light":{appearance:H,buttonsLayout:_},"bold-dark":{appearance:q,buttonsLayout:F},"glass-light":{appearance:W,buttonsLayout:I},"glass-dark":{appearance:j,buttonsLayout:P}};function ot(e){if(!(!e||e==="classic"))return Q[e]}function nt(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function fr(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function Ue(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function we(e,t,r,o=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:fr(e,r,o)}}function c(e,t,r,o=t,n=r,i=o){return{light:we(e,t,r),dark:we(e,o,n,i)}}var at=["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"],Cr=[...at,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:Cr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Ue("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Ue("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:at,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function it(e){return Be.includes(e)}var ee=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),Tr=new Set(ee),te=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function st(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function ut(e){return y[e]?.needsExplicitConfirm!==!1}function dt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function ct(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=te[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function lt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=re[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var oe=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function pt(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let i=oe[n];if(!i)return!0;let d=i[o];return d?!(typeof d.min=="number"&&r<d.min||typeof d.max=="number"&&r>d.max):!0}):[...e]}function mt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,i=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(Tr.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var yt=["visa","mastercard","mastercard_debit","amex","discover"],R={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},M={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function gt(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 br(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var Et=["US","GB","CA","AU","NZ","IE","DE","FR"],hr=["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 Ve(e){return{code:e,name:Sr.of(e)??e,flag:br(e)}}var xr=new Set(Et),Ar=hr.filter(e=>!xr.has(e)),ne=[...Et.map(Ve),...Ar.map(Ve)];function ft(e){return ne.find(t=>t.code===e)}var _r={country:!0,postal_code:!0};function ae(e){return e===!0?_r:e||null}function Ct(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function Tt(e){let t=ae(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ie=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],se=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function St(e){switch(e.toUpperCase()){case"US":return ie;case"CA":return se;default:return null}}function bt(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function ht(e,t={}){let r=[],o=e.products??[],n=o.filter(s=>s.type==="subscription"),i=o.filter(s=>s.type!=="subscription"),p=(b(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let s of n){let m=s.totalAmount??0,C=s.overrideAmount??m,U=s.name||s.code||"Subscription";U==="4-WEEK PLAN"&&C<=1&&(U="7-DAY TRIAL: FULL ACCESS"),r.push({name:U,quantity:s.quantity,price:C,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&i.length>0))for(let s of i){let m=s.totalAmount??0,C=s.overrideAmount??m;r.push({name:s.name||s.code||"Item",quantity:s.quantity,price:C,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let rr=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),or=r.reduce((s,m)=>s+m.price*m.quantity,0),nr=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),ar=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),ir=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Te=nr?e.totalAmount:or,f=ar?e.subtotalAmount:rr,Se=Math.max(0,f-Te),sr=f>0?Math.round(Se/f*100):0;return{items:r,currency:p,total:Te,originalTotal:f,totalSave:Se,discountPercent:sr,...ir?{couponDiscount:e.discountAmount}:{}}}var Fr=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,Ir=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Pr=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Rr=/^[a-z\u00a1-\uffff0-9-]+$/i;function xt(e){return encodeURI(e).split(/%..|./).length-1}function Mr(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Pr.test(r)&&!/\s/.test(r)&&t.every(o=>o.length<=63&&Rr.test(o)&&!/[\uff01-\uff5e]/.test(o)&&!/^-|-$/.test(o)&&!/_/.test(o))}function At(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",o=t.join("@");return xt(o)>64||xt(r)>254||!Mr(r)?!1:o.startsWith('"')&&o.endsWith('"')?Ir.test(o.slice(1,-1)):o.split(".").every(n=>Fr.test(n))}var _t="Idempotency-Key",k=255,Ft="IdempotencyKeyInProgress";function kr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ue(){let e=kr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function It(e){if(e===void 0)return ue();if(typeof e!="string"||e.trim()==="")throw new u("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>k)throw new u(`idempotencyKey must be at most ${k} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Pt=1,Rt=[{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 Nr=[[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"]],Or={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 Lr(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,i]of Nr)if(r>=o&&r<=n)return i;return null}function vr(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 Or[r]??null}function Mt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return Lr(o);case"CA":return vr(o);default:return null}}var Dr=yr(require("validator/lib/isPostalCode.js"),1),N=Dr,kt=typeof N.default=="function"?N.default:N.default?.default;if(typeof kt!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Nt=new Set(N.locales.map(e=>e.toUpperCase())),Br={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function de(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Br[t]??null:null}var Ur={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 Ot(e){let t=de(e);return t!==null&&Nt.has(t)}function Lt(e,t){let r=(t??"").trim();if(!r)return!0;let o=de(e);if(o===null||!Nt.has(o))return!0;try{return kt(r,o)}catch{return!0}}function vt(e){let t=de(e);return t?Ur[t]:void 0}var Dt=["card","wallet","paypal","apm"];function Bt(e){return S(e)}var wr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,Vr=/^dahlia\/stripe$/i,Gr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Yr=/^@flopay(?:\/|$)/i;function Ut(e){return wr.test(e)||Gr.test(e)}function Kr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Yr.test(e.module)||t.some(r=>!Ut(r))?"first-party":e.module!==void 0&&Vr.test(e.module)||t.some(Ut)?"third-party-hosted":t.length===0?"injected":"first-party"}function wt(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let n of t){let i=n.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let o=r.map(Kr);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var Vt=1,ce=["@flopay/shared","@flopay/js","@flopay/react"],Gt=32768,Yt=20,zr=["stripe","paypal"],Hr=["card","wallet","paypal","apm","saved","unknown"],qr=["apple_pay","google_pay"],Wr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],jr=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Zr=["unknown","available","blocked"],$r=["popup","app_switch","redirect"],Xr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],Jr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],le=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],pe=["server_error","transport_error","invalid_response","provider_runtime"],Qr=["authorization_declined","authentication_required","authorization_expired","capture_failed","unknown"],me=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],eo=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],to=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],ro=["full","auto","confirm","setup","unknown"],oo=["embedded","buttons","automatic","unknown"],no=["machine","buyer","total"],ao=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],ye=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,io=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,so=new Set(le),uo=new Set(pe),co=new Set(Qr),O=new Set(Jr),lo=new Set(zr),po=new Set(Hr),mo=new Set(qr),yo=new Set(Wr),go=new Set(jr),Eo=new Set(Zr),fo=new Set($r),Co=new Set(Xr),To=new Set(me),So=new Set(ro),bo=new Set(oo),ho=new Set(eo),xo=new Set(to),Ao=new Set(no),_o=new Set(ao),Fo=new Set(ce),Kt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function Io(){try{let r=globalThis.crypto.randomUUID();if(ye.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&ye.test(e)?e:Io()}function Po(e){return typeof e=="string"&&ye.test(e)?e:void 0}function Ro(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function L(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function zt(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Kt)}function Mo(e){return Number.isFinite(e)&&e>Kt}function v(e,t){let r=Ro(t.attempt);return t.provider&&lo.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,xo,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,ho,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,po,"unknown")),t.walletType&&mo.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&yo.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,So,"unknown")),t.layout&&(e.layout=l(t.layout,bo,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&go.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&Eo.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&fo.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&Co.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ge(e){let t=v({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,so,"INTERNAL_SDK_ERROR"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e);if(e.failureCategory&&uo.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,co,"unknown")),e.stage!=="provider_confirmation"){let r=Po(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=zt(e.durationMs)),t}function Ee(e){return v({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,To,"operation.retry"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e)}function fe(e){let t={...e,stage:e.stage??"completion"};return v({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,_o,"customer_abandoned"),stage:l(e.stage,O,"completion"),sequence:L(e.sequence)},t)}function Ce(e){let t=v({eventId:g(e.eventId),class:"performance",stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence),durationMs:zt(e.durationMs),durationMode:l(e.durationMode,Ao,"machine")},e);return(e.durationTruncated===!0||Mo(e.durationMs))&&(t.durationTruncated=!0),t}function Ht(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[ge({...n,errorCode:n.code})]:n.class==="lifecycle"?[Ee(n)]:n.class==="expected_outcome"?[fe(n)]:n.class==="performance"?[Ce(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Fo,"@flopay/shared"),version:io.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var ko=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function qt(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 Wt(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof u&&e.code!==void 0&&ko.has(e.code))return{errorCode:t,statusClass:D(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof u&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof u&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let o=D(e instanceof u?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function D(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function jt(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var B=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Zt(e){return typeof e=="string"&&B.test(e)}function $t(){try{let r=globalThis.crypto.randomUUID();if(B.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Xt(e){return R[e.toUpperCase()]??M}function Jt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Qt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function er(e){return typeof e=="string"&&e.startsWith("seti_")}function tr(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}0&&(module.exports={ASYNC_AUTO_CHECKOUT_CAPABILITY,BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_CAPABILITIES_HEADER,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SAVED_PAYMENT_METHOD_TYPES,SDK_VERSION,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,THREE_DS_CHALLENGE_WINDOW_MS,US_STATES,UUID_V4,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,isSetupCheckoutSession,isSetupIntentClientSecret,isUuidV4,isValidEmail,isValidPostalCode,isValidPublishableKey,isValidSecretKey,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveStripeMethodBrandVariant,resolveTheme,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
|
|
1
|
+
"use strict";var ur=Object.create;var T=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var mr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},be=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of cr(t))!pr.call(e,o)&&o!==r&&T(e,o,{get:()=>t[o],enumerable:!(n=dr(t,o))||n.enumerable});return e};var yr=(e,t,r)=>(r=e!=null?ur(lr(e)):{},be(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),gr=e=>be(T({},"__esModule",{value:!0}),e);var Nn={};mr(Nn,{ASYNC_AUTO_CHECKOUT_CAPABILITY:()=>ze,BILLING_API_URL:()=>Xe,BILLING_API_URL_PRODUCTION:()=>G,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>q,BOLD_LIGHT_APPEARANCE:()=>H,BUTTONS_LAYOUT_BOLD_DARK:()=>F,BUTTONS_LAYOUT_BOLD_LIGHT:()=>_,BUTTONS_LAYOUT_DARK:()=>J,BUTTONS_LAYOUT_DEFAULT:()=>Z,BUTTONS_LAYOUT_GLASS_DARK:()=>P,BUTTONS_LAYOUT_GLASS_LIGHT:()=>I,BUTTONS_LAYOUT_MINIMAL:()=>$,BUTTONS_LAYOUT_MODERN_DARK:()=>A,BUTTONS_LAYOUT_MODERN_LIGHT:()=>x,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>se,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE:()=>Ze,COUNTRY_OPTIONS:()=>oe,CURRENCY_MAP:()=>R,DEFAULT_API_BASE_URL:()=>$e,DEFAULT_API_VERSION:()=>Qe,DEFAULT_APPEARANCE:()=>Y,DEFAULT_CURRENCY:()=>M,FLAT_APPEARANCE:()=>et,FLO_INSTRUMENT_CATALOG:()=>Rt,FLO_INSTRUMENT_SCHEMA_VERSION:()=>Pt,FLO_SDK_CAPABILITIES_HEADER:()=>Ke,FLO_SDK_VERSION_HEADER:()=>Ye,FloPayError:()=>u,GLASS_DARK_APPEARANCE:()=>j,GLASS_LIGHT_APPEARANCE:()=>W,IDEMPOTENCY_IN_PROGRESS_CODE:()=>Ft,IDEMPOTENCY_KEY_HEADER:()=>_t,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>z,MODERN_LIGHT_APPEARANCE:()=>K,NIGHT_APPEARANCE:()=>tt,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>qe,SAVED_PAYMENT_METHOD_TYPES:()=>Dt,SDK_VERSION:()=>Ge,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE:()=>We,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE:()=>je,STRIPE_EXPRESS_METHODS:()=>ee,STRIPE_METHOD_AMOUNT_LIMITS:()=>ne,STRIPE_METHOD_COUNTRIES:()=>re,STRIPE_METHOD_CURRENCIES:()=>te,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>yt,TELEMETRY_ERROR_CODES:()=>le,TELEMETRY_FAILURE_CATEGORIES:()=>pe,TELEMETRY_LOG_NAMES:()=>me,TELEMETRY_MAX_BATCH_BYTES:()=>Gt,TELEMETRY_MAX_BATCH_EVENTS:()=>Yt,TELEMETRY_SCHEMA_VERSION:()=>Vt,TELEMETRY_SDK_PACKAGES:()=>ce,THEMES:()=>Q,THREE_DS_CHALLENGE_WINDOW_MS:()=>He,US_STATES:()=>ie,UUID_V4:()=>B,apiError:()=>Fe,assertCaptureMethodEligible:()=>Me,authenticationError:()=>Ie,buildCheckoutDisplayData:()=>ht,buildItemPayload:()=>Oe,buildProductPayload:()=>Ne,buildSubscriptionPayload:()=>Le,buildTelemetryErrorEvent:()=>ge,buildTelemetryLogEvent:()=>Ee,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>fe,classifyPaymentRejection:()=>qt,classifyTelemetryFailure:()=>Wt,configureFlopay:()=>ve,dropThirdPartyOnlyError:()=>wt,filterStripeMethodsByAmount:()=>pt,filterStripeMethodsByCountry:()=>lt,filterStripeMethodsByCurrency:()=>ct,foldIntoProducts:()=>w,generateIdempotencyKey:()=>ue,getConfiguredBillingApiUrl:()=>h,getCountryByCode:()=>ft,getCurrencyByCountry:()=>Xt,getFloPayEnvironment:()=>De,getPostalCodeExample:()=>vt,getPostalCodeLabel:()=>gt,getStateFromPostalCode:()=>Mt,getStateLabel:()=>bt,getStateOptions:()=>St,getStripeMethodDisplayName:()=>st,hasVendoredStripeMethodLogo:()=>it,isAVSEnabled:()=>Tt,isAVSFieldVisible:()=>Ct,isAuthorizationOnlySession:()=>he,isCardHolderNamePlaceholder:()=>tr,isCardSetupCheckoutSession:()=>S,isDetachedSessionEligible:()=>ke,isMoneySettledOutcome:()=>xe,isPostalCodeSupported:()=>Ot,isSetupCheckoutSession:()=>Bt,isSetupIntentClientSecret:()=>er,isUuidV4:()=>Zt,isValidEmail:()=>At,isValidPostalCode:()=>Lt,isValidPublishableKey:()=>Jt,isValidSecretKey:()=>Qt,needsStripeMethodExplicitConfirm:()=>ut,networkError:()=>Re,normalizeCheckoutFailureOutcome:()=>Ae,normalizeGatewayEnvironment:()=>jt,partitionStripeMethods:()=>mt,randomUuidV4:()=>$t,rateLimitError:()=>Pe,resolveAVSConfig:()=>ae,resolveBillingApiUrl:()=>Je,resolveButtonsLayoutTheme:()=>rt,resolveIdempotencyKey:()=>It,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>dt,resolveTheme:()=>nt,serializeTelemetryBatch:()=>Ht,stripeExpressMethodToOptionKey:()=>ot,telemetryStatusClass:()=>D,validationError:()=>_e});module.exports=gr(Nn);function S(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function he(e){return e?.captureMethod==="manual"}function xe(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ae(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 u=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function _e(e,t){return new u(e,"validation_error",{param:t})}function Fe(e,t,r){return new u(e,"api_error",{code:t,statusCode:r})}function Ie(e){return new u(e,"authentication_error")}function Pe(e){return new u(e,"rate_limit_error")}function Re(e){return new u(e,"network_error")}function Me(e){if(!(e.captureMethod!=="manual"||!(e.products??w(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new u("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,n){let o=a(e);if(o)return o;for(let i of t??[]){let d=a(i.currency);if(d)return d}for(let i of r??[]){let d=a(i.currency);if(d)return d}for(let i of n??[]){let d=a(i.currency);if(d)return d}return null}function w(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function Ne(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Oe(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Le(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var Er={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},V="staging";function ve(e){V=e.environment}function h(){return Er[V]}function De(){return V}var Be=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var Ge="1.10.2",Ye="x-flo-sdk-version",Ke="x-flo-sdk-capabilities",ze="async-auto-checkout-v1",He=3e5,qe="paypal_vaulted",We="stored_payment_method_unsupported",je="This saved payment method can\u2019t be used for this payment. Choose another payment method.",Ze="We\u2019re still confirming your payment. Please don\u2019t pay again.",E="https://api.stage.flopay.com",G="https://api.flopay.com",$e=E,Xe=E;function Je(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?G:E:h())}var Qe="2024-01-01",Y={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},et={theme:"flat",variables:{...Y.variables,borderRadius:"4px"}},tt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},K={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},z={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},H={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},W={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},j={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},Z={},$={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},X={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},J={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},x={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},A={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},_={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},F={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},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)"}},P={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 rt(e){switch(e){case"minimal":return $;case"rounded":return X;case"dark":return J;case"modern-light":return x;case"modern-dark":return A;case"bold-light":return _;case"bold-dark":return F;case"glass-light":return I;case"glass-dark":return P;default:return Z}}var Q={"modern-light":{appearance:K,buttonsLayout:x},"modern-dark":{appearance:z,buttonsLayout:A},"bold-light":{appearance:H,buttonsLayout:_},"bold-dark":{appearance:q,buttonsLayout:F},"glass-light":{appearance:W,buttonsLayout:I},"glass-dark":{appearance:j,buttonsLayout:P}};function nt(e){if(!(!e||e==="classic"))return Q[e]}function ot(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function fr(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function Ue(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function we(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:fr(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:we(e,t,r),dark:we(e,n,o,i)}}var at=["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"],Cr=[...at,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:Cr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Ue("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Ue("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:at,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function it(e){return Be.includes(e)}var ee=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),Tr=new Set(ee),te=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function st(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function ut(e){return y[e]?.needsExplicitConfirm!==!1}function dt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function ct(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=te[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function lt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=re[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var ne=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function pt(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=ne[o];if(!i)return!0;let d=i[n];return d?!(typeof d.min=="number"&&r<d.min||typeof d.max=="number"&&r>d.max):!0}):[...e]}function mt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=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(Tr.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var yt=["visa","mastercard","mastercard_debit","amex","discover"],R={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},M={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function gt(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 br(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var Et=["US","GB","CA","AU","NZ","IE","DE","FR"],hr=["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 Ve(e){return{code:e,name:Sr.of(e)??e,flag:br(e)}}var xr=new Set(Et),Ar=hr.filter(e=>!xr.has(e)),oe=[...Et.map(Ve),...Ar.map(Ve)];function ft(e){return oe.find(t=>t.code===e)}var _r={country:!0,postal_code:!0};function ae(e){return e===!0?_r:e||null}function Ct(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function Tt(e){let t=ae(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ie=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],se=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function St(e){switch(e.toUpperCase()){case"US":return ie;case"CA":return se;default:return null}}function bt(e){switch(e.toUpperCase()){case"US":return"State";case"CA":return"Province";case"GB":return"County";case"AU":return"State / Territory";default:return"State / Province / Region"}}function ht(e,t={}){let r=[],n=e.products??[],o=n.filter(s=>s.type==="subscription"),i=n.filter(s=>s.type!=="subscription"),p=(b(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let s of o){let m=s.totalAmount??0,C=s.overrideAmount??m,U=s.name||s.code||"Subscription";U==="4-WEEK PLAN"&&C<=1&&(U="7-DAY TRIAL: FULL ACCESS"),r.push({name:U,quantity:s.quantity,price:C,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let s of i){let m=s.totalAmount??0,C=s.overrideAmount??m;r.push({name:s.name||s.code||"Item",quantity:s.quantity,price:C,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let rr=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),nr=r.reduce((s,m)=>s+m.price*m.quantity,0),or=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),ar=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),ir=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Te=or?e.totalAmount:nr,f=ar?e.subtotalAmount:rr,Se=Math.max(0,f-Te),sr=f>0?Math.round(Se/f*100):0;return{items:r,currency:p,total:Te,originalTotal:f,totalSave:Se,discountPercent:sr,...ir?{couponDiscount:e.discountAmount}:{}}}var Fr=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,Ir=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Pr=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,Rr=/^[a-z\u00a1-\uffff0-9-]+$/i;function xt(e){return encodeURI(e).split(/%..|./).length-1}function Mr(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Pr.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&Rr.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function At(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return xt(n)>64||xt(r)>254||!Mr(r)?!1:n.startsWith('"')&&n.endsWith('"')?Ir.test(n.slice(1,-1)):n.split(".").every(o=>Fr.test(o))}var _t="Idempotency-Key",k=255,Ft="IdempotencyKeyInProgress";function kr(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ue(){let e=kr();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function It(e){if(e===void 0)return ue();if(typeof e!="string"||e.trim()==="")throw new u("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>k)throw new u(`idempotencyKey must be at most ${k} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Pt=1,Rt=[{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 Nr=[[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"]],Or={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 Lr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of Nr)if(r>=n&&r<=o)return i;return null}function vr(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 Or[r]??null}function Mt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return Lr(n);case"CA":return vr(n);default:return null}}var Dr=yr(require("validator/lib/isPostalCode.js"),1),N=Dr,kt=typeof N.default=="function"?N.default:N.default?.default;if(typeof kt!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Nt=new Set(N.locales.map(e=>e.toUpperCase())),Br={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function de(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Br[t]??null:null}var Ur={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 Ot(e){let t=de(e);return t!==null&&Nt.has(t)}function Lt(e,t){let r=(t??"").trim();if(!r)return!0;let n=de(e);if(n===null||!Nt.has(n))return!0;try{return kt(r,n)}catch{return!0}}function vt(e){let t=de(e);return t?Ur[t]:void 0}var Dt=["card","wallet","paypal","apm"];function Bt(e){return S(e)}var wr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,Vr=/^dahlia\/stripe$/i,Gr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Yr=/^@flopay(?:\/|$)/i;function Ut(e){return wr.test(e)||Gr.test(e)}function Kr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Yr.test(e.module)||t.some(r=>!Ut(r))?"first-party":e.module!==void 0&&Vr.test(e.module)||t.some(Ut)?"third-party-hosted":t.length===0?"injected":"first-party"}function wt(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Kr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Vt=1,ce=["@flopay/shared","@flopay/js","@flopay/react"],Gt=32768,Yt=20,zr=["stripe","paypal"],Hr=["card","wallet","paypal","apm","saved","unknown"],qr=["apple_pay","google_pay"],Wr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],jr=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Zr=["unknown","available","blocked"],$r=["popup","app_switch","redirect"],Xr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],Jr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],le=["CALLBACK_FAILED","CHECKOUT_SESSION_CREATE_FAILED","CONFIGURATION_INVALID","INTERNAL_SDK_ERROR","NETWORK_REQUEST_FAILED","PAYMENT_PROCESSING_FAILED","POPUP_BLOCKED","PROVIDER_LOAD_FAILED","PROVIDER_RUNTIME_FAILED","RECOVERY_FAILED","REDIRECT_RESUME_FAILED","REQUEST_TIMEOUT","SDK_INITIALIZATION_FAILED","THREE_DS_FAILED","TOKENIZATION_FAILED","VAULT_LOAD_FAILED","VAULT_SUBMIT_FAILED"],pe=["server_error","transport_error","invalid_response","provider_runtime"],Qr=["authorization_declined","authentication_required","authorization_expired","capture_failed","unknown"],me=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],en=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],tn=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],rn=["full","auto","confirm","setup","unknown"],nn=["embedded","buttons","automatic","unknown"],on=["machine","buyer","total"],an=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],ye=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,sn=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,un=new Set(le),dn=new Set(pe),cn=new Set(Qr),O=new Set(Jr),ln=new Set(zr),pn=new Set(Hr),mn=new Set(qr),yn=new Set(Wr),gn=new Set(jr),En=new Set(Zr),fn=new Set($r),Cn=new Set(Xr),Tn=new Set(me),Sn=new Set(rn),bn=new Set(nn),hn=new Set(en),xn=new Set(tn),An=new Set(on),_n=new Set(an),Fn=new Set(ce),Kt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function In(){try{let r=globalThis.crypto.randomUUID();if(ye.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&ye.test(e)?e:In()}function Pn(e){return typeof e=="string"&&ye.test(e)?e:void 0}function Rn(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function L(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function zt(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Kt)}function Mn(e){return Number.isFinite(e)&&e>Kt}function v(e,t){let r=Rn(t.attempt);return t.provider&&ln.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,xn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,hn,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,pn,"unknown")),t.walletType&&mn.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&yn.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Sn,"unknown")),t.layout&&(e.layout=l(t.layout,bn,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&gn.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&En.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&fn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&Cn.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ge(e){let t=v({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,un,"INTERNAL_SDK_ERROR"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e);if(e.failureCategory&&dn.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,cn,"unknown")),e.stage!=="provider_confirmation"){let r=Pn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=zt(e.durationMs)),t}function Ee(e){return v({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Tn,"operation.retry"),stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence)},e)}function fe(e){let t={...e,stage:e.stage??"completion"};return v({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,_n,"customer_abandoned"),stage:l(e.stage,O,"completion"),sequence:L(e.sequence)},t)}function Ce(e){let t=v({eventId:g(e.eventId),class:"performance",stage:l(e.stage,O,"sdk_initialize"),sequence:L(e.sequence),durationMs:zt(e.durationMs),durationMode:l(e.durationMode,An,"machine")},e);return(e.durationTruncated===!0||Mn(e.durationMs))&&(t.durationTruncated=!0),t}function Ht(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[ge({...o,errorCode:o.code})]:o.class==="lifecycle"?[Ee(o)]:o.class==="expected_outcome"?[fe(o)]:o.class==="performance"?[Ce(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Fn,"@flopay/shared"),version:sn.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var kn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function qt(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 Wt(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof u&&e.code!==void 0&&kn.has(e.code))return{errorCode:t,statusClass:D(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof u&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof u&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=D(e instanceof u?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function D(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function jt(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var B=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Zt(e){return typeof e=="string"&&B.test(e)}function $t(){try{let r=globalThis.crypto.randomUUID();if(B.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Xt(e){return R[e.toUpperCase()]??M}function Jt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Qt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function er(e){return typeof e=="string"&&e.startsWith("seti_")}function tr(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}0&&(module.exports={ASYNC_AUTO_CHECKOUT_CAPABILITY,BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_CAPABILITIES_HEADER,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SAVED_PAYMENT_METHOD_TYPES,SDK_VERSION,STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,THREE_DS_CHALLENGE_WINDOW_MS,US_STATES,UUID_V4,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,isSetupCheckoutSession,isSetupIntentClientSecret,isUuidV4,isValidEmail,isValidPostalCode,isValidPublishableKey,isValidSecretKey,needsStripeMethodExplicitConfirm,networkError,normalizeCheckoutFailureOutcome,normalizeGatewayEnvironment,partitionStripeMethods,randomUuidV4,rateLimitError,resolveAVSConfig,resolveBillingApiUrl,resolveButtonsLayoutTheme,resolveIdempotencyKey,resolveSessionCurrency,resolveStripeMethodBrandVariant,resolveTheme,serializeTelemetryBatch,stripeExpressMethodToOptionKey,telemetryStatusClass,validationError});
|
package/dist/index.d.cts
CHANGED
|
@@ -238,18 +238,31 @@ type SavedPaymentMethodDisplay = SavedCardPaymentMethodDisplay | SavedOtherPayme
|
|
|
238
238
|
interface ListSavedPaymentMethodsQuery {
|
|
239
239
|
type?: SavedPaymentMethodType;
|
|
240
240
|
}
|
|
241
|
-
/** One savable method the billing API advertises on a setup session. */
|
|
242
|
-
interface AdvertisedSavableMethod {
|
|
243
|
-
type: SavedPaymentMethodType;
|
|
244
|
-
label?: string;
|
|
245
|
-
}
|
|
246
241
|
/**
|
|
247
242
|
* Whether a read session is a no-charge setup session, whatever methods it advertises.
|
|
248
243
|
* Only the explicit setup mode, a zero amount and an empty cart decide it: the billing API
|
|
249
|
-
* alone chooses which methods (and gateways) a setup session offers, so
|
|
250
|
-
* is never consulted here.
|
|
244
|
+
* alone chooses which methods (and gateways) a setup session offers, so
|
|
245
|
+
* `advertisedPaymentMethods` is never consulted here.
|
|
251
246
|
*/
|
|
252
247
|
declare function isSetupCheckoutSession(session: CheckoutSession): boolean;
|
|
248
|
+
/**
|
|
249
|
+
* One payment method a setup session advertises, exactly as the billing API sends it
|
|
250
|
+
* (backend docs/card-setup.md, "Advertised payment methods"). The values are open:
|
|
251
|
+
* a client skips a `family` or `paymentMethodType` it does not know.
|
|
252
|
+
*/
|
|
253
|
+
interface AdvertisedPaymentMethod {
|
|
254
|
+
/** `card`, `wallet`, `apm` or `paypal` today. */
|
|
255
|
+
family: string;
|
|
256
|
+
/** The method itself: `card`, `apple_pay`, `sepa_debit`, `paypal_vaulted`, ... */
|
|
257
|
+
paymentMethodType: string;
|
|
258
|
+
/** The gateway the backend chose for this method. */
|
|
259
|
+
gatewayId: string;
|
|
260
|
+
/** That gateway's provider: `stripe` or `paypal` today. */
|
|
261
|
+
providerType: string;
|
|
262
|
+
/** This method's own publishable key (the client id for PayPal). */
|
|
263
|
+
publishableKey: string;
|
|
264
|
+
environment: string;
|
|
265
|
+
}
|
|
253
266
|
|
|
254
267
|
/** Theme variables that map to CSS custom properties on FloPay elements. */
|
|
255
268
|
interface FloPayThemeVariables {
|
|
@@ -676,8 +689,11 @@ interface CheckoutSession {
|
|
|
676
689
|
checkoutMetadata?: CheckoutMetadata;
|
|
677
690
|
metadata?: Record<string, string>;
|
|
678
691
|
checkoutMode?: CheckoutSessionMode;
|
|
679
|
-
/**
|
|
680
|
-
|
|
692
|
+
/**
|
|
693
|
+
* Payment methods the billing API advertises on a setup session (backend#1846),
|
|
694
|
+
* exactly as received. Absent on older backends, which a card-only client may ignore.
|
|
695
|
+
*/
|
|
696
|
+
advertisedPaymentMethods?: AdvertisedPaymentMethod[];
|
|
681
697
|
/** Whether the backend has resolved and attached a buyer to this session. */
|
|
682
698
|
buyerIdentified?: boolean;
|
|
683
699
|
/**
|
|
@@ -2072,7 +2088,7 @@ declare function getConfiguredBillingApiUrl(): string;
|
|
|
2072
2088
|
declare function getFloPayEnvironment(): FloPayEnvironment;
|
|
2073
2089
|
|
|
2074
2090
|
/** Current SDK version. */
|
|
2075
|
-
declare const SDK_VERSION = "1.10.
|
|
2091
|
+
declare const SDK_VERSION = "1.10.2";
|
|
2076
2092
|
/**
|
|
2077
2093
|
* HTTP header the SDK sends on checkout-session create/read requests so the
|
|
2078
2094
|
* backend can observe compatibility. Version 1.4.9 is the first release that
|
|
@@ -2823,4 +2839,4 @@ declare function isSetupIntentClientSecret(clientSecret: string | null | undefin
|
|
|
2823
2839
|
/** Treat the checkout's normalized fallback cardholder sentinel as absent. */
|
|
2824
2840
|
declare function isCardHolderNamePlaceholder(...nameParts: Array<string | null | undefined>): boolean;
|
|
2825
2841
|
|
|
2826
|
-
export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type
|
|
2842
|
+
export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
|
package/dist/index.d.ts
CHANGED
|
@@ -238,18 +238,31 @@ type SavedPaymentMethodDisplay = SavedCardPaymentMethodDisplay | SavedOtherPayme
|
|
|
238
238
|
interface ListSavedPaymentMethodsQuery {
|
|
239
239
|
type?: SavedPaymentMethodType;
|
|
240
240
|
}
|
|
241
|
-
/** One savable method the billing API advertises on a setup session. */
|
|
242
|
-
interface AdvertisedSavableMethod {
|
|
243
|
-
type: SavedPaymentMethodType;
|
|
244
|
-
label?: string;
|
|
245
|
-
}
|
|
246
241
|
/**
|
|
247
242
|
* Whether a read session is a no-charge setup session, whatever methods it advertises.
|
|
248
243
|
* Only the explicit setup mode, a zero amount and an empty cart decide it: the billing API
|
|
249
|
-
* alone chooses which methods (and gateways) a setup session offers, so
|
|
250
|
-
* is never consulted here.
|
|
244
|
+
* alone chooses which methods (and gateways) a setup session offers, so
|
|
245
|
+
* `advertisedPaymentMethods` is never consulted here.
|
|
251
246
|
*/
|
|
252
247
|
declare function isSetupCheckoutSession(session: CheckoutSession): boolean;
|
|
248
|
+
/**
|
|
249
|
+
* One payment method a setup session advertises, exactly as the billing API sends it
|
|
250
|
+
* (backend docs/card-setup.md, "Advertised payment methods"). The values are open:
|
|
251
|
+
* a client skips a `family` or `paymentMethodType` it does not know.
|
|
252
|
+
*/
|
|
253
|
+
interface AdvertisedPaymentMethod {
|
|
254
|
+
/** `card`, `wallet`, `apm` or `paypal` today. */
|
|
255
|
+
family: string;
|
|
256
|
+
/** The method itself: `card`, `apple_pay`, `sepa_debit`, `paypal_vaulted`, ... */
|
|
257
|
+
paymentMethodType: string;
|
|
258
|
+
/** The gateway the backend chose for this method. */
|
|
259
|
+
gatewayId: string;
|
|
260
|
+
/** That gateway's provider: `stripe` or `paypal` today. */
|
|
261
|
+
providerType: string;
|
|
262
|
+
/** This method's own publishable key (the client id for PayPal). */
|
|
263
|
+
publishableKey: string;
|
|
264
|
+
environment: string;
|
|
265
|
+
}
|
|
253
266
|
|
|
254
267
|
/** Theme variables that map to CSS custom properties on FloPay elements. */
|
|
255
268
|
interface FloPayThemeVariables {
|
|
@@ -676,8 +689,11 @@ interface CheckoutSession {
|
|
|
676
689
|
checkoutMetadata?: CheckoutMetadata;
|
|
677
690
|
metadata?: Record<string, string>;
|
|
678
691
|
checkoutMode?: CheckoutSessionMode;
|
|
679
|
-
/**
|
|
680
|
-
|
|
692
|
+
/**
|
|
693
|
+
* Payment methods the billing API advertises on a setup session (backend#1846),
|
|
694
|
+
* exactly as received. Absent on older backends, which a card-only client may ignore.
|
|
695
|
+
*/
|
|
696
|
+
advertisedPaymentMethods?: AdvertisedPaymentMethod[];
|
|
681
697
|
/** Whether the backend has resolved and attached a buyer to this session. */
|
|
682
698
|
buyerIdentified?: boolean;
|
|
683
699
|
/**
|
|
@@ -2072,7 +2088,7 @@ declare function getConfiguredBillingApiUrl(): string;
|
|
|
2072
2088
|
declare function getFloPayEnvironment(): FloPayEnvironment;
|
|
2073
2089
|
|
|
2074
2090
|
/** Current SDK version. */
|
|
2075
|
-
declare const SDK_VERSION = "1.10.
|
|
2091
|
+
declare const SDK_VERSION = "1.10.2";
|
|
2076
2092
|
/**
|
|
2077
2093
|
* HTTP header the SDK sends on checkout-session create/read requests so the
|
|
2078
2094
|
* backend can observe compatibility. Version 1.4.9 is the first release that
|
|
@@ -2823,4 +2839,4 @@ declare function isSetupIntentClientSecret(clientSecret: string | null | undefin
|
|
|
2823
2839
|
/** Treat the checkout's normalized fallback cardholder sentinel as absent. */
|
|
2824
2840
|
declare function isCardHolderNamePlaceholder(...nameParts: Array<string | null | undefined>): boolean;
|
|
2825
2841
|
|
|
2826
|
-
export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type
|
|
2842
|
+
export { ASYNC_AUTO_CHECKOUT_CAPABILITY, type AVSFieldConfig, type AdvertisedPaymentMethod, BILLING_API_URL, BILLING_API_URL_PRODUCTION, BILLING_API_URL_STAGING, BOLD_DARK_APPEARANCE, BOLD_LIGHT_APPEARANCE, BUTTONS_LAYOUT_BOLD_DARK, BUTTONS_LAYOUT_BOLD_LIGHT, BUTTONS_LAYOUT_DARK, BUTTONS_LAYOUT_DEFAULT, BUTTONS_LAYOUT_GLASS_DARK, BUTTONS_LAYOUT_GLASS_LIGHT, BUTTONS_LAYOUT_MINIMAL, BUTTONS_LAYOUT_MODERN_DARK, BUTTONS_LAYOUT_MODERN_LIGHT, BUTTONS_LAYOUT_ROUNDED, type BeforeButtonClickEvent, type BillingDetails, type BillingProvider, type BuildCheckoutDisplayDataOptions, type BuildTelemetryErrorEventInput, type BuildTelemetryLogEventInput, type BuildTelemetryPerformanceEventInput, type BuildTelemetryTerminalEventInput, type ButtonsLayoutStyles, type ButtonsLayoutTheme, CA_PROVINCES, CHECKOUT_PROCESSING_TIMEOUT_MESSAGE, COUNTRY_OPTIONS, CURRENCY_MAP, type CaptureMethod, type CardCaptureAdapter, type CardCaptureEventType, type CardCaptureMountOptions, type CardCaptureOutcomeEvent, type CardCaptureProviderId, type CardSetupFutureUse, type CheckoutAccount, type CheckoutButtonMethod, type CheckoutDisplayData, type CheckoutFailureOutcome, type CheckoutGateway, type CheckoutGateways, type CheckoutItem, type CheckoutMetadata, type CheckoutMode, type CheckoutModeKind, type CheckoutProcessError, type CheckoutProcessingPending, type CheckoutProduct, type CheckoutProductType, type CheckoutSession, type CheckoutSessionMode, type CheckoutSessionProduct, type CheckoutSessionResult, type CheckoutSubscription, type ClassifiedTelemetryFailure, type CountryOption, type CreateCardSetupSessionRequest, type CreateCustomerParams, type CreateSessionIntentRequest, type CreateSessionParams, type CurrencyInfo, type Customer, DEFAULT_API_BASE_URL, DEFAULT_API_VERSION, DEFAULT_APPEARANCE, DEFAULT_CURRENCY, type DeclineEvent, type DetachedCheckoutSession, type DisplayLineItem, type ExternalMethodFailureDetails, FLAT_APPEARANCE, FLO_INSTRUMENT_CATALOG, FLO_INSTRUMENT_SCHEMA_VERSION, FLO_SDK_CAPABILITIES_HEADER, FLO_SDK_VERSION_HEADER, type FloInstrumentErrorPhase, type FloInstrumentEvent, type FloInstrumentLifecycleName, type FloPayAppearance, type FloPayConfig, type FloPayEnvironment, FloPayError, type FloPayErrorType, type FloPayThemeVariables, GLASS_DARK_APPEARANCE, GLASS_LIGHT_APPEARANCE, type GatewayEnvironment, IDEMPOTENCY_IN_PROGRESS_CODE, IDEMPOTENCY_KEY_HEADER, type InlineSessionDraft, type InlineSessionParams, type InlineSessionPatch, type LineItem, type ListSavedPaymentMethodsQuery, MAX_IDEMPOTENCY_KEY_LENGTH, MODERN_DARK_APPEARANCE, MODERN_LIGHT_APPEARANCE, NIGHT_APPEARANCE, type NonCardPaymentMethodCategory, type NormalizedCheckoutSession, type NormalizedGatewayEnvironment, PAYPAL_VAULTED_PAYMENT_METHOD_TYPE, type PayPalApprovalPresentation, type PayPalPaymentResult, type PayPalProviderObjectType, type PayPalSessionIntent, type PayPalSessionIntentRequest, type PaymentMethodRemovalConflictCode, type PaymentMethodRemovalConflictError, type PaymentMethodRemovalError, type PaymentMethodRemovalFailureReason, type PaymentMethodRemovalNotFoundError, type PaymentMethodRemovalRetryableError, type PaymentProviderAdapter, type PaymentResult, type PriceData, type ProcessPaymentParams, type RecurringInterval, SAVED_PAYMENT_METHOD_TYPES, SDK_VERSION, STORED_PAYMENT_METHOD_UNSUPPORTED_CODE, STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE, STRIPE_EXPRESS_METHODS, STRIPE_METHOD_AMOUNT_LIMITS, STRIPE_METHOD_COUNTRIES, STRIPE_METHOD_CURRENCIES, STRIPE_METHOD_MATRIX, SUPPORTED_CARD_BRANDS, type SavedCardDisplay, type SavedCardPaymentMethodDisplay, type SavedOtherPaymentMethodDisplay, type SavedPaymentMethodDisplay, type SavedPaymentMethodStatus, type SavedPaymentMethodType, type SentryEventLike, type SentryStackFrameLike, type SerializeTelemetryBatchOptions, type SessionIntent, type SessionIntentDeclineRequest, type StateOption, type StoredPaymentMethodOutcomeCode, type StripeMethodEntry, type StripeMethodThemeVariant, type StripeSessionIntent, type StripeSessionIntentRequest, TELEMETRY_ERROR_CODES, TELEMETRY_FAILURE_CATEGORIES, TELEMETRY_LOG_NAMES, TELEMETRY_MAX_BATCH_BYTES, TELEMETRY_MAX_BATCH_EVENTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_SDK_PACKAGES, THEMES, THREE_DS_CHALLENGE_WINDOW_MS, type TagsData, type TelemetryAppFamily, type TelemetryBatchEnvelope, type TelemetryCheckoutMode, type TelemetryDurationMode, type TelemetryErrorCode, type TelemetryErrorEvent, type TelemetryErrorReason, type TelemetryEvent, type TelemetryEventClass, type TelemetryExpectedOutcome, type TelemetryExpectedOutcomeEvent, type TelemetryFailureCategory, type TelemetryLayout, type TelemetryLogEvent, type TelemetryLogName, type TelemetryPaymentMethodCategory, type TelemetryPerformanceEvent, type TelemetryPopupCapability, type TelemetryPresentationMode, type TelemetryProvider, type TelemetryProviderInput, type TelemetryRequestCategory, type TelemetrySdkPackage, type TelemetryStage, type TelemetryStatusClass, type TelemetryTerminalReason, type ThemeBundle, type ThemeBundleId, type ThemeId, type TokenizedBody, US_STATES, UUID_V4, type UpdateCustomerParams, type VaultCaptureBlock, type VaultCaptureResultMessage, type VaultCardFieldKey, type VaultCardThemeColors, type VaultGradientStop, type VaultLinearGradientBackground, type VaultShadowLayer, type VaultSolidBackground, type VaultSubmitBackground, type VaultSubmitButtonTheme, type VaultSubmitSpacing, type VaultSubmitTypography, type VaultThemeColor, type WalletPresentation, type WebhookEvent, apiError, assertCaptureMethodEligible, authenticationError, buildCheckoutDisplayData, buildItemPayload, buildProductPayload, buildSubscriptionPayload, buildTelemetryErrorEvent, buildTelemetryLogEvent, buildTelemetryPerformanceEvent, buildTelemetryTerminalEvent, classifyPaymentRejection, classifyTelemetryFailure, configureFlopay, dropThirdPartyOnlyError, filterStripeMethodsByAmount, filterStripeMethodsByCountry, filterStripeMethodsByCurrency, foldIntoProducts, generateIdempotencyKey, getConfiguredBillingApiUrl, getCountryByCode, getCurrencyByCountry, getFloPayEnvironment, getPostalCodeExample, getPostalCodeLabel, getStateFromPostalCode, getStateLabel, getStateOptions, getStripeMethodDisplayName, hasVendoredStripeMethodLogo, isAVSEnabled, isAVSFieldVisible, isAuthorizationOnlySession, isCardHolderNamePlaceholder, isCardSetupCheckoutSession, isDetachedSessionEligible, isMoneySettledOutcome, isPostalCodeSupported, isSetupCheckoutSession, isSetupIntentClientSecret, isUuidV4, isValidEmail, isValidPostalCode, isValidPublishableKey, isValidSecretKey, needsStripeMethodExplicitConfirm, networkError, normalizeCheckoutFailureOutcome, normalizeGatewayEnvironment, partitionStripeMethods, randomUuidV4, rateLimitError, resolveAVSConfig, resolveBillingApiUrl, resolveButtonsLayoutTheme, resolveIdempotencyKey, resolveSessionCurrency, resolveStripeMethodBrandVariant, resolveTheme, serializeTelemetryBatch, stripeExpressMethodToOptionKey, telemetryStatusClass, validationError };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function A(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Ue(e){return e?.captureMethod==="manual"}function we(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ve(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,o?.details!==void 0&&(this.details=o.details),o?.sessionId!==void 0&&(this.sessionId=o.sessionId),o?.cause!==void 0&&(this.cause=o.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ge(e,t){return new d(e,"validation_error",{param:t})}function Ye(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function Ke(e){return new d(e,"authentication_error")}function ze(e){return new d(e,"rate_limit_error")}function He(e){return new d(e,"network_error")}function qe(e){if(!(e.captureMethod!=="manual"||!(e.products??K(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 We(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _(e,t,r,o){let n=a(e);if(n)return n;for(let i of t??[]){let u=a(i.currency);if(u)return u}for(let i of r??[]){let u=a(i.currency);if(u)return u}for(let i of o??[]){let u=a(i.currency);if(u)return u}return null}function K(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 je(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let 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 Ze(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 $e(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 Xe={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},F="staging";function Je(e){F=e.environment}function I(){return Xe[F]}function Qe(){return F}var z=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var et="1.10.0",tt="x-flo-sdk-version",rt="x-flo-sdk-capabilities",ot="async-auto-checkout-v1",nt=3e5,at="paypal_vaulted",it="stored_payment_method_unsupported",st="This saved payment method can\u2019t be used for this payment. Choose another payment method.",ut="We\u2019re still confirming your payment. Please don\u2019t pay again.",C="https://api.stage.flopay.com",j="https://api.flopay.com",dt=C,ct=C;function lt(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?j:C:I())}var pt="2024-01-01",Z={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},mt={theme:"flat",variables:{...Z.variables,borderRadius:"4px"}},yt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},$={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"}}},X={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"}}},J={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},Q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},ee={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)"}}},te={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)"}}},re={},oe={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},ne={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"}},ae={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"}},P={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},R={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},M={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},k={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},N={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},O={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function gt(e){switch(e){case"minimal":return oe;case"rounded":return ne;case"dark":return ae;case"modern-light":return P;case"modern-dark":return R;case"bold-light":return M;case"bold-dark":return k;case"glass-light":return N;case"glass-dark":return O;default:return re}}var ie={"modern-light":{appearance:$,buttonsLayout:P},"modern-dark":{appearance:X,buttonsLayout:R},"bold-light":{appearance:J,buttonsLayout:M},"bold-dark":{appearance:Q,buttonsLayout:k},"glass-light":{appearance:ee,buttonsLayout:N},"glass-dark":{appearance:te,buttonsLayout:O}};function Et(e){if(!(!e||e==="classic"))return ie[e]}function ft(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function Ct(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function H(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function q(e,t,r,o=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:Ct(e,r,o)}}function c(e,t,r,o=t,n=r,i=o){return{light:q(e,t,r),dark:q(e,o,n,i)}}var se=["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"],Tt=[...se,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:Tt,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:H("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:H("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:se,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function St(e){return z.includes(e)}var ue=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),bt=new Set(ue),de=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),ce=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ht(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function xt(e){return y[e]?.needsExplicitConfirm!==!1}function At(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function _t(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(o=>{let n=de[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}function Ft(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(o=>{let n=ce[o];return n?n.includes("*")||n.includes(r):!0}):[...e]}var le=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function It(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let o=t.trim().toLowerCase();return o?e.filter(n=>{let i=le[n];if(!i)return!0;let u=i[o];return u?!(typeof u.min=="number"&&r<u.min||typeof u.max=="number"&&r>u.max):!0}):[...e]}function Pt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],o=[],n=new Set,i=new Set;for(let u of e){if(typeof u!="string")continue;let p=u.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(bt.has(p)){if(n.has(p))continue;n.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),o.push(p)}}return{expressMethods:r,paymentElementMethods:o}}var Rt=["visa","mastercard","mastercard_debit","amex","discover"],L={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},v={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function Mt(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 kt=new Intl.DisplayNames(["en"],{type:"region"});function Nt(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pe=["US","GB","CA","AU","NZ","IE","DE","FR"],Ot=["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 W(e){return{code:e,name:kt.of(e)??e,flag:Nt(e)}}var Lt=new Set(pe),vt=Ot.filter(e=>!Lt.has(e)),me=[...pe.map(W),...vt.map(W)];function Dt(e){return me.find(t=>t.code===e)}var Bt={country:!0,postal_code:!0};function ye(e){return e===!0?Bt:e||null}function Ut(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(o=>o.trim().toUpperCase()===r)}function wt(e){let t=ye(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ge=[{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"}],Ee=[{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 ge;case"CA":return Ee;default:return null}}function Gt(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(s=>s.type==="subscription"),i=o.filter(s=>s.type!=="subscription"),p=(_(e.currency,void 0,void 0,o)??"USD").toUpperCase();for(let s of n){let m=s.totalAmount??0,f=s.overrideAmount??m,x=s.name||s.code||"Subscription";x==="4-WEEK PLAN"&&f<=1&&(x="7-DAY TRIAL: FULL ACCESS"),r.push({name:x,quantity:s.quantity,price:f,originalPrice:m})}if(!(t.hideBundledItems===!0&&n.length>0&&i.length>0))for(let s of i){let m=s.totalAmount??0,f=s.overrideAmount??m;r.push({name:s.name||s.code||"Item",quantity:s.quantity,price:f,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let Ne=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),Oe=r.reduce((s,m)=>s+m.price*m.quantity,0),Le=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),ve=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),De=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),G=Le?e.totalAmount:Oe,E=ve?e.subtotalAmount:Ne,Y=Math.max(0,E-G),Be=E>0?Math.round(Y/E*100):0;return{items:r,currency:p,total:G,originalTotal:E,totalSave:Y,discountPercent:Be,...De?{couponDiscount:e.discountAmount}:{}}}var Kt=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,zt=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Ht=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,qt=/^[a-z\u00a1-\uffff0-9-]+$/i;function fe(e){return encodeURI(e).split(/%..|./).length-1}function Wt(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Ht.test(r)&&!/\s/.test(r)&&t.every(o=>o.length<=63&&qt.test(o)&&!/[\uff01-\uff5e]/.test(o)&&!/^-|-$/.test(o)&&!/_/.test(o))}function jt(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",o=t.join("@");return fe(o)>64||fe(r)>254||!Wt(r)?!1:o.startsWith('"')&&o.endsWith('"')?zt.test(o.slice(1,-1)):o.split(".").every(n=>Kt.test(n))}var Zt="Idempotency-Key",D=255,$t="IdempotencyKeyInProgress";function Xt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function Ce(){let e=Xt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Jt(e){if(e===void 0)return Ce();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>D)throw new d(`idempotencyKey must be at most ${D} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Qt=1,er=[{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 tr=[[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"]],rr={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 or(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,i]of tr)if(r>=o&&r<=n)return i;return null}function nr(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 rr[r]??null}function ar(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),o=t.trim();if(!o)return null;switch(r){case"US":return or(o);case"CA":return nr(o);default:return null}}import*as ir from"validator/lib/isPostalCode.js";var T=ir,Te=typeof T.default=="function"?T.default:T.default?.default;if(typeof Te!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Se=new Set(T.locales.map(e=>e.toUpperCase())),sr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function B(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:sr[t]??null:null}var ur={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 dr(e){let t=B(e);return t!==null&&Se.has(t)}function cr(e,t){let r=(t??"").trim();if(!r)return!0;let o=B(e);if(o===null||!Se.has(o))return!0;try{return Te(r,o)}catch{return!0}}function lr(e){let t=B(e);return t?ur[t]:void 0}var pr=["card","wallet","paypal","apm"];function mr(e){return A(e)}var yr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,gr=/^dahlia\/stripe$/i,Er=/^(?:chrome|moz|safari-web)-extension:\/\//i,fr=/^@flopay(?:\/|$)/i;function be(e){return yr.test(e)||Er.test(e)}function Cr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&fr.test(e.module)||t.some(r=>!be(r))?"first-party":e.module!==void 0&&gr.test(e.module)||t.some(be)?"third-party-hosted":t.length===0?"injected":"first-party"}function Tr(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let n of t){let i=n.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let o=r.map(Cr);return!o.includes("first-party")&&o.includes("third-party-hosted")?null:e}var Sr=1,he=["@flopay/shared","@flopay/js","@flopay/react"],br=32768,hr=20,xr=["stripe","paypal"],Ar=["card","wallet","paypal","apm","saved","unknown"],_r=["apple_pay","google_pay"],Fr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Ir=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Pr=["unknown","available","blocked"],Rr=["popup","app_switch","redirect"],Mr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],kr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],xe=["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"],Ae=["server_error","transport_error","invalid_response","provider_runtime"],Nr=["authorization_declined","authentication_required","authorization_expired","capture_failed","unknown"],_e=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],Or=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Lr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],vr=["full","auto","confirm","setup","unknown"],Dr=["embedded","buttons","automatic","unknown"],Br=["machine","buyer","total"],Ur=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,wr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Vr=new Set(xe),Gr=new Set(Ae),Yr=new Set(Nr),S=new Set(kr),Kr=new Set(xr),zr=new Set(Ar),Hr=new Set(_r),qr=new Set(Fr),Wr=new Set(Ir),jr=new Set(Pr),Zr=new Set(Rr),$r=new Set(Mr),Xr=new Set(_e),Jr=new Set(vr),Qr=new Set(Dr),eo=new Set(Or),to=new Set(Lr),ro=new Set(Br),oo=new Set(Ur),no=new Set(he),Fe=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function ao(){try{let r=globalThis.crypto.randomUUID();if(U.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&U.test(e)?e:ao()}function io(e){return typeof e=="string"&&U.test(e)?e:void 0}function so(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function b(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Ie(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Fe)}function uo(e){return Number.isFinite(e)&&e>Fe}function h(e,t){let r=so(t.attempt);return t.provider&&Kr.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,to,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,eo,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,zr,"unknown")),t.walletType&&Hr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&qr.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Jr,"unknown")),t.layout&&(e.layout=l(t.layout,Qr,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&Wr.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&jr.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&Zr.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&$r.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function Pe(e){let t=h({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Vr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence)},e);if(e.failureCategory&&Gr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,Yr,"unknown")),e.stage!=="provider_confirmation"){let r=io(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ie(e.durationMs)),t}function Re(e){return h({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Xr,"operation.retry"),stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence)},e)}function Me(e){let t={...e,stage:e.stage??"completion"};return h({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,oo,"customer_abandoned"),stage:l(e.stage,S,"completion"),sequence:b(e.sequence)},t)}function ke(e){let t=h({eventId:g(e.eventId),class:"performance",stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence),durationMs:Ie(e.durationMs),durationMode:l(e.durationMode,ro,"machine")},e);return(e.durationTruncated===!0||uo(e.durationMs))&&(t.durationTruncated=!0),t}function co(e,t){let r=e.slice(0,20).flatMap(n=>n.class==="technical_error"?[Pe({...n,errorCode:n.code})]:n.class==="lifecycle"?[Re(n)]:n.class==="expected_outcome"?[Me(n)]:n.class==="performance"?[ke(n)]:[]),o={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,no,"@flopay/shared"),version:wr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(o)}var lo=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function po(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 mo(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&lo.has(e.code))return{errorCode:t,statusClass:w(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let o=w(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:o,...o==="5xx"?{failureCategory:"server_error"}:{}}}function w(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function yo(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var V=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function go(e){return typeof e=="string"&&V.test(e)}function Eo(){try{let r=globalThis.crypto.randomUUID();if(V.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function fo(e){return L[e.toUpperCase()]??v}function Co(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function To(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function So(e){return typeof e=="string"&&e.startsWith("seti_")}function bo(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}export{ot as ASYNC_AUTO_CHECKOUT_CAPABILITY,ct as BILLING_API_URL,j as BILLING_API_URL_PRODUCTION,C as BILLING_API_URL_STAGING,Q as BOLD_DARK_APPEARANCE,J as BOLD_LIGHT_APPEARANCE,k as BUTTONS_LAYOUT_BOLD_DARK,M as BUTTONS_LAYOUT_BOLD_LIGHT,ae as BUTTONS_LAYOUT_DARK,re as BUTTONS_LAYOUT_DEFAULT,O as BUTTONS_LAYOUT_GLASS_DARK,N as BUTTONS_LAYOUT_GLASS_LIGHT,oe as BUTTONS_LAYOUT_MINIMAL,R as BUTTONS_LAYOUT_MODERN_DARK,P as BUTTONS_LAYOUT_MODERN_LIGHT,ne as BUTTONS_LAYOUT_ROUNDED,Ee as CA_PROVINCES,ut as CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,me as COUNTRY_OPTIONS,L as CURRENCY_MAP,dt as DEFAULT_API_BASE_URL,pt as DEFAULT_API_VERSION,Z as DEFAULT_APPEARANCE,v as DEFAULT_CURRENCY,mt as FLAT_APPEARANCE,er as FLO_INSTRUMENT_CATALOG,Qt as FLO_INSTRUMENT_SCHEMA_VERSION,rt as FLO_SDK_CAPABILITIES_HEADER,tt as FLO_SDK_VERSION_HEADER,d as FloPayError,te as GLASS_DARK_APPEARANCE,ee as GLASS_LIGHT_APPEARANCE,$t as IDEMPOTENCY_IN_PROGRESS_CODE,Zt as IDEMPOTENCY_KEY_HEADER,D as MAX_IDEMPOTENCY_KEY_LENGTH,X as MODERN_DARK_APPEARANCE,$ as MODERN_LIGHT_APPEARANCE,yt as NIGHT_APPEARANCE,at as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,pr as SAVED_PAYMENT_METHOD_TYPES,et as SDK_VERSION,it as STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,st as STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,ue as STRIPE_EXPRESS_METHODS,le as STRIPE_METHOD_AMOUNT_LIMITS,ce as STRIPE_METHOD_COUNTRIES,de as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,Rt as SUPPORTED_CARD_BRANDS,xe as TELEMETRY_ERROR_CODES,Ae as TELEMETRY_FAILURE_CATEGORIES,_e as TELEMETRY_LOG_NAMES,br as TELEMETRY_MAX_BATCH_BYTES,hr as TELEMETRY_MAX_BATCH_EVENTS,Sr as TELEMETRY_SCHEMA_VERSION,he as TELEMETRY_SDK_PACKAGES,ie as THEMES,nt as THREE_DS_CHALLENGE_WINDOW_MS,ge as US_STATES,V as UUID_V4,Ye as apiError,qe as assertCaptureMethodEligible,Ke as authenticationError,Yt as buildCheckoutDisplayData,Ze as buildItemPayload,je as buildProductPayload,$e as buildSubscriptionPayload,Pe as buildTelemetryErrorEvent,Re as buildTelemetryLogEvent,ke as buildTelemetryPerformanceEvent,Me as buildTelemetryTerminalEvent,po as classifyPaymentRejection,mo as classifyTelemetryFailure,Je as configureFlopay,Tr as dropThirdPartyOnlyError,It as filterStripeMethodsByAmount,Ft as filterStripeMethodsByCountry,_t as filterStripeMethodsByCurrency,K as foldIntoProducts,Ce as generateIdempotencyKey,I as getConfiguredBillingApiUrl,Dt as getCountryByCode,fo as getCurrencyByCountry,Qe as getFloPayEnvironment,lr as getPostalCodeExample,Mt as getPostalCodeLabel,ar as getStateFromPostalCode,Gt as getStateLabel,Vt as getStateOptions,ht as getStripeMethodDisplayName,St as hasVendoredStripeMethodLogo,wt as isAVSEnabled,Ut as isAVSFieldVisible,Ue as isAuthorizationOnlySession,bo as isCardHolderNamePlaceholder,A as isCardSetupCheckoutSession,We as isDetachedSessionEligible,we as isMoneySettledOutcome,dr as isPostalCodeSupported,mr as isSetupCheckoutSession,So as isSetupIntentClientSecret,go as isUuidV4,jt as isValidEmail,cr as isValidPostalCode,Co as isValidPublishableKey,To as isValidSecretKey,xt as needsStripeMethodExplicitConfirm,He as networkError,Ve as normalizeCheckoutFailureOutcome,yo as normalizeGatewayEnvironment,Pt as partitionStripeMethods,Eo as randomUuidV4,ze as rateLimitError,ye as resolveAVSConfig,lt as resolveBillingApiUrl,gt as resolveButtonsLayoutTheme,Jt as resolveIdempotencyKey,_ as resolveSessionCurrency,At as resolveStripeMethodBrandVariant,Et as resolveTheme,co as serializeTelemetryBatch,ft as stripeExpressMethodToOptionKey,w as telemetryStatusClass,Ge as validationError};
|
|
1
|
+
function A(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Ue(e){return e?.captureMethod==="manual"}function we(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ve(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var d=class extends Error{constructor(t,r,n){super(t),this.name="FloPayError",this.type=r,this.code=n?.code,this.declineCode=n?.declineCode,this.param=n?.param,this.statusCode=n?.statusCode,n?.details!==void 0&&(this.details=n.details),n?.sessionId!==void 0&&(this.sessionId=n.sessionId),n?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ge(e,t){return new d(e,"validation_error",{param:t})}function Ye(e,t,r){return new d(e,"api_error",{code:t,statusCode:r})}function Ke(e){return new d(e,"authentication_error")}function ze(e){return new d(e,"rate_limit_error")}function He(e){return new d(e,"network_error")}function qe(e){if(!(e.captureMethod!=="manual"||!(e.products??K(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 We(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _(e,t,r,n){let o=a(e);if(o)return o;for(let i of t??[]){let u=a(i.currency);if(u)return u}for(let i of r??[]){let u=a(i.currency);if(u)return u}for(let i of n??[]){let u=a(i.currency);if(u)return u}return null}function K(e,t){let r=[];for(let n of t??[])r.push({type:"subscription",code:a(n.code)??a(n.providerPlanId),providerPlanId:n.providerPlanId,name:a(n.subscriptionName)??a(n.providerPlanName)??null,subscriptionName:n.subscriptionName??null,providerPlanName:n.providerPlanName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});for(let n of e??[])r.push({type:"item",code:a(n.code)??a(n.providerItemId),providerItemId:n.providerItemId,name:a(n.itemName)??a(n.providerItemName)??null,itemName:n.itemName??null,providerItemName:n.providerItemName??null,quantity:n.quantity,totalAmount:n.totalAmount,overrideAmount:n.overrideAmount,currency:n.currency,metadata:n.metadata});return r}function je(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Ze(e,t){let r=a(e.code)??a(e.providerItemId);if(!r)throw new Error("CheckoutItem requires either `code` or the deprecated `providerItemId`.");let n=a(e.itemName)??a(e.providerItemName)??null,o={code:r,providerItemId:a(e.providerItemId)??r,itemName:n,providerItemName:a(e.providerItemName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function $e(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var Xe={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},F="staging";function Je(e){F=e.environment}function I(){return Xe[F]}function Qe(){return F}var z=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var et="1.10.2",tt="x-flo-sdk-version",rt="x-flo-sdk-capabilities",nt="async-auto-checkout-v1",ot=3e5,at="paypal_vaulted",it="stored_payment_method_unsupported",st="This saved payment method can\u2019t be used for this payment. Choose another payment method.",ut="We\u2019re still confirming your payment. Please don\u2019t pay again.",C="https://api.stage.flopay.com",j="https://api.flopay.com",dt=C,ct=C;function lt(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?j:C:I())}var pt="2024-01-01",Z={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},mt={theme:"flat",variables:{...Z.variables,borderRadius:"4px"}},yt={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},$={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"}}},X={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"}}},J={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},Q={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},ee={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)"}}},te={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)"}}},re={},ne={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},oe={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"}},ae={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"}},P={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},R={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},M={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},k={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},N={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},O={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function gt(e){switch(e){case"minimal":return ne;case"rounded":return oe;case"dark":return ae;case"modern-light":return P;case"modern-dark":return R;case"bold-light":return M;case"bold-dark":return k;case"glass-light":return N;case"glass-dark":return O;default:return re}}var ie={"modern-light":{appearance:$,buttonsLayout:P},"modern-dark":{appearance:X,buttonsLayout:R},"bold-light":{appearance:J,buttonsLayout:M},"bold-dark":{appearance:Q,buttonsLayout:k},"glass-light":{appearance:ee,buttonsLayout:N},"glass-dark":{appearance:te,buttonsLayout:O}};function Et(e){if(!(!e||e==="classic"))return ie[e]}function ft(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function Ct(e,t,r){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${t}"/><text x="11" y="15.5" text-anchor="middle" font-size="13" font-weight="700" font-family="sans-serif" fill="${r}">${e}</text></svg>`}function H(e,t){return`<svg viewBox="0 0 22 22"><circle cx="11" cy="11" r="11" fill="${e}"/><g fill="${t}"><path d="M11 4 L17.5 8 L4.5 8 Z"/><rect x="5" y="8.4" width="12" height="1.2" rx="0.3"/><rect x="5.9" y="10" width="1.5" height="5"/><rect x="8.55" y="10" width="1.5" height="5"/><rect x="11.95" y="10" width="1.5" height="5"/><rect x="14.6" y="10" width="1.5" height="5"/><rect x="4.6" y="15.4" width="12.8" height="1.5" rx="0.3"/></g></svg>`}function q(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:Ct(e,r,n)}}function c(e,t,r,n=t,o=r,i=n){return{light:q(e,t,r),dark:q(e,n,o,i)}}var se=["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"],Tt=[...se,"JP","MX","US"],y={apple_pay:{displayName:"Apple Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},google_pay:{displayName:"Google Pay",currencies:["*"],express:!0,needsExplicitConfirm:!1},paypal:{displayName:"PayPal",currencies:["eur","gbp","usd","cad","aud","nzd","chf","jpy","pln","sek","nok","dkk","czk","huf"],express:!0,needsExplicitConfirm:!1},link:{displayName:"Link",currencies:["usd","eur"],express:!0,needsExplicitConfirm:!1},amazon_pay:{displayName:"Amazon Pay",currencies:["usd","eur","gbp"],express:!0,needsExplicitConfirm:!1},klarna:{displayName:"Klarna",currencies:["usd","eur","gbp","aud","nzd","cad","chf","sek","nok","dkk","pln","czk","ron"],amounts:{usd:{min:100},eur:{min:100},gbp:{min:100}},theme:c("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:c("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:c("$","#00D54B","#0A1F0E")},samsung_pay:{displayName:"Samsung Pay",currencies:["krw"],countries:["KR"],needsExplicitConfirm:!1},afterpay_clearpay:{displayName:"Afterpay",currencies:["usd","aud","cad","gbp","nzd"],countries:["US","CA","GB","AU","NZ"],amounts:{usd:{min:100,max:2e5},cad:{min:100,max:2e5},gbp:{min:100,max:12e4},aud:{min:100,max:2e5},nzd:{min:100,max:2e5}},theme:c("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:c("A","#1677FF","#FFFFFF")},au_becs_debit:{displayName:"BECS Direct Debit",currencies:["aud"],countries:["AU"]},bacs_debit:{displayName:"Bacs Debit",currencies:["gbp"],countries:["GB"]},bancontact:{displayName:"Bancontact",currencies:["eur"],countries:["BE"],theme:c("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:c("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:c("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:Tt,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:H("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:H("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:c("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:c("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:c("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:c("K","#0B3D91","#FFFFFF")},multibanco:{displayName:"Multibanco",currencies:["eur"],countries:["PT"]},oxxo:{displayName:"OXXO",currencies:["mxn"],countries:["MX"]},p24:{displayName:"Przelewy24",currencies:["eur","pln"],countries:["PL"],theme:c("P","#D90F1B","#FFFFFF")},paynow:{displayName:"PayNow",currencies:["sgd"],countries:["SG"]},pix:{displayName:"Pix",currencies:["brl"],countries:["BR"]},promptpay:{displayName:"PromptPay",currencies:["thb"],countries:["TH"]},sepa_debit:{displayName:"SEPA Debit",currencies:["eur"],countries:se,theme:c("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:c("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:c("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:c("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function St(e){return z.includes(e)}var ue=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),bt=new Set(ue),de=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),ce=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ht(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function xt(e){return y[e]?.needsExplicitConfirm!==!1}function At(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function _t(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=de[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function Ft(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=ce[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var le=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function It(e,t,r){if(!e||e.length===0)return[];if(!t||typeof r!="number"||!Number.isFinite(r))return[...e];let n=t.trim().toLowerCase();return n?e.filter(o=>{let i=le[o];if(!i)return!0;let u=i[n];return u?!(typeof u.min=="number"&&r<u.min||typeof u.max=="number"&&r>u.max):!0}):[...e]}function Pt(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let u of e){if(typeof u!="string")continue;let p=u.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(bt.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var Rt=["visa","mastercard","mastercard_debit","amex","discover"],L={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},v={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function Mt(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 kt=new Intl.DisplayNames(["en"],{type:"region"});function Nt(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pe=["US","GB","CA","AU","NZ","IE","DE","FR"],Ot=["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 W(e){return{code:e,name:kt.of(e)??e,flag:Nt(e)}}var Lt=new Set(pe),vt=Ot.filter(e=>!Lt.has(e)),me=[...pe.map(W),...vt.map(W)];function Dt(e){return me.find(t=>t.code===e)}var Bt={country:!0,postal_code:!0};function ye(e){return e===!0?Bt:e||null}function Ut(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function wt(e){let t=ye(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ge=[{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"}],Ee=[{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 ge;case"CA":return Ee;default:return null}}function Gt(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=[],n=e.products??[],o=n.filter(s=>s.type==="subscription"),i=n.filter(s=>s.type!=="subscription"),p=(_(e.currency,void 0,void 0,n)??"USD").toUpperCase();for(let s of o){let m=s.totalAmount??0,f=s.overrideAmount??m,x=s.name||s.code||"Subscription";x==="4-WEEK PLAN"&&f<=1&&(x="7-DAY TRIAL: FULL ACCESS"),r.push({name:x,quantity:s.quantity,price:f,originalPrice:m})}if(!(t.hideBundledItems===!0&&o.length>0&&i.length>0))for(let s of i){let m=s.totalAmount??0,f=s.overrideAmount??m;r.push({name:s.name||s.code||"Item",quantity:s.quantity,price:f,originalPrice:m})}r.length===0&&r.push({name:"Purchase",quantity:1,price:e.amount/100,originalPrice:e.amount/100});let Ne=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),Oe=r.reduce((s,m)=>s+m.price*m.quantity,0),Le=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),ve=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),De=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),G=Le?e.totalAmount:Oe,E=ve?e.subtotalAmount:Ne,Y=Math.max(0,E-G),Be=E>0?Math.round(Y/E*100):0;return{items:r,currency:p,total:G,originalTotal:E,totalSave:Y,discountPercent:Be,...De?{couponDiscount:e.discountAmount}:{}}}var Kt=/^[a-z\d!#$%&'*+\-/=?^_`{|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,zt=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,Ht=/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i,qt=/^[a-z\u00a1-\uffff0-9-]+$/i;function fe(e){return encodeURI(e).split(/%..|./).length-1}function Wt(e){let t=e.split("."),r=t[t.length-1]??"";return t.length>=2&&Ht.test(r)&&!/\s/.test(r)&&t.every(n=>n.length<=63&&qt.test(n)&&!/[\uff01-\uff5e]/.test(n)&&!/^-|-$/.test(n)&&!/_/.test(n))}function jt(e){if(typeof e!="string"||e.length===0||e.length>254)return!1;let t=e.split("@"),r=t.pop()??"",n=t.join("@");return fe(n)>64||fe(r)>254||!Wt(r)?!1:n.startsWith('"')&&n.endsWith('"')?zt.test(n.slice(1,-1)):n.split(".").every(o=>Kt.test(o))}var Zt="Idempotency-Key",D=255,$t="IdempotencyKeyInProgress";function Xt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function Ce(){let e=Xt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Jt(e){if(e===void 0)return Ce();if(typeof e!="string"||e.trim()==="")throw new d("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>D)throw new d(`idempotencyKey must be at most ${D} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var Qt=1,er=[{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 tr=[[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"]],rr={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 nr(e){let t=e.replace(/\D/g,"");if(t.length<5)return null;let r=Number.parseInt(t.slice(0,3),10);if(!Number.isFinite(r))return null;for(let[n,o,i]of tr)if(r>=n&&r<=o)return i;return null}function or(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 rr[r]??null}function ar(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return nr(n);case"CA":return or(n);default:return null}}import*as ir from"validator/lib/isPostalCode.js";var T=ir,Te=typeof T.default=="function"?T.default:T.default?.default;if(typeof Te!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Se=new Set(T.locales.map(e=>e.toUpperCase())),sr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function B(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:sr[t]??null:null}var ur={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 dr(e){let t=B(e);return t!==null&&Se.has(t)}function cr(e,t){let r=(t??"").trim();if(!r)return!0;let n=B(e);if(n===null||!Se.has(n))return!0;try{return Te(r,n)}catch{return!0}}function lr(e){let t=B(e);return t?ur[t]:void 0}var pr=["card","wallet","paypal","apm"];function mr(e){return A(e)}var yr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,gr=/^dahlia\/stripe$/i,Er=/^(?:chrome|moz|safari-web)-extension:\/\//i,fr=/^@flopay(?:\/|$)/i;function be(e){return yr.test(e)||Er.test(e)}function Cr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&fr.test(e.module)||t.some(r=>!be(r))?"first-party":e.module!==void 0&&gr.test(e.module)||t.some(be)?"third-party-hosted":t.length===0?"injected":"first-party"}function Tr(e){let t=e.exception?.values;if(!t||t.length===0)return e;let r=[];for(let o of t){let i=o.stacktrace?.frames;if(!i||i.length===0)return e;r.push(...i)}let n=r.map(Cr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Sr=1,he=["@flopay/shared","@flopay/js","@flopay/react"],br=32768,hr=20,xr=["stripe","paypal"],Ar=["card","wallet","paypal","apm","saved","unknown"],_r=["apple_pay","google_pay"],Fr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Ir=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Pr=["unknown","available","blocked"],Rr=["popup","app_switch","redirect"],Mr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],kr=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],xe=["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"],Ae=["server_error","transport_error","invalid_response","provider_runtime"],Nr=["authorization_declined","authentication_required","authorization_expired","capture_failed","unknown"],_e=["sdk.initialize.started","sdk.initialize.ready","sdk.cache.hit","sdk.cache.miss","checkout.mount","session.create.started","session.shell.ready","session.claim.started","session.claim.completed","session.read.started","session.request.first_byte","session.request.completed","checkout.data.ready","checkout.rendered","checkout.recovery.started","checkout.recovery.completed","checkout.unmount","provider.load.started","provider.eligibility.checked","provider.availability.checked","provider.ready","provider.handoff.requested","provider.popup.opened","provider.overlay.opened","provider.overlay.returned","provider.redirect.started","provider.redirect.resumed","vault.capture.requested","vault.widget.mounted","vault.widget.ready","vault.submission.started","vault.action.required","vault.three_ds.handoff","vault.three_ds.returned","vault.terminal","payment.method.selected","payment.intent.started","payment.intent.completed","payment.provider_confirmation.started","payment.provider_confirmation.returned","payment.tokenization.started","payment.tokenization.completed","payment.processing.started","payment.processing.completed","payment.three_ds.handoff","payment.three_ds.returned","operation.retry","operation.deduplicated","operation.fallback","operation.cache.hit","operation.cache.miss","operation.recovery.started","operation.recovery.completed","operation.state_transition"],Or=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Lr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],vr=["full","auto","confirm","setup","unknown"],Dr=["embedded","buttons","automatic","unknown"],Br=["machine","buyer","total"],Ur=["action_required","card_setup_declined","card_setup_succeeded","customer_abandoned","payment_cancelled","payment_declined","payment_authorized","payment_succeeded","validation_rejected"],U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,wr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Vr=new Set(xe),Gr=new Set(Ae),Yr=new Set(Nr),S=new Set(kr),Kr=new Set(xr),zr=new Set(Ar),Hr=new Set(_r),qr=new Set(Fr),Wr=new Set(Ir),jr=new Set(Pr),Zr=new Set(Rr),$r=new Set(Mr),Xr=new Set(_e),Jr=new Set(vr),Qr=new Set(Dr),en=new Set(Or),tn=new Set(Lr),rn=new Set(Br),nn=new Set(Ur),on=new Set(he),Fe=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function an(){try{let r=globalThis.crypto.randomUUID();if(U.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function g(e){return typeof e=="string"&&U.test(e)?e:an()}function sn(e){return typeof e=="string"&&U.test(e)?e:void 0}function un(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function b(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Ie(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Fe)}function dn(e){return Number.isFinite(e)&&e>Fe}function h(e,t){let r=un(t.attempt);return t.provider&&Kr.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,tn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,en,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,zr,"unknown")),t.walletType&&Hr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&qr.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,Jr,"unknown")),t.layout&&(e.layout=l(t.layout,Qr,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&Wr.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&jr.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&Zr.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&$r.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function Pe(e){let t=h({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Vr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence)},e);if(e.failureCategory&&Gr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.reason!==void 0&&(t.reason=l(e.reason,Yr,"unknown")),e.stage!=="provider_confirmation"){let r=sn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ie(e.durationMs)),t}function Re(e){return h({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Xr,"operation.retry"),stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence)},e)}function Me(e){let t={...e,stage:e.stage??"completion"};return h({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,nn,"customer_abandoned"),stage:l(e.stage,S,"completion"),sequence:b(e.sequence)},t)}function ke(e){let t=h({eventId:g(e.eventId),class:"performance",stage:l(e.stage,S,"sdk_initialize"),sequence:b(e.sequence),durationMs:Ie(e.durationMs),durationMode:l(e.durationMode,rn,"machine")},e);return(e.durationTruncated===!0||dn(e.durationMs))&&(t.durationTruncated=!0),t}function cn(e,t){let r=e.slice(0,20).flatMap(o=>o.class==="technical_error"?[Pe({...o,errorCode:o.code})]:o.class==="lifecycle"?[Re(o)]:o.class==="expected_outcome"?[Me(o)]:o.class==="performance"?[ke(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,on,"@flopay/shared"),version:wr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var ln=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function pn(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 mn(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof d&&e.code!==void 0&&ln.has(e.code))return{errorCode:t,statusClass:w(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof d&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof d&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=w(e instanceof d?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function w(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function yn(e){if(e!=null)switch(e){case"sandbox":case"stage":return"sandbox";case"live":case"production":return"live";default:console.warn(`[FloPay] Unrecognized gateway environment "${e}". Expected one of: sandbox, live, stage, production. Falling back to undefined.`);return}}var V=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function gn(e){return typeof e=="string"&&V.test(e)}function En(){try{let r=globalThis.crypto.randomUUID();if(V.test(r))return r}catch{}let e=new Uint8Array(16);try{globalThis.crypto.getRandomValues(e)}catch{for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256)}e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=[...e].map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function fn(e){return L[e.toUpperCase()]??v}function Cn(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Tn(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Sn(e){return typeof e=="string"&&e.startsWith("seti_")}function bn(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}export{nt as ASYNC_AUTO_CHECKOUT_CAPABILITY,ct as BILLING_API_URL,j as BILLING_API_URL_PRODUCTION,C as BILLING_API_URL_STAGING,Q as BOLD_DARK_APPEARANCE,J as BOLD_LIGHT_APPEARANCE,k as BUTTONS_LAYOUT_BOLD_DARK,M as BUTTONS_LAYOUT_BOLD_LIGHT,ae as BUTTONS_LAYOUT_DARK,re as BUTTONS_LAYOUT_DEFAULT,O as BUTTONS_LAYOUT_GLASS_DARK,N as BUTTONS_LAYOUT_GLASS_LIGHT,ne as BUTTONS_LAYOUT_MINIMAL,R as BUTTONS_LAYOUT_MODERN_DARK,P as BUTTONS_LAYOUT_MODERN_LIGHT,oe as BUTTONS_LAYOUT_ROUNDED,Ee as CA_PROVINCES,ut as CHECKOUT_PROCESSING_TIMEOUT_MESSAGE,me as COUNTRY_OPTIONS,L as CURRENCY_MAP,dt as DEFAULT_API_BASE_URL,pt as DEFAULT_API_VERSION,Z as DEFAULT_APPEARANCE,v as DEFAULT_CURRENCY,mt as FLAT_APPEARANCE,er as FLO_INSTRUMENT_CATALOG,Qt as FLO_INSTRUMENT_SCHEMA_VERSION,rt as FLO_SDK_CAPABILITIES_HEADER,tt as FLO_SDK_VERSION_HEADER,d as FloPayError,te as GLASS_DARK_APPEARANCE,ee as GLASS_LIGHT_APPEARANCE,$t as IDEMPOTENCY_IN_PROGRESS_CODE,Zt as IDEMPOTENCY_KEY_HEADER,D as MAX_IDEMPOTENCY_KEY_LENGTH,X as MODERN_DARK_APPEARANCE,$ as MODERN_LIGHT_APPEARANCE,yt as NIGHT_APPEARANCE,at as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,pr as SAVED_PAYMENT_METHOD_TYPES,et as SDK_VERSION,it as STORED_PAYMENT_METHOD_UNSUPPORTED_CODE,st as STORED_PAYMENT_METHOD_UNSUPPORTED_MESSAGE,ue as STRIPE_EXPRESS_METHODS,le as STRIPE_METHOD_AMOUNT_LIMITS,ce as STRIPE_METHOD_COUNTRIES,de as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,Rt as SUPPORTED_CARD_BRANDS,xe as TELEMETRY_ERROR_CODES,Ae as TELEMETRY_FAILURE_CATEGORIES,_e as TELEMETRY_LOG_NAMES,br as TELEMETRY_MAX_BATCH_BYTES,hr as TELEMETRY_MAX_BATCH_EVENTS,Sr as TELEMETRY_SCHEMA_VERSION,he as TELEMETRY_SDK_PACKAGES,ie as THEMES,ot as THREE_DS_CHALLENGE_WINDOW_MS,ge as US_STATES,V as UUID_V4,Ye as apiError,qe as assertCaptureMethodEligible,Ke as authenticationError,Yt as buildCheckoutDisplayData,Ze as buildItemPayload,je as buildProductPayload,$e as buildSubscriptionPayload,Pe as buildTelemetryErrorEvent,Re as buildTelemetryLogEvent,ke as buildTelemetryPerformanceEvent,Me as buildTelemetryTerminalEvent,pn as classifyPaymentRejection,mn as classifyTelemetryFailure,Je as configureFlopay,Tr as dropThirdPartyOnlyError,It as filterStripeMethodsByAmount,Ft as filterStripeMethodsByCountry,_t as filterStripeMethodsByCurrency,K as foldIntoProducts,Ce as generateIdempotencyKey,I as getConfiguredBillingApiUrl,Dt as getCountryByCode,fn as getCurrencyByCountry,Qe as getFloPayEnvironment,lr as getPostalCodeExample,Mt as getPostalCodeLabel,ar as getStateFromPostalCode,Gt as getStateLabel,Vt as getStateOptions,ht as getStripeMethodDisplayName,St as hasVendoredStripeMethodLogo,wt as isAVSEnabled,Ut as isAVSFieldVisible,Ue as isAuthorizationOnlySession,bn as isCardHolderNamePlaceholder,A as isCardSetupCheckoutSession,We as isDetachedSessionEligible,we as isMoneySettledOutcome,dr as isPostalCodeSupported,mr as isSetupCheckoutSession,Sn as isSetupIntentClientSecret,gn as isUuidV4,jt as isValidEmail,cr as isValidPostalCode,Cn as isValidPublishableKey,Tn as isValidSecretKey,xt as needsStripeMethodExplicitConfirm,He as networkError,Ve as normalizeCheckoutFailureOutcome,yn as normalizeGatewayEnvironment,Pt as partitionStripeMethods,En as randomUuidV4,ze as rateLimitError,ye as resolveAVSConfig,lt as resolveBillingApiUrl,gt as resolveButtonsLayoutTheme,Jt as resolveIdempotencyKey,_ as resolveSessionCurrency,At as resolveStripeMethodBrandVariant,Et as resolveTheme,cn as serializeTelemetryBatch,ft as stripeExpressMethodToOptionKey,w as telemetryStatusClass,Ge as validationError};
|