@mintmoney/react 0.1.0-alpha.12 → 0.1.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/css/styles.css +34 -0
- package/dist/esm/api/payments.js +1 -1
- package/dist/esm/api/types.js +1 -7
- package/dist/esm/api/types.js.map +1 -1
- package/dist/esm/checkout/index.js +17 -3
- package/dist/esm/checkout/index.js.map +1 -1
- package/dist/esm/checkout/modal.js +6 -0
- package/dist/esm/checkout/modal.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/curreny.js +1 -1
- package/dist/esm/checkout/views/crypto-intent/curreny.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/methods.js +3 -3
- package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/processing.js +2 -4
- package/dist/esm/checkout/views/crypto-intent/processing.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js +21 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js.map +1 -0
- package/dist/esm/components/buttons/async-button.js +16 -0
- package/dist/esm/components/buttons/async-button.js.map +1 -0
- package/dist/esm/components/buttons/index.js +74 -1
- package/dist/esm/components/buttons/index.js.map +1 -1
- package/dist/esm/components/buttons/use-async-button.js +44 -0
- package/dist/esm/components/buttons/use-async-button.js.map +1 -0
- package/dist/esm/components/icons/alert.js +20 -0
- package/dist/esm/components/icons/alert.js.map +1 -0
- package/dist/esm/components/icons/index.js +3 -0
- package/dist/esm/components/icons/index.js.map +1 -1
- package/dist/esm/components/icons/link.js +20 -0
- package/dist/esm/components/icons/link.js.map +1 -0
- package/dist/esm/components/icons/loading.js +20 -0
- package/dist/esm/components/icons/loading.js.map +1 -0
- package/dist/esm/components/inputs/index.js +32 -0
- package/dist/esm/components/inputs/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/component.js +61 -0
- package/dist/esm/components/wallet-selector/component.js.map +1 -0
- package/dist/esm/components/wallet-selector/domain.js +2 -0
- package/dist/esm/components/wallet-selector/domain.js.map +1 -0
- package/dist/esm/components/wallet-selector/helper.js +12 -0
- package/dist/esm/components/wallet-selector/helper.js.map +1 -0
- package/dist/esm/components/wallet-selector/index.js +5 -0
- package/dist/esm/components/wallet-selector/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/provider.js +15 -0
- package/dist/esm/components/wallet-selector/provider.js.map +1 -0
- package/dist/esm/components/wallet-selector/schemas.js +6 -0
- package/dist/esm/components/wallet-selector/schemas.js.map +1 -0
- package/dist/esm/components/wallet-selector/store.js +79 -0
- package/dist/esm/components/wallet-selector/store.js.map +1 -0
- package/dist/esm/components/wallet-selector/util/exceptions.js +16 -0
- package/dist/esm/components/wallet-selector/util/exceptions.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/address/addressInput.js +17 -0
- package/dist/esm/components/wallet-selector/wallets/address/addressInput.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/address/index.js +75 -0
- package/dist/esm/components/wallet-selector/wallets/address/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/index.js +5 -0
- package/dist/esm/components/wallet-selector/wallets/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/recommended/index.js +64 -0
- package/dist/esm/components/wallet-selector/wallets/recommended/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +211 -0
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -0
- package/dist/esm/components/wallet-selector/wallets/wagmi/usdt-abi.json +671 -0
- package/dist/esm/config.js +1 -10
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/state/checkout/store.js +2 -2
- package/dist/esm/state/checkout/store.js.map +1 -1
- package/dist/esm/themes/default.js +42 -0
- package/dist/esm/themes/default.js.map +1 -1
- package/dist/types/api/types.d.ts +0 -6
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/checkout/index.d.ts.map +1 -1
- package/dist/types/checkout/modal.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/curreny.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts +3 -0
- package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -0
- package/dist/types/components/buttons/async-button.d.ts +14 -0
- package/dist/types/components/buttons/async-button.d.ts.map +1 -0
- package/dist/types/components/buttons/index.d.ts +20 -3
- package/dist/types/components/buttons/index.d.ts.map +1 -1
- package/dist/types/components/buttons/use-async-button.d.ts +16 -0
- package/dist/types/components/buttons/use-async-button.d.ts.map +1 -0
- package/dist/types/components/icons/alert.d.ts +6 -0
- package/dist/types/components/icons/alert.d.ts.map +1 -0
- package/dist/types/components/icons/index.d.ts +3 -0
- package/dist/types/components/icons/index.d.ts.map +1 -1
- package/dist/types/components/icons/link.d.ts +6 -0
- package/dist/types/components/icons/link.d.ts.map +1 -0
- package/dist/types/components/icons/loading.d.ts +6 -0
- package/dist/types/components/icons/loading.d.ts.map +1 -0
- package/dist/types/components/inputs/index.d.ts +7 -0
- package/dist/types/components/inputs/index.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/component.d.ts +13 -0
- package/dist/types/components/wallet-selector/component.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/domain.d.ts +86 -0
- package/dist/types/components/wallet-selector/domain.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/helper.d.ts +4 -0
- package/dist/types/components/wallet-selector/helper.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/index.d.ts +7 -0
- package/dist/types/components/wallet-selector/index.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/provider.d.ts +10 -0
- package/dist/types/components/wallet-selector/provider.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/schemas.d.ts +4 -0
- package/dist/types/components/wallet-selector/schemas.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/store.d.ts +27 -0
- package/dist/types/components/wallet-selector/store.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/util/exceptions.d.ts +7 -0
- package/dist/types/components/wallet-selector/util/exceptions.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts +7 -0
- package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/wallets/address/index.d.ts +7 -0
- package/dist/types/components/wallet-selector/wallets/address/index.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/wallets/index.d.ts +5 -0
- package/dist/types/components/wallet-selector/wallets/index.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts +23 -0
- package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts.map +1 -0
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +15 -0
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -0
- package/dist/types/config.d.ts +0 -7
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/state/checkout/store.d.ts +1 -1
- package/dist/types/state/checkout/store.d.ts.map +1 -1
- package/dist/types/themes/default.d.ts.map +1 -1
- package/dist/types/themes/types.d.ts +4 -0
- package/dist/types/themes/types.d.ts.map +1 -1
- package/package.json +6 -1
package/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# @mintmoney/react
|
|
2
|
+
|
|
3
|
+
A React SDK for integrating MintMoney payments into your web application. This package provides a simple and customizable way to accept cryptocurrency payments in your React application.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @mintmoney/react
|
|
9
|
+
# or
|
|
10
|
+
yarn add @mintmoney/react
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @mintmoney/react
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Documentation
|
|
16
|
+
|
|
17
|
+
- [Quickstart Guide](../docs/guides/quickstart.md) - Get started with @mintmoney/react
|
|
18
|
+
- [Overview](../docs/guides/overview.md) - Learn about the SDK's features and architecture
|
|
19
|
+
- [Customization](../docs/guides/customisation.md) - Customize the checkout experience
|
package/dist/css/styles.css
CHANGED
|
@@ -140,6 +140,40 @@
|
|
|
140
140
|
box-shadow: 0 0 0 3px rgba(26, 83, 255, 0.4);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
.loading-animation {
|
|
144
|
+
animation: fadeIn 0.3s ease-in-out;
|
|
145
|
+
}
|
|
146
|
+
.success-animation {
|
|
147
|
+
animation: fadeIn 0.5s ease-in-out;
|
|
148
|
+
}
|
|
149
|
+
.error-animation {
|
|
150
|
+
animation: shake 0.5s ease-in-out;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
@keyframes fadeIn {
|
|
154
|
+
from {
|
|
155
|
+
opacity: 0;
|
|
156
|
+
}
|
|
157
|
+
to {
|
|
158
|
+
opacity: 1;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@keyframes shake {
|
|
163
|
+
0%,
|
|
164
|
+
100% {
|
|
165
|
+
transform: translateX(0);
|
|
166
|
+
}
|
|
167
|
+
20%,
|
|
168
|
+
60% {
|
|
169
|
+
transform: translateX(-4px);
|
|
170
|
+
}
|
|
171
|
+
40%,
|
|
172
|
+
80% {
|
|
173
|
+
transform: translateX(4px);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
143
177
|
/* ***********************************************
|
|
144
178
|
* Lists
|
|
145
179
|
* **********************************************/
|
package/dist/esm/api/payments.js
CHANGED
|
@@ -12,7 +12,7 @@ export async function createPayment({ amount, checkoutId, }) {
|
|
|
12
12
|
});
|
|
13
13
|
return paymentDTO(resp.data);
|
|
14
14
|
}
|
|
15
|
-
export async function createPaymentAttempt(paymentId, currency, confirmations =
|
|
15
|
+
export async function createPaymentAttempt(paymentId, currency, confirmations = 5) {
|
|
16
16
|
const data = { ...currency, required_confirmations: confirmations };
|
|
17
17
|
const resp = await api.v1.paymentsCryptoPayCreate(paymentId, data);
|
|
18
18
|
return resp.data.data;
|
package/dist/esm/api/types.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
(function (PaymentStatus) {
|
|
3
|
-
PaymentStatus["PENDING"] = "pending";
|
|
4
|
-
PaymentStatus["CONFIRMING_PAYMENT"] = "confirming_payment";
|
|
5
|
-
PaymentStatus["PAID"] = "paid";
|
|
6
|
-
PaymentStatus["FAILED"] = "failed";
|
|
7
|
-
})(PaymentStatus || (PaymentStatus = {}));
|
|
1
|
+
export {};
|
|
8
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx,
|
|
3
|
-
import { useState, cloneElement } from "react";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, cloneElement, useRef } from "react";
|
|
4
|
+
import { mainnet, sepolia } from "viem/chains";
|
|
5
|
+
import { createConfig, http, WagmiProvider } from "wagmi";
|
|
4
6
|
import { StyledButton } from "../components/index.js";
|
|
5
7
|
import { CheckoutModal } from "./modal.js";
|
|
6
8
|
export function Checkout({ createPayment, asChild, children }) {
|
|
7
9
|
const [isOpen, openModal] = useState(false);
|
|
8
10
|
const [payment, setPayment] = useState(null);
|
|
11
|
+
const wagmi = useRef();
|
|
12
|
+
//TOD we need to handle more chains here and provide custom rpc node urls.
|
|
13
|
+
const wagmiConfig = createConfig({
|
|
14
|
+
chains: [mainnet, sepolia],
|
|
15
|
+
transports: {
|
|
16
|
+
[mainnet.id]: http(),
|
|
17
|
+
[sepolia.id]: http(),
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
if (!wagmi.current) {
|
|
21
|
+
wagmi.current = wagmiConfig;
|
|
22
|
+
}
|
|
9
23
|
const handleCheckout = async () => {
|
|
10
24
|
try {
|
|
11
25
|
const payment = await createPayment();
|
|
@@ -19,6 +33,6 @@ export function Checkout({ createPayment, asChild, children }) {
|
|
|
19
33
|
const trigger = asChild && children ? (cloneElement(children, {
|
|
20
34
|
onClick: handleCheckout,
|
|
21
35
|
})) : (_jsx(StyledButton, { variant: "primary", onClick: handleCheckout, children: "Pay Now" }));
|
|
22
|
-
return (_jsxs(
|
|
36
|
+
return (_jsxs(WagmiProvider, { config: wagmi.current, reconnectOnMount: true, children: [trigger, payment && (_jsx(CheckoutModal, { open: isOpen, onOpenChange: openModal, payment: payment }))] }));
|
|
23
37
|
}
|
|
24
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAU,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C,MAAM,UAAU,QAAQ,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAiB;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,MAAM,EAAU,CAAC;IAE/B,0EAA0E;IAC1E,MAAM,WAAW,GAAG,YAAY,CAAC;QAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE;YACV,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;YACpB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YACtC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GACX,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CACpB,YAAY,CAAC,QAA8B,EAAE;QAC3C,OAAO,EAAE,cAAc;KACxB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,wBAE1C,CAChB,CAAC;IAEJ,OAAO,CACL,MAAC,aAAa,IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,aACzD,OAAO,EAEP,OAAO,IAAI,CACV,KAAC,aAAa,IACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,IACa,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { CryptoIntentPaymentStatusViewContent } from "./views/crypto-intent/proc
|
|
|
9
9
|
import { CryptoIntentPaymentSuccessViewContent } from "./views/crypto-intent/success.js";
|
|
10
10
|
import { InitialiseCheckoutViewContent } from "./views/initial.js";
|
|
11
11
|
import { MethodSelectViewContent } from "./views/method-select.js";
|
|
12
|
+
import { CryptoIntentSelectWalletViewContent } from "./views/crypto-intent/wallet-select.js";
|
|
12
13
|
export const CheckoutModal = (props) => {
|
|
13
14
|
return (_jsx(ModalWithView, { className: "mm-checkout-modal", initialView: "initial", isOpen: props.open, onOpenChange: props.onOpenChange, views: {
|
|
14
15
|
initial: {
|
|
@@ -34,6 +35,11 @@ export const CheckoutModal = (props) => {
|
|
|
34
35
|
content: () => _jsx(CryptoIntentDirectDetailsViewContent, {}),
|
|
35
36
|
footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
|
|
36
37
|
},
|
|
38
|
+
cryptoIntentSelectWallet: {
|
|
39
|
+
title: "Connect Wallet",
|
|
40
|
+
content: () => _jsx(CryptoIntentSelectWalletViewContent, {}),
|
|
41
|
+
footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
|
|
42
|
+
},
|
|
37
43
|
cryptoIntentPaymentStatus: {
|
|
38
44
|
title: "Payment Processing",
|
|
39
45
|
content: () => _jsx(CryptoIntentPaymentStatusViewContent, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/checkout/modal.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,qCAAqC,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/checkout/modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const CryptontentSelectCurrencyViewContent = () => {
|
|
|
14
14
|
if (checkout && !checkout.checkout_config.crypto?.enabled)
|
|
15
15
|
goToView("failed", { reason: "crypto_not_enabled" });
|
|
16
16
|
const handleSelectCurrency = async (currency) => {
|
|
17
|
-
await createCheckoutCryptoPaymentAttempt(currency
|
|
17
|
+
await createCheckoutCryptoPaymentAttempt(currency);
|
|
18
18
|
goToView("cryptoIntentDirectDetails");
|
|
19
19
|
};
|
|
20
20
|
if (isLoading)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curreny.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/curreny.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,MAAM,GACP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO;QACvD,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEvD,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAAwB,EAAE,EAAE;QAC9D,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"curreny.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/curreny.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,MAAM,GACP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO;QACvD,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEvD,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAAwB,EAAE,EAAE;QAC9D,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;QACnD,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI,SAAS;QAAE,OAAO,KAAC,MAAM,KAAG,CAAC;IAEjC,OAAO,CACL,MAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,aAC/B,KAAC,IAAI,IACH,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EACvC,MAAM,EAAE,QAAQ,4DAGX,EAEP,KAAC,cAAc,IACb,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAC7B,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,EACvE,QAAQ,EAAE,oBAAoB,GAC9B,IACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
|
|
@@ -9,7 +9,7 @@ const CryptoIntentViewContent = () => {
|
|
|
9
9
|
{
|
|
10
10
|
key: "wallet",
|
|
11
11
|
label: "Connect Wallet",
|
|
12
|
-
view: "
|
|
12
|
+
view: "cryptoIntentSelectWallet",
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
key: "direct",
|
|
@@ -17,8 +17,8 @@ const CryptoIntentViewContent = () => {
|
|
|
17
17
|
view: "cryptoIntentSelectCurrency",
|
|
18
18
|
},
|
|
19
19
|
];
|
|
20
|
-
const handleMethodSelect = () => {
|
|
21
|
-
goToView(
|
|
20
|
+
const handleMethodSelect = (selectedMethod) => {
|
|
21
|
+
goToView(selectedMethod.view);
|
|
22
22
|
};
|
|
23
23
|
return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsx(SelectableList, { items: methods, getKey: (method) => method.key, getLabel: (method) => method.label, onSelect: handleMethodSelect }) }));
|
|
24
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/methods.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQxC,MAAM,OAAO,GAAuB;QAClC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/methods.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQxC,MAAM,OAAO,GAAuB;QAClC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,0BAA0B;SACjC;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,4BAA4B;SACnC;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,cAAgC,EAAE,EAAE;QAC9D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,YAC/B,KAAC,cAAc,IACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAChD,QAAQ,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EACpD,QAAQ,EAAE,kBAAkB,GAC5B,GACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
|
-
import { PaymentStatus } from "../../../api/types.js";
|
|
4
3
|
import { useModalWithView, Loader, Text } from "../../../components/index.js";
|
|
5
4
|
import { useMintMoneyConfig } from "../../../context.js";
|
|
6
5
|
import { getPayment } from "../../../state/checkout/store.js";
|
|
@@ -15,11 +14,10 @@ const CryptoIntentPaymentStatusViewContent = () => {
|
|
|
15
14
|
const updatedPayment = await getPayment();
|
|
16
15
|
if (!updatedPayment || !isMounted)
|
|
17
16
|
return;
|
|
18
|
-
if (updatedPayment.status ===
|
|
19
|
-
config.cryptoCheckoutConfig.paymentConfirmationStatus) {
|
|
17
|
+
if (updatedPayment.status === "paid") {
|
|
20
18
|
goToView("cryptoIntentPaymentSuccess");
|
|
21
19
|
}
|
|
22
|
-
else if (updatedPayment.status ===
|
|
20
|
+
else if (updatedPayment.status === "failed") {
|
|
23
21
|
goToView("failed");
|
|
24
22
|
}
|
|
25
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/processing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"processing.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/processing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,UAAU,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAE1C,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACrC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9C,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,iBAAiB,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,IAAI,EAAE,CAAC,MAAM,iBAAiB,EAAE,EACrC,aAAa,CACd,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,KAAK,CAAC;YAClB,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,GAAI,EACzB,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAElD,IACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useRef } from "react";
|
|
3
|
+
import { useConfig } from "wagmi";
|
|
4
|
+
import { useModalWithView, Text } from "../../../components/index.js";
|
|
5
|
+
import WalletSelector from "../../../components/wallet-selector/component.js";
|
|
6
|
+
import { WagmiWallets, } from "../../../components/wallet-selector/index.js";
|
|
7
|
+
import { useMintMoneyConfig } from "../../../context.js";
|
|
8
|
+
import { ModalViewContainer } from "../../container.js";
|
|
9
|
+
const CryptoIntentSelectWalletViewContent = () => {
|
|
10
|
+
const modalRef = useRef(null);
|
|
11
|
+
const { goToView: _view } = useModalWithView();
|
|
12
|
+
const config = useMintMoneyConfig();
|
|
13
|
+
const wagmiConfig = useConfig();
|
|
14
|
+
const providers = useMemo(() => [WagmiWallets(wagmiConfig)], [wagmiConfig]);
|
|
15
|
+
const handleConfirm = async (wallet) => {
|
|
16
|
+
await wallet.connect();
|
|
17
|
+
};
|
|
18
|
+
return (_jsxs(ModalViewContainer, { ref: modalRef, children: [_jsx(Text, { size: "base", weight: "normal", color: config.theme.font.color.secondary, children: "Select a Wallet provider" }), _jsx(WalletSelector, { className: "mm-selectable-list__button-group", onWalletSelect: handleConfirm, walletProviders: providers })] }));
|
|
19
|
+
};
|
|
20
|
+
export { CryptoIntentSelectWalletViewContent };
|
|
21
|
+
//# sourceMappingURL=wallet-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-select.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/wallet-select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,cAAc,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,mCAAmC,GAAG,GAAG,EAAE;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,KAAK,EAAE,MAAuB,EAAE,EAAE;QACtD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,aAC/B,KAAC,IAAI,IACH,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,yCAGnC,EACP,KAAC,cAAc,IACb,SAAS,EAAC,kCAAkC,EAC5C,cAAc,EAAE,aAAa,EAC7B,eAAe,EAAE,SAAS,GAC1B,IACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,mCAAmC,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "./index.js";
|
|
3
|
+
import { useAsyncButton } from "./use-async-button.js";
|
|
4
|
+
export const AsyncButton = ({ onAsyncClick, onSuccess, successDuration, successContent, loadingContent, errorContent, successMessage, ...buttonProps }) => {
|
|
5
|
+
const { loading, success, error, handleAsyncClick, handleSuccessComplete, handleErrorComplete, } = useAsyncButton();
|
|
6
|
+
const handleClick = async (e) => {
|
|
7
|
+
e.preventDefault();
|
|
8
|
+
await handleAsyncClick(onAsyncClick);
|
|
9
|
+
};
|
|
10
|
+
const onSuccessComplete = () => {
|
|
11
|
+
handleSuccessComplete();
|
|
12
|
+
onSuccess?.();
|
|
13
|
+
};
|
|
14
|
+
return (_jsx(Button, { ...buttonProps, loading: loading, success: success, error: error, onClick: handleClick, onSuccessComplete: onSuccessComplete, onErrorComplete: handleErrorComplete, successDuration: successDuration, successMessage: successMessage, loadingContent: loadingContent, successContent: successContent, errorContent: errorContent }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=async-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-button.js","sourceRoot":"","sources":["../../../../src/components/buttons/async-button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAe,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAavD,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,YAAY,EACZ,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,GAAG,WAAW,EACf,EAAE,EAAE;IACH,MAAM,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,GAAG,cAAc,EAAE,CAAC;IAErB,MAAM,WAAW,GAAG,KAAK,EAAE,CAAsC,EAAE,EAAE;QACnE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,qBAAqB,EAAE,CAAC;QACxB,SAAS,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,OACD,WAAW,EACf,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,mBAAmB,EACpC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState, forwardRef } from "react";
|
|
1
3
|
import { styled } from "styled-components";
|
|
4
|
+
import { LoaderCircleIcon, CheckMarkIcon, AlertCircleIcon, } from "../icons/index.js";
|
|
2
5
|
const StyledButton = styled.button `
|
|
3
6
|
width: 100%;
|
|
4
7
|
height: 48px;
|
|
@@ -32,6 +35,76 @@ const StyledButton = styled.button `
|
|
|
32
35
|
color: ${({ theme, variant = "primary" }) => theme?.btn?.[variant]?.disabled.textColor};
|
|
33
36
|
cursor: not-allowed;
|
|
34
37
|
}
|
|
38
|
+
|
|
39
|
+
/* Success and Error States */
|
|
40
|
+
${({ status, theme }) => status === "success" &&
|
|
41
|
+
`
|
|
42
|
+
background-color: ${theme?.btn?.success?.default.backgroundColor};
|
|
43
|
+
color: ${theme?.btn.success.default.textColor};
|
|
44
|
+
border-color: ${theme?.btn?.success?.default.backgroundColor};
|
|
45
|
+
opacity: 1;
|
|
46
|
+
&:disabled {
|
|
47
|
+
background-color: ${theme?.btn?.success?.disabled.backgroundColor};
|
|
48
|
+
border-color: ${theme?.btn?.success?.disabled.borderColor};
|
|
49
|
+
color: ${theme?.btn.success.disabled.textColor};
|
|
50
|
+
opacity: 1;
|
|
51
|
+
cursor: default;
|
|
52
|
+
}
|
|
53
|
+
`}
|
|
54
|
+
|
|
55
|
+
${({ status, theme }) => status === "error" &&
|
|
56
|
+
`
|
|
57
|
+
background-color: ${theme?.btn?.error?.default.backgroundColor};
|
|
58
|
+
color: ${theme?.btn.error.default.textColor};
|
|
59
|
+
border-color: ${theme?.btn?.error?.default.backgroundColor};
|
|
60
|
+
opacity: 1;
|
|
61
|
+
&:disabled {
|
|
62
|
+
background-color: ${theme?.btn?.error?.disabled.backgroundColor};
|
|
63
|
+
border-color: ${theme?.btn?.error?.disabled.borderColor};
|
|
64
|
+
color: ${theme?.btn.error.disabled.textColor};
|
|
65
|
+
opacity: 1;
|
|
66
|
+
cursor: default;
|
|
67
|
+
}
|
|
68
|
+
`}
|
|
35
69
|
`;
|
|
36
|
-
|
|
70
|
+
const Button = forwardRef(({ loading, loadingContent, success, successContent, successDuration = 1000, onSuccessComplete, error, errorContent, errorString, errorDuration = 3000, onErrorComplete, successMessage, children, ...props }, ref) => {
|
|
71
|
+
const [status, setStatus] = useState("idle");
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (loading) {
|
|
74
|
+
setStatus("loading");
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
else if (success) {
|
|
78
|
+
setStatus("success");
|
|
79
|
+
const timer = setTimeout(() => {
|
|
80
|
+
setStatus("idle");
|
|
81
|
+
onSuccessComplete?.();
|
|
82
|
+
}, successDuration);
|
|
83
|
+
return () => clearTimeout(timer);
|
|
84
|
+
}
|
|
85
|
+
else if (error) {
|
|
86
|
+
setStatus("error");
|
|
87
|
+
const timer = setTimeout(() => {
|
|
88
|
+
setStatus("idle");
|
|
89
|
+
onErrorComplete?.();
|
|
90
|
+
}, errorDuration);
|
|
91
|
+
return () => clearTimeout(timer);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
setStatus("idle");
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}, [
|
|
98
|
+
loading,
|
|
99
|
+
success,
|
|
100
|
+
error,
|
|
101
|
+
successDuration,
|
|
102
|
+
errorDuration,
|
|
103
|
+
onSuccessComplete,
|
|
104
|
+
onErrorComplete,
|
|
105
|
+
]);
|
|
106
|
+
return (_jsx(StyledButton, { ref: ref, ...props, status: status, disabled: props.disabled || status !== "idle", children: status === "loading" ? (_jsx("div", { className: "loading-animation", children: loadingContent || _jsx(LoaderCircleIcon, {}) })) : status === "success" ? (_jsx("div", { className: "success-animation", children: successContent || (_jsxs(_Fragment, { children: [_jsx(CheckMarkIcon, {}), successMessage || "Success!"] })) })) : status === "error" ? (_jsx("div", { className: "error-animation", children: errorContent || (_jsxs(_Fragment, { children: [_jsx(AlertCircleIcon, {}), errorString || "Error"] })) })) : (_jsx(_Fragment, { children: children })) }));
|
|
107
|
+
});
|
|
108
|
+
Button.displayName = "Button";
|
|
109
|
+
export { StyledButton, Button };
|
|
37
110
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Hook to manage async button states for loading, success, and error
|
|
4
|
+
* @returns State and handlers for async button operations
|
|
5
|
+
*/
|
|
6
|
+
export const useAsyncButton = () => {
|
|
7
|
+
const [loading, setLoading] = useState(false);
|
|
8
|
+
const [success, setSuccess] = useState(false);
|
|
9
|
+
const [error, setError] = useState(false);
|
|
10
|
+
const handleAsyncClick = useCallback(async (asyncFunction) => {
|
|
11
|
+
setLoading(true);
|
|
12
|
+
try {
|
|
13
|
+
await asyncFunction();
|
|
14
|
+
setLoading(false);
|
|
15
|
+
setSuccess(true);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
console.error(err);
|
|
19
|
+
setLoading(false);
|
|
20
|
+
setError(true);
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
const handleSuccessComplete = useCallback(() => {
|
|
24
|
+
setSuccess(false);
|
|
25
|
+
}, []);
|
|
26
|
+
const handleErrorComplete = useCallback(() => {
|
|
27
|
+
setError(false);
|
|
28
|
+
}, []);
|
|
29
|
+
const reset = useCallback(() => {
|
|
30
|
+
setLoading(false);
|
|
31
|
+
setSuccess(false);
|
|
32
|
+
setError(false);
|
|
33
|
+
}, []);
|
|
34
|
+
return {
|
|
35
|
+
loading,
|
|
36
|
+
success,
|
|
37
|
+
error,
|
|
38
|
+
handleAsyncClick,
|
|
39
|
+
handleSuccessComplete,
|
|
40
|
+
handleErrorComplete,
|
|
41
|
+
reset,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=use-async-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-async-button.js","sourceRoot":"","sources":["../../../../src/components/buttons/use-async-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAY9C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAqB,EAAE;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,aAAkC,EAAE,EAAE;QAC3C,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,EAAE,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO;QACP,OAAO;QACP,KAAK;QACL,gBAAgB;QAChB,qBAAqB;QACrB,mBAAmB;QACnB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "styled-components";
|
|
3
|
+
import { useMintMoneyConfig } from "../../context.js";
|
|
4
|
+
const StyledSvg = styled.svg `
|
|
5
|
+
stroke: ${({ color }) => color};
|
|
6
|
+
width: ${({ width }) => width}px;
|
|
7
|
+
height: ${({ height }) => height}px;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
transition: stroke 0.2s ease-in-out;
|
|
10
|
+
|
|
11
|
+
&:hover {
|
|
12
|
+
stroke: ${({ color }) => color}CC;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const AlertCircleIcon = ({ size = 20 }) => {
|
|
16
|
+
const { theme } = useMintMoneyConfig();
|
|
17
|
+
return (_jsxs(StyledSvg, { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: theme.icon.alert.strokeColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", color: theme.icon.alert.color, children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }));
|
|
18
|
+
};
|
|
19
|
+
export { AlertCircleIcon };
|
|
20
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/icons/alert.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAmB;YACnC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;WACrB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;YACnB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM;;;;;cAKpB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;;CAEjC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAwB,EAAE,EAAE;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEvC,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EACpC,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,aAE7B,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IACjC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/icons/index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/icons/index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "styled-components";
|
|
3
|
+
import { useMintMoneyConfig } from "../../context.js";
|
|
4
|
+
const StyledSvg = styled.svg `
|
|
5
|
+
stroke: ${({ color }) => color};
|
|
6
|
+
width: ${({ width }) => width}px;
|
|
7
|
+
height: ${({ height }) => height}px;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
transition: stroke 0.2s ease-in-out;
|
|
10
|
+
|
|
11
|
+
&:hover {
|
|
12
|
+
stroke: ${({ color }) => `${color}CC`}; /* Slight transparency on hover */
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const LinkIcon = ({ size = 24 }) => {
|
|
16
|
+
const { theme } = useMintMoneyConfig();
|
|
17
|
+
return (_jsxs(StyledSvg, { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: theme.icon.link.strokeColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", color: theme.icon.link.color, children: [_jsx("path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" }), _jsx("path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" })] }));
|
|
18
|
+
};
|
|
19
|
+
export { LinkIcon };
|
|
20
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../src/components/icons/link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAkD;YAClE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;WACrB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;YACnB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM;;;;;cAKpB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI;;CAExC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAiB,EAAE,EAAE;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEvC,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EACnC,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,aAE5B,eAAM,CAAC,EAAC,6DAA6D,GAAG,EACxE,eAAM,CAAC,EAAC,8DAA8D,GAAG,IAC/D,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "styled-components";
|
|
3
|
+
import { useMintMoneyConfig } from "../../context.js";
|
|
4
|
+
const StyledSvg = styled.svg `
|
|
5
|
+
stroke: ${({ color }) => color};
|
|
6
|
+
width: ${({ width }) => width}px;
|
|
7
|
+
height: ${({ height }) => height}px;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
transition: stroke 0.2s ease-in-out;
|
|
10
|
+
|
|
11
|
+
&:hover {
|
|
12
|
+
stroke: ${({ color }) => color}CC;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const LoaderCircleIcon = ({ size = 20 }) => {
|
|
16
|
+
const { theme } = useMintMoneyConfig();
|
|
17
|
+
return (_jsx(StyledSvg, { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: theme.icon.loader.strokeColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", color: theme.icon.loader.color, children: _jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) }));
|
|
18
|
+
};
|
|
19
|
+
export { LoaderCircleIcon };
|
|
20
|
+
//# sourceMappingURL=loading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../src/components/icons/loading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAmB;YACnC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;WACrB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;YACnB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM;;;;;cAKpB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;;CAEjC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAyB,EAAE,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEvC,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EACrC,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,YAE9B,eAAM,CAAC,EAAC,6BAA6B,GAAG,GAC9B,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "styled-components";
|
|
3
|
+
const StyledInput = styled.input `
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: 56px;
|
|
6
|
+
padding: 8px 16px;
|
|
7
|
+
border-radius: 8px;
|
|
8
|
+
font-family: var(--mm-font-family);
|
|
9
|
+
color: #000;
|
|
10
|
+
background-color: #fff;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
font-size: 16px;
|
|
13
|
+
line-height: 24px;
|
|
14
|
+
|
|
15
|
+
&::placeholder {
|
|
16
|
+
color: #999;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&:focus {
|
|
20
|
+
outline: none;
|
|
21
|
+
border-color: #000;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&:disabled {
|
|
25
|
+
background-color: #f0f0f0;
|
|
26
|
+
color: #999;
|
|
27
|
+
cursor: not-allowed;
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
const Input = ({ className, ...props }) => (_jsx(StyledInput, { autoComplete: "off", className: className, ...props }));
|
|
31
|
+
export { Input };
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/inputs/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAO3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BjD,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CAC3D,KAAC,WAAW,IAAC,YAAY,EAAC,KAAK,EAAC,SAAS,EAAE,SAAS,KAAM,KAAK,GAAI,CACpE,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|