@flopay/shared 1.9.14 → 1.9.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -102,7 +102,7 @@ throw validationError('Email is required', 'email');
102
102
  | `CheckoutProductType` | `'item'` / `'subscription'` |
103
103
  | `CheckoutProduct` | Unified product input for session creation: `type`, `code?`, `name?`, `quantity?`, `totalAmount?`, `overrideAmount?`, `currency?`, `metadata?` |
104
104
  | `CheckoutGateway` | Per-gateway config from the billing API. `publishableKey?` identifies the keyed gateway, including the direct-PayPal client ID at `gateways.paypal.publishableKey`. `paypalPublishableKey?` is distinct and Stripe-only: it is the dedicated Stripe sub-account key used to render PayPal through Stripe Elements. Also includes `environment?` (`'sandbox'`/`'live'`), `stripeClientSecret?` (Stripe-only), `providerObjectType?` (direct PayPal: `'order'`/`'subscription'`/`'setup_token'`), bounded `approvalPresentation?` (direct PayPal: `'app_switch'`/`'redirect'`), and `enabledPaymentMethods?` (Stripe-only). |
105
- | `CheckoutGateways` | Map keyed by gateway code (e.g. `stripe`, `paypal`). A session can advertise multiple concurrent gateways. |
105
+ | `CheckoutGateways` | Map keyed by gateway code (e.g. `stripe`, `paypal`). A session can advertise multiple concurrent gateways. A session opted into server-owned card routing may also carry `worldpayCorporateGateway` (billing API, TeamFloPay/backend#1563): a card gateway processed entirely server-side behind the hosted vault form, with `publishableKey: null`, empty `enabledPaymentMethods`, and no browser credentials. Merchant code never needs to branch on it. |
106
106
  | `GatewayEnvironment` | `'sandbox'` / `'live'` — drives the PayPal JS SDK script and any other environment-scoped behavior |
107
107
  | `PaymentResult` | Payment outcome: `status` (`'authorized'`/`'succeeded'`/`'processing'`/`'requires_action'`/`'failed'`); authorized results carry `paymentId?`, `sessionId?`, and `authorizationExpiresAt?` |
108
108
  | `CheckoutFailureOutcome` | Stable authorization lifecycle failure: `'authorization_declined'` / `'authentication_required'` / `'authorization_expired'` / `'capture_failed'` |
@@ -295,3 +295,8 @@ getPostalCodeExample('CA'); // 'A1A 1A1'
295
295
  ```
296
296
 
297
297
  > **Runtime dependency.** Unlike the rest of `@flopay/shared`, these helpers pull in `validator` (imported via the `validator/lib/isPostalCode.js` submodule so bundlers only include the one check). It installs transitively when you depend on `@flopay/shared`.
298
+
299
+ ### Gateway decisions belong to the billing API
300
+
301
+ `@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 (TeamFloPay/backend#1641). Clients that build `POST /v1/checkouts/sessions` themselves send the same provider-neutral body the SDK sends and render whatever `gateways` the response advertises.
302
+
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var rr=Object.create;var T=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,ir=Object.prototype.hasOwnProperty;var sr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of or(t))!ir.call(e,o)&&o!==r&&T(e,o,{get:()=>t[o],enumerable:!(n=nr(t,o))||n.enumerable});return e};var Se=(e,t,r)=>(r=e!=null?rr(ar(e)):{},he(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),ur=e=>he(T({},"__esModule",{value:!0}),e);var Tn={};sr(Tn,{BILLING_API_URL:()=>We,BILLING_API_URL_PRODUCTION:()=>V,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>H,BOLD_LIGHT_APPEARANCE:()=>z,BUTTONS_LAYOUT_BOLD_DARK:()=>_,BUTTONS_LAYOUT_BOLD_LIGHT:()=>A,BUTTONS_LAYOUT_DARK:()=>$,BUTTONS_LAYOUT_DEFAULT:()=>j,BUTTONS_LAYOUT_GLASS_DARK:()=>I,BUTTONS_LAYOUT_GLASS_LIGHT:()=>F,BUTTONS_LAYOUT_MINIMAL:()=>Z,BUTTONS_LAYOUT_MODERN_DARK:()=>x,BUTTONS_LAYOUT_MODERN_LIGHT:()=>S,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>ie,COUNTRY_OPTIONS:()=>ne,CURRENCY_MAP:()=>P,DEFAULT_API_BASE_URL:()=>qe,DEFAULT_API_VERSION:()=>Ze,DEFAULT_APPEARANCE:()=>G,DEFAULT_CURRENCY:()=>R,FLAT_APPEARANCE:()=>Xe,FLO_INSTRUMENT_CATALOG:()=>_t,FLO_INSTRUMENT_SCHEMA_VERSION:()=>At,FLO_SDK_VERSION_HEADER:()=>ze,FloPayError:()=>u,GLASS_DARK_APPEARANCE:()=>W,GLASS_LIGHT_APPEARANCE:()=>q,IDEMPOTENCY_IN_PROGRESS_CODE:()=>St,IDEMPOTENCY_KEY_HEADER:()=>ht,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>K,MODERN_LIGHT_APPEARANCE:()=>Y,NIGHT_APPEARANCE:()=>$e,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>He,SDK_VERSION:()=>Ke,STRIPE_EXPRESS_METHODS:()=>Q,STRIPE_METHOD_AMOUNT_LIMITS:()=>re,STRIPE_METHOD_COUNTRIES:()=>te,STRIPE_METHOD_CURRENCIES:()=>ee,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>dt,TELEMETRY_ERROR_CODES:()=>le,TELEMETRY_FAILURE_CATEGORIES:()=>pe,TELEMETRY_LOG_NAMES:()=>me,TELEMETRY_MAX_BATCH_BYTES:()=>Ot,TELEMETRY_MAX_BATCH_EVENTS:()=>vt,TELEMETRY_SCHEMA_VERSION:()=>Bt,TELEMETRY_SDK_PACKAGES:()=>de,THEMES:()=>J,US_STATES:()=>ae,UUID_V4:()=>v,apiError:()=>Pe,assertCaptureMethodEligible:()=>Ne,authenticationError:()=>Re,buildCheckoutDisplayData:()=>Ct,buildItemPayload:()=>Oe,buildProductPayload:()=>Be,buildSubscriptionPayload:()=>ve,buildTelemetryErrorEvent:()=>ge,buildTelemetryLogEvent:()=>Ee,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>fe,classifyPaymentRejection:()=>Vt,classifyTelemetryFailure:()=>Gt,configureFlopay:()=>De,dropThirdPartyOnlyError:()=>Lt,filterStripeMethodsByAmount:()=>ut,filterStripeMethodsByCountry:()=>st,filterStripeMethodsByCurrency:()=>it,foldIntoProducts:()=>U,generateIdempotencyKey:()=>ue,getConfiguredBillingApiUrl:()=>h,getCountryByCode:()=>mt,getCurrencyByCountry:()=>Ht,getFloPayEnvironment:()=>Ue,getPostalCodeExample:()=>Mt,getPostalCodeLabel:()=>lt,getStateFromPostalCode:()=>Ft,getStateLabel:()=>ft,getStateOptions:()=>Et,getStripeMethodDisplayName:()=>nt,hasVendoredStripeMethodLogo:()=>rt,isAVSEnabled:()=>gt,isAVSFieldVisible:()=>yt,isAuthorizationOnlySession:()=>Ae,isCardHolderNamePlaceholder:()=>Zt,isCardSetupCheckoutSession:()=>xe,isDetachedSessionEligible:()=>Le,isMoneySettledOutcome:()=>_e,isPostalCodeSupported:()=>Rt,isSetupIntentClientSecret:()=>jt,isUuidV4:()=>Kt,isValidEmail:()=>bt,isValidPostalCode:()=>kt,isValidPublishableKey:()=>qt,isValidSecretKey:()=>Wt,needsStripeMethodExplicitConfirm:()=>ot,networkError:()=>Me,normalizeCheckoutFailureOutcome:()=>Fe,normalizeGatewayEnvironment:()=>Yt,partitionStripeMethods:()=>ct,randomUuidV4:()=>zt,rateLimitError:()=>ke,resolveAVSConfig:()=>oe,resolveBillingApiUrl:()=>je,resolveButtonsLayoutTheme:()=>Je,resolveIdempotencyKey:()=>xt,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>at,resolveTheme:()=>Qe,serializeTelemetryBatch:()=>wt,stripeExpressMethodToOptionKey:()=>et,telemetryStatusClass:()=>O,validationError:()=>Ie});module.exports=ur(Tn);function xe(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Ae(e){return e?.captureMethod==="manual"}function _e(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Fe(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?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ie(e,t){return new u(e,"validation_error",{param:t})}function Pe(e,t,r){return new u(e,"api_error",{code:t,statusCode:r})}function Re(e){return new u(e,"authentication_error")}function ke(e){return new u(e,"rate_limit_error")}function Me(e){return new u(e,"network_error")}function Ne(e){if(!(e.captureMethod!=="manual"||!(e.products??U(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 Le(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 c=a(i.currency);if(c)return c}for(let i of r??[]){let c=a(i.currency);if(c)return c}for(let i of n??[]){let c=a(i.currency);if(c)return c}return null}function U(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 Be(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let 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 ve(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var cr={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},w="staging";function De(e){w=e.environment}function h(){return cr[w]}function Ue(){return w}var we=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var Ke="1.9.14",ze="x-flo-sdk-version",He="paypal_vaulted",E="https://api.stage.flopay.com",V="https://api.flopay.com",qe=E,We=E;function je(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?V:E:h())}var Ze="2024-01-01",G={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Xe={theme:"flat",variables:{...G.variables,borderRadius:"4px"}},$e={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Y={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"}}},K={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},z={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},H={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},q={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},W={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},j={},Z={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},X={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},$={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},S={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"}},x={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"}},A={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"}},_={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"}},F={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},I={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function Je(e){switch(e){case"minimal":return Z;case"rounded":return X;case"dark":return $;case"modern-light":return S;case"modern-dark":return x;case"bold-light":return A;case"bold-dark":return _;case"glass-light":return F;case"glass-dark":return I;default:return j}}var J={"modern-light":{appearance:Y,buttonsLayout:S},"modern-dark":{appearance:K,buttonsLayout:x},"bold-light":{appearance:z,buttonsLayout:A},"bold-dark":{appearance:H,buttonsLayout:_},"glass-light":{appearance:q,buttonsLayout:F},"glass-dark":{appearance:W,buttonsLayout:I}};function Qe(e){if(!(!e||e==="classic"))return J[e]}function et(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function dr(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 Ve(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 Ge(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:dr(e,r,n)}}function d(e,t,r,n=t,o=r,i=n){return{light:Ge(e,t,r),dark:Ge(e,n,o,i)}}var tt=["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"],lr=[...tt,"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:d("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:d("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:d("$","#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:d("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:d("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:d("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:d("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:d("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:lr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Ve("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Ve("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:d("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:d("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:d("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:d("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:d("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:tt,theme:d("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:d("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:d("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:d("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function rt(e){return we.includes(e)}var Q=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),pr=new Set(Q),ee=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),te=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function nt(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function ot(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 it(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ee[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function st(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=te[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function ut(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=re[o];if(!i)return!0;let c=i[n];return c?!(typeof c.min=="number"&&r<c.min||typeof c.max=="number"&&r>c.max):!0}):[...e]}function ct(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let c of e){if(typeof c!="string")continue;let p=c.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(pr.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var dt=["visa","mastercard","mastercard_debit","amex","discover"],P={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},R={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function lt(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 mr=new Intl.DisplayNames(["en"],{type:"region"});function yr(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pt=["US","GB","CA","AU","NZ","IE","DE","FR"],gr=["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 Ye(e){return{code:e,name:mr.of(e)??e,flag:yr(e)}}var Er=new Set(pt),fr=gr.filter(e=>!Er.has(e)),ne=[...pt.map(Ye),...fr.map(Ye)];function mt(e){return ne.find(t=>t.code===e)}var Cr={country:!0,postal_code:!0};function oe(e){return e===!0?Cr:e||null}function yt(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 gt(e){let t=oe(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ae=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],ie=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function Et(e){switch(e.toUpperCase()){case"US":return ae;case"CA":return ie;default:return null}}function ft(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 Ct(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,D=s.name||s.code||"Subscription";D==="4-WEEK PLAN"&&C<=1&&(D="7-DAY TRIAL: FULL ACCESS"),r.push({name:D,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 Xt=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),$t=r.reduce((s,m)=>s+m.price*m.quantity,0),Jt=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Qt=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),er=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Te=Jt?e.totalAmount:$t,f=Qt?e.subtotalAmount:Xt,be=Math.max(0,f-Te),tr=f>0?Math.round(be/f*100):0;return{items:r,currency:p,total:Te,originalTotal:f,totalSave:be,discountPercent:tr,...er?{couponDiscount:e.discountAmount}:{}}}var Tr=Se(require("validator/lib/isEmail.js"),1),se=Tr,Tt=typeof se.default=="function"?se.default:se.default?.default;if(typeof Tt!="function")throw new Error("validator/lib/isEmail.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");function bt(e){return typeof e=="string"&&e.length>0&&Tt(e)}var ht="Idempotency-Key",k=255,St="IdempotencyKeyInProgress";function br(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ue(){let e=br();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function xt(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 At=1,_t=[{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 hr=[[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"]],Sr={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 xr(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 hr)if(r>=n&&r<=o)return i;return null}function Ar(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 Sr[r]??null}function Ft(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return xr(n);case"CA":return Ar(n);default:return null}}var _r=Se(require("validator/lib/isPostalCode.js"),1),M=_r,It=typeof M.default=="function"?M.default:M.default?.default;if(typeof It!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Pt=new Set(M.locales.map(e=>e.toUpperCase())),Fr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function ce(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Fr[t]??null:null}var Ir={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 Rt(e){let t=ce(e);return t!==null&&Pt.has(t)}function kt(e,t){let r=(t??"").trim();if(!r)return!0;let n=ce(e);if(n===null||!Pt.has(n))return!0;try{return It(r,n)}catch{return!0}}function Mt(e){let t=ce(e);return t?Ir[t]:void 0}var Pr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,Rr=/^dahlia\/stripe$/i,kr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Mr=/^@flopay(?:\/|$)/i;function Nt(e){return Pr.test(e)||kr.test(e)}function Nr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Mr.test(e.module)||t.some(r=>!Nt(r))?"first-party":e.module!==void 0&&Rr.test(e.module)||t.some(Nt)?"third-party-hosted":t.length===0?"injected":"first-party"}function Lt(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(Nr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Bt=1,de=["@flopay/shared","@flopay/js","@flopay/react"],Ot=32768,vt=20,Lr=["stripe","paypal"],Br=["card","wallet","paypal","apm","saved","unknown"],Or=["apple_pay","google_pay"],vr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Dr=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Ur=["unknown","available","blocked"],wr=["popup","app_switch","redirect"],Vr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],Gr=["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"],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"],Yr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Kr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],zr=["full","auto","confirm","setup","unknown"],Hr=["embedded","buttons","automatic","unknown"],qr=["machine","buyer","total"],Wr=["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,jr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Zr=new Set(le),Xr=new Set(pe),N=new Set(Gr),$r=new Set(Lr),Jr=new Set(Br),Qr=new Set(Or),en=new Set(vr),tn=new Set(Dr),rn=new Set(Ur),nn=new Set(wr),on=new Set(Vr),an=new Set(me),sn=new Set(zr),un=new Set(Hr),cn=new Set(Yr),dn=new Set(Kr),ln=new Set(qr),pn=new Set(Wr),mn=new Set(de),Dt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function yn(){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:yn()}function gn(e){return typeof e=="string"&&ye.test(e)?e:void 0}function En(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 Ut(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Dt)}function fn(e){return Number.isFinite(e)&&e>Dt}function B(e,t){let r=En(t.attempt);return t.provider&&$r.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,dn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,cn,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Jr,"unknown")),t.walletType&&Qr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&en.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,sn,"unknown")),t.layout&&(e.layout=l(t.layout,un,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&tn.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&rn.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&nn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&on.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ge(e){let t=B({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Zr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence)},e);if(e.failureCategory&&Xr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.stage!=="provider_confirmation"){let r=gn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ut(e.durationMs)),t}function Ee(e){return B({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,an,"operation.retry"),stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence)},e)}function fe(e){let t={...e,stage:e.stage??"completion"};return B({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,pn,"customer_abandoned"),stage:l(e.stage,N,"completion"),sequence:L(e.sequence)},t)}function Ce(e){let t=B({eventId:g(e.eventId),class:"performance",stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence),durationMs:Ut(e.durationMs),durationMode:l(e.durationMode,ln,"machine")},e);return(e.durationTruncated===!0||fn(e.durationMs))&&(t.durationTruncated=!0),t}function wt(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,mn,"@flopay/shared"),version:jr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var Cn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Vt(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 Gt(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&&Cn.has(e.code))return{errorCode:t,statusClass:O(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=O(e instanceof u?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function O(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function Yt(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 Kt(e){return typeof e=="string"&&v.test(e)}function zt(){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 Ht(e){return P[e.toUpperCase()]??R}function qt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Wt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function jt(e){return typeof e=="string"&&e.startsWith("seti_")}function Zt(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}0&&(module.exports={BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SDK_VERSION,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,US_STATES,UUID_V4,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,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 rr=Object.create;var T=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,ir=Object.prototype.hasOwnProperty;var sr=(e,t)=>{for(var r in t)T(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of or(t))!ir.call(e,o)&&o!==r&&T(e,o,{get:()=>t[o],enumerable:!(n=nr(t,o))||n.enumerable});return e};var Se=(e,t,r)=>(r=e!=null?rr(ar(e)):{},he(t||!e||!e.__esModule?T(r,"default",{value:e,enumerable:!0}):r,e)),ur=e=>he(T({},"__esModule",{value:!0}),e);var Tn={};sr(Tn,{BILLING_API_URL:()=>We,BILLING_API_URL_PRODUCTION:()=>V,BILLING_API_URL_STAGING:()=>E,BOLD_DARK_APPEARANCE:()=>H,BOLD_LIGHT_APPEARANCE:()=>z,BUTTONS_LAYOUT_BOLD_DARK:()=>_,BUTTONS_LAYOUT_BOLD_LIGHT:()=>A,BUTTONS_LAYOUT_DARK:()=>$,BUTTONS_LAYOUT_DEFAULT:()=>j,BUTTONS_LAYOUT_GLASS_DARK:()=>I,BUTTONS_LAYOUT_GLASS_LIGHT:()=>F,BUTTONS_LAYOUT_MINIMAL:()=>Z,BUTTONS_LAYOUT_MODERN_DARK:()=>x,BUTTONS_LAYOUT_MODERN_LIGHT:()=>S,BUTTONS_LAYOUT_ROUNDED:()=>X,CA_PROVINCES:()=>ie,COUNTRY_OPTIONS:()=>ne,CURRENCY_MAP:()=>P,DEFAULT_API_BASE_URL:()=>qe,DEFAULT_API_VERSION:()=>Ze,DEFAULT_APPEARANCE:()=>G,DEFAULT_CURRENCY:()=>R,FLAT_APPEARANCE:()=>Xe,FLO_INSTRUMENT_CATALOG:()=>_t,FLO_INSTRUMENT_SCHEMA_VERSION:()=>At,FLO_SDK_VERSION_HEADER:()=>ze,FloPayError:()=>u,GLASS_DARK_APPEARANCE:()=>W,GLASS_LIGHT_APPEARANCE:()=>q,IDEMPOTENCY_IN_PROGRESS_CODE:()=>St,IDEMPOTENCY_KEY_HEADER:()=>ht,MAX_IDEMPOTENCY_KEY_LENGTH:()=>k,MODERN_DARK_APPEARANCE:()=>K,MODERN_LIGHT_APPEARANCE:()=>Y,NIGHT_APPEARANCE:()=>$e,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE:()=>He,SDK_VERSION:()=>Ke,STRIPE_EXPRESS_METHODS:()=>Q,STRIPE_METHOD_AMOUNT_LIMITS:()=>re,STRIPE_METHOD_COUNTRIES:()=>te,STRIPE_METHOD_CURRENCIES:()=>ee,STRIPE_METHOD_MATRIX:()=>y,SUPPORTED_CARD_BRANDS:()=>dt,TELEMETRY_ERROR_CODES:()=>le,TELEMETRY_FAILURE_CATEGORIES:()=>pe,TELEMETRY_LOG_NAMES:()=>me,TELEMETRY_MAX_BATCH_BYTES:()=>Ot,TELEMETRY_MAX_BATCH_EVENTS:()=>vt,TELEMETRY_SCHEMA_VERSION:()=>Bt,TELEMETRY_SDK_PACKAGES:()=>de,THEMES:()=>J,US_STATES:()=>ae,UUID_V4:()=>v,apiError:()=>Pe,assertCaptureMethodEligible:()=>Ne,authenticationError:()=>Re,buildCheckoutDisplayData:()=>Ct,buildItemPayload:()=>Oe,buildProductPayload:()=>Be,buildSubscriptionPayload:()=>ve,buildTelemetryErrorEvent:()=>ge,buildTelemetryLogEvent:()=>Ee,buildTelemetryPerformanceEvent:()=>Ce,buildTelemetryTerminalEvent:()=>fe,classifyPaymentRejection:()=>Vt,classifyTelemetryFailure:()=>Gt,configureFlopay:()=>De,dropThirdPartyOnlyError:()=>Lt,filterStripeMethodsByAmount:()=>ut,filterStripeMethodsByCountry:()=>st,filterStripeMethodsByCurrency:()=>it,foldIntoProducts:()=>U,generateIdempotencyKey:()=>ue,getConfiguredBillingApiUrl:()=>h,getCountryByCode:()=>mt,getCurrencyByCountry:()=>Ht,getFloPayEnvironment:()=>Ue,getPostalCodeExample:()=>Mt,getPostalCodeLabel:()=>lt,getStateFromPostalCode:()=>Ft,getStateLabel:()=>ft,getStateOptions:()=>Et,getStripeMethodDisplayName:()=>nt,hasVendoredStripeMethodLogo:()=>rt,isAVSEnabled:()=>gt,isAVSFieldVisible:()=>yt,isAuthorizationOnlySession:()=>Ae,isCardHolderNamePlaceholder:()=>Zt,isCardSetupCheckoutSession:()=>xe,isDetachedSessionEligible:()=>Le,isMoneySettledOutcome:()=>_e,isPostalCodeSupported:()=>Rt,isSetupIntentClientSecret:()=>jt,isUuidV4:()=>Kt,isValidEmail:()=>bt,isValidPostalCode:()=>kt,isValidPublishableKey:()=>qt,isValidSecretKey:()=>Wt,needsStripeMethodExplicitConfirm:()=>ot,networkError:()=>Me,normalizeCheckoutFailureOutcome:()=>Fe,normalizeGatewayEnvironment:()=>Yt,partitionStripeMethods:()=>ct,randomUuidV4:()=>zt,rateLimitError:()=>ke,resolveAVSConfig:()=>oe,resolveBillingApiUrl:()=>je,resolveButtonsLayoutTheme:()=>Je,resolveIdempotencyKey:()=>xt,resolveSessionCurrency:()=>b,resolveStripeMethodBrandVariant:()=>at,resolveTheme:()=>Qe,serializeTelemetryBatch:()=>wt,stripeExpressMethodToOptionKey:()=>et,telemetryStatusClass:()=>O,validationError:()=>Ie});module.exports=ur(Tn);function xe(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function Ae(e){return e?.captureMethod==="manual"}function _e(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Fe(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?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ie(e,t){return new u(e,"validation_error",{param:t})}function Pe(e,t,r){return new u(e,"api_error",{code:t,statusCode:r})}function Re(e){return new u(e,"authentication_error")}function ke(e){return new u(e,"rate_limit_error")}function Me(e){return new u(e,"network_error")}function Ne(e){if(!(e.captureMethod!=="manual"||!(e.products??U(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 Le(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 c=a(i.currency);if(c)return c}for(let i of r??[]){let c=a(i.currency);if(c)return c}for(let i of n??[]){let c=a(i.currency);if(c)return c}return null}function U(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 Be(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let 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 ve(e,t){let r=a(e.code)??a(e.providerPlanId);if(!r)throw new Error("CheckoutSubscription requires either `code` or the deprecated `providerPlanId`.");let n=a(e.subscriptionName)??a(e.providerPlanName)??null,o={code:r,providerPlanId:a(e.providerPlanId)??r,subscriptionName:n,providerPlanName:a(e.providerPlanName)??n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}var cr={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},w="staging";function De(e){w=e.environment}function h(){return cr[w]}function Ue(){return w}var we=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var Ke="1.9.16",ze="x-flo-sdk-version",He="paypal_vaulted",E="https://api.stage.flopay.com",V="https://api.flopay.com",qe=E,We=E;function je(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?V:E:h())}var Ze="2024-01-01",G={theme:"default",variables:{colorPrimary:"#4A49FF",colorBackground:"#FFFFFF",colorText:"#262833",colorDanger:"#DF1B41",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Xe={theme:"flat",variables:{...G.variables,borderRadius:"4px"}},$e={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},Y={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"}}},K={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0B1220",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#111827",padding:"14px 16px",border:"1.5px solid #1F2937",color:"#F1F5F9",boxShadow:"none"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 4px rgba(96,165,250,0.18)"},".Label":{fontWeight:"500",color:"#94A3B8",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #1F2937",backgroundColor:"#111827",color:"#F1F5F9"},".Tab:hover":{borderColor:"#374151"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},z={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0C2B4D",colorDanger:"#DC2626",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"2px solid #E5E7EB"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 3px rgba(23,133,224,0.2)"},".Label":{fontWeight:"600",color:"#0C2B4D"},".Tab":{padding:"14px 18px",border:"2px solid #E5E7EB",fontWeight:"600"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},H={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0C2B4D",colorText:"#FFFFFF",colorDanger:"#F87171",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"#1E3A8A",padding:"14px 16px",border:"2px solid #1E40AF",color:"#FFFFFF"},".Input:focus":{borderColor:"#60A5FA",boxShadow:"0 0 0 3px rgba(96,165,250,0.25)"},".Label":{fontWeight:"600",color:"#DBEAFE"},".Tab":{padding:"14px 18px",border:"2px solid #1E40AF",backgroundColor:"#1E3A8A",color:"#FFFFFF",fontWeight:"600"},".Tab--selected":{borderColor:"#60A5FA",boxShadow:"0 0 0 1px #60A5FA"}}},q={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#1E293B",colorDanger:"#EF4444",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 3px rgba(23,133,224,0.08)"},".Input:focus":{borderColor:"rgba(23,133,224,0.5)",boxShadow:"0 0 0 3px rgba(23,133,224,0.15)"},".Label":{fontWeight:"500",color:"#475569"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(255,255,255,0.5)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px"},".Tab--selected":{borderColor:"rgba(23,133,224,0.6)",boxShadow:"0 0 0 1px rgba(23,133,224,0.6)"}}},W={theme:"night",variables:{colorPrimary:"#60A5FA",colorBackground:"#0F172A",colorText:"#F1F5F9",colorDanger:"#F87171",borderRadius:"16px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",padding:"14px 16px",border:"1px solid rgba(255,255,255,0.08)",color:"#F1F5F9"},".Input:focus":{borderColor:"rgba(96,165,250,0.5)",boxShadow:"0 0 0 3px rgba(96,165,250,0.2)"},".Label":{fontWeight:"500",color:"#94A3B8"},".Tab":{padding:"12px 16px",backgroundColor:"rgba(15,23,42,0.6)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",color:"#F1F5F9"},".Tab--selected":{borderColor:"rgba(96,165,250,0.6)",boxShadow:"0 0 0 1px rgba(96,165,250,0.6)"}}},j={},Z={cardButton:{border:"none",backgroundColor:"#f9fafb",boxShadow:"none"},cardFormContainer:{backgroundColor:"#f9fafb",border:"none"},cardInputBorder:"#e5e7eb",backButtonIcon:{backgroundColor:"#e5e7eb"},submitButton:{borderRadius:"6px"}},X={cardButton:{borderRadius:"9999px",border:"1px solid #e5e7eb",boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},cardFormContainer:{borderRadius:"16px",border:"1px solid #e5e7eb",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},cardInputBorder:"#d1d5db",submitButton:{borderRadius:"9999px"},backButtonIcon:{backgroundColor:"#f3f4f6"}},$={cardButton:{backgroundColor:"#1f2937",color:"#f9fafb",border:"1px solid #374151",boxShadow:"none"},cardFormContainer:{backgroundColor:"#111827",border:"1px solid #374151"},cardInputBorder:"#4b5563",cardInputColor:"#f9fafb",cardInputPlaceholderColor:"#6b7280",cardInputBackground:"#1f2937",nameInput:{backgroundColor:"#1f2937",color:"#f9fafb"},backButton:{color:"#9ca3af"},backButtonIcon:{backgroundColor:"#374151"},submitButton:{backgroundColor:"#6366f1"},title:{color:"#f9fafb"},countrySelect:{backgroundColor:"#1f2937",color:"#f9fafb"},zipInput:{backgroundColor:"#1f2937",color:"#f9fafb"}},S={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"}},x={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"}},A={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"}},_={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"}},F={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},I={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function Je(e){switch(e){case"minimal":return Z;case"rounded":return X;case"dark":return $;case"modern-light":return S;case"modern-dark":return x;case"bold-light":return A;case"bold-dark":return _;case"glass-light":return F;case"glass-dark":return I;default:return j}}var J={"modern-light":{appearance:Y,buttonsLayout:S},"modern-dark":{appearance:K,buttonsLayout:x},"bold-light":{appearance:z,buttonsLayout:A},"bold-dark":{appearance:H,buttonsLayout:_},"glass-light":{appearance:q,buttonsLayout:F},"glass-dark":{appearance:W,buttonsLayout:I}};function Qe(e){if(!(!e||e==="classic"))return J[e]}function et(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function dr(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 Ve(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 Ge(e,t,r,n=t){return{backgroundColor:t,borderColor:t,textColor:r,logoSvg:dr(e,r,n)}}function d(e,t,r,n=t,o=r,i=n){return{light:Ge(e,t,r),dark:Ge(e,n,o,i)}}var tt=["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"],lr=[...tt,"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:d("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:d("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:d("$","#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:d("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:d("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:d("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:d("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:d("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:lr,theme:{light:{backgroundColor:"#1F2937",textColor:"#FFFFFF",borderColor:"#1F2937",logoSvg:Ve("#1F2937","#FFFFFF")},dark:{backgroundColor:"#374151",textColor:"#FFFFFF",borderColor:"#374151",logoSvg:Ve("#374151","#FFFFFF")}}},eps:{displayName:"EPS",currencies:["eur"],countries:["AT"],theme:d("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:d("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:d("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:d("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:d("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:tt,theme:d("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:d("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:d("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:d("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function rt(e){return we.includes(e)}var Q=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),pr=new Set(Q),ee=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),te=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function nt(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function ot(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 it(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ee[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function st(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=te[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}var re=Object.fromEntries(Object.entries(y).filter(([,e])=>e.amounts).map(([e,t])=>[e,t.amounts]));function ut(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=re[o];if(!i)return!0;let c=i[n];return c?!(typeof c.min=="number"&&r<c.min||typeof c.max=="number"&&r>c.max):!0}):[...e]}function ct(e,t){if(!e||e.length===0)return{expressMethods:[],paymentElementMethods:[]};let r=[],n=[],o=new Set,i=new Set;for(let c of e){if(typeof c!="string")continue;let p=c.trim();if(!(!p||p==="card")&&!(t?.excludePaypal&&p==="paypal"))if(pr.has(p)){if(o.has(p))continue;o.add(p),r.push(p)}else{if(i.has(p))continue;i.add(p),n.push(p)}}return{expressMethods:r,paymentElementMethods:n}}var dt=["visa","mastercard","mastercard_debit","amex","discover"],P={AT:{currency:"EUR",symbol:"\u20AC",country:"Austria",countryCode:"AT",tax:1},BE:{currency:"EUR",symbol:"\u20AC",country:"Belgium",countryCode:"BE",tax:1},CY:{currency:"EUR",symbol:"\u20AC",country:"Cyprus",countryCode:"CY",tax:1},DE:{currency:"EUR",symbol:"\u20AC",country:"Germany",countryCode:"DE",tax:1},EE:{currency:"EUR",symbol:"\u20AC",country:"Estonia",countryCode:"EE",tax:1},ES:{currency:"EUR",symbol:"\u20AC",country:"Spain",countryCode:"ES",tax:1},FI:{currency:"EUR",symbol:"\u20AC",country:"Finland",countryCode:"FI",tax:1},FR:{currency:"EUR",symbol:"\u20AC",country:"France",countryCode:"FR",tax:1},GR:{currency:"EUR",symbol:"\u20AC",country:"Greece",countryCode:"GR",tax:1},HR:{currency:"EUR",symbol:"\u20AC",country:"Croatia",countryCode:"HR",tax:1},IE:{currency:"EUR",symbol:"\u20AC",country:"Ireland",countryCode:"IE",tax:1},IT:{currency:"EUR",symbol:"\u20AC",country:"Italy",countryCode:"IT",tax:1},LT:{currency:"EUR",symbol:"\u20AC",country:"Lithuania",countryCode:"LT",tax:1},LU:{currency:"EUR",symbol:"\u20AC",country:"Luxembourg",countryCode:"LU",tax:1},LV:{currency:"EUR",symbol:"\u20AC",country:"Latvia",countryCode:"LV",tax:1},MT:{currency:"EUR",symbol:"\u20AC",country:"Malta",countryCode:"MT",tax:1},NL:{currency:"EUR",symbol:"\u20AC",country:"Netherlands",countryCode:"NL",tax:1},PT:{currency:"EUR",symbol:"\u20AC",country:"Portugal",countryCode:"PT",tax:1},SI:{currency:"EUR",symbol:"\u20AC",country:"Slovenia",countryCode:"SI",tax:1},SK:{currency:"EUR",symbol:"\u20AC",country:"Slovakia",countryCode:"SK",tax:1},BG:{currency:"EUR",symbol:"\u20AC",country:"Bulgaria",countryCode:"BG",tax:1},RO:{currency:"EUR",symbol:"\u20AC",country:"Romania",countryCode:"RO",tax:1},CZ:{currency:"EUR",symbol:"\u20AC",country:"Czech Republic",countryCode:"CZ",tax:1},SE:{currency:"EUR",symbol:"\u20AC",country:"Sweden",countryCode:"SE",tax:1},DK:{currency:"EUR",symbol:"\u20AC",country:"Denmark",countryCode:"DK",tax:1},PL:{currency:"EUR",symbol:"\u20AC",country:"Poland",countryCode:"PL",tax:1},HU:{currency:"EUR",symbol:"\u20AC",country:"Hungary",countryCode:"HU",tax:1},GB:{currency:"GBP",symbol:"\xA3",country:"United Kingdom",countryCode:"GB",tax:1},US:{currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0},CA:{currency:"CAD",symbol:"CA$",country:"Canada",countryCode:"CA",tax:0},NZ:{currency:"NZD",symbol:"NZ$",country:"New Zealand",countryCode:"NZ",tax:0},AU:{currency:"AUD",symbol:"AU$",country:"Australia",countryCode:"AU",tax:0}},R={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function lt(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 mr=new Intl.DisplayNames(["en"],{type:"region"});function yr(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pt=["US","GB","CA","AU","NZ","IE","DE","FR"],gr=["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 Ye(e){return{code:e,name:mr.of(e)??e,flag:yr(e)}}var Er=new Set(pt),fr=gr.filter(e=>!Er.has(e)),ne=[...pt.map(Ye),...fr.map(Ye)];function mt(e){return ne.find(t=>t.code===e)}var Cr={country:!0,postal_code:!0};function oe(e){return e===!0?Cr:e||null}function yt(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 gt(e){let t=oe(e);return t?Object.values(t).some(r=>r===!0||Array.isArray(r)&&r.length>0):!1}var ae=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],ie=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NS",name:"Nova Scotia"},{code:"NT",name:"Northwest Territories"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon"}];function Et(e){switch(e.toUpperCase()){case"US":return ae;case"CA":return ie;default:return null}}function ft(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 Ct(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,D=s.name||s.code||"Subscription";D==="4-WEEK PLAN"&&C<=1&&(D="7-DAY TRIAL: FULL ACCESS"),r.push({name:D,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 Xt=r.reduce((s,m)=>s+m.originalPrice*m.quantity,0),$t=r.reduce((s,m)=>s+m.price*m.quantity,0),Jt=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Qt=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),er=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),Te=Jt?e.totalAmount:$t,f=Qt?e.subtotalAmount:Xt,be=Math.max(0,f-Te),tr=f>0?Math.round(be/f*100):0;return{items:r,currency:p,total:Te,originalTotal:f,totalSave:be,discountPercent:tr,...er?{couponDiscount:e.discountAmount}:{}}}var Tr=Se(require("validator/lib/isEmail.js"),1),se=Tr,Tt=typeof se.default=="function"?se.default:se.default?.default;if(typeof Tt!="function")throw new Error("validator/lib/isEmail.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");function bt(e){return typeof e=="string"&&e.length>0&&Tt(e)}var ht="Idempotency-Key",k=255,St="IdempotencyKeyInProgress";function br(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function ue(){let e=br();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function xt(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 At=1,_t=[{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 hr=[[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"]],Sr={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 xr(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 hr)if(r>=n&&r<=o)return i;return null}function Ar(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 Sr[r]??null}function Ft(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return xr(n);case"CA":return Ar(n);default:return null}}var _r=Se(require("validator/lib/isPostalCode.js"),1),M=_r,It=typeof M.default=="function"?M.default:M.default?.default;if(typeof It!="function")throw new Error("validator/lib/isPostalCode.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");var Pt=new Set(M.locales.map(e=>e.toUpperCase())),Fr={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function ce(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Fr[t]??null:null}var Ir={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 Rt(e){let t=ce(e);return t!==null&&Pt.has(t)}function kt(e,t){let r=(t??"").trim();if(!r)return!0;let n=ce(e);if(n===null||!Pt.has(n))return!0;try{return It(r,n)}catch{return!0}}function Mt(e){let t=ce(e);return t?Ir[t]:void 0}var Pr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,Rr=/^dahlia\/stripe$/i,kr=/^(?:chrome|moz|safari-web)-extension:\/\//i,Mr=/^@flopay(?:\/|$)/i;function Nt(e){return Pr.test(e)||kr.test(e)}function Nr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&Mr.test(e.module)||t.some(r=>!Nt(r))?"first-party":e.module!==void 0&&Rr.test(e.module)||t.some(Nt)?"third-party-hosted":t.length===0?"injected":"first-party"}function Lt(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(Nr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var Bt=1,de=["@flopay/shared","@flopay/js","@flopay/react"],Ot=32768,vt=20,Lr=["stripe","paypal"],Br=["card","wallet","paypal","apm","saved","unknown"],Or=["apple_pay","google_pay"],vr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Dr=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],Ur=["unknown","available","blocked"],wr=["popup","app_switch","redirect"],Vr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],Gr=["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"],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"],Yr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Kr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],zr=["full","auto","confirm","setup","unknown"],Hr=["embedded","buttons","automatic","unknown"],qr=["machine","buyer","total"],Wr=["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,jr=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Zr=new Set(le),Xr=new Set(pe),N=new Set(Gr),$r=new Set(Lr),Jr=new Set(Br),Qr=new Set(Or),en=new Set(vr),tn=new Set(Dr),rn=new Set(Ur),nn=new Set(wr),on=new Set(Vr),an=new Set(me),sn=new Set(zr),un=new Set(Hr),cn=new Set(Yr),dn=new Set(Kr),ln=new Set(qr),pn=new Set(Wr),mn=new Set(de),Dt=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function yn(){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:yn()}function gn(e){return typeof e=="string"&&ye.test(e)?e:void 0}function En(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 Ut(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Dt)}function fn(e){return Number.isFinite(e)&&e>Dt}function B(e,t){let r=En(t.attempt);return t.provider&&$r.has(t.provider)&&(e.provider=t.provider),r!==void 0&&(e.attempt=r),t.statusClass&&(e.statusClass=l(t.statusClass,dn,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,cn,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Jr,"unknown")),t.walletType&&Qr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&en.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,sn,"unknown")),t.layout&&(e.layout=l(t.layout,un,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&tn.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&rn.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&nn.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&on.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function ge(e){let t=B({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Zr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence)},e);if(e.failureCategory&&Xr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.stage!=="provider_confirmation"){let r=gn(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ut(e.durationMs)),t}function Ee(e){return B({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,an,"operation.retry"),stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence)},e)}function fe(e){let t={...e,stage:e.stage??"completion"};return B({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,pn,"customer_abandoned"),stage:l(e.stage,N,"completion"),sequence:L(e.sequence)},t)}function Ce(e){let t=B({eventId:g(e.eventId),class:"performance",stage:l(e.stage,N,"sdk_initialize"),sequence:L(e.sequence),durationMs:Ut(e.durationMs),durationMode:l(e.durationMode,ln,"machine")},e);return(e.durationTruncated===!0||fn(e.durationMs))&&(t.durationTruncated=!0),t}function wt(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,mn,"@flopay/shared"),version:jr.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var Cn=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Vt(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 Gt(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&&Cn.has(e.code))return{errorCode:t,statusClass:O(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=O(e instanceof u?e.statusCode:void 0,r);return{errorCode:t,statusClass:n,...n==="5xx"?{failureCategory:"server_error"}:{}}}function O(e,t="network_error"){if(e===void 0)return t;let r=`${Math.floor(e/100)}xx`;return r==="2xx"||r==="3xx"||r==="4xx"||r==="5xx"?r:"unknown"}function Yt(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 Kt(e){return typeof e=="string"&&v.test(e)}function zt(){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 Ht(e){return P[e.toUpperCase()]??R}function qt(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function Wt(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function jt(e){return typeof e=="string"&&e.startsWith("seti_")}function Zt(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}0&&(module.exports={BILLING_API_URL,BILLING_API_URL_PRODUCTION,BILLING_API_URL_STAGING,BOLD_DARK_APPEARANCE,BOLD_LIGHT_APPEARANCE,BUTTONS_LAYOUT_BOLD_DARK,BUTTONS_LAYOUT_BOLD_LIGHT,BUTTONS_LAYOUT_DARK,BUTTONS_LAYOUT_DEFAULT,BUTTONS_LAYOUT_GLASS_DARK,BUTTONS_LAYOUT_GLASS_LIGHT,BUTTONS_LAYOUT_MINIMAL,BUTTONS_LAYOUT_MODERN_DARK,BUTTONS_LAYOUT_MODERN_LIGHT,BUTTONS_LAYOUT_ROUNDED,CA_PROVINCES,COUNTRY_OPTIONS,CURRENCY_MAP,DEFAULT_API_BASE_URL,DEFAULT_API_VERSION,DEFAULT_APPEARANCE,DEFAULT_CURRENCY,FLAT_APPEARANCE,FLO_INSTRUMENT_CATALOG,FLO_INSTRUMENT_SCHEMA_VERSION,FLO_SDK_VERSION_HEADER,FloPayError,GLASS_DARK_APPEARANCE,GLASS_LIGHT_APPEARANCE,IDEMPOTENCY_IN_PROGRESS_CODE,IDEMPOTENCY_KEY_HEADER,MAX_IDEMPOTENCY_KEY_LENGTH,MODERN_DARK_APPEARANCE,MODERN_LIGHT_APPEARANCE,NIGHT_APPEARANCE,PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,SDK_VERSION,STRIPE_EXPRESS_METHODS,STRIPE_METHOD_AMOUNT_LIMITS,STRIPE_METHOD_COUNTRIES,STRIPE_METHOD_CURRENCIES,STRIPE_METHOD_MATRIX,SUPPORTED_CARD_BRANDS,TELEMETRY_ERROR_CODES,TELEMETRY_FAILURE_CATEGORIES,TELEMETRY_LOG_NAMES,TELEMETRY_MAX_BATCH_BYTES,TELEMETRY_MAX_BATCH_EVENTS,TELEMETRY_SCHEMA_VERSION,TELEMETRY_SDK_PACKAGES,THEMES,US_STATES,UUID_V4,apiError,assertCaptureMethodEligible,authenticationError,buildCheckoutDisplayData,buildItemPayload,buildProductPayload,buildSubscriptionPayload,buildTelemetryErrorEvent,buildTelemetryLogEvent,buildTelemetryPerformanceEvent,buildTelemetryTerminalEvent,classifyPaymentRejection,classifyTelemetryFailure,configureFlopay,dropThirdPartyOnlyError,filterStripeMethodsByAmount,filterStripeMethodsByCountry,filterStripeMethodsByCurrency,foldIntoProducts,generateIdempotencyKey,getConfiguredBillingApiUrl,getCountryByCode,getCurrencyByCountry,getFloPayEnvironment,getPostalCodeExample,getPostalCodeLabel,getStateFromPostalCode,getStateLabel,getStateOptions,getStripeMethodDisplayName,hasVendoredStripeMethodLogo,isAVSEnabled,isAVSFieldVisible,isAuthorizationOnlySession,isCardHolderNamePlaceholder,isCardSetupCheckoutSession,isDetachedSessionEligible,isMoneySettledOutcome,isPostalCodeSupported,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
@@ -527,7 +527,11 @@ interface CheckoutGateway {
527
527
  /**
528
528
  * Map of gateways attached to a session, keyed by gateway code. A session can
529
529
  * advertise multiple gateways concurrently — e.g. `gateways.stripe` for card
530
- * + wallets and `gateways.paypal` for direct PayPal rendering.
530
+ * + wallets and `gateways.paypal` for direct PayPal rendering. A session
531
+ * created with the Worldpay capability may also carry
532
+ * `gateways.worldpayCorporateGateway` (TeamFloPay/backend#1563): a card
533
+ * gateway the billing API processes entirely server-side behind the hosted
534
+ * vault form, with no browser credentials or methods.
531
535
  */
532
536
  interface CheckoutGateways {
533
537
  stripe?: CheckoutGateway;
@@ -568,9 +572,11 @@ interface CheckoutSession {
568
572
  * (TeamFloPay/backend#823). This remains the preferred fast path during the
569
573
  * SDK 1.4.9 rollout: when present, the SDK injects
570
574
  * {@link VaultCaptureBlock.html} without a recovery request. A Stripe
571
- * gateway whose `enabledPaymentMethods` explicitly includes `card` may omit
572
- * this block; the SDK then lazily requests
573
- * `POST /v1/checkouts/sessions/{id}/vault/capture` when Card is opened.
575
+ * gateway whose `enabledPaymentMethods` explicitly includes `card`, or an
576
+ * open session with a server-side card gateway
577
+ * (`gateways.worldpayCorporateGateway`), may omit this block; the SDK then
578
+ * lazily requests `POST /v1/checkouts/sessions/{id}/vault/capture` when Card
579
+ * is opened.
574
580
  */
575
581
  vault?: VaultCaptureBlock;
576
582
  /**
@@ -889,7 +895,11 @@ interface CardCaptureOutcomeEvent {
889
895
  authorizationExpiresAt?: string;
890
896
  /** Stable provider-neutral failure for decline/error outcomes. */
891
897
  failureOutcome?: CheckoutFailureOutcome;
892
- /** Provider intent / transaction id on a terminal outcome, when available. */
898
+ /**
899
+ * The processing gateway's reference on a terminal outcome, when available.
900
+ * A Stripe intent id only when Stripe took the card; a server-side card
901
+ * gateway (Worldpay) reports an opaque order reference instead.
902
+ */
893
903
  intentId?: string;
894
904
  /** Mapped decline reason on `decline` (backend `PaymentDeclineReason` enum). */
895
905
  declineReason?: string;
@@ -1842,6 +1852,10 @@ declare function assertCaptureMethodEligible(params: CaptureMethodEligibilityPar
1842
1852
  * - A saved-payment session (`tokenizedData`) can be charged the moment it
1843
1853
  * exists, so it must carry its cart from the start.
1844
1854
  * - `deferDataAttachment: false` is the caller's explicit opt-out.
1855
+ *
1856
+ * This only decides how the SDK creates the session (detached shell or not).
1857
+ * Which gateway processes the card is the billing API's decision, made from
1858
+ * the merchant's configured gateways; the SDK never declares or filters it.
1845
1859
  */
1846
1860
  declare function isDetachedSessionEligible(params: InlineSessionDraft): boolean;
1847
1861
  /**
@@ -1925,7 +1939,7 @@ declare function getConfiguredBillingApiUrl(): string;
1925
1939
  declare function getFloPayEnvironment(): FloPayEnvironment;
1926
1940
 
1927
1941
  /** Current SDK version. */
1928
- declare const SDK_VERSION = "1.9.14";
1942
+ declare const SDK_VERSION = "1.9.16";
1929
1943
  /**
1930
1944
  * HTTP header the SDK sends on checkout-session create/read requests so the
1931
1945
  * backend can observe compatibility. Version 1.4.9 is the first release that
package/dist/index.d.ts CHANGED
@@ -527,7 +527,11 @@ interface CheckoutGateway {
527
527
  /**
528
528
  * Map of gateways attached to a session, keyed by gateway code. A session can
529
529
  * advertise multiple gateways concurrently — e.g. `gateways.stripe` for card
530
- * + wallets and `gateways.paypal` for direct PayPal rendering.
530
+ * + wallets and `gateways.paypal` for direct PayPal rendering. A session
531
+ * created with the Worldpay capability may also carry
532
+ * `gateways.worldpayCorporateGateway` (TeamFloPay/backend#1563): a card
533
+ * gateway the billing API processes entirely server-side behind the hosted
534
+ * vault form, with no browser credentials or methods.
531
535
  */
532
536
  interface CheckoutGateways {
533
537
  stripe?: CheckoutGateway;
@@ -568,9 +572,11 @@ interface CheckoutSession {
568
572
  * (TeamFloPay/backend#823). This remains the preferred fast path during the
569
573
  * SDK 1.4.9 rollout: when present, the SDK injects
570
574
  * {@link VaultCaptureBlock.html} without a recovery request. A Stripe
571
- * gateway whose `enabledPaymentMethods` explicitly includes `card` may omit
572
- * this block; the SDK then lazily requests
573
- * `POST /v1/checkouts/sessions/{id}/vault/capture` when Card is opened.
575
+ * gateway whose `enabledPaymentMethods` explicitly includes `card`, or an
576
+ * open session with a server-side card gateway
577
+ * (`gateways.worldpayCorporateGateway`), may omit this block; the SDK then
578
+ * lazily requests `POST /v1/checkouts/sessions/{id}/vault/capture` when Card
579
+ * is opened.
574
580
  */
575
581
  vault?: VaultCaptureBlock;
576
582
  /**
@@ -889,7 +895,11 @@ interface CardCaptureOutcomeEvent {
889
895
  authorizationExpiresAt?: string;
890
896
  /** Stable provider-neutral failure for decline/error outcomes. */
891
897
  failureOutcome?: CheckoutFailureOutcome;
892
- /** Provider intent / transaction id on a terminal outcome, when available. */
898
+ /**
899
+ * The processing gateway's reference on a terminal outcome, when available.
900
+ * A Stripe intent id only when Stripe took the card; a server-side card
901
+ * gateway (Worldpay) reports an opaque order reference instead.
902
+ */
893
903
  intentId?: string;
894
904
  /** Mapped decline reason on `decline` (backend `PaymentDeclineReason` enum). */
895
905
  declineReason?: string;
@@ -1842,6 +1852,10 @@ declare function assertCaptureMethodEligible(params: CaptureMethodEligibilityPar
1842
1852
  * - A saved-payment session (`tokenizedData`) can be charged the moment it
1843
1853
  * exists, so it must carry its cart from the start.
1844
1854
  * - `deferDataAttachment: false` is the caller's explicit opt-out.
1855
+ *
1856
+ * This only decides how the SDK creates the session (detached shell or not).
1857
+ * Which gateway processes the card is the billing API's decision, made from
1858
+ * the merchant's configured gateways; the SDK never declares or filters it.
1845
1859
  */
1846
1860
  declare function isDetachedSessionEligible(params: InlineSessionDraft): boolean;
1847
1861
  /**
@@ -1925,7 +1939,7 @@ declare function getConfiguredBillingApiUrl(): string;
1925
1939
  declare function getFloPayEnvironment(): FloPayEnvironment;
1926
1940
 
1927
1941
  /** Current SDK version. */
1928
- declare const SDK_VERSION = "1.9.14";
1942
+ declare const SDK_VERSION = "1.9.16";
1929
1943
  /**
1930
1944
  * HTTP header the SDK sends on checkout-session create/read requests so the
1931
1945
  * backend can observe compatibility. Version 1.4.9 is the first release that
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function Ue(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function we(e){return e?.captureMethod==="manual"}function Ve(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ge(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var c=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?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ye(e,t){return new c(e,"validation_error",{param:t})}function Ke(e,t,r){return new c(e,"api_error",{code:t,statusCode:r})}function ze(e){return new c(e,"authentication_error")}function He(e){return new c(e,"rate_limit_error")}function qe(e){return new c(e,"network_error")}function We(e){if(!(e.captureMethod!=="manual"||!(e.products??K(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new c("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function je(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function A(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 Ze(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Xe(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 Je={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},_="staging";function Qe(e){_=e.environment}function F(){return Je[_]}function et(){return _}var z=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var tt="1.9.14",rt="x-flo-sdk-version",nt="paypal_vaulted",C="https://api.stage.flopay.com",j="https://api.flopay.com",ot=C,at=C;function it(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?j:C:F())}var st="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"}},ut={theme:"flat",variables:{...Z.variables,borderRadius:"4px"}},ct={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},X={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},$={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"}},I={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},P={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},R={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},k={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},M={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},N={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function dt(e){switch(e){case"minimal":return ne;case"rounded":return oe;case"dark":return ae;case"modern-light":return I;case"modern-dark":return P;case"bold-light":return R;case"bold-dark":return k;case"glass-light":return M;case"glass-dark":return N;default:return re}}var ie={"modern-light":{appearance:X,buttonsLayout:I},"modern-dark":{appearance:$,buttonsLayout:P},"bold-light":{appearance:J,buttonsLayout:R},"bold-dark":{appearance:Q,buttonsLayout:k},"glass-light":{appearance:ee,buttonsLayout:M},"glass-dark":{appearance:te,buttonsLayout:N}};function lt(e){if(!(!e||e==="classic"))return ie[e]}function pt(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function mt(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:mt(e,r,n)}}function d(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"],yt=[...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:d("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:d("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:d("$","#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:d("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:d("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:d("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:d("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:d("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:yt,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:d("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:d("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:d("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:d("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:d("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:d("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:d("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:d("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:d("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function gt(e){return z.includes(e)}var ue=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),Et=new Set(ue),ce=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),de=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ft(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function Ct(e){return y[e]?.needsExplicitConfirm!==!1}function Tt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function bt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ce[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function ht(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=de[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 St(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 xt(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(Et.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 At=["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}},B={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function _t(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 Ft=new Intl.DisplayNames(["en"],{type:"region"});function It(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pe=["US","GB","CA","AU","NZ","IE","DE","FR"],Pt=["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:Ft.of(e)??e,flag:It(e)}}var Rt=new Set(pe),kt=Pt.filter(e=>!Rt.has(e)),me=[...pe.map(W),...kt.map(W)];function Mt(e){return me.find(t=>t.code===e)}var Nt={country:!0,postal_code:!0};function ye(e){return e===!0?Nt:e||null}function Lt(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function Bt(e){let t=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 Ot(e){switch(e.toUpperCase()){case"US":return ge;case"CA":return Ee;default:return null}}function vt(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 Dt(e,t={}){let r=[],n=e.products??[],o=n.filter(s=>s.type==="subscription"),i=n.filter(s=>s.type!=="subscription"),p=(A(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),Le=r.reduce((s,m)=>s+m.price*m.quantity,0),Be=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Oe=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),ve=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),G=Be?e.totalAmount:Le,E=Oe?e.subtotalAmount:Ne,Y=Math.max(0,E-G),De=E>0?Math.round(Y/E*100):0;return{items:r,currency:p,total:G,originalTotal:E,totalSave:Y,discountPercent:De,...ve?{couponDiscount:e.discountAmount}:{}}}import*as Ut from"validator/lib/isEmail.js";var O=Ut,fe=typeof O.default=="function"?O.default:O.default?.default;if(typeof fe!="function")throw new Error("validator/lib/isEmail.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");function wt(e){return typeof e=="string"&&e.length>0&&fe(e)}var Vt="Idempotency-Key",v=255,Gt="IdempotencyKeyInProgress";function Yt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function Ce(){let e=Yt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Kt(e){if(e===void 0)return Ce();if(typeof e!="string"||e.trim()==="")throw new c("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>v)throw new c(`idempotencyKey must be at most ${v} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var zt=1,Ht=[{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 qt=[[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"]],Wt={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 jt(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 qt)if(r>=n&&r<=o)return i;return null}function Zt(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 Wt[r]??null}function Xt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return jt(n);case"CA":return Zt(n);default:return null}}import*as $t from"validator/lib/isPostalCode.js";var T=$t,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 be=new Set(T.locales.map(e=>e.toUpperCase())),Jt={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function D(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Jt[t]??null:null}var Qt={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function er(e){let t=D(e);return t!==null&&be.has(t)}function tr(e,t){let r=(t??"").trim();if(!r)return!0;let n=D(e);if(n===null||!be.has(n))return!0;try{return Te(r,n)}catch{return!0}}function rr(e){let t=D(e);return t?Qt[t]:void 0}var nr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,or=/^dahlia\/stripe$/i,ar=/^(?:chrome|moz|safari-web)-extension:\/\//i,ir=/^@flopay(?:\/|$)/i;function he(e){return nr.test(e)||ar.test(e)}function sr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&ir.test(e.module)||t.some(r=>!he(r))?"first-party":e.module!==void 0&&or.test(e.module)||t.some(he)?"third-party-hosted":t.length===0?"injected":"first-party"}function ur(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(sr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var cr=1,Se=["@flopay/shared","@flopay/js","@flopay/react"],dr=32768,lr=20,pr=["stripe","paypal"],mr=["card","wallet","paypal","apm","saved","unknown"],yr=["apple_pay","google_pay"],gr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Er=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],fr=["unknown","available","blocked"],Cr=["popup","app_switch","redirect"],Tr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],br=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],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"],_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"],hr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Sr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],xr=["full","auto","confirm","setup","unknown"],Ar=["embedded","buttons","automatic","unknown"],_r=["machine","buyer","total"],Fr=["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,Ir=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Pr=new Set(xe),Rr=new Set(Ae),b=new Set(br),kr=new Set(pr),Mr=new Set(mr),Nr=new Set(yr),Lr=new Set(gr),Br=new Set(Er),Or=new Set(fr),vr=new Set(Cr),Dr=new Set(Tr),Ur=new Set(_e),wr=new Set(xr),Vr=new Set(Ar),Gr=new Set(hr),Yr=new Set(Sr),Kr=new Set(_r),zr=new Set(Fr),Hr=new Set(Se),Fe=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function qr(){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:qr()}function Wr(e){return typeof e=="string"&&U.test(e)?e:void 0}function jr(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function h(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Ie(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Fe)}function Zr(e){return Number.isFinite(e)&&e>Fe}function S(e,t){let r=jr(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,Yr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,Gr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Mr,"unknown")),t.walletType&&Nr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&Lr.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,wr,"unknown")),t.layout&&(e.layout=l(t.layout,Vr,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&Br.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&Or.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&vr.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&Dr.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function Pe(e){let t=S({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Pr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence)},e);if(e.failureCategory&&Rr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.stage!=="provider_confirmation"){let r=Wr(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ie(e.durationMs)),t}function Re(e){return S({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Ur,"operation.retry"),stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence)},e)}function ke(e){let t={...e,stage:e.stage??"completion"};return S({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,zr,"customer_abandoned"),stage:l(e.stage,b,"completion"),sequence:h(e.sequence)},t)}function Me(e){let t=S({eventId:g(e.eventId),class:"performance",stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence),durationMs:Ie(e.durationMs),durationMode:l(e.durationMode,Kr,"machine")},e);return(e.durationTruncated===!0||Zr(e.durationMs))&&(t.durationTruncated=!0),t}function Xr(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"?[ke(o)]:o.class==="performance"?[Me(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Hr,"@flopay/shared"),version:Ir.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var $r=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Jr(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 Qr(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof c&&e.code!==void 0&&$r.has(e.code))return{errorCode:t,statusClass:w(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof c&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof c&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=w(e instanceof c?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 en(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 tn(e){return typeof e=="string"&&V.test(e)}function rn(){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 nn(e){return L[e.toUpperCase()]??B}function on(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function an(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function sn(e){return typeof e=="string"&&e.startsWith("seti_")}function un(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}export{at 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,R as BUTTONS_LAYOUT_BOLD_LIGHT,ae as BUTTONS_LAYOUT_DARK,re as BUTTONS_LAYOUT_DEFAULT,N as BUTTONS_LAYOUT_GLASS_DARK,M as BUTTONS_LAYOUT_GLASS_LIGHT,ne as BUTTONS_LAYOUT_MINIMAL,P as BUTTONS_LAYOUT_MODERN_DARK,I as BUTTONS_LAYOUT_MODERN_LIGHT,oe as BUTTONS_LAYOUT_ROUNDED,Ee as CA_PROVINCES,me as COUNTRY_OPTIONS,L as CURRENCY_MAP,ot as DEFAULT_API_BASE_URL,st as DEFAULT_API_VERSION,Z as DEFAULT_APPEARANCE,B as DEFAULT_CURRENCY,ut as FLAT_APPEARANCE,Ht as FLO_INSTRUMENT_CATALOG,zt as FLO_INSTRUMENT_SCHEMA_VERSION,rt as FLO_SDK_VERSION_HEADER,c as FloPayError,te as GLASS_DARK_APPEARANCE,ee as GLASS_LIGHT_APPEARANCE,Gt as IDEMPOTENCY_IN_PROGRESS_CODE,Vt as IDEMPOTENCY_KEY_HEADER,v as MAX_IDEMPOTENCY_KEY_LENGTH,$ as MODERN_DARK_APPEARANCE,X as MODERN_LIGHT_APPEARANCE,ct as NIGHT_APPEARANCE,nt as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,tt as SDK_VERSION,ue as STRIPE_EXPRESS_METHODS,le as STRIPE_METHOD_AMOUNT_LIMITS,de as STRIPE_METHOD_COUNTRIES,ce as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,At as SUPPORTED_CARD_BRANDS,xe as TELEMETRY_ERROR_CODES,Ae as TELEMETRY_FAILURE_CATEGORIES,_e as TELEMETRY_LOG_NAMES,dr as TELEMETRY_MAX_BATCH_BYTES,lr as TELEMETRY_MAX_BATCH_EVENTS,cr as TELEMETRY_SCHEMA_VERSION,Se as TELEMETRY_SDK_PACKAGES,ie as THEMES,ge as US_STATES,V as UUID_V4,Ke as apiError,We as assertCaptureMethodEligible,ze as authenticationError,Dt as buildCheckoutDisplayData,Xe as buildItemPayload,Ze as buildProductPayload,$e as buildSubscriptionPayload,Pe as buildTelemetryErrorEvent,Re as buildTelemetryLogEvent,Me as buildTelemetryPerformanceEvent,ke as buildTelemetryTerminalEvent,Jr as classifyPaymentRejection,Qr as classifyTelemetryFailure,Qe as configureFlopay,ur as dropThirdPartyOnlyError,St as filterStripeMethodsByAmount,ht as filterStripeMethodsByCountry,bt as filterStripeMethodsByCurrency,K as foldIntoProducts,Ce as generateIdempotencyKey,F as getConfiguredBillingApiUrl,Mt as getCountryByCode,nn as getCurrencyByCountry,et as getFloPayEnvironment,rr as getPostalCodeExample,_t as getPostalCodeLabel,Xt as getStateFromPostalCode,vt as getStateLabel,Ot as getStateOptions,ft as getStripeMethodDisplayName,gt as hasVendoredStripeMethodLogo,Bt as isAVSEnabled,Lt as isAVSFieldVisible,we as isAuthorizationOnlySession,un as isCardHolderNamePlaceholder,Ue as isCardSetupCheckoutSession,je as isDetachedSessionEligible,Ve as isMoneySettledOutcome,er as isPostalCodeSupported,sn as isSetupIntentClientSecret,tn as isUuidV4,wt as isValidEmail,tr as isValidPostalCode,on as isValidPublishableKey,an as isValidSecretKey,Ct as needsStripeMethodExplicitConfirm,qe as networkError,Ge as normalizeCheckoutFailureOutcome,en as normalizeGatewayEnvironment,xt as partitionStripeMethods,rn as randomUuidV4,He as rateLimitError,ye as resolveAVSConfig,it as resolveBillingApiUrl,dt as resolveButtonsLayoutTheme,Kt as resolveIdempotencyKey,A as resolveSessionCurrency,Tt as resolveStripeMethodBrandVariant,lt as resolveTheme,Xr as serializeTelemetryBatch,pt as stripeExpressMethodToOptionKey,w as telemetryStatusClass,Ye as validationError};
1
+ function Ue(e){return e.checkoutMode==="setup"&&e.amount===0&&(e.products?.length??0)===0}function we(e){return e?.captureMethod==="manual"}function Ve(e,t){return e==="requires_capture"?t!=="manual":e==="succeeded"||e==="complete"||e==="completed"||e==="captured"||e==="paid"}function Ge(e){if(typeof e!="string"||e.length===0)return;let t=e.trim().toLowerCase().replace(/[\s-]+/g,"_");if(t==="capture_failed"||t.includes("capture")&&(t.includes("fail")||t.includes("error")))return"capture_failed";if(t==="authorization_expired"||t.includes("expired")||t.includes("expiry"))return"authorization_expired";if(t==="authentication_required"||t.includes("3ds")||t.includes("three_d")||t.includes("authentication")||t.includes("action_required"))return"authentication_required";if(t==="authorization_declined"||t.includes("declin")||t.includes("authorization_fail"))return"authorization_declined"}var c=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?.cause!==void 0&&(this.cause=n.cause),Object.setPrototypeOf(this,new.target.prototype)}};function Ye(e,t){return new c(e,"validation_error",{param:t})}function Ke(e,t,r){return new c(e,"api_error",{code:t,statusCode:r})}function ze(e){return new c(e,"authentication_error")}function He(e){return new c(e,"rate_limit_error")}function qe(e){return new c(e,"network_error")}function We(e){if(!(e.captureMethod!=="manual"||!(e.products??K(e.items,e.subscriptions)).some(r=>r.type==="subscription")))throw new c("Manual capture is not supported for subscription products.","validation_error",{code:"CaptureMethodUnsupportedForSubscription",param:"captureMethod"})}function je(e){return e.deferDataAttachment!==!1&&(e.checkoutMode??"full")==="full"&&!e.tokenizedData}function a(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function A(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 Ze(e,t){let r=a(e.code)??a(e.providerItemId)??a(e.providerPlanId);if(!r)throw new Error("CheckoutProduct requires `code` (or the deprecated `providerItemId` / `providerPlanId`).");let n=a(e.name)??a(e.itemName)??a(e.providerItemName)??a(e.subscriptionName)??a(e.providerPlanName)??null,o={type:e.type,code:r,name:n,quantity:e.quantity??1,totalAmount:e.totalAmount,overrideAmount:e.overrideAmount??null,currency:a(e.currency)??t};return e.metadata&&(o.metadata=e.metadata),o}function Xe(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 Je={local:"https://flo.ngrok.pro",staging:"https://api.stage.flopay.com",production:"https://api.flopay.com"},_="staging";function Qe(e){_=e.environment}function F(){return Je[_]}function et(){return _}var z=["alipay","bancontact","blik","eps","giropay","ideal","klarna","p24","sepa_debit","wechat_pay"];var tt="1.9.16",rt="x-flo-sdk-version",nt="paypal_vaulted",C="https://api.stage.flopay.com",j="https://api.flopay.com",ot=C,at=C;function it(e){return e||(typeof process<"u"&&process.env?.NEXT_PUBLIC_FLOPAY_ENV?process.env.NEXT_PUBLIC_FLOPAY_ENV==="production"?j:C:F())}var st="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"}},ut={theme:"flat",variables:{...Z.variables,borderRadius:"4px"}},ct={theme:"night",variables:{colorPrimary:"#7B7BFF",colorBackground:"#1A1A2E",colorText:"#E0E0E0",colorDanger:"#FF6B6B",borderRadius:"8px",fontFamily:"Poppins, system-ui, sans-serif",fontSizeBase:"16px",spacingUnit:"4px"}},X={theme:"default",variables:{colorPrimary:"#1785E0",colorBackground:"#FFFFFF",colorText:"#0F172A",colorDanger:"#EF4444",borderRadius:"12px",fontFamily:"Inter, system-ui, sans-serif",fontSizeBase:"15px",spacingUnit:"5px"},rules:{".Input":{padding:"14px 16px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)"},".Input:focus":{borderColor:"#1785E0",boxShadow:"0 0 0 4px rgba(23,133,224,0.12)"},".Label":{fontWeight:"500",color:"#475569",marginBottom:"6px"},".Tab":{padding:"12px 16px",borderRadius:"12px",border:"1.5px solid #E5E7EB"},".Tab:hover":{borderColor:"#CBD5E1"},".Tab--selected":{borderColor:"#1785E0",boxShadow:"0 0 0 1px #1785E0"}}},$={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"}},I={cardFormContainer:{backgroundColor:"#FAFAFA",borderRadius:"20px",border:"1px solid #E5E7EB",boxShadow:"0 8px 24px rgba(15,23,42,0.04)",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"14px",border:"1.5px solid #E5E7EB",boxShadow:"0 1px 2px rgba(15,23,42,0.04)",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"1.5px solid #E5E7EB",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"#1785E0",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(23,133,224,0.25)",fontWeight:"600"},title:{color:"#0F172A",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#64748B"},backButtonIcon:{backgroundColor:"#F1F5F9"}},P={cardFormContainer:{backgroundColor:"#111827",borderRadius:"20px",border:"1px solid #1F2937",boxShadow:"0 8px 24px rgba(0,0,0,0.2)",padding:"24px"},cardButton:{backgroundColor:"#0B1220",borderRadius:"14px",border:"1.5px solid #1F2937",color:"#F1F5F9",padding:"14px 18px"},cardInputBorder:"#1F2937",cardInputBackground:"#111827",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"#111827",border:"1.5px solid #1F2937",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"#60A5FA",borderRadius:"14px",padding:"16px 24px",boxShadow:"0 4px 14px rgba(96,165,250,0.3)",fontWeight:"600",color:"#0B1220"},title:{color:"#F1F5F9",fontWeight:"600"},titleFontSize:"20px",backButton:{color:"#94A3B8"},backButtonIcon:{backgroundColor:"#1F2937"},countrySelect:{backgroundColor:"#111827",color:"#F1F5F9"},zipInput:{backgroundColor:"#111827",color:"#F1F5F9"}},R={cardFormContainer:{backgroundColor:"#EFF6FF",borderRadius:"20px",border:"2px solid #1785E0",padding:"24px"},cardButton:{backgroundColor:"#FFFFFF",borderRadius:"12px",border:"2px solid #1785E0",color:"#1785E0",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#E5E7EB",nameInput:{backgroundColor:"#FFFFFF",border:"2px solid #E5E7EB",borderRadius:"12px",padding:"14px 16px",fontWeight:"500"},submitButton:{background:"linear-gradient(135deg, #1785E0 0%, #0EA5E9 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(23,133,224,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#0C2B4D",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#1785E0",fontWeight:"600"},backButtonIcon:{backgroundColor:"#DBEAFE"}},k={cardFormContainer:{backgroundColor:"#1E3A8A",borderRadius:"20px",border:"2px solid #60A5FA",padding:"24px"},cardButton:{backgroundColor:"#0C2B4D",borderRadius:"12px",border:"2px solid #60A5FA",color:"#60A5FA",fontWeight:"700",padding:"14px 18px"},cardInputBorder:"#1E40AF",cardInputBackground:"#1E3A8A",cardInputColor:"#FFFFFF",cardInputPlaceholderColor:"#60A5FA",nameInput:{backgroundColor:"#1E3A8A",border:"2px solid #1E40AF",borderRadius:"12px",padding:"14px 16px",fontWeight:"500",color:"#FFFFFF"},submitButton:{background:"linear-gradient(135deg, #60A5FA 0%, #38BDF8 100%)",borderRadius:"9999px",padding:"16px 24px",boxShadow:"0 10px 25px rgba(96,165,250,0.35)",fontWeight:"700",color:"#FFFFFF",border:"none"},submitButtonFontSize:"17px",title:{color:"#FFFFFF",fontWeight:"800",letterSpacing:"-0.02em"},titleFontSize:"22px",backButton:{color:"#DBEAFE",fontWeight:"600"},backButtonIcon:{backgroundColor:"#1E40AF"},countrySelect:{backgroundColor:"#1E3A8A",color:"#FFFFFF"},zipInput:{backgroundColor:"#1E3A8A",color:"#FFFFFF"}},M={cardFormContainer:{background:"linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.6), 0 12px 40px rgba(23,133,224,0.15)",padding:"28px"},cardButton:{backgroundColor:"rgba(255,255,255,0.7)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.6)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.5), 0 4px 16px rgba(23,133,224,0.1)",padding:"14px 18px"},cardInputBorder:"rgba(255,255,255,0.6)",nameInput:{backgroundColor:"rgba(255,255,255,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.6)",borderRadius:"14px",padding:"14px 16px"},submitButton:{backgroundColor:"rgba(23,133,224,0.95)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(23,133,224,0.3), inset 0 1px 0 rgba(255,255,255,0.2)",fontWeight:"600",color:"#FFFFFF"},title:{color:"#1E293B",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#1785E0",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.7)"}},N={cardFormContainer:{background:"linear-gradient(135deg, #0C2B4D 0%, #0F172A 100%)",borderRadius:"24px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.06), 0 20px 50px rgba(0,0,0,0.4)",padding:"28px"},cardButton:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(20px)",borderRadius:"16px",border:"1px solid rgba(255,255,255,0.08)",boxShadow:"inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 16px rgba(0,0,0,0.3)",padding:"14px 18px",color:"#F1F5F9"},cardInputBorder:"rgba(255,255,255,0.08)",cardInputBackground:"rgba(15,23,42,0.6)",cardInputColor:"#F1F5F9",cardInputPlaceholderColor:"#64748B",nameInput:{backgroundColor:"rgba(15,23,42,0.6)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.08)",borderRadius:"14px",padding:"14px 16px",color:"#F1F5F9"},submitButton:{backgroundColor:"rgba(96,165,250,0.9)",backdropFilter:"blur(10px)",borderRadius:"16px",padding:"16px 24px",boxShadow:"0 10px 30px rgba(96,165,250,0.35), inset 0 1px 0 rgba(255,255,255,0.15)",fontWeight:"600",color:"#0F172A"},title:{color:"#F1F5F9",fontWeight:"600",letterSpacing:"-0.01em"},titleFontSize:"20px",backButton:{color:"#60A5FA",fontWeight:"500"},backButtonIcon:{backgroundColor:"rgba(255,255,255,0.08)"},countrySelect:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"},zipInput:{backgroundColor:"rgba(15,23,42,0.6)",color:"#F1F5F9"}};function dt(e){switch(e){case"minimal":return ne;case"rounded":return oe;case"dark":return ae;case"modern-light":return I;case"modern-dark":return P;case"bold-light":return R;case"bold-dark":return k;case"glass-light":return M;case"glass-dark":return N;default:return re}}var ie={"modern-light":{appearance:X,buttonsLayout:I},"modern-dark":{appearance:$,buttonsLayout:P},"bold-light":{appearance:J,buttonsLayout:R},"bold-dark":{appearance:Q,buttonsLayout:k},"glass-light":{appearance:ee,buttonsLayout:M},"glass-dark":{appearance:te,buttonsLayout:N}};function lt(e){if(!(!e||e==="classic"))return ie[e]}function pt(e){switch(e){case"apple_pay":return"applePay";case"google_pay":return"googlePay";case"amazon_pay":return"amazonPay";default:return e}}function mt(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:mt(e,r,n)}}function d(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"],yt=[...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:d("K","#FFB3C7","#0A0B09")},affirm:{displayName:"Affirm",currencies:["usd"],countries:["US","CA"],amounts:{usd:{min:3500,max:3e6}},needsExplicitConfirm:!1,theme:d("a","#060F33","#FFFFFF","#0FA0EA","#060F33","#FFFFFF")},cashapp:{displayName:"Cash App Pay",currencies:["usd"],countries:["US"],amounts:{usd:{min:50,max:99999999}},needsExplicitConfirm:!1,theme:d("$","#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:d("A","#B2FCE4","#0A0B09")},alipay:{displayName:"Alipay",currencies:["usd","cny"],theme:d("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:d("B","#FFDD55","#1E3791","#1E3791","#FFDD55")},bizum:{displayName:"Bizum",currencies:["eur"],countries:["ES"],theme:d("B","#00BFB3","#FFFFFF")},blik:{displayName:"BLIK",currencies:["pln"],countries:["PL"],theme:d("B","#000000","#FFFFFF","#FFFFFF","#000000")},boleto:{displayName:"Boleto",currencies:["brl"],countries:["BR"]},customer_balance:{displayName:"Bank Transfer",currencies:["eur","usd"],countries:yt,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:d("E","#C8102E","#FFFFFF")},giropay:{displayName:"Giropay",currencies:["eur"],countries:["DE"],theme:d("G","#0F4197","#FFFFFF")},ideal:{displayName:"iDEAL",currencies:["eur"],countries:["NL"],theme:d("i","#CC0066","#FFFFFF")},konbini:{displayName:"Konbini",currencies:["jpy"],countries:["JP"]},kr_card:{displayName:"Korean Card",currencies:["krw"],countries:["KR"],theme:d("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:d("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:d("\u20AC","#10298E","#FFFFFF","#3056D3")},sofort:{displayName:"Sofort",currencies:["eur"],countries:["AT","BE","DE","ES","IT","NL"],theme:d("S","#EF809F","#FFFFFF")},upi:{displayName:"UPI",currencies:["inr"],countries:["IN"],theme:d("U","#FF7909","#FFFFFF")},us_bank_account:{displayName:"US Bank Account",currencies:["usd"],countries:["US"]},wechat_pay:{displayName:"WeChat Pay",currencies:["usd","cny"],theme:d("W","#07C160","#FFFFFF")},zip:{displayName:"Zip",currencies:["aud"],countries:["AU","NZ"]}};function gt(e){return z.includes(e)}var ue=Object.entries(y).filter(([,e])=>e.express).map(([e])=>e),Et=new Set(ue),ce=Object.fromEntries(Object.entries(y).map(([e,t])=>[e,t.currencies])),de=Object.fromEntries(Object.entries(y).filter(([,e])=>e.countries).map(([e,t])=>[e,t.countries]));function ft(e){return e?y[e]?.displayName??e.split("_").filter(Boolean).map(t=>t[0].toUpperCase()+t.slice(1)).join(" "):"this method"}function Ct(e){return y[e]?.needsExplicitConfirm!==!1}function Tt(e,t){let r=y[e]?.theme;return r?(typeof t=="string"&&t.endsWith("-dark")?r.dark:r.light)??r.light??null:null}function bt(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toLowerCase();return r?e.filter(n=>{let o=ce[n];return o?o.includes("*")||o.includes(r):!0}):[...e]}function ht(e,t){if(!e||e.length===0)return[];if(!t)return[...e];let r=t.trim().toUpperCase();return r?e.filter(n=>{let o=de[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 St(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 xt(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(Et.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 At=["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}},B={currency:"USD",symbol:"$",country:"United States",countryCode:"US",tax:0};function _t(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 Ft=new Intl.DisplayNames(["en"],{type:"region"});function It(e){return[...e.toUpperCase()].map(t=>String.fromCodePoint(127397+t.charCodeAt(0))).join("")}var pe=["US","GB","CA","AU","NZ","IE","DE","FR"],Pt=["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:Ft.of(e)??e,flag:It(e)}}var Rt=new Set(pe),kt=Pt.filter(e=>!Rt.has(e)),me=[...pe.map(W),...kt.map(W)];function Mt(e){return me.find(t=>t.code===e)}var Nt={country:!0,postal_code:!0};function ye(e){return e===!0?Nt:e||null}function Lt(e,t){if(!e)return!1;if(e===!0)return!0;let r=t.trim().toUpperCase();return e.some(n=>n.trim().toUpperCase()===r)}function Bt(e){let t=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 Ot(e){switch(e.toUpperCase()){case"US":return ge;case"CA":return Ee;default:return null}}function vt(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 Dt(e,t={}){let r=[],n=e.products??[],o=n.filter(s=>s.type==="subscription"),i=n.filter(s=>s.type!=="subscription"),p=(A(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),Le=r.reduce((s,m)=>s+m.price*m.quantity,0),Be=typeof e.totalAmount=="number"&&Number.isFinite(e.totalAmount),Oe=typeof e.subtotalAmount=="number"&&Number.isFinite(e.subtotalAmount),ve=typeof e.discountAmount=="number"&&Number.isFinite(e.discountAmount),G=Be?e.totalAmount:Le,E=Oe?e.subtotalAmount:Ne,Y=Math.max(0,E-G),De=E>0?Math.round(Y/E*100):0;return{items:r,currency:p,total:G,originalTotal:E,totalSave:Y,discountPercent:De,...ve?{couponDiscount:e.discountAmount}:{}}}import*as Ut from"validator/lib/isEmail.js";var O=Ut,fe=typeof O.default=="function"?O.default:O.default?.default;if(typeof fe!="function")throw new Error("validator/lib/isEmail.js interop failed: unexpected module shape. This likely means the bundler's CJS/ESM interop changed.");function wt(e){return typeof e=="string"&&e.length>0&&fe(e)}var Vt="Idempotency-Key",v=255,Gt="IdempotencyKeyInProgress";function Yt(){let e=globalThis.crypto;if(e&&(typeof e.randomUUID=="function"||typeof e.getRandomValues=="function"))return e}function Ce(){let e=Yt();if(!e)return;if(typeof e.randomUUID=="function")return e.randomUUID();if(typeof e.getRandomValues!="function")return;let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function Kt(e){if(e===void 0)return Ce();if(typeof e!="string"||e.trim()==="")throw new c("idempotencyKey must be a non-empty string identifying exactly one checkout creation.","validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});if(e.length>v)throw new c(`idempotencyKey must be at most ${v} characters.`,"validation_error",{code:"InvalidIdempotencyKey",param:"idempotencyKey"});return e}var zt=1,Ht=[{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 qt=[[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"]],Wt={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 jt(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 qt)if(r>=n&&r<=o)return i;return null}function Zt(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 Wt[r]??null}function Xt(e,t){if(!e||!t)return null;let r=e.trim().toUpperCase(),n=t.trim();if(!n)return null;switch(r){case"US":return jt(n);case"CA":return Zt(n);default:return null}}import*as $t from"validator/lib/isPostalCode.js";var T=$t,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 be=new Set(T.locales.map(e=>e.toUpperCase())),Jt={AUSTRALIA:"AU",BRAZIL:"BR",CANADA:"CA",CH:"CH",DENMARK:"DK",DE:"DE",DEUTSCHLAND:"DE",FRANCE:"FR",GB:"GB",GERMANY:"DE",GREATBRITAIN:"GB",GREAT_BRITAIN:"GB",INDIA:"IN",IRELAND:"IE",ITALY:"IT",JAPAN:"JP",MEXICO:"MX",NETHERLANDS:"NL",NEWZEALAND:"NZ",NORWAY:"NO",POLAND:"PL",PORTUGAL:"PT",SINGAPORE:"SG",SOUTHAFRICA:"ZA",SPAIN:"ES",SWEDEN:"SE",SWITZERLAND:"CH",UK:"GB",UNITEDKINGDOM:"GB",UNITEDSTATES:"US",US:"US",USA:"US","UNITED STATES":"US","UNITED KINGDOM":"GB","GREAT BRITAIN":"GB",ENGLAND:"GB"};function D(e){let t=(e??"").trim().toUpperCase();return t?t.length===2?t:Jt[t]??null:null}var Qt={AU:"2000",BR:"01000-000",CA:"A1A 1A1",CH:"8001",DE:"10115",DK:"1050",ES:"28001",FR:"75008",GB:"SW1A 1AA",IE:"D02 X285",IN:"110001",IT:"00118",JP:"100-0001",MX:"06500",NL:"1012 JS",NO:"0150",NZ:"6011",PL:"00-001",PT:"1100-148",SE:"111 22",SG:"018989",US:"12345 or 12345-6789",ZA:"8001"};function er(e){let t=D(e);return t!==null&&be.has(t)}function tr(e,t){let r=(t??"").trim();if(!r)return!0;let n=D(e);if(n===null||!be.has(n))return!0;try{return Te(r,n)}catch{return!0}}function rr(e){let t=D(e);return t?Qt[t]:void 0}var nr=/(?:^|\/)dahlia\/stripe\.js(?:$|[?#])/i,or=/^dahlia\/stripe$/i,ar=/^(?:chrome|moz|safari-web)-extension:\/\//i,ir=/^@flopay(?:\/|$)/i;function he(e){return nr.test(e)||ar.test(e)}function sr(e){let t=[e.filename,e.abs_path].filter(r=>r!==void 0&&r!=="<anonymous>");return e.module!==void 0&&ir.test(e.module)||t.some(r=>!he(r))?"first-party":e.module!==void 0&&or.test(e.module)||t.some(he)?"third-party-hosted":t.length===0?"injected":"first-party"}function ur(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(sr);return!n.includes("first-party")&&n.includes("third-party-hosted")?null:e}var cr=1,Se=["@flopay/shared","@flopay/js","@flopay/react"],dr=32768,lr=20,pr=["stripe","paypal"],mr=["card","wallet","paypal","apm","saved","unknown"],yr=["apple_pay","google_pay"],gr=["watchdog_expired","resolved","rejected","returned_error","resolved_late","rejected_late","returned_error_late"],Er=["none","facebook","instagram","tiktok","generic_webview","other_in_app"],fr=["unknown","available","blocked"],Cr=["popup","app_switch","redirect"],Tr=["approved","cancelled","provider_declined","popup_blocked","provider_error","overlay_timeout"],br=["callback","sdk_initialize","checkout_mount","session_create","session_shell","session_claim","session_read","session_first_byte","session_complete","checkout_data_ready","checkout_render","provider_load","provider_ready","provider_confirmation","overlay_open","overlay_return","redirect","redirect_resume","vault_request","vault_mount","vault_ready","vault_submit","tokenization","three_ds_handoff","three_ds_return","processing","recovery","completion","unmount","total_journey"],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"],_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"],hr=["session_create","session_claim","session_read","intent_create","process_payment","vault_capture","account_snapshot","provider_sdk","other"],Sr=["2xx","3xx","4xx","5xx","network_error","timeout","unknown"],xr=["full","auto","confirm","setup","unknown"],Ar=["embedded","buttons","automatic","unknown"],_r=["machine","buyer","total"],Fr=["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,Ir=/^\d{1,4}\.\d{1,4}\.\d{1,4}(?:-[0-9A-Za-z.-]{1,32})?$/,Pr=new Set(xe),Rr=new Set(Ae),b=new Set(br),kr=new Set(pr),Mr=new Set(mr),Nr=new Set(yr),Lr=new Set(gr),Br=new Set(Er),Or=new Set(fr),vr=new Set(Cr),Dr=new Set(Tr),Ur=new Set(_e),wr=new Set(xr),Vr=new Set(Ar),Gr=new Set(hr),Yr=new Set(Sr),Kr=new Set(_r),zr=new Set(Fr),Hr=new Set(Se),Fe=12e4;function l(e,t,r){return typeof e=="string"&&t.has(e)?e:r}function qr(){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:qr()}function Wr(e){return typeof e=="string"&&U.test(e)?e:void 0}function jr(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=100?e:void 0}function h(e){return Number.isSafeInteger(e)&&e>=0?Math.min(e,1e6):0}function Ie(e){return!Number.isFinite(e)||e<0?0:Math.min(Math.round(e),Fe)}function Zr(e){return Number.isFinite(e)&&e>Fe}function S(e,t){let r=jr(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,Yr,"unknown")),t.requestCategory&&(e.requestCategory=l(t.requestCategory,Gr,"other")),t.paymentMethodCategory&&(e.paymentMethodCategory=l(t.paymentMethodCategory,Mr,"unknown")),t.walletType&&Nr.has(t.walletType)&&(e.walletType=t.walletType),t.operationOutcome&&Lr.has(t.operationOutcome)&&(e.operationOutcome=t.operationOutcome),t.checkoutMode&&(e.checkoutMode=l(t.checkoutMode,wr,"unknown")),t.layout&&(e.layout=l(t.layout,Vr,"unknown")),typeof t.inAppBrowser=="boolean"&&(e.inAppBrowser=t.inAppBrowser),t.appFamily&&Br.has(t.appFamily)&&(e.appFamily=t.appFamily),t.popupCapability&&Or.has(t.popupCapability)&&(e.popupCapability=t.popupCapability),t.presentationMode&&vr.has(t.presentationMode)&&(e.presentationMode=t.presentationMode),t.terminalReason&&Dr.has(t.terminalReason)&&(e.terminalReason=t.terminalReason),e}function Pe(e){let t=S({eventId:g(e.eventId),class:"technical_error",code:l(e.errorCode,Pr,"INTERNAL_SDK_ERROR"),stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence)},e);if(e.failureCategory&&Rr.has(e.failureCategory)&&(t.failureCategory=e.failureCategory),e.stage!=="provider_confirmation"){let r=Wr(e.checkoutSessionId);r&&(t.checkoutSessionId=r)}return e.durationMs!==void 0&&(t.durationMs=Ie(e.durationMs)),t}function Re(e){return S({eventId:g(e.eventId),class:"lifecycle",name:l(e.name,Ur,"operation.retry"),stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence)},e)}function ke(e){let t={...e,stage:e.stage??"completion"};return S({eventId:g(e.eventId),class:"expected_outcome",outcome:l(e.outcome,zr,"customer_abandoned"),stage:l(e.stage,b,"completion"),sequence:h(e.sequence)},t)}function Me(e){let t=S({eventId:g(e.eventId),class:"performance",stage:l(e.stage,b,"sdk_initialize"),sequence:h(e.sequence),durationMs:Ie(e.durationMs),durationMode:l(e.durationMode,Kr,"machine")},e);return(e.durationTruncated===!0||Zr(e.durationMs))&&(t.durationTruncated=!0),t}function Xr(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"?[ke(o)]:o.class==="performance"?[Me(o)]:[]),n={schemaVersion:1,batchId:g(t.batchId),correlationId:g(t.correlationId),sdk:{package:l(t.sdkPackage,Hr,"@flopay/shared"),version:Ir.test(t.sdkVersion)?t.sdkVersion:"0.0.0"},events:r};return JSON.stringify(n)}var $r=new Set(["InvalidCheckoutSessionResponse","InvalidPaymentProcessResponse","InvalidSessionIntentResponse"]);function Jr(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 Qr(e,t,r="network_error"){if(e instanceof SyntaxError)return{errorCode:t,statusClass:"unknown",failureCategory:"invalid_response"};if(e instanceof c&&e.code!==void 0&&$r.has(e.code))return{errorCode:t,statusClass:w(e.statusCode,"unknown"),failureCategory:"invalid_response"};if(e instanceof Error&&(e.name==="AbortError"||e instanceof c&&e.code==="checkout_processing_timeout"))return{errorCode:"REQUEST_TIMEOUT",statusClass:"timeout",failureCategory:"transport_error"};if(e instanceof TypeError||e instanceof c&&e.type==="network_error")return{errorCode:"NETWORK_REQUEST_FAILED",statusClass:"network_error",failureCategory:"transport_error"};let n=w(e instanceof c?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 en(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 tn(e){return typeof e=="string"&&V.test(e)}function rn(){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 nn(e){return L[e.toUpperCase()]??B}function on(e){return/^pk_(test|live)_[A-Za-z0-9]+$/.test(e)}function an(e){return/^sk_(test|live)_[A-Za-z0-9]+$/.test(e)}function sn(e){return typeof e=="string"&&e.startsWith("seti_")}function un(...e){return/^\s*card\s+holder\s+name\s*$/i.test(e.join(" "))}export{at 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,R as BUTTONS_LAYOUT_BOLD_LIGHT,ae as BUTTONS_LAYOUT_DARK,re as BUTTONS_LAYOUT_DEFAULT,N as BUTTONS_LAYOUT_GLASS_DARK,M as BUTTONS_LAYOUT_GLASS_LIGHT,ne as BUTTONS_LAYOUT_MINIMAL,P as BUTTONS_LAYOUT_MODERN_DARK,I as BUTTONS_LAYOUT_MODERN_LIGHT,oe as BUTTONS_LAYOUT_ROUNDED,Ee as CA_PROVINCES,me as COUNTRY_OPTIONS,L as CURRENCY_MAP,ot as DEFAULT_API_BASE_URL,st as DEFAULT_API_VERSION,Z as DEFAULT_APPEARANCE,B as DEFAULT_CURRENCY,ut as FLAT_APPEARANCE,Ht as FLO_INSTRUMENT_CATALOG,zt as FLO_INSTRUMENT_SCHEMA_VERSION,rt as FLO_SDK_VERSION_HEADER,c as FloPayError,te as GLASS_DARK_APPEARANCE,ee as GLASS_LIGHT_APPEARANCE,Gt as IDEMPOTENCY_IN_PROGRESS_CODE,Vt as IDEMPOTENCY_KEY_HEADER,v as MAX_IDEMPOTENCY_KEY_LENGTH,$ as MODERN_DARK_APPEARANCE,X as MODERN_LIGHT_APPEARANCE,ct as NIGHT_APPEARANCE,nt as PAYPAL_VAULTED_PAYMENT_METHOD_TYPE,tt as SDK_VERSION,ue as STRIPE_EXPRESS_METHODS,le as STRIPE_METHOD_AMOUNT_LIMITS,de as STRIPE_METHOD_COUNTRIES,ce as STRIPE_METHOD_CURRENCIES,y as STRIPE_METHOD_MATRIX,At as SUPPORTED_CARD_BRANDS,xe as TELEMETRY_ERROR_CODES,Ae as TELEMETRY_FAILURE_CATEGORIES,_e as TELEMETRY_LOG_NAMES,dr as TELEMETRY_MAX_BATCH_BYTES,lr as TELEMETRY_MAX_BATCH_EVENTS,cr as TELEMETRY_SCHEMA_VERSION,Se as TELEMETRY_SDK_PACKAGES,ie as THEMES,ge as US_STATES,V as UUID_V4,Ke as apiError,We as assertCaptureMethodEligible,ze as authenticationError,Dt as buildCheckoutDisplayData,Xe as buildItemPayload,Ze as buildProductPayload,$e as buildSubscriptionPayload,Pe as buildTelemetryErrorEvent,Re as buildTelemetryLogEvent,Me as buildTelemetryPerformanceEvent,ke as buildTelemetryTerminalEvent,Jr as classifyPaymentRejection,Qr as classifyTelemetryFailure,Qe as configureFlopay,ur as dropThirdPartyOnlyError,St as filterStripeMethodsByAmount,ht as filterStripeMethodsByCountry,bt as filterStripeMethodsByCurrency,K as foldIntoProducts,Ce as generateIdempotencyKey,F as getConfiguredBillingApiUrl,Mt as getCountryByCode,nn as getCurrencyByCountry,et as getFloPayEnvironment,rr as getPostalCodeExample,_t as getPostalCodeLabel,Xt as getStateFromPostalCode,vt as getStateLabel,Ot as getStateOptions,ft as getStripeMethodDisplayName,gt as hasVendoredStripeMethodLogo,Bt as isAVSEnabled,Lt as isAVSFieldVisible,we as isAuthorizationOnlySession,un as isCardHolderNamePlaceholder,Ue as isCardSetupCheckoutSession,je as isDetachedSessionEligible,Ve as isMoneySettledOutcome,er as isPostalCodeSupported,sn as isSetupIntentClientSecret,tn as isUuidV4,wt as isValidEmail,tr as isValidPostalCode,on as isValidPublishableKey,an as isValidSecretKey,Ct as needsStripeMethodExplicitConfirm,qe as networkError,Ge as normalizeCheckoutFailureOutcome,en as normalizeGatewayEnvironment,xt as partitionStripeMethods,rn as randomUuidV4,He as rateLimitError,ye as resolveAVSConfig,it as resolveBillingApiUrl,dt as resolveButtonsLayoutTheme,Kt as resolveIdempotencyKey,A as resolveSessionCurrency,Tt as resolveStripeMethodBrandVariant,lt as resolveTheme,Xr as serializeTelemetryBatch,pt as stripeExpressMethodToOptionKey,w as telemetryStatusClass,Ye as validationError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flopay/shared",
3
- "version": "1.9.14",
3
+ "version": "1.9.16",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {