@superlogic/spree-pay 0.4.6 → 0.4.8
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/build/{CryptoComTab-5662XFNI.js → CryptoComTab-3SEGMLPB.js} +2 -2
- package/build/{CryptoTab-7EG23TQW.js → CryptoTab-DQCQF6BG.js} +2 -2
- package/build/{chunk-7I6EBCSI.js → chunk-EXKCBGNL.js} +1 -1
- package/build/{chunk-AGTOSFMT.js → chunk-SKM7ZAUY.js} +1 -1
- package/build/{chunk-FKAVWVFL.js → chunk-W43VOUYP.js} +1 -1
- package/build/index.cjs +26 -12
- package/build/index.js +36 -23
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Iframe3ds
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EXKCBGNL.js";
|
|
4
4
|
import {
|
|
5
5
|
InfoBanner,
|
|
6
6
|
Legal,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
useSpreePayRegister,
|
|
13
13
|
useSpreePaymentMethod,
|
|
14
14
|
useStaticConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-SKM7ZAUY.js";
|
|
16
16
|
|
|
17
17
|
// src/components/CryptoComTab/CryptoComTab.tsx
|
|
18
18
|
import { useCallback, useEffect } from "react";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CheckoutButton,
|
|
3
3
|
PointsSwitch,
|
|
4
4
|
cn as cn2
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-W43VOUYP.js";
|
|
6
6
|
import {
|
|
7
7
|
Dialog,
|
|
8
8
|
DialogContent,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
useSpreePayConfig,
|
|
17
17
|
useSpreePayRegister,
|
|
18
18
|
useSpreePaymentMethod
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-SKM7ZAUY.js";
|
|
20
20
|
|
|
21
21
|
// src/components/CryptoTab/Crypto/CryptoWrapper.tsx
|
|
22
22
|
import { useMemo as useMemo2 } from "react";
|
package/build/index.cjs
CHANGED
|
@@ -69,7 +69,7 @@ var init_payments = __esm({
|
|
|
69
69
|
var version;
|
|
70
70
|
var init_package = __esm({
|
|
71
71
|
"package.json"() {
|
|
72
|
-
version = "0.4.
|
|
72
|
+
version = "0.4.8";
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
|
|
@@ -3137,6 +3137,7 @@ var useCards = () => {
|
|
|
3137
3137
|
init_useSlapiBalance();
|
|
3138
3138
|
init_useSpreePayConfig();
|
|
3139
3139
|
init_errors();
|
|
3140
|
+
init_payments();
|
|
3140
3141
|
init_split();
|
|
3141
3142
|
init_CheckoutButton();
|
|
3142
3143
|
|
|
@@ -3463,9 +3464,8 @@ var StripeWrapper = ({ onCancel, saveNewCard, publicKey }) => {
|
|
|
3463
3464
|
const stripePromise = (0, import_react9.useMemo)(() => (0, import_stripe_js.loadStripe)(publicKey), [publicKey]);
|
|
3464
3465
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_stripe_js2.Elements, { stripe: stripePromise, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CreditCardForm, { cancel: onCancel, saveCard: saveNewCard }) });
|
|
3465
3466
|
};
|
|
3466
|
-
var CreditCard = () => {
|
|
3467
|
+
var CreditCard = ({ newCards, setNewCards }) => {
|
|
3467
3468
|
const [showForm, setShowForm] = (0, import_react9.useState)(false);
|
|
3468
|
-
const [newCards, setNewCards] = (0, import_react9.useState)([]);
|
|
3469
3469
|
const { selectedPaymentMethod, setSelectedPaymentMethod } = useSpreePaymentMethod();
|
|
3470
3470
|
const { spreePayConfig } = useSpreePayConfig();
|
|
3471
3471
|
const setCard = (card) => {
|
|
@@ -3481,9 +3481,12 @@ var CreditCard = () => {
|
|
|
3481
3481
|
setCard(newCard);
|
|
3482
3482
|
setShowForm(false);
|
|
3483
3483
|
};
|
|
3484
|
-
const removeNewCard = (0, import_react9.useCallback)(
|
|
3485
|
-
|
|
3486
|
-
|
|
3484
|
+
const removeNewCard = (0, import_react9.useCallback)(
|
|
3485
|
+
(card) => {
|
|
3486
|
+
setNewCards((prev) => prev.filter((c) => c.id !== card.id));
|
|
3487
|
+
},
|
|
3488
|
+
[setNewCards]
|
|
3489
|
+
);
|
|
3487
3490
|
const handleCancel = () => {
|
|
3488
3491
|
setShowForm(false);
|
|
3489
3492
|
};
|
|
@@ -4734,8 +4737,9 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
4734
4737
|
const { appProps } = useStaticConfig();
|
|
4735
4738
|
const { spreePayConfig } = useSpreePayConfig();
|
|
4736
4739
|
const { register } = useSpreePayRegister();
|
|
4737
|
-
const { mutateCards } = useCards();
|
|
4740
|
+
const { cards, mutateCards } = useCards();
|
|
4738
4741
|
const { mutateBalance } = useSlapiBalance();
|
|
4742
|
+
const [newCards, setNewCards] = (0, import_react15.useState)([]);
|
|
4739
4743
|
const isWeb3Enabled = Boolean(useWeb3Points);
|
|
4740
4744
|
const { cardPayment } = useCardPayment();
|
|
4741
4745
|
const { splitPayment } = useSplitCardPayments(isWeb3Enabled ? "web3" : "web2");
|
|
@@ -4760,14 +4764,24 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
4760
4764
|
} catch (_) {
|
|
4761
4765
|
return Promise.reject(new PaymentError("Payment failed", "FAILED" /* FAILED */));
|
|
4762
4766
|
} finally {
|
|
4763
|
-
if ("token" in (selectedPaymentMethod.method || {})) {
|
|
4764
|
-
setSelectedPaymentMethod({ ...selectedPaymentMethod, type: "CREDIT_CARD" /* CREDIT_CARD */, method: null });
|
|
4765
|
-
}
|
|
4766
|
-
mutateCards();
|
|
4767
4767
|
mutateBalance();
|
|
4768
|
+
if (selectedPaymentMethod.type === "CREDIT_CARD" /* CREDIT_CARD */ && selectedPaymentMethod.method && isNewCard(selectedPaymentMethod.method)) {
|
|
4769
|
+
const knownIds = new Set(cards.map((c) => c.id));
|
|
4770
|
+
const updated = await mutateCards();
|
|
4771
|
+
const newSavedCard = (updated?.data ?? []).find((c) => c.active && !knownIds.has(c.id));
|
|
4772
|
+
setSelectedPaymentMethod({
|
|
4773
|
+
...selectedPaymentMethod,
|
|
4774
|
+
type: "CREDIT_CARD" /* CREDIT_CARD */,
|
|
4775
|
+
method: newSavedCard ?? null
|
|
4776
|
+
});
|
|
4777
|
+
setNewCards([]);
|
|
4778
|
+
} else {
|
|
4779
|
+
mutateCards();
|
|
4780
|
+
}
|
|
4768
4781
|
}
|
|
4769
4782
|
},
|
|
4770
4783
|
[
|
|
4784
|
+
cards,
|
|
4771
4785
|
mutateCards,
|
|
4772
4786
|
selectedPaymentMethod,
|
|
4773
4787
|
pointsPayment,
|
|
@@ -4783,7 +4797,7 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
4783
4797
|
register(handlePay);
|
|
4784
4798
|
}, [register, handlePay]);
|
|
4785
4799
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
|
|
4786
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "border-b border-b-(--border-component-specific-card) px-5 py-5 md:px-7 md:py-6", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CreditCard, {}) }),
|
|
4800
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "border-b border-b-(--border-component-specific-card) px-5 py-5 md:px-7 md:py-6", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CreditCard, { newCards, setNewCards }) }),
|
|
4787
4801
|
!spreePayConfig?.creditCard.hidePoints && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex flex-col gap-4 border-b border-b-(--border-component-specific-card) px-5 pt-5 pb-5 md:px-7 md:pt-6 md:pb-7", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Points, {}) }),
|
|
4788
4802
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CheckoutButton, { isLoggedIn })
|
|
4789
4803
|
] });
|
package/build/index.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
getSplitAmount,
|
|
9
9
|
getTransactionFee,
|
|
10
10
|
useSlapiBalance
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-W43VOUYP.js";
|
|
12
12
|
import {
|
|
13
13
|
Iframe3ds
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EXKCBGNL.js";
|
|
15
15
|
import {
|
|
16
16
|
InfoBanner,
|
|
17
17
|
LogLevel,
|
|
@@ -32,10 +32,10 @@ import {
|
|
|
32
32
|
useSpreePayRegister,
|
|
33
33
|
useSpreePaymentMethod,
|
|
34
34
|
useStaticConfig
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-SKM7ZAUY.js";
|
|
36
36
|
|
|
37
37
|
// src/SpreePay.tsx
|
|
38
|
-
import { useCallback as useCallback8, useEffect as useEffect8, useMemo as useMemo9, useState as
|
|
38
|
+
import { useCallback as useCallback8, useEffect as useEffect8, useMemo as useMemo9, useState as useState12 } from "react";
|
|
39
39
|
import NiceModal4 from "@ebay/nice-modal-react";
|
|
40
40
|
import { SWRConfig } from "swr";
|
|
41
41
|
|
|
@@ -43,7 +43,7 @@ import { SWRConfig } from "swr";
|
|
|
43
43
|
import { Suspense, lazy } from "react";
|
|
44
44
|
|
|
45
45
|
// src/components/CreditCardTab/CreditCardTab.tsx
|
|
46
|
-
import { useCallback as useCallback6, useEffect as useEffect6 } from "react";
|
|
46
|
+
import { useCallback as useCallback6, useEffect as useEffect6, useState as useState10 } from "react";
|
|
47
47
|
|
|
48
48
|
// src/hooks/payments/useCardPayment.ts
|
|
49
49
|
import NiceModal from "@ebay/nice-modal-react";
|
|
@@ -868,9 +868,8 @@ var StripeWrapper = ({ onCancel, saveNewCard, publicKey }) => {
|
|
|
868
868
|
const stripePromise = useMemo3(() => loadStripe(publicKey), [publicKey]);
|
|
869
869
|
return /* @__PURE__ */ jsx5(Elements, { stripe: stripePromise, children: /* @__PURE__ */ jsx5(CreditCardForm, { cancel: onCancel, saveCard: saveNewCard }) });
|
|
870
870
|
};
|
|
871
|
-
var CreditCard = () => {
|
|
871
|
+
var CreditCard = ({ newCards, setNewCards }) => {
|
|
872
872
|
const [showForm, setShowForm] = useState3(false);
|
|
873
|
-
const [newCards, setNewCards] = useState3([]);
|
|
874
873
|
const { selectedPaymentMethod, setSelectedPaymentMethod } = useSpreePaymentMethod();
|
|
875
874
|
const { spreePayConfig } = useSpreePayConfig();
|
|
876
875
|
const setCard = (card) => {
|
|
@@ -886,9 +885,12 @@ var CreditCard = () => {
|
|
|
886
885
|
setCard(newCard);
|
|
887
886
|
setShowForm(false);
|
|
888
887
|
};
|
|
889
|
-
const removeNewCard = useCallback2(
|
|
890
|
-
|
|
891
|
-
|
|
888
|
+
const removeNewCard = useCallback2(
|
|
889
|
+
(card) => {
|
|
890
|
+
setNewCards((prev) => prev.filter((c) => c.id !== card.id));
|
|
891
|
+
},
|
|
892
|
+
[setNewCards]
|
|
893
|
+
);
|
|
892
894
|
const handleCancel = () => {
|
|
893
895
|
setShowForm(false);
|
|
894
896
|
};
|
|
@@ -2119,8 +2121,9 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
2119
2121
|
const { appProps } = useStaticConfig();
|
|
2120
2122
|
const { spreePayConfig } = useSpreePayConfig();
|
|
2121
2123
|
const { register } = useSpreePayRegister();
|
|
2122
|
-
const { mutateCards } = useCards();
|
|
2124
|
+
const { cards, mutateCards } = useCards();
|
|
2123
2125
|
const { mutateBalance } = useSlapiBalance();
|
|
2126
|
+
const [newCards, setNewCards] = useState10([]);
|
|
2124
2127
|
const isWeb3Enabled = Boolean(useWeb3Points);
|
|
2125
2128
|
const { cardPayment } = useCardPayment();
|
|
2126
2129
|
const { splitPayment } = useSplitCardPayments(isWeb3Enabled ? "web3" : "web2");
|
|
@@ -2145,14 +2148,24 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
2145
2148
|
} catch (_) {
|
|
2146
2149
|
return Promise.reject(new PaymentError("Payment failed", "FAILED" /* FAILED */));
|
|
2147
2150
|
} finally {
|
|
2148
|
-
if ("token" in (selectedPaymentMethod.method || {})) {
|
|
2149
|
-
setSelectedPaymentMethod({ ...selectedPaymentMethod, type: "CREDIT_CARD" /* CREDIT_CARD */, method: null });
|
|
2150
|
-
}
|
|
2151
|
-
mutateCards();
|
|
2152
2151
|
mutateBalance();
|
|
2152
|
+
if (selectedPaymentMethod.type === "CREDIT_CARD" /* CREDIT_CARD */ && selectedPaymentMethod.method && isNewCard(selectedPaymentMethod.method)) {
|
|
2153
|
+
const knownIds = new Set(cards.map((c) => c.id));
|
|
2154
|
+
const updated = await mutateCards();
|
|
2155
|
+
const newSavedCard = (updated?.data ?? []).find((c) => c.active && !knownIds.has(c.id));
|
|
2156
|
+
setSelectedPaymentMethod({
|
|
2157
|
+
...selectedPaymentMethod,
|
|
2158
|
+
type: "CREDIT_CARD" /* CREDIT_CARD */,
|
|
2159
|
+
method: newSavedCard ?? null
|
|
2160
|
+
});
|
|
2161
|
+
setNewCards([]);
|
|
2162
|
+
} else {
|
|
2163
|
+
mutateCards();
|
|
2164
|
+
}
|
|
2153
2165
|
}
|
|
2154
2166
|
},
|
|
2155
2167
|
[
|
|
2168
|
+
cards,
|
|
2156
2169
|
mutateCards,
|
|
2157
2170
|
selectedPaymentMethod,
|
|
2158
2171
|
pointsPayment,
|
|
@@ -2168,7 +2181,7 @@ var CreditCardTab = ({ isLoggedIn }) => {
|
|
|
2168
2181
|
register(handlePay);
|
|
2169
2182
|
}, [register, handlePay]);
|
|
2170
2183
|
return /* @__PURE__ */ jsxs9("div", { children: [
|
|
2171
|
-
/* @__PURE__ */ jsx16("div", { className: "border-b border-b-(--border-component-specific-card) px-5 py-5 md:px-7 md:py-6", children: /* @__PURE__ */ jsx16(CreditCard, {}) }),
|
|
2184
|
+
/* @__PURE__ */ jsx16("div", { className: "border-b border-b-(--border-component-specific-card) px-5 py-5 md:px-7 md:py-6", children: /* @__PURE__ */ jsx16(CreditCard, { newCards, setNewCards }) }),
|
|
2172
2185
|
!spreePayConfig?.creditCard.hidePoints && /* @__PURE__ */ jsx16("div", { className: "flex flex-col gap-4 border-b border-b-(--border-component-specific-card) px-5 pt-5 pb-5 md:px-7 md:pt-6 md:pb-7", children: /* @__PURE__ */ jsx16(Points, {}) }),
|
|
2173
2186
|
/* @__PURE__ */ jsx16(CheckoutButton, { isLoggedIn })
|
|
2174
2187
|
] });
|
|
@@ -2246,9 +2259,9 @@ var TabButtons = (props) => {
|
|
|
2246
2259
|
|
|
2247
2260
|
// src/SpreePayContent.tsx
|
|
2248
2261
|
import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2249
|
-
var CryptoTab = lazy(() => import("./CryptoTab-
|
|
2262
|
+
var CryptoTab = lazy(() => import("./CryptoTab-DQCQF6BG.js").then((module) => ({ default: module.CryptoTab })));
|
|
2250
2263
|
var CryptoComTab = lazy(
|
|
2251
|
-
() => import("./CryptoComTab-
|
|
2264
|
+
() => import("./CryptoComTab-3SEGMLPB.js").then((module) => ({ default: module.CryptoComTab }))
|
|
2252
2265
|
);
|
|
2253
2266
|
var TabLoadingFallback = () => /* @__PURE__ */ jsx18("div", { className: "flex items-center justify-center px-5 py-8 md:px-7", children: /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center gap-3", children: [
|
|
2254
2267
|
/* @__PURE__ */ jsx18("div", { className: "h-8 w-8 animate-spin rounded-full border-4 border-(--border-component-specific-card) border-t-(--brand-primary)" }),
|
|
@@ -2318,7 +2331,7 @@ var ErrorBoundary = class extends Component {
|
|
|
2318
2331
|
};
|
|
2319
2332
|
|
|
2320
2333
|
// src/hooks/useKeycloakSSO.ts
|
|
2321
|
-
import { useCallback as useCallback7, useEffect as useEffect7, useRef as useRef7, useState as
|
|
2334
|
+
import { useCallback as useCallback7, useEffect as useEffect7, useRef as useRef7, useState as useState11 } from "react";
|
|
2322
2335
|
import Keycloak from "keycloak-js";
|
|
2323
2336
|
var refreshAheadSeconds = 60;
|
|
2324
2337
|
var keycloakLogger = logger.child("keycloak");
|
|
@@ -2329,9 +2342,9 @@ function useKeycloakSSO(config) {
|
|
|
2329
2342
|
const refreshTimerRef = useRef7(null);
|
|
2330
2343
|
const scheduleRefreshRef = useRef7(() => {
|
|
2331
2344
|
});
|
|
2332
|
-
const [error, setError] =
|
|
2333
|
-
const [isChecking, setIsChecking] =
|
|
2334
|
-
const [accessToken, setAccessToken] =
|
|
2345
|
+
const [error, setError] = useState11(null);
|
|
2346
|
+
const [isChecking, setIsChecking] = useState11(enabled);
|
|
2347
|
+
const [accessToken, setAccessToken] = useState11(null);
|
|
2335
2348
|
const scheduleRefresh = useCallback7(() => {
|
|
2336
2349
|
const kc = kcRef.current;
|
|
2337
2350
|
if (!kc || !kc.tokenParsed || !kc.tokenParsed.exp) {
|
|
@@ -2406,7 +2419,7 @@ var isTokenExpired = (token) => {
|
|
|
2406
2419
|
// src/SpreePay.tsx
|
|
2407
2420
|
import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2408
2421
|
var SpreePayInner = () => {
|
|
2409
|
-
const [portalEl, setPortalEl] =
|
|
2422
|
+
const [portalEl, setPortalEl] = useState12(null);
|
|
2410
2423
|
const rootRef = useCallback8((node) => {
|
|
2411
2424
|
if (!node) return;
|
|
2412
2425
|
const el = node.querySelector(":scope > .sl-spreepay__portal");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superlogic/spree-pay",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.8",
|
|
4
4
|
"description": "Spree-pay React component and utilities",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@ebay/nice-modal-react": "^1.2.13",
|
|
44
|
-
"@mocanetwork/airkit": "
|
|
44
|
+
"@mocanetwork/airkit": "1.7.0",
|
|
45
45
|
"@radix-ui/react-checkbox": "^1.1.3",
|
|
46
46
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
47
47
|
"@radix-ui/react-label": "^2.1.8",
|