@solvapay/react 2.2.2-preview-cf2672297243fbf98ba33872a7348aca170e7b01 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  AmountPicker,
3
- CACHE_DURATION,
4
3
  MandateText,
5
4
  MissingProductRefError,
6
5
  MissingProviderError,
@@ -10,14 +9,11 @@ import {
10
9
  SolvaPayContext,
11
10
  Spinner,
12
11
  TopupForm,
13
- autoRechargeCache,
14
- autoRechargeCacheKeyFor,
15
12
  buildDefaultCheckoutPlanFilter,
16
13
  buildSummaryLine,
17
14
  composeEventHandlers,
18
15
  configToForm,
19
16
  createDefaultAutoRechargeForm,
20
- createHttpTransport,
21
17
  effectiveMonthlySpend,
22
18
  estimateCredits,
23
19
  estimateCurrencyMajorFromCredits,
@@ -32,10 +28,10 @@ import {
32
28
  planBillingCycle,
33
29
  planBillingInterval,
34
30
  planSortByPaygFirstThenAsc,
35
- subscribeAutoRecharge,
36
31
  useActivation,
37
32
  useAmountPicker,
38
33
  useAmountPickerCopy,
34
+ useAutoRecharge,
39
35
  useBalance,
40
36
  useCheckoutFlow,
41
37
  useCopy,
@@ -47,12 +43,10 @@ import {
47
43
  useProduct,
48
44
  usePurchase,
49
45
  usePurchaseActions,
50
- useSolvaPay,
51
46
  useTopupAmountSelector,
52
47
  validateAutoRechargeForm,
53
- withPaymentElementDefaults,
54
- writeAutoRechargeCache
55
- } from "./chunk-JVBZHE7B.js";
48
+ withPaymentElementDefaults
49
+ } from "./chunk-GPP4MY3I.js";
56
50
 
57
51
  // src/TopupForm.tsx
58
52
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -676,194 +670,17 @@ function useCreditGate() {
676
670
  return useGateCtx2("useCreditGate");
677
671
  }
678
672
 
679
- // src/hooks/useAutoRecharge.ts
680
- import { useCallback as useCallback3, useEffect as useEffect3, useRef as useRef2, useState as useState3 } from "react";
681
- function mergeAutoRechargeConfig(config, display) {
682
- return display ? { ...config, display } : config;
683
- }
684
- async function fetchAutoRecharge(config) {
685
- const transport = config?.transport ?? createHttpTransport(config);
686
- if (!transport.getAutoRecharge) return null;
687
- const response = await transport.getAutoRecharge();
688
- if (!response.config) return null;
689
- return mergeAutoRechargeConfig(response.config, response.display);
690
- }
691
- function useAutoRecharge() {
692
- const { _config } = useSolvaPay();
693
- const key = autoRechargeCacheKeyFor(_config);
694
- const [config, setConfig] = useState3(
695
- () => autoRechargeCache.get(key)?.config ?? null
696
- );
697
- const [loading, setLoading] = useState3(() => {
698
- const cached = autoRechargeCache.get(key);
699
- return !cached || !cached.config && !cached.promise;
700
- });
701
- const [saving, setSaving] = useState3(false);
702
- const [disabling, setDisabling] = useState3(false);
703
- const [error, setError] = useState3(null);
704
- const requestSeq = useRef2(0);
705
- const load = useCallback3(
706
- async (force = false) => {
707
- const seq = requestSeq.current;
708
- const cached = autoRechargeCache.get(key);
709
- const now = Date.now();
710
- if (!force && cached?.config && now - cached.timestamp < CACHE_DURATION) {
711
- if (seq !== requestSeq.current) return;
712
- setConfig(cached.config);
713
- setLoading(false);
714
- setError(null);
715
- return;
716
- }
717
- if (!force && cached?.promise) {
718
- setLoading(true);
719
- try {
720
- const value = await cached.promise;
721
- if (seq !== requestSeq.current) return;
722
- setConfig(value);
723
- setError(null);
724
- } catch (caught) {
725
- if (seq !== requestSeq.current) return;
726
- setError(caught instanceof Error ? caught : new Error(String(caught)));
727
- } finally {
728
- if (seq === requestSeq.current) {
729
- setLoading(false);
730
- }
731
- }
732
- return;
733
- }
734
- setLoading(true);
735
- setError(null);
736
- const promise = fetchAutoRecharge(_config);
737
- writeAutoRechargeCache(key, {
738
- config: cached?.config ?? null,
739
- promise,
740
- timestamp: now
741
- });
742
- try {
743
- const value = await promise;
744
- if (seq !== requestSeq.current) return;
745
- writeAutoRechargeCache(key, { config: value, promise: null, timestamp: Date.now() });
746
- setConfig(value);
747
- } catch (caught) {
748
- if (seq !== requestSeq.current) return;
749
- const err = caught instanceof Error ? caught : new Error(String(caught));
750
- writeAutoRechargeCache(key, {
751
- config: cached?.config ?? null,
752
- promise: null,
753
- timestamp: Date.now()
754
- });
755
- setError(err);
756
- } finally {
757
- if (seq === requestSeq.current) {
758
- setLoading(false);
759
- }
760
- }
761
- },
762
- [_config, key]
763
- );
764
- useEffect3(() => {
765
- void load();
766
- }, [load]);
767
- useEffect3(() => {
768
- return subscribeAutoRecharge(key, () => {
769
- const cached = autoRechargeCache.get(key);
770
- if (cached) {
771
- setConfig(cached.config);
772
- return;
773
- }
774
- void load(true);
775
- });
776
- }, [key, load]);
777
- const refresh = useCallback3(
778
- async (force = true) => {
779
- await load(force);
780
- },
781
- [load]
782
- );
783
- const save = useCallback3(
784
- async (input) => {
785
- const transport = _config?.transport ?? createHttpTransport(_config);
786
- if (!transport.saveAutoRecharge) {
787
- throw new Error("saveAutoRecharge is not available on this transport");
788
- }
789
- setSaving(true);
790
- setError(null);
791
- const seq = ++requestSeq.current;
792
- try {
793
- const result = await transport.saveAutoRecharge(input);
794
- if (seq !== requestSeq.current) return result;
795
- const nextConfig = mergeAutoRechargeConfig(result.config, result.display);
796
- writeAutoRechargeCache(key, {
797
- config: nextConfig,
798
- promise: null,
799
- timestamp: Date.now()
800
- });
801
- setConfig(nextConfig);
802
- return result;
803
- } catch (caught) {
804
- const err = caught instanceof Error ? caught : new Error(String(caught));
805
- setError(err);
806
- throw err;
807
- } finally {
808
- setSaving(false);
809
- }
810
- },
811
- [_config, key]
812
- );
813
- const disable = useCallback3(async () => {
814
- const transport = _config?.transport ?? createHttpTransport(_config);
815
- if (!transport.disableAutoRecharge) {
816
- throw new Error("disableAutoRecharge is not available on this transport");
817
- }
818
- setDisabling(true);
819
- setError(null);
820
- const seq = ++requestSeq.current;
821
- try {
822
- const result = await transport.disableAutoRecharge();
823
- if (seq === requestSeq.current) {
824
- setConfig((current) => {
825
- const disabledConfig = current ? { ...current, enabled: false } : null;
826
- writeAutoRechargeCache(key, {
827
- config: disabledConfig,
828
- promise: null,
829
- timestamp: Date.now()
830
- });
831
- return disabledConfig;
832
- });
833
- await refresh(true);
834
- setConfig((current) => {
835
- const disabledConfig = current ? { ...current, enabled: false } : null;
836
- writeAutoRechargeCache(key, {
837
- config: disabledConfig,
838
- promise: null,
839
- timestamp: Date.now()
840
- });
841
- return disabledConfig;
842
- });
843
- }
844
- return result;
845
- } catch (caught) {
846
- const err = caught instanceof Error ? caught : new Error(String(caught));
847
- setError(err);
848
- throw err;
849
- } finally {
850
- setDisabling(false);
851
- }
852
- }, [_config, key, refresh]);
853
- return { config, loading, saving, disabling, error, refresh, save, disable };
854
- }
855
-
856
673
  // src/primitives/AutoRecharge.tsx
857
674
  import {
858
675
  createContext as createContext4,
859
676
  forwardRef as forwardRef6,
860
- useCallback as useCallback4,
677
+ useCallback as useCallback3,
861
678
  useContext as useContext6,
862
- useEffect as useEffect4,
679
+ useEffect as useEffect3,
863
680
  useId,
864
681
  useMemo as useMemo5,
865
- useRef as useRef3,
866
- useState as useState4
682
+ useRef as useRef2,
683
+ useState as useState3
867
684
  } from "react";
868
685
  import { createPortal } from "react-dom";
869
686
  import {
@@ -961,12 +778,12 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
961
778
  const { creditsPerMinorUnit, displayExchangeRate } = useBalance();
962
779
  const copy = useCopy();
963
780
  const titleId = useId();
964
- const triggerRef = useRef3(null);
781
+ const triggerRef = useRef2(null);
965
782
  const defaultTopup = defaultTopupAmountMajor ?? defaultThresholdAmountMajor ?? void 0;
966
- const [uncontrolledOpen, setUncontrolledOpen] = useState4(defaultOpen);
783
+ const [uncontrolledOpen, setUncontrolledOpen] = useState3(defaultOpen);
967
784
  const isControlled = openProp !== void 0;
968
785
  const open = isControlled ? openProp : uncontrolledOpen;
969
- const setOpen = useCallback4(
786
+ const setOpen = useCallback3(
970
787
  (next) => {
971
788
  if (!isControlled) {
972
789
  setUncontrolledOpen(next);
@@ -975,23 +792,23 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
975
792
  },
976
793
  [isControlled, onOpenChange]
977
794
  );
978
- const registerTriggerRef = useCallback4((node) => {
795
+ const registerTriggerRef = useCallback3((node) => {
979
796
  triggerRef.current = node;
980
797
  }, []);
981
- const focusTrigger = useCallback4(() => {
798
+ const focusTrigger = useCallback3(() => {
982
799
  triggerRef.current?.focus();
983
800
  }, []);
984
- const [form, setForm] = useState4(
801
+ const [form, setForm] = useState3(
985
802
  () => autoRecharge.config ? configToForm(autoRecharge.config, currency) : createDefaultAutoRechargeForm(currency, defaultTopup)
986
803
  );
987
- const [validationError, setValidationError] = useState4(null);
988
- const [statusMessage, setStatusMessage] = useState4(null);
989
- const [setup, setSetup] = useState4(null);
990
- const latestConfigRef = useRef3(autoRecharge.config);
991
- useEffect4(() => {
804
+ const [validationError, setValidationError] = useState3(null);
805
+ const [statusMessage, setStatusMessage] = useState3(null);
806
+ const [setup, setSetup] = useState3(null);
807
+ const latestConfigRef = useRef2(autoRecharge.config);
808
+ useEffect3(() => {
992
809
  latestConfigRef.current = autoRecharge.config;
993
810
  }, [autoRecharge.config]);
994
- useEffect4(() => {
811
+ useEffect3(() => {
995
812
  if (autoRecharge.config) {
996
813
  setForm(configToForm(autoRecharge.config, currency));
997
814
  }
@@ -999,7 +816,7 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
999
816
  const canToggleUnits = creditsPerMinorUnit != null && creditsPerMinorUnit > 0;
1000
817
  const rate = displayExchangeRate ?? 1;
1001
818
  const isApproximate = rate !== 1;
1002
- const emitValidation = useCallback4(
819
+ const emitValidation = useCallback3(
1003
820
  (next) => {
1004
821
  const result = validateAutoRechargeForm(
1005
822
  next,
@@ -1016,7 +833,7 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
1016
833
  },
1017
834
  [currency, creditsPerMinorUnit, displayExchangeRate, copy.autoRecharge]
1018
835
  );
1019
- const updateForm = useCallback4(
836
+ const updateForm = useCallback3(
1020
837
  (patch) => {
1021
838
  setForm((prev) => {
1022
839
  const next = { ...prev, ...patch };
@@ -1026,7 +843,7 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
1026
843
  },
1027
844
  [emitValidation]
1028
845
  );
1029
- const resetForm = useCallback4(() => {
846
+ const resetForm = useCallback3(() => {
1030
847
  if (autoRecharge.config) {
1031
848
  setForm(configToForm(autoRecharge.config, currency));
1032
849
  } else {
@@ -1034,7 +851,7 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
1034
851
  }
1035
852
  setValidationError(null);
1036
853
  }, [autoRecharge.config, currency, defaultTopup]);
1037
- const flipUnit = useCallback4(
854
+ const flipUnit = useCallback3(
1038
855
  (valueKey, unitKey, baseValueKey, baseUnitKey, currentUnit) => {
1039
856
  const nextUnit = currentUnit === "currency" ? "credits" : "currency";
1040
857
  setForm((prev) => {
@@ -1089,7 +906,7 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
1089
906
  currency
1090
907
  );
1091
908
  }, [autoRecharge.config, currency]);
1092
- const save = useCallback4(async () => {
909
+ const save = useCallback3(async () => {
1093
910
  const payload = emitValidation(form);
1094
911
  if (!payload) return;
1095
912
  const saveInput = deferCardSetup ? { ...payload, deferSetupIntent: true } : payload;
@@ -1120,13 +937,13 @@ var Root4 = forwardRef6(function AutoRechargeRoot({
1120
937
  onSetupRequired,
1121
938
  setOpen
1122
939
  ]);
1123
- const disable = useCallback4(async () => {
940
+ const disable = useCallback3(async () => {
1124
941
  await autoRecharge.disable();
1125
942
  setStatusMessage(copy.autoRecharge.disabledMessage);
1126
943
  setSetup(null);
1127
944
  await onDisabled?.();
1128
945
  }, [autoRecharge, copy.autoRecharge, onDisabled]);
1129
- const completeSetup = useCallback4(async () => {
946
+ const completeSetup = useCallback3(async () => {
1130
947
  const activated = await waitForAutoRechargeActivation({
1131
948
  refresh: autoRecharge.refresh,
1132
949
  getStatus: () => latestConfigRef.current?.status
@@ -1333,8 +1150,8 @@ var Overlay = forwardRef6(
1333
1150
  );
1334
1151
  var Content = forwardRef6(function AutoRechargeContent({ className, children, ...rest }, forwardedRef) {
1335
1152
  const ctx = useAutoRechargeCtx("Content");
1336
- const panelRef = useRef3(null);
1337
- useEffect4(() => {
1153
+ const panelRef = useRef2(null);
1154
+ useEffect3(() => {
1338
1155
  if (!ctx.open) return;
1339
1156
  const handleKeyDown = (event) => {
1340
1157
  if (event.key === "Escape") {
@@ -1973,9 +1790,9 @@ function CardSetupInner({ onComplete }) {
1973
1790
  const copy = useCopy();
1974
1791
  const stripe = useStripe();
1975
1792
  const elements = useElements();
1976
- const [processing, setProcessing] = useState4(false);
1977
- const [error, setError] = useState4(null);
1978
- useEffect4(() => {
1793
+ const [processing, setProcessing] = useState3(false);
1794
+ const [error, setError] = useState3(null);
1795
+ useEffect3(() => {
1979
1796
  if (!stripe) return;
1980
1797
  const clientSecret = readSetupIntentClientSecret(window.location.search);
1981
1798
  if (!clientSecret) return;
@@ -2153,7 +1970,7 @@ function useAutoRechargeForm() {
2153
1970
  }
2154
1971
 
2155
1972
  // src/hooks/usePaywallResolver.ts
2156
- import { useCallback as useCallback5, useMemo as useMemo6 } from "react";
1973
+ import { useCallback as useCallback4, useMemo as useMemo6 } from "react";
2157
1974
  function balanceCoversNextUnit(balance, credits) {
2158
1975
  if (!balance) return false;
2159
1976
  if (typeof balance.remainingUnits === "number" && balance.remainingUnits > 0) {
@@ -2177,7 +1994,7 @@ function usePaywallResolver(content) {
2177
1994
  if (balanceCoversNextUnit(content.balance, credits)) return true;
2178
1995
  return Boolean(productMatches && activePurchase?.status === "active");
2179
1996
  }, [content, hasPaidPurchase, activePurchase, credits]);
2180
- const refetch = useCallback5(async () => {
1997
+ const refetch = useCallback4(async () => {
2181
1998
  await Promise.all([
2182
1999
  refetchPurchase().catch(() => void 0),
2183
2000
  refetchBalance().catch(() => void 0)
@@ -2190,11 +2007,11 @@ function usePaywallResolver(content) {
2190
2007
  import {
2191
2008
  createContext as createContext6,
2192
2009
  forwardRef as forwardRef8,
2193
- useCallback as useCallback6,
2010
+ useCallback as useCallback5,
2194
2011
  useContext as useContext8,
2195
- useEffect as useEffect5,
2012
+ useEffect as useEffect4,
2196
2013
  useMemo as useMemo8,
2197
- useRef as useRef4
2014
+ useRef as useRef3
2198
2015
  } from "react";
2199
2016
 
2200
2017
  // src/primitives/checkout/index.tsx
@@ -2786,17 +2603,17 @@ function usePaywallNoticeCtx(part) {
2786
2603
  var Root6 = forwardRef8(function PaywallNoticeRoot({ content, onResolved, classNames, asChild, children, ...rest }, forwardedRef) {
2787
2604
  const { resolved, refetch } = usePaywallResolver(content);
2788
2605
  const classNamesResolved = useMemo8(() => classNames ?? {}, [classNames]);
2789
- const onResolvedRef = useRef4(onResolved);
2790
- useEffect5(() => {
2606
+ const onResolvedRef = useRef3(onResolved);
2607
+ useEffect4(() => {
2791
2608
  onResolvedRef.current = onResolved;
2792
2609
  }, [onResolved]);
2793
- const hasResolvedRef = useRef4(false);
2794
- const signalResolved = useCallback6(() => {
2610
+ const hasResolvedRef = useRef3(false);
2611
+ const signalResolved = useCallback5(() => {
2795
2612
  if (hasResolvedRef.current) return;
2796
2613
  hasResolvedRef.current = true;
2797
2614
  onResolvedRef.current?.();
2798
2615
  }, []);
2799
- useEffect5(() => {
2616
+ useEffect4(() => {
2800
2617
  if (resolved) signalResolved();
2801
2618
  }, [resolved, signalResolved]);
2802
2619
  const ctx = useMemo8(
@@ -3088,7 +2905,6 @@ export {
3088
2905
  CreditGateError2 as CreditGateError,
3089
2906
  CreditGate,
3090
2907
  useCreditGate,
3091
- useAutoRecharge,
3092
2908
  AutoRechargeRoot2 as AutoRechargeRoot,
3093
2909
  AutoRechargeLoading2 as AutoRechargeLoading,
3094
2910
  AutoRechargeCard2 as AutoRechargeCard,
@@ -1,4 +1,4 @@
1
- import { a4 as components, b as Plan, P as PaymentFormProps, a as PrefillCustomer, A as ActivationResult, s as UseTopupAmountSelectorReturn, a5 as AutoRechargeInput, u as AutoRechargeConfig, a6 as AutoRechargeDisplayBlock, E as CheckoutStep, O as SuccessMeta } from './useUsage-BpIrBHDT.cjs';
1
+ import { a4 as components, b as Plan, P as PaymentFormProps, a as PrefillCustomer, A as ActivationResult, s as UseTopupAmountSelectorReturn, a5 as AutoRechargeInput, u as AutoRechargeConfig, a6 as AutoRechargeDisplayBlock, E as CheckoutStep, O as SuccessMeta } from './useUsage-CRd_E6J3.cjs';
2
2
  import React from 'react';
3
3
  import { PaymentElement, CardElement } from '@stripe/react-stripe-js';
4
4
  import { TaxBreakdown } from '@solvapay/core';
@@ -1,4 +1,4 @@
1
- import { a4 as components, b as Plan, P as PaymentFormProps, a as PrefillCustomer, A as ActivationResult, s as UseTopupAmountSelectorReturn, a5 as AutoRechargeInput, u as AutoRechargeConfig, a6 as AutoRechargeDisplayBlock, E as CheckoutStep, O as SuccessMeta } from './useUsage-SizdkzW3.js';
1
+ import { a4 as components, b as Plan, P as PaymentFormProps, a as PrefillCustomer, A as ActivationResult, s as UseTopupAmountSelectorReturn, a5 as AutoRechargeInput, u as AutoRechargeConfig, a6 as AutoRechargeDisplayBlock, E as CheckoutStep, O as SuccessMeta } from './useUsage-DSPWQ37m.js';
2
2
  import React from 'react';
3
3
  import { PaymentElement, CardElement } from '@stripe/react-stripe-js';
4
4
  import { TaxBreakdown } from '@solvapay/core';
package/dist/index.cjs CHANGED
@@ -863,10 +863,8 @@ var enCopy = {
863
863
  addFunds: "Add funds",
864
864
  autoRechargeOn: "Auto-recharge on",
865
865
  autoRechargeOff: "Auto-recharge off",
866
- autoRechargePending: "Auto-recharge starts once this payment clears",
867
- turnOn: "Turn on",
868
- manage: "Manage",
869
- fixCard: "Fix card",
866
+ turnOn: "Turn on \u2192",
867
+ manage: "Manage \u2192",
870
868
  autoRechargeOffCaption: "Calls fail the moment the balance runs out.",
871
869
  autoRechargeOffFixCaption: "Turning it on stops this happening again.",
872
870
  callsFailingCaption: "The plan is active, but calls fail until you add credits.",
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { S as SolvaPayProviderProps, P as PaymentFormProps, a as PrefillCustomer, T as TopupFormProps, C as CheckoutResult, b as Plan, A as ActivationResult, B as BootstrapPlanLike, c as SaveAutoRechargeResponse, d as PurchaseStatus, e as SolvaPayContextValue, U as UsePlansOptions, f as UsePlansReturn, g as UsePlanOptions, h as UsePlanReturn, i as UseProductReturn, j as UseMerchantReturn, k as SolvaPayCopy, l as PurchaseStatusReturn, m as CancelResult, R as ReactivateResult, n as ActivatePlanResult, o as UseTopupOptions, p as UseTopupReturn, q as BalanceStatus, r as UseTopupAmountSelectorOptions, s as UseTopupAmountSelectorReturn, t as UsePaymentMethodReturn, u as AutoRechargeConfig, v as SaveAutoRechargeInput, w as SolvaPayTransport, x as PartialSolvaPayCopy, y as PurchaseInfo, z as Product, D as SolvaPayConfig } from './useUsage-BpIrBHDT.cjs';
3
- export { E as CheckoutStep, F as CustomerPurchaseData, M as MandateContext, G as MandateTemplate, H as Merchant, I as PaymentError, J as PaymentIntentResult, K as PaymentMethodInfo, L as PaymentResult, N as PurchaseStatusValue, O as SuccessMeta, Q as TopupPaymentResult, V as TransportBalanceResult, W as TransportCheckoutSessionResult, X as TransportCustomerSessionResult, Y as TransportLimitsResult, Z as UnsupportedTransportMethodError, _ as UsageSnapshot, $ as UseUsageReturn, a0 as useUsage } from './useUsage-BpIrBHDT.cjs';
4
- import { P as PaymentFormSummary, a as PaymentFormCustomerFields, b as PaymentFormPaymentElement, c as PaymentFormCardElement, d as PaymentFormMandateText, e as PaymentFormTermsCheckbox, f as PaymentFormSubmitButton, g as PaymentFormLoading, h as PaymentFormError, i as PaymentFormLegalFooter, j as PaymentFormBusinessDetails, k as PaymentFormTaxSummary, A as AutoRechargeInputPayload, l as PaywallStructuredContent, C as CheckoutVariant } from './index-CLYaY7rM.cjs';
5
- export { m as ActivationFlowStep, B as BalanceBadge, n as CancelPlanButton, o as CheckoutErrorPhase, p as CheckoutStatus, q as CheckoutSteps, r as CheckoutSummary, s as CheckoutSummaryProps, M as MandateText, t as MandateTextProps, u as PlanBadge, v as ProductBadge, w as PurchaseGate, U as UseCheckoutFlowOptions, x as UseCheckoutFlowReturn, y as configToAutoRechargeInput, z as deriveVariant, D as useCheckoutFlow, E as useCheckoutStepsContext } from './index-CLYaY7rM.cjs';
2
+ import { S as SolvaPayProviderProps, P as PaymentFormProps, a as PrefillCustomer, T as TopupFormProps, C as CheckoutResult, b as Plan, A as ActivationResult, B as BootstrapPlanLike, c as SaveAutoRechargeResponse, d as PurchaseStatus, e as SolvaPayContextValue, U as UsePlansOptions, f as UsePlansReturn, g as UsePlanOptions, h as UsePlanReturn, i as UseProductReturn, j as UseMerchantReturn, k as SolvaPayCopy, l as PurchaseStatusReturn, m as CancelResult, R as ReactivateResult, n as ActivatePlanResult, o as UseTopupOptions, p as UseTopupReturn, q as BalanceStatus, r as UseTopupAmountSelectorOptions, s as UseTopupAmountSelectorReturn, t as UsePaymentMethodReturn, u as AutoRechargeConfig, v as SaveAutoRechargeInput, w as SolvaPayTransport, x as PartialSolvaPayCopy, y as PurchaseInfo, z as Product, D as SolvaPayConfig } from './useUsage-CRd_E6J3.cjs';
3
+ export { E as CheckoutStep, F as CustomerPurchaseData, M as MandateContext, G as MandateTemplate, H as Merchant, I as PaymentError, J as PaymentIntentResult, K as PaymentMethodInfo, L as PaymentResult, N as PurchaseStatusValue, O as SuccessMeta, Q as TopupPaymentResult, V as TransportBalanceResult, W as TransportCheckoutSessionResult, X as TransportCustomerSessionResult, Y as TransportLimitsResult, Z as UnsupportedTransportMethodError, _ as UsageSnapshot, $ as UseUsageReturn, a0 as useUsage } from './useUsage-CRd_E6J3.cjs';
4
+ import { P as PaymentFormSummary, a as PaymentFormCustomerFields, b as PaymentFormPaymentElement, c as PaymentFormCardElement, d as PaymentFormMandateText, e as PaymentFormTermsCheckbox, f as PaymentFormSubmitButton, g as PaymentFormLoading, h as PaymentFormError, i as PaymentFormLegalFooter, j as PaymentFormBusinessDetails, k as PaymentFormTaxSummary, A as AutoRechargeInputPayload, l as PaywallStructuredContent, C as CheckoutVariant } from './index-B5QUesJE.cjs';
5
+ export { m as ActivationFlowStep, B as BalanceBadge, n as CancelPlanButton, o as CheckoutErrorPhase, p as CheckoutStatus, q as CheckoutSteps, r as CheckoutSummary, s as CheckoutSummaryProps, M as MandateText, t as MandateTextProps, u as PlanBadge, v as ProductBadge, w as PurchaseGate, U as UseCheckoutFlowOptions, x as UseCheckoutFlowReturn, y as configToAutoRechargeInput, z as deriveVariant, D as useCheckoutFlow, E as useCheckoutStepsContext } from './index-B5QUesJE.cjs';
6
6
  import { PaymentIntent, Stripe, StripeElements } from '@stripe/stripe-js';
7
7
  import { BusinessDetailsInput, TaxBreakdown } from '@solvapay/core';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { S as SolvaPayProviderProps, P as PaymentFormProps, a as PrefillCustomer, T as TopupFormProps, C as CheckoutResult, b as Plan, A as ActivationResult, B as BootstrapPlanLike, c as SaveAutoRechargeResponse, d as PurchaseStatus, e as SolvaPayContextValue, U as UsePlansOptions, f as UsePlansReturn, g as UsePlanOptions, h as UsePlanReturn, i as UseProductReturn, j as UseMerchantReturn, k as SolvaPayCopy, l as PurchaseStatusReturn, m as CancelResult, R as ReactivateResult, n as ActivatePlanResult, o as UseTopupOptions, p as UseTopupReturn, q as BalanceStatus, r as UseTopupAmountSelectorOptions, s as UseTopupAmountSelectorReturn, t as UsePaymentMethodReturn, u as AutoRechargeConfig, v as SaveAutoRechargeInput, w as SolvaPayTransport, x as PartialSolvaPayCopy, y as PurchaseInfo, z as Product, D as SolvaPayConfig } from './useUsage-SizdkzW3.js';
3
- export { E as CheckoutStep, F as CustomerPurchaseData, M as MandateContext, G as MandateTemplate, H as Merchant, I as PaymentError, J as PaymentIntentResult, K as PaymentMethodInfo, L as PaymentResult, N as PurchaseStatusValue, O as SuccessMeta, Q as TopupPaymentResult, V as TransportBalanceResult, W as TransportCheckoutSessionResult, X as TransportCustomerSessionResult, Y as TransportLimitsResult, Z as UnsupportedTransportMethodError, _ as UsageSnapshot, $ as UseUsageReturn, a0 as useUsage } from './useUsage-SizdkzW3.js';
4
- import { P as PaymentFormSummary, a as PaymentFormCustomerFields, b as PaymentFormPaymentElement, c as PaymentFormCardElement, d as PaymentFormMandateText, e as PaymentFormTermsCheckbox, f as PaymentFormSubmitButton, g as PaymentFormLoading, h as PaymentFormError, i as PaymentFormLegalFooter, j as PaymentFormBusinessDetails, k as PaymentFormTaxSummary, A as AutoRechargeInputPayload, l as PaywallStructuredContent, C as CheckoutVariant } from './index-ZnFJaFNZ.js';
5
- export { m as ActivationFlowStep, B as BalanceBadge, n as CancelPlanButton, o as CheckoutErrorPhase, p as CheckoutStatus, q as CheckoutSteps, r as CheckoutSummary, s as CheckoutSummaryProps, M as MandateText, t as MandateTextProps, u as PlanBadge, v as ProductBadge, w as PurchaseGate, U as UseCheckoutFlowOptions, x as UseCheckoutFlowReturn, y as configToAutoRechargeInput, z as deriveVariant, D as useCheckoutFlow, E as useCheckoutStepsContext } from './index-ZnFJaFNZ.js';
2
+ import { S as SolvaPayProviderProps, P as PaymentFormProps, a as PrefillCustomer, T as TopupFormProps, C as CheckoutResult, b as Plan, A as ActivationResult, B as BootstrapPlanLike, c as SaveAutoRechargeResponse, d as PurchaseStatus, e as SolvaPayContextValue, U as UsePlansOptions, f as UsePlansReturn, g as UsePlanOptions, h as UsePlanReturn, i as UseProductReturn, j as UseMerchantReturn, k as SolvaPayCopy, l as PurchaseStatusReturn, m as CancelResult, R as ReactivateResult, n as ActivatePlanResult, o as UseTopupOptions, p as UseTopupReturn, q as BalanceStatus, r as UseTopupAmountSelectorOptions, s as UseTopupAmountSelectorReturn, t as UsePaymentMethodReturn, u as AutoRechargeConfig, v as SaveAutoRechargeInput, w as SolvaPayTransport, x as PartialSolvaPayCopy, y as PurchaseInfo, z as Product, D as SolvaPayConfig } from './useUsage-DSPWQ37m.js';
3
+ export { E as CheckoutStep, F as CustomerPurchaseData, M as MandateContext, G as MandateTemplate, H as Merchant, I as PaymentError, J as PaymentIntentResult, K as PaymentMethodInfo, L as PaymentResult, N as PurchaseStatusValue, O as SuccessMeta, Q as TopupPaymentResult, V as TransportBalanceResult, W as TransportCheckoutSessionResult, X as TransportCustomerSessionResult, Y as TransportLimitsResult, Z as UnsupportedTransportMethodError, _ as UsageSnapshot, $ as UseUsageReturn, a0 as useUsage } from './useUsage-DSPWQ37m.js';
4
+ import { P as PaymentFormSummary, a as PaymentFormCustomerFields, b as PaymentFormPaymentElement, c as PaymentFormCardElement, d as PaymentFormMandateText, e as PaymentFormTermsCheckbox, f as PaymentFormSubmitButton, g as PaymentFormLoading, h as PaymentFormError, i as PaymentFormLegalFooter, j as PaymentFormBusinessDetails, k as PaymentFormTaxSummary, A as AutoRechargeInputPayload, l as PaywallStructuredContent, C as CheckoutVariant } from './index-BAYpUp5R.js';
5
+ export { m as ActivationFlowStep, B as BalanceBadge, n as CancelPlanButton, o as CheckoutErrorPhase, p as CheckoutStatus, q as CheckoutSteps, r as CheckoutSummary, s as CheckoutSummaryProps, M as MandateText, t as MandateTextProps, u as PlanBadge, v as ProductBadge, w as PurchaseGate, U as UseCheckoutFlowOptions, x as UseCheckoutFlowReturn, y as configToAutoRechargeInput, z as deriveVariant, D as useCheckoutFlow, E as useCheckoutStepsContext } from './index-BAYpUp5R.js';
6
6
  import { PaymentIntent, Stripe, StripeElements } from '@stripe/stripe-js';
7
7
  import { BusinessDetailsInput, TaxBreakdown } from '@solvapay/core';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  LaunchCustomerPortalButton,
6
6
  usePaymentMethod
7
- } from "./chunk-3OR5EEP4.js";
7
+ } from "./chunk-4UFQDYG5.js";
8
8
  import {
9
9
  ActivationFlow,
10
10
  AutoRecharge,
@@ -16,11 +16,10 @@ import {
16
16
  PurchaseGate,
17
17
  TopupForm,
18
18
  useActivationFlow,
19
- useAutoRecharge,
20
19
  useCheckoutSteps,
21
20
  useCreditGate,
22
21
  usePaywallResolver
23
- } from "./chunk-C4QZGH7X.js";
22
+ } from "./chunk-KUH3SNWZ.js";
24
23
  import {
25
24
  AmountPicker,
26
25
  BalanceBadge,
@@ -78,6 +77,7 @@ import {
78
77
  useActivation,
79
78
  useAmountPicker,
80
79
  useAmountPickerCopy,
80
+ useAutoRecharge,
81
81
  useBalance,
82
82
  useCheckout,
83
83
  useCheckoutFlow,
@@ -100,7 +100,7 @@ import {
100
100
  useTopupAmountSelector,
101
101
  useTransport,
102
102
  useUsage
103
- } from "./chunk-JVBZHE7B.js";
103
+ } from "./chunk-GPP4MY3I.js";
104
104
  import {
105
105
  createAnonymousAuthAdapter,
106
106
  defaultAuthAdapter,