@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.
- package/CHANGELOG.md +1 -16
- package/dist/{UsageMeter-CCWxdw12.d.ts → UsageMeter-BZWfC5KX.d.ts} +1 -1
- package/dist/{UsageMeter-wjQ1xFpP.d.cts → UsageMeter-BiujMmVR.d.cts} +1 -1
- package/dist/{chunk-3OR5EEP4.js → chunk-4UFQDYG5.js} +1 -1
- package/dist/{chunk-JVBZHE7B.js → chunk-GPP4MY3I.js} +205 -33
- package/dist/{chunk-C4QZGH7X.js → chunk-KUH3SNWZ.js} +41 -225
- package/dist/{index-CLYaY7rM.d.cts → index-B5QUesJE.d.cts} +1 -1
- package/dist/{index-ZnFJaFNZ.d.ts → index-BAYpUp5R.d.ts} +1 -1
- package/dist/index.cjs +2 -4
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/mcp/index.cjs +2232 -1890
- package/dist/mcp/index.d.cts +23 -36
- package/dist/mcp/index.d.ts +23 -36
- package/dist/mcp/index.js +772 -766
- package/dist/primitives/index.cjs +2 -4
- package/dist/primitives/index.d.cts +5 -5
- package/dist/primitives/index.d.ts +5 -5
- package/dist/primitives/index.js +2 -2
- package/dist/{useUsage-BpIrBHDT.d.cts → useUsage-CRd_E6J3.d.cts} +52 -37
- package/dist/{useUsage-SizdkzW3.d.ts → useUsage-DSPWQ37m.d.ts} +52 -37
- package/package.json +4 -4
|
@@ -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
|
-
|
|
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
|
|
677
|
+
useCallback as useCallback3,
|
|
861
678
|
useContext as useContext6,
|
|
862
|
-
useEffect as
|
|
679
|
+
useEffect as useEffect3,
|
|
863
680
|
useId,
|
|
864
681
|
useMemo as useMemo5,
|
|
865
|
-
useRef as
|
|
866
|
-
useState as
|
|
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 =
|
|
781
|
+
const triggerRef = useRef2(null);
|
|
965
782
|
const defaultTopup = defaultTopupAmountMajor ?? defaultThresholdAmountMajor ?? void 0;
|
|
966
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
783
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState3(defaultOpen);
|
|
967
784
|
const isControlled = openProp !== void 0;
|
|
968
785
|
const open = isControlled ? openProp : uncontrolledOpen;
|
|
969
|
-
const setOpen =
|
|
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 =
|
|
795
|
+
const registerTriggerRef = useCallback3((node) => {
|
|
979
796
|
triggerRef.current = node;
|
|
980
797
|
}, []);
|
|
981
|
-
const focusTrigger =
|
|
798
|
+
const focusTrigger = useCallback3(() => {
|
|
982
799
|
triggerRef.current?.focus();
|
|
983
800
|
}, []);
|
|
984
|
-
const [form, setForm] =
|
|
801
|
+
const [form, setForm] = useState3(
|
|
985
802
|
() => autoRecharge.config ? configToForm(autoRecharge.config, currency) : createDefaultAutoRechargeForm(currency, defaultTopup)
|
|
986
803
|
);
|
|
987
|
-
const [validationError, setValidationError] =
|
|
988
|
-
const [statusMessage, setStatusMessage] =
|
|
989
|
-
const [setup, setSetup] =
|
|
990
|
-
const latestConfigRef =
|
|
991
|
-
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
1337
|
-
|
|
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] =
|
|
1977
|
-
const [error, setError] =
|
|
1978
|
-
|
|
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
|
|
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 =
|
|
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
|
|
2010
|
+
useCallback as useCallback5,
|
|
2194
2011
|
useContext as useContext8,
|
|
2195
|
-
useEffect as
|
|
2012
|
+
useEffect as useEffect4,
|
|
2196
2013
|
useMemo as useMemo8,
|
|
2197
|
-
useRef as
|
|
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 =
|
|
2790
|
-
|
|
2606
|
+
const onResolvedRef = useRef3(onResolved);
|
|
2607
|
+
useEffect4(() => {
|
|
2791
2608
|
onResolvedRef.current = onResolved;
|
|
2792
2609
|
}, [onResolved]);
|
|
2793
|
-
const hasResolvedRef =
|
|
2794
|
-
const signalResolved =
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
867
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
103
|
+
} from "./chunk-GPP4MY3I.js";
|
|
104
104
|
import {
|
|
105
105
|
createAnonymousAuthAdapter,
|
|
106
106
|
defaultAuthAdapter,
|