@vue-stripe/vue-stripe 5.2.0 → 5.3.0

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.
@@ -71,6 +71,32 @@ export interface VueStripeElementsProps {
71
71
  */
72
72
  options?: StripeElementsOptions | undefined;
73
73
  }
74
+ /**
75
+ * Props for VueStripePricingTable component.
76
+ * Used to embed a Stripe pricing table for subscription products.
77
+ */
78
+ export interface VueStripePricingTableProps {
79
+ /**
80
+ * The ID of the pricing table to display.
81
+ * Found in Stripe Dashboard under Product Catalog > Pricing tables.
82
+ */
83
+ pricingTableId: string;
84
+ /**
85
+ * Pre-fill the customer's email address in checkout.
86
+ * Useful when you already know the customer's email.
87
+ */
88
+ customerEmail?: string;
89
+ /**
90
+ * Client secret from a Customer Session API response.
91
+ * Use this to allow existing customers to access their saved payment methods.
92
+ */
93
+ customerSessionClientSecret?: string;
94
+ /**
95
+ * A reference ID for the checkout session.
96
+ * Useful for reconciling checkout sessions with your internal systems.
97
+ */
98
+ clientReferenceId?: string;
99
+ }
74
100
  export interface VueStripeElementEvents {
75
101
  ready: (element: StripeElement) => void;
76
102
  change: (event: StripeElementChangeEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAGnC,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAI1B,YAAY,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EAEpB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAE5B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,0CAA0C,EAC1C,wCAAwC,EACxC,sCAAsC,EACvC,MAAM,mBAAmB,CAAA;AAG1B,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;CAC5C;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAGD,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,CAAA;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAA;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ,CAAA;AAEtE,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC/C;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACzC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;CAC5C;AAGD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IACvC,MAAM,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAA;CAClD;AAGD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAC9C;;;;OAIG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC3C,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAChE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,mBAAmB,CAAC,EAAE;YACpB,eAAe,CAAC,EAAE;gBAChB,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,KAAK,CAAC,EAAE,MAAM,CAAA;gBACd,KAAK,CAAC,EAAE,MAAM,CAAA;gBACd,OAAO,CAAC,EAAE;oBACR,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAGD,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,KAAK,GACL,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,QAAQ,GACR,QAAQ,GACR,KAAK,CAAA;AAGT,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,YAAY,GACZ,MAAM,CAAA;AAGV,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,13 @@ export interface StripeElementsInstance {
10
10
  loading: Ref<boolean>;
11
11
  error: Ref<string | null>;
12
12
  }
13
+ export interface VueStripeConfig {
14
+ publishableKey: string;
15
+ stripeAccount?: string | undefined;
16
+ apiVersion?: string | undefined;
17
+ locale?: string | undefined;
18
+ }
13
19
  export declare const stripeInjectionKey: InjectionKey<StripeInstance>;
14
20
  export declare const stripeElementsInjectionKey: InjectionKey<StripeElementsInstance>;
21
+ export declare const stripeConfigInjectionKey: InjectionKey<VueStripeConfig>;
15
22
  //# sourceMappingURL=injection-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"injection-keys.d.ts","sourceRoot":"","sources":["../../../src/utils/injection-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAAoB,CAAC;AACjF,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,sBAAsB,CAA6B,CAAC"}
1
+ {"version":3,"file":"injection-keys.d.ts","sourceRoot":"","sources":["../../../src/utils/injection-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAAoB,CAAC;AACjF,eAAO,MAAM,0BAA0B,EAAE,YAAY,CAAC,sBAAsB,CAA6B,CAAC;AAC1G,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,eAAe,CAA+B,CAAC"}
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(m,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("@stripe/stripe-js"),require("vue-demi")):typeof define=="function"&&define.amd?define(["exports","@stripe/stripe-js","vue-demi"],g):(m=typeof globalThis<"u"?globalThis:m||self,g(m.VueStripe={},m.Stripe,m.VueDemi))})(this,(function(m,g,e){"use strict";const S=Symbol("stripe"),v=Symbol("stripe-elements");class h extends Error{constructor(s){super(s),this.name="VueStripeProviderError"}}class E extends Error{constructor(s){super(s),this.name="VueStripeElementsError"}}class w extends Error{constructor(s){super(s),this.name="VueStripeLoadError"}}function M(u,s){switch(u){case"provider":return new h(s);case"elements":return new E(s);case"load":return new w(s);default:return new Error(s)}}const C={name:"vue-stripe",version:"5.2.0",url:"https://vuestripe.com",partner_id:"pp_partner_IqtOXpBSuz0IE2"},T={key:0,class:"vue-stripe-error"},U={class:"vue-stripe-error-message"},R={key:1,class:"vue-stripe-loading"},A={key:2},j=e.defineComponent({__name:"VueStripeProvider",props:{publishableKey:{},stripeKey:{},stripeAccount:{},apiVersion:{},locale:{},options:{}},emits:["load","error"],setup(u,{emit:s}){const i=u,c=s,l=e.ref(null),o=e.ref(!0),t=e.ref(null),n=i.publishableKey||i.stripeKey;if(!n)throw new h("publishableKey or stripeKey is required");const a={publishableKey:n,stripeAccount:i.stripeAccount||i.options?.stripeAccount,apiVersion:i.apiVersion||i.options?.apiVersion,locale:i.locale||i.options?.locale},p=async()=>{try{o.value=!0,t.value=null;const f={},r=i.stripeAccount||i.options?.stripeAccount,d=i.apiVersion||i.options?.apiVersion,y=i.locale||i.options?.locale;if(r&&(f.stripeAccount=r),d&&(f.apiVersion=d),y&&(f.locale=y),l.value=await g.loadStripe(n,f),!l.value)throw new h("Failed to initialize Stripe");l.value.registerAppInfo(C),c("load",l.value)}catch(f){const r=f instanceof Error?f.message:"Failed to load Stripe";t.value=r,console.error("[Vue Stripe] Initialization error:",r),c("error",f instanceof Error?f:new Error(r))}finally{o.value=!1}};return e.onMounted(()=>{p()}),e.provide("vue-stripe-config",a),e.provide(S,{stripe:l,loading:o,error:t}),(f,r)=>e.unref(t)?(e.openBlock(),e.createElementBlock("div",T,[e.renderSlot(f.$slots,"error",{error:e.unref(t)},()=>[e.createElementVNode("div",U,e.toDisplayString(e.unref(t)),1)],!0)])):e.unref(o)?(e.openBlock(),e.createElementBlock("div",R,[e.renderSlot(f.$slots,"loading",{},()=>[r[0]||(r[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading Stripe... ",-1))],!0)])):(e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(f.$slots,"default",{},void 0,!0)]))}}),k=(u,s)=>{const i=u.__vccOpts||u;for(const[c,l]of s)i[c]=l;return i},L=k(j,[["__scopeId","data-v-ce126b08"]]),z={key:0,class:"vue-stripe-elements-error"},F={class:"vue-stripe-error-message"},x={key:1,class:"vue-stripe-elements-loading"},K={key:2},q=k(e.defineComponent({__name:"VueStripeElements",props:{clientSecret:{},mode:{},currency:{},amount:{},setupFutureUsage:{},captureMethod:{},paymentMethodTypes:{},options:{}},setup(u){const s=u,i=e.inject(S);if(!i)throw new h("VueStripeElements must be used within VueStripeProvider");const c=e.ref(null),l=e.ref(!0),o=e.ref(null),t=()=>{if(!i.stripe.value){o.value="Stripe instance not available",l.value=!1;return}try{o.value=null,l.value=!0;const n={...s.options};s.clientSecret&&(n.clientSecret=s.clientSecret),s.mode&&(n.mode=s.mode),s.currency&&(n.currency=s.currency),s.amount!==void 0&&(n.amount=s.amount),s.setupFutureUsage&&(n.setupFutureUsage=s.setupFutureUsage),s.captureMethod&&(n.captureMethod=s.captureMethod),s.paymentMethodTypes&&(n.paymentMethodTypes=s.paymentMethodTypes),c.value=i.stripe.value.elements(n),l.value=!1}catch(n){const a=n instanceof Error?n.message:"Failed to create elements";o.value=a,l.value=!1,console.error("[Vue Stripe] Elements creation error:",a)}};return e.watch(()=>i.stripe.value,n=>{n&&!c.value&&t()},{immediate:!0}),e.watch(()=>s.clientSecret,()=>{i.stripe.value&&t()}),e.watch(()=>[s.mode,s.currency,s.amount,s.setupFutureUsage],()=>{i.stripe.value&&t()}),e.onMounted(()=>{i.stripe.value&&!c.value&&t()}),e.provide(v,{elements:c,loading:l,error:o}),(n,a)=>e.unref(o)?(e.openBlock(),e.createElementBlock("div",z,[e.renderSlot(n.$slots,"error",{error:e.unref(o)},()=>[e.createElementVNode("div",F,e.toDisplayString(e.unref(o)),1)],!0)])):e.unref(l)?(e.openBlock(),e.createElementBlock("div",x,[e.renderSlot(n.$slots,"loading",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Initializing Elements... ",-1))],!0)])):(e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(n.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-478abfa3"]]),O={class:"vue-stripe-payment-element"},W={key:0,class:"vue-stripe-payment-element-error"},X={class:"vue-stripe-error-message"},G={key:1,class:"vue-stripe-payment-element-loader"},H=k(e.defineComponent({__name:"VueStripePaymentElement",props:{options:{}},emits:["ready","change","focus","blur","escape","loaderstart","loaderstop"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripePaymentElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("payment",c.options),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",d=>{l("change",d)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")});const r=t.value;r.on("loaderstart",()=>{l("loaderstart")}),r.on("loaderstop",()=>{l("loaderstop")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create payment element";a.value=d,n.value=!1,console.error("[Vue Stripe] Payment element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a}),(r,d)=>(e.openBlock(),e.createElementBlock("div",O,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",W,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",X,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-payment-element-mount",{"vue-stripe-payment-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",G,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading payment form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2477e9df"]]),Q={class:"vue-stripe-express-checkout-element"},Y={key:0,class:"vue-stripe-express-checkout-element-error"},Z={class:"vue-stripe-error-message"},J={key:1,class:"vue-stripe-express-checkout-element-loader"},D=k(e.defineComponent({__name:"VueStripeExpressCheckoutElement",props:{options:{}},emits:["ready","click","confirm","cancel","shippingaddresschange","shippingratechange"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeExpressCheckoutElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("expressCheckout",c.options),t.value.on("ready",r=>{n.value=!1,l("ready",r)}),t.value.on("click",r=>{l("click",r)}),t.value.on("confirm",r=>{l("confirm",r)}),t.value.on("cancel",()=>{l("cancel")}),t.value.on("shippingaddresschange",r=>{l("shippingaddresschange",r)}),t.value.on("shippingratechange",r=>{l("shippingratechange",r)}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create express checkout element";a.value=d,n.value=!1,console.error("[Vue Stripe] Express checkout element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a}),(r,d)=>(e.openBlock(),e.createElementBlock("div",Q,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Y,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",Z,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-express-checkout-element-mount",{"vue-stripe-express-checkout-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",J,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading express checkout... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-20294cda"]]),ee={class:"vue-stripe-card-element"},te={key:0,class:"vue-stripe-card-element-error"},re={class:"vue-stripe-error-message"},ne={key:1,class:"vue-stripe-card-element-loader"},ae=k(e.defineComponent({__name:"VueStripeCardElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeCardElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("card",c.options),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,l("change",r)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create card element";a.value=d,n.value=!1,console.error("[Vue Stripe] Card element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",ee,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",te,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",re,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-card-element-mount",{"vue-stripe-card-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading card form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-a41a7ee5"]]);function b({elementType:u,componentName:s}){return e.defineComponent({name:s,props:{options:{type:Object,default:()=>({})}},emits:["ready","change","focus","blur","escape"],setup(i,{emit:c,expose:l}){const o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E(`${s} must be used within VueStripeElements`);const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0;const r=p.elements.value.create(u,i.options);t.value=r,r.on("ready",()=>{n.value=!1,c("ready",t.value)}),r.on("change",d=>{const y=d;y.error?a.value=y.error.message:a.value=null,c("change",y)}),r.on("focus",()=>{c("focus")}),r.on("blur",()=>{c("blur")}),r.on("escape",()=>{c("escape")}),r.mount(o.value)}catch(r){const d=r instanceof Error?r.message:`Failed to create ${u} element`;a.value=d,n.value=!1,console.error(`[Vue Stripe] ${s} creation error:`,d)}};return e.watch(()=>i.options,r=>{t.value?.update&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),l({element:t,loading:n,error:a,focus:()=>{t.value?.focus?.()},blur:()=>{t.value?.blur?.()},clear:()=>{t.value?.clear?.()}}),()=>{const r=`vue-stripe-${u}-element`;return e.h("div",{class:r},[a.value&&e.h("div",{class:`${r}-error`},[e.h("div",{class:"vue-stripe-error-message"},a.value)]),e.h("div",{ref:o,class:{[`${r}-mount`]:!0,[`${r}-loading`]:n.value}}),n.value&&e.h("div",{class:`${r}-loader`},[e.h("div",{class:"vue-stripe-loading-message"},`Loading ${u}...`)])])}}})}const le=b({elementType:"cardNumber",componentName:"VueStripeCardNumberElement"}),oe=b({elementType:"cardExpiry",componentName:"VueStripeCardExpiryElement"}),se=b({elementType:"cardCvc",componentName:"VueStripeCardCvcElement"}),ce=k(e.defineComponent({__name:"VueStripeLinkAuthenticationElement",props:{options:{}},emits:["ready","change"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.inject(v);if(!o)throw new E("VueStripeLinkAuthenticationElement must be used within VueStripeElements");const t=e.ref(),n=e.ref(null),a=()=>{if(!(!o.elements?.value||!t.value))try{n.value=o.elements?.value.create("linkAuthentication",c.options),n.value.mount(t.value),n.value.on("ready",()=>{n.value&&l("ready",n.value)}),n.value.on("change",f=>{l("change",f)})}catch(f){console.error("[Vue Stripe] Link authentication element creation error:",f)}},p=()=>{n.value&&(n.value.unmount(),n.value.destroy(),n.value=null)};return e.watch(()=>o.elements?.value,f=>{f&&t.value&&!n.value&&a()},{immediate:!0}),e.watch(()=>c.options,f=>{n.value&&f&&typeof n.value.update=="function"&&n.value.update(f)},{deep:!0}),e.onMounted(()=>{o.elements?.value&&t.value&&a()}),e.onUnmounted(()=>{p()}),s({element:n,focus:()=>n.value?.focus(),blur:()=>n.value?.blur(),clear:()=>n.value?.clear()}),(f,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elementRef",ref:t,class:"vue-stripe-link-auth-element"},null,512))}}),[["__scopeId","data-v-b79076eb"]]),ue=e.defineComponent({name:"VueStripeAddressElement",props:{options:{type:Object,default:()=>({mode:"shipping"})}},emits:["ready","change","blur","focus","escape","loadError"],setup(u,{emit:s,expose:i}){const c=e.ref(),l=e.ref(null),o=e.inject(v);if(!o)throw new E("VueStripeAddressElement must be used within VueStripeElements");const t=()=>{s("ready")},n=V=>{s("change",V)},a=()=>{s("blur")},p=()=>{s("focus")},f=()=>{s("escape")},r=V=>{s("loadError",V)},d=()=>{!o.elements.value||!c.value||(l.value=o.elements.value.create("address",u.options),l.value.mount(c.value),l.value.on("ready",t),l.value.on("change",n),l.value.on("blur",a),l.value.on("focus",p),l.value.on("escape",f),l.value.on("loaderror",r))},y=()=>{l.value&&l.value.update(u.options)},Le=()=>{l.value&&(l.value.off("ready",t),l.value.off("change",n),l.value.off("blur",a),l.value.off("focus",p),l.value.off("escape",f),l.value.off("loaderror",r),l.value.destroy(),l.value=null)},I=async()=>{if(!l.value)throw new E("Address element not mounted");return l.value.getValue()},N=()=>{l.value?.focus()},P=()=>{l.value?.clear()};return e.onMounted(()=>{d()}),e.onBeforeUnmount(()=>{Le()}),e.watch(()=>u.options,()=>{y()},{deep:!0}),i({element:l,getValue:I,focus:N,clear:P}),{addressRef:c,element:l,getValue:I,focus:N,clear:P}}}),ie={ref:"addressRef"};function de(u,s,i,c,l,o){return e.openBlock(),e.createElementBlock("div",ie,null,512)}const pe=k(ue,[["render",de]]),fe={class:"vue-stripe-iban-element"},me={key:0,class:"vue-stripe-iban-element-error"},he={class:"vue-stripe-error-message"},ve={key:1,class:"vue-stripe-iban-element-loader"},Ee=k(e.defineComponent({__name:"VueStripeIbanElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeIbanElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0;const r={supportedCountries:["SEPA"],...c.options};t.value=p.elements.value.create("iban",r),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",d=>{d.error?a.value=d.error.message:a.value=null,l("change",d)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create IBAN element";a.value=d,n.value=!1,console.error("[Vue Stripe] IBAN element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",fe,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",he,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-iban-element-mount",{"vue-stripe-iban-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",ve,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading IBAN form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f8ffb457"]]),ke={class:"vue-stripe-ideal-bank-element"},ye={key:0,class:"vue-stripe-ideal-bank-element-error"},ge={class:"vue-stripe-error-message"},Se={key:1,class:"vue-stripe-ideal-bank-element-loader"},be=k(e.defineComponent({__name:"VueStripeIdealBankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeIdealBankElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("idealBank",c.options),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,l("change",r)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create iDEAL bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] iDEAL bank element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",ke,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",ge,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-ideal-bank-element-mount",{"vue-stripe-ideal-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Se,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading iDEAL bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-3d7f7e08"]]),_e={class:"vue-stripe-p24-bank-element"},Ve={key:0,class:"vue-stripe-p24-bank-element-error"},we={class:"vue-stripe-error-message"},Ce={key:1,class:"vue-stripe-p24-bank-element-loader"},Be=k(e.defineComponent({__name:"VueStripeP24BankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeP24BankElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("p24Bank",c.options||{}),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,l("change",r)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create P24 bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] P24 bank element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",_e,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Ve,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",we,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-p24-bank-element-mount",{"vue-stripe-p24-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading Przelewy24 bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-29dc009e"]]),$e={class:"vue-stripe-eps-bank-element"},Ie={key:0,class:"vue-stripe-eps-bank-element-error"},Ne={class:"vue-stripe-error-message"},Pe={key:1,class:"vue-stripe-eps-bank-element-loader"},Me=k(e.defineComponent({__name:"VueStripeEpsBankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(u,{expose:s,emit:i}){const c=u,l=i,o=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),p=e.inject(v);if(!p)throw new E("VueStripeEpsBankElement must be used within VueStripeElements");const f=()=>{if(!p.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!o.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=p.elements.value.create("epsBank",c.options||{}),t.value.on("ready",()=>{n.value=!1,l("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,l("change",r)}),t.value.on("focus",()=>{l("focus")}),t.value.on("blur",()=>{l("blur")}),t.value.on("escape",()=>{l("escape")}),t.value.mount(o.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create EPS bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] EPS bank element creation error:",d)}};return e.watch(()=>c.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>p.elements.value,r=>{r&&o.value&&!t.value&&f()},{immediate:!0}),e.onMounted(()=>{p.elements.value&&o.value&&!t.value&&f()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),s({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",$e,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Ie,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",Ne,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:o,class:e.normalizeClass(["vue-stripe-eps-bank-element-mount",{"vue-stripe-eps-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Pe,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading EPS bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-27c62f72"]]);function _(){const u=e.inject(S);if(!u)throw new h("useStripe must be called within a VueStripeProvider component");return{stripe:e.readonly(u.stripe),loading:e.readonly(u.loading),error:e.readonly(u.error),initialize:async()=>{}}}const Te=["disabled"],Ue=k(e.defineComponent({__name:"VueStripeCheckout",props:{sessionId:{},sessionUrl:{},priceId:{},mode:{default:"payment"},successUrl:{},cancelUrl:{},customerEmail:{},clientReferenceId:{},submitType:{},buttonText:{default:"Checkout"},loadingText:{default:"Redirecting..."},disabled:{type:Boolean,default:!1},buttonClass:{default:"vue-stripe-checkout-button"}},emits:["checkout","success","error","before-redirect"],setup(u,{expose:s,emit:i}){const c=u,l=i,{stripe:o}=_(),t=e.ref(!1),n=e.useSlots(),a=e.computed(()=>!!n.default),p=()=>o.value!==null&&typeof o.value.redirectToCheckout=="function",f=async()=>{t.value=!0,l("checkout");try{if(c.sessionUrl){l("before-redirect",{url:c.sessionUrl}),window.location.replace(c.sessionUrl),l("success");return}if(c.sessionId){if(!p())throw new h("redirectToCheckout is not available. This method was removed in @stripe/stripe-js v8.x. Use sessionUrl prop with the checkout session URL instead.");if(!o.value)throw new h("Stripe not initialized");const r=await o.value.redirectToCheckout({sessionId:c.sessionId});if(r.error)throw new h(r.error.message||"Redirect to checkout failed");l("success");return}if(c.priceId){if(!p())throw new h("Price-based checkout using redirectToCheckout is not available in @stripe/stripe-js v8.x. Create a Checkout Session on your server and use sessionUrl prop instead.");if(!o.value)throw new h("Stripe not initialized");console.warn("[Vue Stripe] Price-based checkout is deprecated in v8.x. Create a Checkout Session on your server and use sessionUrl prop instead.");const r=await o.value.redirectToCheckout({lineItems:[{price:c.priceId,quantity:1}],mode:c.mode,successUrl:c.successUrl||window.location.origin+"/success",cancelUrl:c.cancelUrl||window.location.origin+"/cancel",customerEmail:c.customerEmail,clientReferenceId:c.clientReferenceId,submitType:c.submitType});if(r.error)throw new h(r.error.message||"Redirect to checkout failed");l("success");return}throw new h("Either sessionUrl, sessionId, or priceId is required. For @stripe/stripe-js v8.x, use sessionUrl.")}catch(r){const d=r instanceof Error?r:new Error("Checkout failed");l("error",d),console.error("[Vue Stripe] Checkout error:",d)}finally{t.value=!1}};return s({checkout:f,loading:t}),(r,d)=>e.unref(a)?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:f,class:"vue-stripe-checkout-wrapper"},[e.renderSlot(r.$slots,"default",{checkout:f,loading:e.unref(t),disabled:u.disabled},void 0,!0)])):(e.openBlock(),e.createElementBlock("button",{key:1,disabled:e.unref(t)||u.disabled,class:e.normalizeClass(u.buttonClass),onClick:f},[e.unref(t)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d[0]||(d[0]=e.createElementVNode("span",{class:"vue-stripe-loading-spinner"},null,-1)),e.createTextVNode(" "+e.toDisplayString(u.loadingText),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(u.buttonText),1)],64))],10,Te))}}),[["__scopeId","data-v-639387e4"]]);function Re(){const u=e.inject(S),s=e.inject(v);if(!u)throw new h("usePaymentIntent must be called within a VueStripeProvider component");const i=e.ref(!1),c=e.ref(null);return{confirmPayment:async o=>{if(!u.stripe.value)return c.value="Stripe not initialized",{error:{message:"Stripe not initialized"}};i.value=!0,c.value=null;try{const t=o.elements??s?.elements.value;if(t&&!o.skipSubmit){const{error:a}=await t.submit();if(a)return c.value=a.message||"Form validation failed",{error:a}}const n=await u.stripe.value.confirmPayment({elements:t??void 0,clientSecret:o.clientSecret,confirmParams:o.confirmParams??{},redirect:o.redirect??"if_required"});return n.error&&(c.value=n.error.message||"Payment confirmation failed"),n}catch(t){const n=t instanceof Error?t.message:"Payment confirmation failed";return c.value=n,{error:{message:n}}}finally{i.value=!1}},loading:e.readonly(i),error:e.readonly(c)}}function Ae(){const u=e.inject(S),s=e.inject(v);if(!u)throw new h("useSetupIntent must be called within a VueStripeProvider component");const i=e.ref(!1),c=e.ref(null);return{confirmSetup:async o=>{if(!u.stripe.value)return c.value="Stripe not initialized",{error:{message:"Stripe not initialized"}};i.value=!0,c.value=null;try{const t=o.elements??s?.elements.value;if(t&&!o.skipSubmit){const{error:a}=await t.submit();if(a)return c.value=a.message||"Form validation failed",{error:a}}const n=await u.stripe.value.confirmSetup({elements:t??void 0,clientSecret:o.clientSecret,confirmParams:o.confirmParams??{},redirect:o.redirect??"if_required"});return n.error&&(c.value=n.error.message||"Setup confirmation failed"),n}catch(t){const n=t instanceof Error?t.message:"Setup confirmation failed";return c.value=n,{error:{message:n}}}finally{i.value=!1}},loading:e.readonly(i),error:e.readonly(c)}}function B(){const{stripe:u}=_(),s=e.ref(!1),i=e.ref(null),c=()=>u.value!==null&&typeof u.value.redirectToCheckout=="function";return{redirectToCheckout:async t=>{s.value=!0,i.value=null;try{if("url"in t&&t.url){window.location.replace(t.url);return}const n=t;if(!c())throw new h("redirectToCheckout is not available. This method was removed in @stripe/stripe-js v8.x. Create a Checkout Session on your server and use redirectToUrl() or pass { url } instead.");if(!u.value)throw new h("Stripe not initialized");console.warn("[Vue Stripe] Legacy redirectToCheckout is deprecated in @stripe/stripe-js v8.x. Use redirectToUrl() with a session URL from your server instead.");const a=await u.value.redirectToCheckout(n);if(a.error){const p=a.error.message||"Checkout redirect failed";throw i.value=p,new h(p)}}catch(n){const a=n instanceof Error?n.message:"Checkout redirect failed";throw i.value=a,n}finally{s.value=!1}},redirectToUrl:t=>{s.value=!0,i.value=null,window.location.replace(t)},loading:e.readonly(s),error:e.readonly(i)}}function $(){const u=e.inject(v);if(!u)throw new E("Elements context not found. Make sure to wrap your component with VueStripeElements.");const s=async()=>u.elements.value?u.elements.value.submit():{error:{message:"Elements not initialized"}};return{elements:e.readonly(u.elements),submit:s,loading:e.readonly(u.loading),error:e.readonly(u.error)}}function je(u){return{install(s){s.provide("vue-stripe-config",u);let i=null;s.provide("vue-stripe-global",{get stripe(){if(!i){const c={};u.stripeAccount&&(c.stripeAccount=u.stripeAccount),u.apiVersion&&(c.apiVersion=u.apiVersion),u.locale&&(c.locale=u.locale),i=g.loadStripe(u.publishableKey,c).then(l=>(l&&l.registerAppInfo(C),l))}return i}})}}}Object.defineProperty(m,"loadStripe",{enumerable:!0,get:()=>g.loadStripe}),m.VueStripeAddressElement=pe,m.VueStripeCardCvcElement=se,m.VueStripeCardElement=ae,m.VueStripeCardExpiryElement=oe,m.VueStripeCardNumberElement=le,m.VueStripeCheckout=Ue,m.VueStripeElements=q,m.VueStripeElementsError=E,m.VueStripeEpsBankElement=Me,m.VueStripeExpressCheckoutElement=D,m.VueStripeIbanElement=Ee,m.VueStripeIdealBankElement=be,m.VueStripeLinkAuthenticationElement=ce,m.VueStripeLoadError=w,m.VueStripeP24BankElement=Be,m.VueStripePaymentElement=H,m.VueStripeProvider=L,m.VueStripeProviderError=h,m.createVueStripe=je,m.createVueStripeError=M,m.useCheckout=B,m.useElements=$,m.usePaymentIntent=Re,m.useSetupIntent=Ae,m.useStripe=_,m.useStripeCheckout=B,m.useStripeElements=$,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(m,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("@stripe/stripe-js"),require("vue-demi")):typeof define=="function"&&define.amd?define(["exports","@stripe/stripe-js","vue-demi"],k):(m=typeof globalThis<"u"?globalThis:m||self,k(m.VueStripe={},m.Stripe,m.VueDemi))})(this,(function(m,k,e){"use strict";const S=Symbol("stripe"),v=Symbol("stripe-elements"),w=Symbol("vue-stripe-config");class h extends Error{constructor(f){super(f),this.name="VueStripeProviderError"}}class E extends Error{constructor(f){super(f),this.name="VueStripeElementsError"}}class C extends Error{constructor(f){super(f),this.name="VueStripeLoadError"}}function R(c,f){switch(c){case"provider":return new h(f);case"elements":return new E(f);case"load":return new C(f);default:return new Error(f)}}const $={name:"vue-stripe",version:"5.3.0",url:"https://vuestripe.com",partner_id:"pp_partner_IqtOXpBSuz0IE2"},U={key:0,class:"vue-stripe-error"},j={class:"vue-stripe-error-message"},A={key:1,class:"vue-stripe-loading"},L={key:2},F=e.defineComponent({__name:"VueStripeProvider",props:{publishableKey:{},stripeKey:{},stripeAccount:{},apiVersion:{},locale:{},options:{}},emits:["load","error"],setup(c,{emit:f}){const p=c,l=f,o=e.ref(null),s=e.ref(!0),t=e.ref(null),n=p.publishableKey||p.stripeKey;if(!n)throw new h("publishableKey or stripeKey is required");const a={publishableKey:n,stripeAccount:p.stripeAccount||p.options?.stripeAccount,apiVersion:p.apiVersion||p.options?.apiVersion,locale:p.locale||p.options?.locale},u=async()=>{try{s.value=!0,t.value=null;const i={},r=p.stripeAccount||p.options?.stripeAccount,d=p.apiVersion||p.options?.apiVersion,y=p.locale||p.options?.locale;if(r&&(i.stripeAccount=r),d&&(i.apiVersion=d),y&&(i.locale=y),o.value=await k.loadStripe(n,i),!o.value)throw new h("Failed to initialize Stripe");o.value.registerAppInfo($),l("load",o.value)}catch(i){const r=i instanceof Error?i.message:"Failed to load Stripe";t.value=r,console.error("[Vue Stripe] Initialization error:",r),l("error",i instanceof Error?i:new Error(r))}finally{s.value=!1}};return e.onMounted(()=>{u()}),e.provide(w,a),e.provide(S,{stripe:o,loading:s,error:t}),(i,r)=>e.unref(t)?(e.openBlock(),e.createElementBlock("div",U,[e.renderSlot(i.$slots,"error",{error:e.unref(t)},()=>[e.createElementVNode("div",j,e.toDisplayString(e.unref(t)),1)],!0)])):e.unref(s)?(e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(i.$slots,"loading",{},()=>[r[0]||(r[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading Stripe... ",-1))],!0)])):(e.openBlock(),e.createElementBlock("div",L,[e.renderSlot(i.$slots,"default",{},void 0,!0)]))}}),g=(c,f)=>{const p=c.__vccOpts||c;for(const[l,o]of f)p[l]=o;return p},z=g(F,[["__scopeId","data-v-573ddc51"]]),K={key:0,class:"vue-stripe-elements-error"},x={class:"vue-stripe-error-message"},q={key:1,class:"vue-stripe-elements-loading"},G={key:2},O=g(e.defineComponent({__name:"VueStripeElements",props:{clientSecret:{},mode:{},currency:{},amount:{},setupFutureUsage:{},captureMethod:{},paymentMethodTypes:{},options:{}},emits:["ready","error"],setup(c,{emit:f}){const p=f,l=c,o=e.inject(S);if(!o)throw new h("VueStripeElements must be used within VueStripeProvider");const s=e.ref(null),t=e.ref(!0),n=e.ref(null),a=()=>{if(!o.stripe.value){n.value="Stripe instance not available",t.value=!1;return}try{n.value=null,t.value=!0;const u={...l.options};l.clientSecret&&(u.clientSecret=l.clientSecret),l.mode&&(u.mode=l.mode),l.currency&&(u.currency=l.currency),l.amount!==void 0&&(u.amount=l.amount),l.setupFutureUsage&&(u.setupFutureUsage=l.setupFutureUsage),l.captureMethod&&(u.captureMethod=l.captureMethod),l.paymentMethodTypes&&(u.paymentMethodTypes=l.paymentMethodTypes),s.value=o.stripe.value.elements(u),t.value=!1,e.nextTick(()=>{p("ready",s.value)})}catch(u){const i=u instanceof Error?u.message:"Failed to create elements";n.value=i,t.value=!1,console.error("[Vue Stripe] Elements creation error:",i),p("error",i)}};return e.watch(()=>o.stripe.value,u=>{u&&!s.value&&a()},{immediate:!0}),e.watch(()=>l.clientSecret,()=>{o.stripe.value&&a()}),e.watch(()=>[l.mode,l.currency,l.amount,l.setupFutureUsage],()=>{o.stripe.value&&a()}),e.onMounted(()=>{o.stripe.value&&!s.value&&a()}),e.provide(v,{elements:s,loading:t,error:n}),(u,i)=>e.unref(n)?(e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(u.$slots,"error",{error:e.unref(n)},()=>[e.createElementVNode("div",x,e.toDisplayString(e.unref(n)),1)],!0)])):e.unref(t)?(e.openBlock(),e.createElementBlock("div",q,[e.renderSlot(u.$slots,"loading",{},()=>[i[0]||(i[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Initializing Elements... ",-1))],!0)])):(e.openBlock(),e.createElementBlock("div",G,[e.renderSlot(u.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-c54b80f7"]]),W={class:"vue-stripe-payment-element"},X={key:0,class:"vue-stripe-payment-element-error"},H={class:"vue-stripe-error-message"},Q={key:1,class:"vue-stripe-payment-element-loader"},Y=g(e.defineComponent({__name:"VueStripePaymentElement",props:{options:{}},emits:["ready","change","focus","blur","escape","loaderstart","loaderstop"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripePaymentElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("payment",l.options),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",d=>{o("change",d)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")});const r=t.value;r.on("loaderstart",()=>{o("loaderstart")}),r.on("loaderstop",()=>{o("loaderstop")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create payment element";a.value=d,n.value=!1,console.error("[Vue Stripe] Payment element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a}),(r,d)=>(e.openBlock(),e.createElementBlock("div",W,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",X,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",H,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-payment-element-mount",{"vue-stripe-payment-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Q,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading payment form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2477e9df"]]),Z={class:"vue-stripe-express-checkout-element"},J={key:0,class:"vue-stripe-express-checkout-element-error"},D={class:"vue-stripe-error-message"},ee={key:1,class:"vue-stripe-express-checkout-element-loader"},te=g(e.defineComponent({__name:"VueStripeExpressCheckoutElement",props:{options:{}},emits:["ready","click","confirm","cancel","shippingaddresschange","shippingratechange"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeExpressCheckoutElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("expressCheckout",l.options),t.value.on("ready",r=>{n.value=!1,o("ready",r)}),t.value.on("click",r=>{o("click",r)}),t.value.on("confirm",r=>{o("confirm",r)}),t.value.on("cancel",()=>{o("cancel")}),t.value.on("shippingaddresschange",r=>{o("shippingaddresschange",r)}),t.value.on("shippingratechange",r=>{o("shippingratechange",r)}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create express checkout element";a.value=d,n.value=!1,console.error("[Vue Stripe] Express checkout element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a}),(r,d)=>(e.openBlock(),e.createElementBlock("div",Z,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",J,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",D,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-express-checkout-element-mount",{"vue-stripe-express-checkout-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",ee,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading express checkout... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-20294cda"]]),re={class:"vue-stripe-card-element"},ne={key:0,class:"vue-stripe-card-element-error"},ae={class:"vue-stripe-error-message"},oe={key:1,class:"vue-stripe-card-element-loader"},le=g(e.defineComponent({__name:"VueStripeCardElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeCardElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("card",l.options),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,o("change",r)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create card element";a.value=d,n.value=!1,console.error("[Vue Stripe] Card element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",re,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",ae,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-card-element-mount",{"vue-stripe-card-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading card form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-a41a7ee5"]]);function b({elementType:c,componentName:f}){return e.defineComponent({name:f,props:{options:{type:Object,default:()=>({})}},emits:["ready","change","focus","blur","escape"],setup(p,{emit:l,expose:o}){const s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E(`${f} must be used within VueStripeElements`);const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0;const r=u.elements.value.create(c,p.options);t.value=r,r.on("ready",()=>{n.value=!1,l("ready",t.value)}),r.on("change",d=>{const y=d;y.error?a.value=y.error.message:a.value=null,l("change",y)}),r.on("focus",()=>{l("focus")}),r.on("blur",()=>{l("blur")}),r.on("escape",()=>{l("escape")}),r.mount(s.value)}catch(r){const d=r instanceof Error?r.message:`Failed to create ${c} element`;a.value=d,n.value=!1,console.error(`[Vue Stripe] ${f} creation error:`,d)}};return e.watch(()=>p.options,r=>{t.value?.update&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),o({element:t,loading:n,error:a,focus:()=>{t.value?.focus?.()},blur:()=>{t.value?.blur?.()},clear:()=>{t.value?.clear?.()}}),()=>{const r=`vue-stripe-${c}-element`;return e.h("div",{class:r},[a.value&&e.h("div",{class:`${r}-error`},[e.h("div",{class:"vue-stripe-error-message"},a.value)]),e.h("div",{ref:s,class:{[`${r}-mount`]:!0,[`${r}-loading`]:n.value}}),n.value&&e.h("div",{class:`${r}-loader`},[e.h("div",{class:"vue-stripe-loading-message"},`Loading ${c}...`)])])}}})}const se=b({elementType:"cardNumber",componentName:"VueStripeCardNumberElement"}),ce=b({elementType:"cardExpiry",componentName:"VueStripeCardExpiryElement"}),ue=b({elementType:"cardCvc",componentName:"VueStripeCardCvcElement"}),ie=g(e.defineComponent({__name:"VueStripeLinkAuthenticationElement",props:{options:{}},emits:["ready","change"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.inject(v);if(!s)throw new E("VueStripeLinkAuthenticationElement must be used within VueStripeElements");const t=e.ref(),n=e.ref(null),a=()=>{if(!(!s.elements?.value||!t.value))try{n.value=s.elements?.value.create("linkAuthentication",l.options),n.value.mount(t.value),n.value.on("ready",()=>{n.value&&o("ready",n.value)}),n.value.on("change",i=>{o("change",i)})}catch(i){console.error("[Vue Stripe] Link authentication element creation error:",i)}},u=()=>{n.value&&(n.value.unmount(),n.value.destroy(),n.value=null)};return e.watch(()=>s.elements?.value,i=>{i&&t.value&&!n.value&&a()},{immediate:!0}),e.watch(()=>l.options,i=>{n.value&&i&&typeof n.value.update=="function"&&n.value.update(i)},{deep:!0}),e.onMounted(()=>{s.elements?.value&&t.value&&a()}),e.onUnmounted(()=>{u()}),f({element:n,focus:()=>n.value?.focus(),blur:()=>n.value?.blur(),clear:()=>n.value?.clear()}),(i,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elementRef",ref:t,class:"vue-stripe-link-auth-element"},null,512))}}),[["__scopeId","data-v-b79076eb"]]),de=e.defineComponent({name:"VueStripeAddressElement",props:{options:{type:Object,default:()=>({mode:"shipping"})}},emits:["ready","change","blur","focus","escape","loadError"],setup(c,{emit:f,expose:p}){const l=e.ref(),o=e.ref(null),s=e.inject(v);if(!s)throw new E("VueStripeAddressElement must be used within VueStripeElements");const t=()=>{f("ready")},n=V=>{f("change",V)},a=()=>{f("blur")},u=()=>{f("focus")},i=()=>{f("escape")},r=V=>{f("loadError",V)},d=()=>{!s.elements.value||!l.value||(o.value=s.elements.value.create("address",c.options),o.value.mount(l.value),o.value.on("ready",t),o.value.on("change",n),o.value.on("blur",a),o.value.on("focus",u),o.value.on("escape",i),o.value.on("loaderror",r))},y=()=>{o.value&&o.value.update(c.options)},qe=()=>{o.value&&(o.value.off("ready",t),o.value.off("change",n),o.value.off("blur",a),o.value.off("focus",u),o.value.off("escape",i),o.value.off("loaderror",r),o.value.destroy(),o.value=null)},P=async()=>{if(!o.value)throw new E("Address element not mounted");return o.value.getValue()},T=()=>{o.value?.focus()},M=()=>{o.value?.clear()};return e.onMounted(()=>{d()}),e.onBeforeUnmount(()=>{qe()}),e.watch(()=>c.options,()=>{y()},{deep:!0}),p({element:o,getValue:P,focus:T,clear:M}),{addressRef:l,element:o,getValue:P,focus:T,clear:M}}}),pe={ref:"addressRef"};function fe(c,f,p,l,o,s){return e.openBlock(),e.createElementBlock("div",pe,null,512)}const me=g(de,[["render",fe]]),he={class:"vue-stripe-iban-element"},ve={key:0,class:"vue-stripe-iban-element-error"},Ee={class:"vue-stripe-error-message"},ge={key:1,class:"vue-stripe-iban-element-loader"},ye=g(e.defineComponent({__name:"VueStripeIbanElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeIbanElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0;const r={supportedCountries:["SEPA"],...l.options};t.value=u.elements.value.create("iban",r),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",d=>{d.error?a.value=d.error.message:a.value=null,o("change",d)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create IBAN element";a.value=d,n.value=!1,console.error("[Vue Stripe] IBAN element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",he,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",ve,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",Ee,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-iban-element-mount",{"vue-stripe-iban-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading IBAN form... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f8ffb457"]]),ke={class:"vue-stripe-ideal-bank-element"},Se={key:0,class:"vue-stripe-ideal-bank-element-error"},be={class:"vue-stripe-error-message"},_e={key:1,class:"vue-stripe-ideal-bank-element-loader"},Ve=g(e.defineComponent({__name:"VueStripeIdealBankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeIdealBankElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("idealBank",l.options),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,o("change",r)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create iDEAL bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] iDEAL bank element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",ke,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Se,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",be,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-ideal-bank-element-mount",{"vue-stripe-ideal-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",_e,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading iDEAL bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-3d7f7e08"]]),we={class:"vue-stripe-p24-bank-element"},Ce={key:0,class:"vue-stripe-p24-bank-element-error"},$e={class:"vue-stripe-error-message"},Be={key:1,class:"vue-stripe-p24-bank-element-loader"},Ie=g(e.defineComponent({__name:"VueStripeP24BankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeP24BankElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("p24Bank",l.options||{}),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,o("change",r)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create P24 bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] P24 bank element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",we,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",$e,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-p24-bank-element-mount",{"vue-stripe-p24-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading Przelewy24 bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-29dc009e"]]),Ne={class:"vue-stripe-eps-bank-element"},Pe={key:0,class:"vue-stripe-eps-bank-element-error"},Te={class:"vue-stripe-error-message"},Me={key:1,class:"vue-stripe-eps-bank-element-loader"},Re=g(e.defineComponent({__name:"VueStripeEpsBankElement",props:{options:{}},emits:["ready","change","focus","blur","escape"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.ref(),t=e.ref(null),n=e.ref(!0),a=e.ref(null),u=e.inject(v);if(!u)throw new E("VueStripeEpsBankElement must be used within VueStripeElements");const i=()=>{if(!u.elements.value){a.value="Elements instance not available",n.value=!1;return}if(!s.value){a.value="Mount point not available",n.value=!1;return}try{a.value=null,n.value=!0,t.value=u.elements.value.create("epsBank",l.options||{}),t.value.on("ready",()=>{n.value=!1,o("ready",t.value)}),t.value.on("change",r=>{r.error?a.value=r.error.message:a.value=null,o("change",r)}),t.value.on("focus",()=>{o("focus")}),t.value.on("blur",()=>{o("blur")}),t.value.on("escape",()=>{o("escape")}),t.value.mount(s.value)}catch(r){const d=r instanceof Error?r.message:"Failed to create EPS bank element";a.value=d,n.value=!1,console.error("[Vue Stripe] EPS bank element creation error:",d)}};return e.watch(()=>l.options,r=>{t.value&&r&&t.value.update(r)},{deep:!0}),e.watch(()=>u.elements.value,r=>{r&&s.value&&!t.value&&i()},{immediate:!0}),e.onMounted(()=>{u.elements.value&&s.value&&!t.value&&i()}),e.onUnmounted(()=>{t.value&&t.value.destroy()}),f({element:t,loading:n,error:a,focus:()=>t.value?.focus(),blur:()=>t.value?.blur(),clear:()=>t.value?.clear()}),(r,d)=>(e.openBlock(),e.createElementBlock("div",Ne,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Pe,[e.renderSlot(r.$slots,"error",{error:e.unref(a)},()=>[e.createElementVNode("div",Te,e.toDisplayString(e.unref(a)),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"elementRef",ref:s,class:e.normalizeClass(["vue-stripe-eps-bank-element-mount",{"vue-stripe-eps-bank-element-loading":e.unref(n)}])},null,2),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Me,[e.renderSlot(r.$slots,"loading",{},()=>[d[0]||(d[0]=e.createElementVNode("div",{class:"vue-stripe-loading-message"}," Loading EPS bank selector... ",-1))],!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-27c62f72"]]);function _(){const c=e.inject(S);if(!c)throw new h("useStripe must be called within a VueStripeProvider component");return{stripe:e.readonly(c.stripe),loading:e.readonly(c.loading),error:e.readonly(c.error),initialize:async()=>{}}}const Ue=["disabled"],je=g(e.defineComponent({__name:"VueStripeCheckout",props:{sessionId:{},sessionUrl:{},priceId:{},mode:{default:"payment"},successUrl:{},cancelUrl:{},customerEmail:{},clientReferenceId:{},submitType:{},buttonText:{default:"Checkout"},loadingText:{default:"Redirecting..."},disabled:{type:Boolean,default:!1},buttonClass:{default:"vue-stripe-checkout-button"}},emits:["checkout","success","error","before-redirect"],setup(c,{expose:f,emit:p}){const l=c,o=p,{stripe:s}=_(),t=e.ref(!1),n=e.useSlots(),a=e.computed(()=>!!n.default),u=()=>s.value!==null&&typeof s.value.redirectToCheckout=="function",i=async()=>{t.value=!0,o("checkout");try{if(l.sessionUrl){o("before-redirect",{url:l.sessionUrl}),window.location.replace(l.sessionUrl),o("success");return}if(l.sessionId){if(!u())throw new h("redirectToCheckout is not available. This method was removed in @stripe/stripe-js v8.x. Use sessionUrl prop with the checkout session URL instead.");if(!s.value)throw new h("Stripe not initialized");const r=await s.value.redirectToCheckout({sessionId:l.sessionId});if(r.error)throw new h(r.error.message||"Redirect to checkout failed");o("success");return}if(l.priceId){if(!u())throw new h("Price-based checkout using redirectToCheckout is not available in @stripe/stripe-js v8.x. Create a Checkout Session on your server and use sessionUrl prop instead.");if(!s.value)throw new h("Stripe not initialized");console.warn("[Vue Stripe] Price-based checkout is deprecated in v8.x. Create a Checkout Session on your server and use sessionUrl prop instead.");const r=await s.value.redirectToCheckout({lineItems:[{price:l.priceId,quantity:1}],mode:l.mode,successUrl:l.successUrl||window.location.origin+"/success",cancelUrl:l.cancelUrl||window.location.origin+"/cancel",customerEmail:l.customerEmail,clientReferenceId:l.clientReferenceId,submitType:l.submitType});if(r.error)throw new h(r.error.message||"Redirect to checkout failed");o("success");return}throw new h("Either sessionUrl, sessionId, or priceId is required. For @stripe/stripe-js v8.x, use sessionUrl.")}catch(r){const d=r instanceof Error?r:new Error("Checkout failed");o("error",d),console.error("[Vue Stripe] Checkout error:",d)}finally{t.value=!1}};return f({checkout:i,loading:t}),(r,d)=>e.unref(a)?(e.openBlock(),e.createElementBlock("span",{key:0,onClick:i,class:"vue-stripe-checkout-wrapper"},[e.renderSlot(r.$slots,"default",{checkout:i,loading:e.unref(t),disabled:c.disabled},void 0,!0)])):(e.openBlock(),e.createElementBlock("button",{key:1,disabled:e.unref(t)||c.disabled,class:e.normalizeClass(c.buttonClass),onClick:i},[e.unref(t)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d[0]||(d[0]=e.createElementVNode("span",{class:"vue-stripe-loading-spinner"},null,-1)),e.createTextVNode(" "+e.toDisplayString(c.loadingText),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(c.buttonText),1)],64))],10,Ue))}}),[["__scopeId","data-v-8fe59422"]]),Ae={class:"vue-stripe-pricing-table"},Le={class:"vue-stripe-pricing-table-error"},B="https://js.stripe.com/v3/pricing-table.js",Fe=g(e.defineComponent({__name:"VueStripePricingTable",props:{pricingTableId:{},customerEmail:{},customerSessionClientSecret:{},clientReferenceId:{}},emits:["load","error"],setup(c,{expose:f,emit:p}){const l=c,o=p,s=e.inject(w);if(!s?.publishableKey)throw new h("VueStripePricingTable must be used within a VueStripeProvider component");const t=s.publishableKey,n=e.ref(!0),a=e.ref(null),u=()=>new Promise((i,r)=>{if(document.querySelector(`script[src="${B}"]`)){i();return}const d=document.createElement("script");d.src=B,d.async=!0,d.onload=()=>i(),d.onerror=()=>r(new Error("Failed to load Stripe pricing table script")),document.head.appendChild(d)});return e.onMounted(async()=>{try{n.value=!0,a.value=null,await u(),n.value=!1,o("load")}catch(i){const r=i instanceof Error?i.message:"Failed to load pricing table";a.value=r,n.value=!1,o("error",i instanceof Error?i:new Error(r)),console.error("[Vue Stripe] Pricing table error:",r)}}),f({loading:n,error:a}),(i,r)=>{const d=e.resolveComponent("stripe-pricing-table");return e.openBlock(),e.createElementBlock("div",Ae,[e.unref(n)?e.renderSlot(i.$slots,"loading",{key:0},()=>[r[0]||(r[0]=e.createElementVNode("div",{class:"vue-stripe-pricing-table-loading"}," Loading pricing table... ",-1))],!0):e.unref(a)?e.renderSlot(i.$slots,"error",{key:1,error:e.unref(a)},()=>[e.createElementVNode("div",Le,e.toDisplayString(e.unref(a)),1)],!0):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(d,{"pricing-table-id":l.pricingTableId,"publishable-key":e.unref(t),"customer-email":l.customerEmail,"customer-session-client-secret":l.customerSessionClientSecret,"client-reference-id":l.clientReferenceId},null,8,["pricing-table-id","publishable-key","customer-email","customer-session-client-secret","client-reference-id"]),[[e.vShow,!e.unref(n)&&!e.unref(a)]])])}}}),[["__scopeId","data-v-2b89dbe1"]]);function ze(){const c=e.inject(S),f=e.inject(v);if(!c)throw new h("usePaymentIntent must be called within a VueStripeProvider component");const p=e.ref(!1),l=e.ref(null);return{confirmPayment:async s=>{if(!c.stripe.value)return l.value="Stripe not initialized",{error:{message:"Stripe not initialized"}};p.value=!0,l.value=null;try{const t=s.elements??f?.elements.value;if(t&&!s.skipSubmit){const{error:a}=await t.submit();if(a)return l.value=a.message||"Form validation failed",{error:a}}const n=await c.stripe.value.confirmPayment({elements:t??void 0,clientSecret:s.clientSecret,confirmParams:s.confirmParams??{},redirect:s.redirect??"if_required"});return n.error&&(l.value=n.error.message||"Payment confirmation failed"),n}catch(t){const n=t instanceof Error?t.message:"Payment confirmation failed";return l.value=n,{error:{message:n}}}finally{p.value=!1}},loading:e.readonly(p),error:e.readonly(l)}}function Ke(){const c=e.inject(S),f=e.inject(v);if(!c)throw new h("useSetupIntent must be called within a VueStripeProvider component");const p=e.ref(!1),l=e.ref(null);return{confirmSetup:async s=>{if(!c.stripe.value)return l.value="Stripe not initialized",{error:{message:"Stripe not initialized"}};p.value=!0,l.value=null;try{const t=s.elements??f?.elements.value;if(t&&!s.skipSubmit){const{error:a}=await t.submit();if(a)return l.value=a.message||"Form validation failed",{error:a}}const n=await c.stripe.value.confirmSetup({elements:t??void 0,clientSecret:s.clientSecret,confirmParams:s.confirmParams??{},redirect:s.redirect??"if_required"});return n.error&&(l.value=n.error.message||"Setup confirmation failed"),n}catch(t){const n=t instanceof Error?t.message:"Setup confirmation failed";return l.value=n,{error:{message:n}}}finally{p.value=!1}},loading:e.readonly(p),error:e.readonly(l)}}function I(){const{stripe:c}=_(),f=e.ref(!1),p=e.ref(null),l=()=>c.value!==null&&typeof c.value.redirectToCheckout=="function";return{redirectToCheckout:async t=>{f.value=!0,p.value=null;try{if("url"in t&&t.url){window.location.replace(t.url);return}const n=t;if(!l())throw new h("redirectToCheckout is not available. This method was removed in @stripe/stripe-js v8.x. Create a Checkout Session on your server and use redirectToUrl() or pass { url } instead.");if(!c.value)throw new h("Stripe not initialized");console.warn("[Vue Stripe] Legacy redirectToCheckout is deprecated in @stripe/stripe-js v8.x. Use redirectToUrl() with a session URL from your server instead.");const a=await c.value.redirectToCheckout(n);if(a.error){const u=a.error.message||"Checkout redirect failed";throw p.value=u,new h(u)}}catch(n){const a=n instanceof Error?n.message:"Checkout redirect failed";throw p.value=a,n}finally{f.value=!1}},redirectToUrl:t=>{f.value=!0,p.value=null,window.location.replace(t)},loading:e.readonly(f),error:e.readonly(p)}}function N(){const c=e.inject(v);if(!c)throw new E("Elements context not found. Make sure to wrap your component with VueStripeElements.");const f=async()=>c.elements.value?c.elements.value.submit():{error:{message:"Elements not initialized"}};return{elements:e.readonly(c.elements),submit:f,loading:e.readonly(c.loading),error:e.readonly(c.error)}}function xe(c){return{install(f){f.provide("vue-stripe-config",c);let p=null;f.provide("vue-stripe-global",{get stripe(){if(!p){const l={};c.stripeAccount&&(l.stripeAccount=c.stripeAccount),c.apiVersion&&(l.apiVersion=c.apiVersion),c.locale&&(l.locale=c.locale),p=k.loadStripe(c.publishableKey,l).then(o=>(o&&o.registerAppInfo($),o))}return p}})}}}Object.defineProperty(m,"loadStripe",{enumerable:!0,get:()=>k.loadStripe}),m.VueStripeAddressElement=me,m.VueStripeCardCvcElement=ue,m.VueStripeCardElement=le,m.VueStripeCardExpiryElement=ce,m.VueStripeCardNumberElement=se,m.VueStripeCheckout=je,m.VueStripeElements=O,m.VueStripeElementsError=E,m.VueStripeEpsBankElement=Re,m.VueStripeExpressCheckoutElement=te,m.VueStripeIbanElement=ye,m.VueStripeIdealBankElement=Ve,m.VueStripeLinkAuthenticationElement=ie,m.VueStripeLoadError=C,m.VueStripeP24BankElement=Ie,m.VueStripePaymentElement=Y,m.VueStripePricingTable=Fe,m.VueStripeProvider=z,m.VueStripeProviderError=h,m.createVueStripe=xe,m.createVueStripeError=R,m.useCheckout=I,m.useElements=N,m.usePaymentIntent=ze,m.useSetupIntent=Ke,m.useStripe=_,m.useStripeCheckout=I,m.useStripeElements=N,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
@@ -1 +1 @@
1
- .vue-stripe-error[data-v-ce126b08]{color:#dc3545;padding:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da}.vue-stripe-loading[data-v-ce126b08]{color:#6c757d;padding:1rem;text-align:center}.vue-stripe-error-message[data-v-ce126b08],.vue-stripe-loading-message[data-v-ce126b08]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-elements-error[data-v-478abfa3]{color:#dc3545;padding:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da}.vue-stripe-elements-loading[data-v-478abfa3]{color:#6c757d;padding:1rem;text-align:center}.vue-stripe-error-message[data-v-478abfa3],.vue-stripe-loading-message[data-v-478abfa3]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-payment-element[data-v-2477e9df]{position:relative}.vue-stripe-payment-element-mount[data-v-2477e9df]{min-height:300px;transition:opacity .3s ease}.vue-stripe-payment-element-loading[data-v-2477e9df]{opacity:.5}.vue-stripe-payment-element-error[data-v-2477e9df]{color:#dc3545;padding:.75rem;margin-bottom:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da;font-size:.875rem}.vue-stripe-payment-element-loader[data-v-2477e9df]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-2477e9df],.vue-stripe-loading-message[data-v-2477e9df]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-express-checkout-element[data-v-20294cda]{position:relative}.vue-stripe-express-checkout-element-mount[data-v-20294cda]{min-height:60px;transition:opacity .3s ease}.vue-stripe-express-checkout-element-loading[data-v-20294cda]{opacity:.5}.vue-stripe-express-checkout-element-error[data-v-20294cda]{color:#dc3545;padding:.75rem;margin-bottom:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da;font-size:.875rem}.vue-stripe-express-checkout-element-loader[data-v-20294cda]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-20294cda],.vue-stripe-loading-message[data-v-20294cda]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-card-element[data-v-a41a7ee5]{position:relative}.vue-stripe-card-element-mount[data-v-a41a7ee5]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-card-element-mount[data-v-a41a7ee5]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-card-element-loading[data-v-a41a7ee5]{opacity:.5}.vue-stripe-card-element-error[data-v-a41a7ee5]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-card-element-loader[data-v-a41a7ee5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-a41a7ee5],.vue-stripe-loading-message[data-v-a41a7ee5]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-cardNumber-element{position:relative}.vue-stripe-cardNumber-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardNumber-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardNumber-element-loading{opacity:.5}.vue-stripe-cardNumber-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardNumber-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message,.vue-stripe-loading-message{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-cardExpiry-element{position:relative}.vue-stripe-cardExpiry-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardExpiry-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardExpiry-element-loading{opacity:.5}.vue-stripe-cardExpiry-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardExpiry-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-cardCvc-element{position:relative}.vue-stripe-cardCvc-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardCvc-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardCvc-element-loading{opacity:.5}.vue-stripe-cardCvc-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardCvc-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-link-auth-element[data-v-b79076eb]{padding:12px;border:1px solid #ccc;border-radius:4px;background-color:#fff}.vue-stripe-link-auth-element[data-v-b79076eb]:focus-within{border-color:#635bff;box-shadow:0 0 0 1px #635bff}.vue-stripe-iban-element[data-v-f8ffb457]{position:relative}.vue-stripe-iban-element-mount[data-v-f8ffb457]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-iban-element-mount[data-v-f8ffb457]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-iban-element-loading[data-v-f8ffb457]{opacity:.5}.vue-stripe-iban-element-error[data-v-f8ffb457]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-iban-element-loader[data-v-f8ffb457]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-f8ffb457],.vue-stripe-loading-message[data-v-f8ffb457]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-ideal-bank-element[data-v-3d7f7e08]{position:relative}.vue-stripe-ideal-bank-element-mount[data-v-3d7f7e08]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-ideal-bank-element-mount[data-v-3d7f7e08]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-ideal-bank-element-loading[data-v-3d7f7e08]{opacity:.5}.vue-stripe-ideal-bank-element-error[data-v-3d7f7e08]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-ideal-bank-element-loader[data-v-3d7f7e08]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-3d7f7e08],.vue-stripe-loading-message[data-v-3d7f7e08]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-p24-bank-element[data-v-29dc009e]{position:relative}.vue-stripe-p24-bank-element-mount[data-v-29dc009e]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-p24-bank-element-mount[data-v-29dc009e]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-p24-bank-element-loading[data-v-29dc009e]{opacity:.5}.vue-stripe-p24-bank-element-error[data-v-29dc009e]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-p24-bank-element-loader[data-v-29dc009e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-29dc009e],.vue-stripe-loading-message[data-v-29dc009e]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-eps-bank-element[data-v-27c62f72]{position:relative}.vue-stripe-eps-bank-element-mount[data-v-27c62f72]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-eps-bank-element-mount[data-v-27c62f72]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-eps-bank-element-loading[data-v-27c62f72]{opacity:.5}.vue-stripe-eps-bank-element-error[data-v-27c62f72]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-eps-bank-element-loader[data-v-27c62f72]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-27c62f72],.vue-stripe-loading-message[data-v-27c62f72]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-checkout-wrapper[data-v-639387e4]{display:contents}.vue-stripe-checkout-button[data-v-639387e4]{background-color:#635bff;color:#fff;border:none;border-radius:4px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:8px}.vue-stripe-checkout-button[data-v-639387e4]:hover:not(:disabled){background-color:#5a52e8}.vue-stripe-checkout-button[data-v-639387e4]:disabled{background-color:#ccc;cursor:not-allowed}.vue-stripe-loading-spinner[data-v-639387e4]{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:vue-stripe-spin-639387e4 1s linear infinite}@keyframes vue-stripe-spin-639387e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
1
+ .vue-stripe-error[data-v-573ddc51]{color:#dc3545;padding:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da}.vue-stripe-loading[data-v-573ddc51]{color:#6c757d;padding:1rem;text-align:center}.vue-stripe-error-message[data-v-573ddc51],.vue-stripe-loading-message[data-v-573ddc51]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-elements-error[data-v-c54b80f7]{color:#dc3545;padding:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da}.vue-stripe-elements-loading[data-v-c54b80f7]{color:#6c757d;padding:1rem;text-align:center}.vue-stripe-error-message[data-v-c54b80f7],.vue-stripe-loading-message[data-v-c54b80f7]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-payment-element[data-v-2477e9df]{position:relative}.vue-stripe-payment-element-mount[data-v-2477e9df]{min-height:300px;transition:opacity .3s ease}.vue-stripe-payment-element-loading[data-v-2477e9df]{opacity:.5}.vue-stripe-payment-element-error[data-v-2477e9df]{color:#dc3545;padding:.75rem;margin-bottom:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da;font-size:.875rem}.vue-stripe-payment-element-loader[data-v-2477e9df]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-2477e9df],.vue-stripe-loading-message[data-v-2477e9df]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-express-checkout-element[data-v-20294cda]{position:relative}.vue-stripe-express-checkout-element-mount[data-v-20294cda]{min-height:60px;transition:opacity .3s ease}.vue-stripe-express-checkout-element-loading[data-v-20294cda]{opacity:.5}.vue-stripe-express-checkout-element-error[data-v-20294cda]{color:#dc3545;padding:.75rem;margin-bottom:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da;font-size:.875rem}.vue-stripe-express-checkout-element-loader[data-v-20294cda]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-20294cda],.vue-stripe-loading-message[data-v-20294cda]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-card-element[data-v-a41a7ee5]{position:relative}.vue-stripe-card-element-mount[data-v-a41a7ee5]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-card-element-mount[data-v-a41a7ee5]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-card-element-loading[data-v-a41a7ee5]{opacity:.5}.vue-stripe-card-element-error[data-v-a41a7ee5]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-card-element-loader[data-v-a41a7ee5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-a41a7ee5],.vue-stripe-loading-message[data-v-a41a7ee5]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-cardNumber-element{position:relative}.vue-stripe-cardNumber-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardNumber-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardNumber-element-loading{opacity:.5}.vue-stripe-cardNumber-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardNumber-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message,.vue-stripe-loading-message{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-cardExpiry-element{position:relative}.vue-stripe-cardExpiry-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardExpiry-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardExpiry-element-loading{opacity:.5}.vue-stripe-cardExpiry-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardExpiry-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-cardCvc-element{position:relative}.vue-stripe-cardCvc-element-mount{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-cardCvc-element-mount:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-cardCvc-element-loading{opacity:.5}.vue-stripe-cardCvc-element-error{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-cardCvc-element-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-link-auth-element[data-v-b79076eb]{padding:12px;border:1px solid #ccc;border-radius:4px;background-color:#fff}.vue-stripe-link-auth-element[data-v-b79076eb]:focus-within{border-color:#635bff;box-shadow:0 0 0 1px #635bff}.vue-stripe-iban-element[data-v-f8ffb457]{position:relative}.vue-stripe-iban-element-mount[data-v-f8ffb457]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-iban-element-mount[data-v-f8ffb457]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-iban-element-loading[data-v-f8ffb457]{opacity:.5}.vue-stripe-iban-element-error[data-v-f8ffb457]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-iban-element-loader[data-v-f8ffb457]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-f8ffb457],.vue-stripe-loading-message[data-v-f8ffb457]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-ideal-bank-element[data-v-3d7f7e08]{position:relative}.vue-stripe-ideal-bank-element-mount[data-v-3d7f7e08]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-ideal-bank-element-mount[data-v-3d7f7e08]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-ideal-bank-element-loading[data-v-3d7f7e08]{opacity:.5}.vue-stripe-ideal-bank-element-error[data-v-3d7f7e08]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-ideal-bank-element-loader[data-v-3d7f7e08]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-3d7f7e08],.vue-stripe-loading-message[data-v-3d7f7e08]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-p24-bank-element[data-v-29dc009e]{position:relative}.vue-stripe-p24-bank-element-mount[data-v-29dc009e]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-p24-bank-element-mount[data-v-29dc009e]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-p24-bank-element-loading[data-v-29dc009e]{opacity:.5}.vue-stripe-p24-bank-element-error[data-v-29dc009e]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-p24-bank-element-loader[data-v-29dc009e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-29dc009e],.vue-stripe-loading-message[data-v-29dc009e]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-eps-bank-element[data-v-27c62f72]{position:relative}.vue-stripe-eps-bank-element-mount[data-v-27c62f72]{padding:12px;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff;transition:all .3s ease;min-height:44px}.vue-stripe-eps-bank-element-mount[data-v-27c62f72]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vue-stripe-eps-bank-element-loading[data-v-27c62f72]{opacity:.5}.vue-stripe-eps-bank-element-error[data-v-27c62f72]{color:#dc3545;padding:.5rem 0;font-size:.875rem}.vue-stripe-eps-bank-element-loader[data-v-27c62f72]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6c757d;text-align:center}.vue-stripe-error-message[data-v-27c62f72],.vue-stripe-loading-message[data-v-27c62f72]{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-checkout-wrapper[data-v-8fe59422]{display:contents}.vue-stripe-checkout-button[data-v-8fe59422]{background-color:#635bff;color:#fff;border:none;border-radius:4px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:8px}.vue-stripe-checkout-button[data-v-8fe59422]:hover:not(:disabled){background-color:#5a52e8}.vue-stripe-checkout-button[data-v-8fe59422]:disabled{background-color:#ccc;cursor:not-allowed}.vue-stripe-loading-spinner[data-v-8fe59422]{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:vue-stripe-spin-8fe59422 1s linear infinite}@keyframes vue-stripe-spin-8fe59422{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vue-stripe-pricing-table[data-v-2b89dbe1]{width:100%}.vue-stripe-pricing-table-loading[data-v-2b89dbe1]{color:#6c757d;padding:1rem;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vue-stripe-pricing-table-error[data-v-2b89dbe1]{color:#dc3545;padding:1rem;border:1px solid #dc3545;border-radius:4px;background-color:#f8d7da;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-stripe/vue-stripe",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "description": "Vue Stripe elements and composables for Stripe.js",
5
5
  "author": "Joff Tiquez <jofftiquez@gmail.com>",
6
6
  "license": "MIT",