@mintmoney/react 0.1.0-alpha.14 → 0.1.0-alpha.21
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/dist/css/styles.css +17 -4
- package/dist/esm/api/generated.js +45 -0
- package/dist/esm/api/generated.js.map +1 -1
- package/dist/esm/api/payments.js +11 -2
- package/dist/esm/api/payments.js.map +1 -1
- package/dist/esm/api/types.js +7 -1
- package/dist/esm/api/types.js.map +1 -1
- package/dist/esm/checkout/container.js +1 -1
- package/dist/esm/checkout/index.js +8 -2
- package/dist/esm/checkout/index.js.map +1 -1
- package/dist/esm/checkout/modal.js +29 -12
- package/dist/esm/checkout/modal.js.map +1 -1
- package/dist/esm/checkout/views/amount-header.js +35 -0
- package/dist/esm/checkout/views/amount-header.js.map +1 -0
- package/dist/esm/checkout/views/back.js +2 -2
- package/dist/esm/checkout/views/back.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/currency-select.js +48 -0
- package/dist/esm/checkout/views/crypto-intent/currency-select.js.map +1 -0
- package/dist/esm/checkout/views/crypto-intent/processing.js +25 -23
- package/dist/esm/checkout/views/crypto-intent/processing.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/success.js +30 -9
- package/dist/esm/checkout/views/crypto-intent/success.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/test-payment.js +35 -0
- package/dist/esm/checkout/views/crypto-intent/test-payment.js.map +1 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js +18 -4
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js.map +1 -1
- package/dist/esm/checkout/views/failed.js +26 -0
- package/dist/esm/checkout/views/failed.js.map +1 -0
- package/dist/esm/checkout/views/method-select.js +8 -2
- package/dist/esm/checkout/views/method-select.js.map +1 -1
- package/dist/esm/checkout/views/restart.js +10 -0
- package/dist/esm/checkout/views/restart.js.map +1 -0
- package/dist/esm/components/buttons/async-button.js +1 -1
- package/dist/esm/components/buttons/async-button.js.map +1 -1
- package/dist/esm/components/buttons/index.js +18 -8
- package/dist/esm/components/buttons/index.js.map +1 -1
- package/dist/esm/components/crypto/currency-selector.js +26 -0
- package/dist/esm/components/crypto/currency-selector.js.map +1 -0
- package/dist/esm/components/crypto/default-currency-selector.js +57 -0
- package/dist/esm/components/crypto/default-currency-selector.js.map +1 -0
- package/dist/esm/components/icons/alert.js +3 -3
- package/dist/esm/components/icons/alert.js.map +1 -1
- package/dist/esm/components/icons/loading.js +7 -1
- package/dist/esm/components/icons/loading.js.map +1 -1
- package/dist/esm/components/modals/modal.js +1 -1
- package/dist/esm/components/modals/modal.js.map +1 -1
- package/dist/esm/components/modals/use-modal-with-views.js +11 -2
- package/dist/esm/components/modals/use-modal-with-views.js.map +1 -1
- package/dist/esm/components/wallet-selector/schemas.js +1 -1
- package/dist/esm/components/wallet-selector/store.js +55 -0
- package/dist/esm/components/wallet-selector/store.js.map +1 -1
- package/dist/esm/components/wallet-selector/util/exceptions.js +1 -1
- package/dist/esm/components/wallet-selector/wallets/index.js +1 -3
- package/dist/esm/components/wallet-selector/wallets/index.js.map +1 -1
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +1 -1
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -1
- package/dist/esm/config.js +10 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/checkout/store.js +270 -2
- package/dist/esm/state/checkout/store.js.map +1 -1
- package/dist/types/api/generated.d.ts +272 -6
- package/dist/types/api/generated.d.ts.map +1 -1
- package/dist/types/api/payments.d.ts +1 -0
- package/dist/types/api/payments.d.ts.map +1 -1
- package/dist/types/api/types.d.ts +6 -0
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/checkout/index.d.ts +2 -1
- package/dist/types/checkout/index.d.ts.map +1 -1
- package/dist/types/checkout/modal.d.ts +2 -0
- package/dist/types/checkout/modal.d.ts.map +1 -1
- package/dist/types/checkout/views/amount-header.d.ts +8 -0
- package/dist/types/checkout/views/amount-header.d.ts.map +1 -0
- package/dist/types/checkout/views/back.d.ts +2 -1
- package/dist/types/checkout/views/back.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/currency-select.d.ts +3 -0
- package/dist/types/checkout/views/crypto-intent/currency-select.d.ts.map +1 -0
- package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/success.d.ts +2 -1
- package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/test-payment.d.ts +3 -0
- package/dist/types/checkout/views/crypto-intent/test-payment.d.ts.map +1 -0
- package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -1
- package/dist/types/checkout/views/failed.d.ts +2 -0
- package/dist/types/checkout/views/failed.d.ts.map +1 -0
- package/dist/types/checkout/views/method-select.d.ts.map +1 -1
- package/dist/types/checkout/views/restart.d.ts +4 -0
- package/dist/types/checkout/views/restart.d.ts.map +1 -0
- package/dist/types/components/buttons/async-button.d.ts.map +1 -1
- package/dist/types/components/buttons/index.d.ts +1 -0
- package/dist/types/components/buttons/index.d.ts.map +1 -1
- package/dist/types/components/crypto/currency-selector.d.ts +11 -0
- package/dist/types/components/crypto/currency-selector.d.ts.map +1 -0
- package/dist/types/components/crypto/default-currency-selector.d.ts +9 -0
- package/dist/types/components/crypto/default-currency-selector.d.ts.map +1 -0
- package/dist/types/components/icons/alert.d.ts +2 -1
- package/dist/types/components/icons/alert.d.ts.map +1 -1
- package/dist/types/components/icons/loading.d.ts.map +1 -1
- package/dist/types/components/modals/use-modal-with-views.d.ts.map +1 -1
- package/dist/types/components/wallet-selector/store.d.ts +7 -1
- package/dist/types/components/wallet-selector/store.d.ts.map +1 -1
- package/dist/types/components/wallet-selector/wallets/index.d.ts +1 -3
- package/dist/types/components/wallet-selector/wallets/index.d.ts.map +1 -1
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +21 -2
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -1
- package/dist/types/config.d.ts +7 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/checkout/store.d.ts +65 -2
- package/dist/types/state/checkout/store.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/esm/checkout/views/crypto-intent/curreny.js +0 -25
- package/dist/esm/checkout/views/crypto-intent/curreny.js.map +0 -1
- package/dist/esm/components/wallet-selector/wallets/address/addressInput.js +0 -17
- package/dist/esm/components/wallet-selector/wallets/address/addressInput.js.map +0 -1
- package/dist/esm/components/wallet-selector/wallets/address/index.js +0 -75
- package/dist/esm/components/wallet-selector/wallets/address/index.js.map +0 -1
- package/dist/esm/components/wallet-selector/wallets/recommended/index.js +0 -64
- package/dist/esm/components/wallet-selector/wallets/recommended/index.js.map +0 -1
- package/dist/types/checkout/views/crypto-intent/curreny.d.ts +0 -3
- package/dist/types/checkout/views/crypto-intent/curreny.d.ts.map +0 -1
- package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts +0 -7
- package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts.map +0 -1
- package/dist/types/components/wallet-selector/wallets/address/index.d.ts +0 -7
- package/dist/types/components/wallet-selector/wallets/address/index.d.ts.map +0 -1
- package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts +0 -23
- package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts.map +0 -1
|
@@ -1,20 +1,41 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { styled } from "styled-components";
|
|
2
4
|
import { StyledButton, CheckMarkIcon, useModalWithView, } from "../../../components/index.js";
|
|
3
|
-
import {
|
|
5
|
+
import { useCheckoutStore } from "../../../state/checkout/store.js";
|
|
4
6
|
import { ModalViewContainer } from "../../container.js";
|
|
5
|
-
const
|
|
7
|
+
const Container = styled.div `
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
align-items: stretch;
|
|
11
|
+
gap: 1rem;
|
|
12
|
+
`;
|
|
13
|
+
const CheckmarkContainer = styled.div `
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
`;
|
|
17
|
+
const CryptoIntentPaymentSuccessViewContent = ({ onClose, onSuccess, }) => {
|
|
6
18
|
const { goToView } = useModalWithView();
|
|
19
|
+
const { payment } = useCheckoutStore();
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const handleSuccess = async () => {
|
|
22
|
+
if (onSuccess && payment?.id) {
|
|
23
|
+
try {
|
|
24
|
+
await onSuccess(payment.id);
|
|
25
|
+
onClose(false);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.error("Error in onSuccess callback:", error);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
void handleSuccess();
|
|
33
|
+
}, [onSuccess, payment?.id, onClose]);
|
|
7
34
|
const handleClose = () => {
|
|
8
|
-
resetCheckoutStore();
|
|
9
35
|
goToView("initial");
|
|
10
36
|
onClose(false);
|
|
11
37
|
};
|
|
12
|
-
return (
|
|
13
|
-
position: "absolute",
|
|
14
|
-
top: "calc(50% - 24px)",
|
|
15
|
-
left: "50%",
|
|
16
|
-
transform: "translate(-50%, -50%)",
|
|
17
|
-
}, children: _jsx(CheckMarkIcon, { size: 64 }) }), _jsx(StyledButton, { style: { marginTop: "auto" }, variant: "primary", onClick: handleClose, children: "Complete" })] }));
|
|
38
|
+
return (_jsx(ModalViewContainer, { children: _jsxs(Container, { children: [_jsx(CheckmarkContainer, { children: _jsx(CheckMarkIcon, { size: 64 }) }), _jsx(StyledButton, { variant: "primary", onClick: handleClose, children: "Complete" })] }) }));
|
|
18
39
|
};
|
|
19
40
|
export { CryptoIntentPaymentSuccessViewContent };
|
|
20
41
|
//# sourceMappingURL=success.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"success.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/success.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"success.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/success.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAK3B,CAAC;AAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGpC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAAC,EAC7C,OAAO,EACP,SAAS,GACH,EAAE,EAAE;IACV,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,SAAS,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,aAAa,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,kBAAkB,cACjB,MAAC,SAAS,eACR,KAAC,kBAAkB,cACjB,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,GACR,EACrB,KAAC,YAAY,IAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,yBAEvC,IACL,GACO,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qCAAqC,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { AsyncButton } from "../../../components/buttons/async-button.js";
|
|
4
|
+
import { useModalWithView, Text } from "../../../components/index.js";
|
|
5
|
+
import { useMintMoneyConfig } from "../../../context.js";
|
|
6
|
+
import { createSuccessfulTestPaymentAttempt, createFailedTestPaymentAttempt, } from "../../../state/checkout/store.js";
|
|
7
|
+
import { ModalViewContainer } from "../../container.js";
|
|
8
|
+
const TestPayment = () => {
|
|
9
|
+
const modalRef = useRef(null);
|
|
10
|
+
const { goToView } = useModalWithView();
|
|
11
|
+
const config = useMintMoneyConfig();
|
|
12
|
+
const handleSuccess = async () => {
|
|
13
|
+
try {
|
|
14
|
+
await createSuccessfulTestPaymentAttempt();
|
|
15
|
+
goToView("cryptoIntentPaymentStatus");
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
goToView("failed", { reason: "test_success" });
|
|
19
|
+
console.error("Failed to create test payment attempt:", error);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const handleFailure = async () => {
|
|
23
|
+
try {
|
|
24
|
+
await createFailedTestPaymentAttempt();
|
|
25
|
+
goToView("cryptoIntentPaymentStatus");
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
goToView("failed", { reason: "test_failure" });
|
|
29
|
+
console.error("Failed to create test payment attempt:", error);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
return (_jsxs(ModalViewContainer, { ref: modalRef, children: [_jsx(Text, { size: "xl", weight: "semibold", style: { marginBottom: 8 }, color: config.theme.font.color.primary, children: "Test Payment Status" }), _jsx(Text, { size: "base", color: config.theme.font.color.secondary, style: { marginBottom: 24 }, children: "This is a test payment, you can manually specify the status" }), _jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [_jsx(AsyncButton, { onAsyncClick: handleSuccess, children: "Success" }), _jsx(AsyncButton, { onAsyncClick: handleFailure, children: "Failed" })] })] }));
|
|
33
|
+
};
|
|
34
|
+
export { TestPayment };
|
|
35
|
+
//# sourceMappingURL=test-payment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-payment.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/test-payment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,kCAAkC,EAAE,CAAC;YAC3C,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,8BAA8B,EAAE,CAAC;YACvC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,aAC/B,KAAC,IAAI,IACH,IAAI,EAAC,IAAI,EACT,MAAM,EAAC,UAAU,EACjB,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,oCAGjC,EACP,KAAC,IAAI,IACH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EACxC,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,4EAGtB,EACP,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aACnE,KAAC,WAAW,IAAC,YAAY,EAAE,aAAa,wBAAuB,EAC/D,KAAC,WAAW,IAAC,YAAY,EAAE,aAAa,uBAAsB,IAC1D,IACa,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo, useRef } from "react";
|
|
2
|
+
import { useMemo, useRef, useContext } from "react";
|
|
3
3
|
import { useConfig } from "wagmi";
|
|
4
|
-
import {
|
|
4
|
+
import { Text, useModalWithView } from "../../../components/index.js";
|
|
5
5
|
import WalletSelector from "../../../components/wallet-selector/component.js";
|
|
6
6
|
import { WagmiWallets, } from "../../../components/wallet-selector/index.js";
|
|
7
|
+
import { WalletContext } from "../../../components/wallet-selector/provider.js";
|
|
8
|
+
import { useWalletActions } from "../../../components/wallet-selector/store.js";
|
|
7
9
|
import { useMintMoneyConfig } from "../../../context.js";
|
|
8
10
|
import { ModalViewContainer } from "../../container.js";
|
|
9
11
|
const CryptoIntentSelectWalletViewContent = () => {
|
|
10
12
|
const modalRef = useRef(null);
|
|
11
|
-
const { goToView: _view } = useModalWithView();
|
|
12
13
|
const config = useMintMoneyConfig();
|
|
13
14
|
const wagmiConfig = useConfig();
|
|
15
|
+
const { goToView } = useModalWithView();
|
|
16
|
+
const { setWallet } = useContext(WalletContext);
|
|
17
|
+
const { initialiseWallets } = useWalletActions();
|
|
14
18
|
const providers = useMemo(() => [WagmiWallets(wagmiConfig)], [wagmiConfig]);
|
|
15
19
|
const handleConfirm = async (wallet) => {
|
|
16
|
-
|
|
20
|
+
try {
|
|
21
|
+
const address = await wallet.connect();
|
|
22
|
+
if (address) {
|
|
23
|
+
setWallet(wallet);
|
|
24
|
+
initialiseWallets([() => wallet]);
|
|
25
|
+
goToView("cryptoIntentSelectCurrency");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error("[WalletSelect] Failed to connect wallet:", error);
|
|
30
|
+
}
|
|
17
31
|
};
|
|
18
32
|
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
33
|
};
|
|
@@ -1 +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;
|
|
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,UAAU,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,cAAc,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EACL,YAAY,GAEb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,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,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjD,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,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,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,26 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "styled-components";
|
|
3
|
+
import { AlertCircleIcon } from "../../components/icons/alert.js";
|
|
4
|
+
import { useModalWithView } from "../../components/modals/use-modal-with-views.js";
|
|
5
|
+
import { Text } from "../../components/text/index.js";
|
|
6
|
+
const FailedContainer = styled.div `
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
align-items: center;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
padding: 2rem 1rem;
|
|
12
|
+
text-align: center;
|
|
13
|
+
flex: 1;
|
|
14
|
+
`;
|
|
15
|
+
const IconContainer = styled.div `
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
margin-bottom: 1rem;
|
|
20
|
+
`;
|
|
21
|
+
export const FailedViewContent = () => {
|
|
22
|
+
const { viewProps } = useModalWithView();
|
|
23
|
+
const reason = viewProps.reason;
|
|
24
|
+
return (_jsxs(FailedContainer, { children: [_jsx(IconContainer, { children: _jsx(AlertCircleIcon, { size: 32, color: "#ef4444" }) }), _jsx(Text, { size: "lg", weight: "semibold", color: "#111827", style: { marginBottom: "0.5rem" }, children: "Payment Failed" }), reason && (_jsx(Text, { size: "sm", color: "#6b7280", style: { maxWidth: "16rem" }, children: reason }))] }));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=failed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failed.js","sourceRoot":"","sources":["../../../../src/checkout/views/failed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAEtD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQjC,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAK/B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAC;IAE1C,OAAO,CACL,MAAC,eAAe,eACd,KAAC,aAAa,cACZ,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,SAAS,GAAG,GAC/B,EAEhB,KAAC,IAAI,IACH,IAAI,EAAC,IAAI,EACT,MAAM,EAAC,UAAU,EACjB,KAAK,EAAC,SAAS,EACf,KAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,+BAG5B,EAEN,MAAM,IAAI,CACT,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YACzD,MAAM,GACF,CACR,IACe,CACnB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useRef } from "react";
|
|
3
3
|
import { useModalWithView, SelectableList } from "../../components/index.js";
|
|
4
|
-
import { useCheckoutStore, ACTIONS, setCheckoutMethod, } from "../../state/checkout/store.js";
|
|
4
|
+
import { useCheckoutStore, ACTIONS, setCheckoutMethod, isTestMode, } from "../../state/checkout/store.js";
|
|
5
5
|
import { ModalViewContainer } from "../container.js";
|
|
6
6
|
const MethodSelectViewContent = () => {
|
|
7
7
|
const { goToView } = useModalWithView();
|
|
@@ -9,7 +9,13 @@ const MethodSelectViewContent = () => {
|
|
|
9
9
|
const { methods, loading } = useCheckoutStore();
|
|
10
10
|
const handleSelectMethod = (method) => {
|
|
11
11
|
setCheckoutMethod(method);
|
|
12
|
-
|
|
12
|
+
if (isTestMode()) {
|
|
13
|
+
// go to test payment view
|
|
14
|
+
goToView("cryptoTestPayment");
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
goToView(method.intentName);
|
|
18
|
+
}
|
|
13
19
|
};
|
|
14
20
|
return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsx(SelectableList, { title: "Select payment method", items: methods || [], getKey: (method) => method.name, getLabel: (method) => method.name, onSelect: handleSelectMethod, loading: loading[ACTIONS.GET_CHECKOUT_CONFIG] }) }));
|
|
15
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-select.js","sourceRoot":"","sources":["../../../../src/checkout/views/method-select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,iBAAiB,
|
|
1
|
+
{"version":3,"file":"method-select.js","sourceRoot":"","sources":["../../../../src/checkout/views/method-select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,UAAU,GACX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEhD,MAAM,kBAAkB,GAAG,CAAC,MAAsB,EAAE,EAAE;QACpD,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,0BAA0B;YAC1B,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,YAC/B,KAAC,cAAc,IACb,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,OAAO,IAAI,EAAE,EACpB,MAAM,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAC/C,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EACjD,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAC7C,GACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button, useModalWithView } from "../../components/index.js";
|
|
3
|
+
export const RestartCheckoutButton = (props) => {
|
|
4
|
+
const { goToView } = useModalWithView();
|
|
5
|
+
return (_jsx(Button, { onClick: async () => {
|
|
6
|
+
await props.restartCheckout();
|
|
7
|
+
goToView("initial");
|
|
8
|
+
}, variant: "secondary", children: "Restart Checkout" }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=restart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../../src/checkout/views/restart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAErC,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExC,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,EACD,OAAO,EAAC,WAAW,iCAGZ,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from "./index.js";
|
|
3
2
|
import { useAsyncButton } from "./use-async-button.js";
|
|
3
|
+
import { Button } from "./index.js";
|
|
4
4
|
export const AsyncButton = ({ onAsyncClick, onSuccess, successDuration, successContent, loadingContent, errorContent, successMessage, ...buttonProps }) => {
|
|
5
5
|
const { loading, success, error, handleAsyncClick, handleSuccessComplete, handleErrorComplete, } = useAsyncButton();
|
|
6
6
|
const handleClick = async (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-button.js","sourceRoot":"","sources":["../../../../src/components/buttons/async-button.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"async-button.js","sourceRoot":"","sources":["../../../../src/components/buttons/async-button.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAe,MAAM,YAAY,CAAC;AAajD,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,22 +1,26 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState, forwardRef } from "react";
|
|
3
3
|
import { styled } from "styled-components";
|
|
4
4
|
import { LoaderCircleIcon, CheckMarkIcon, AlertCircleIcon, } from "../icons/index.js";
|
|
5
5
|
const StyledButton = styled.button `
|
|
6
6
|
width: 100%;
|
|
7
|
-
height: 48px;
|
|
8
|
-
padding: 10px 16px;
|
|
9
|
-
border-radius: 48px;
|
|
7
|
+
height: ${({ size = "medium" }) => (size === "small" ? "auto" : "48px")};
|
|
8
|
+
padding: ${({ size = "medium" }) => size === "small" ? "6px 12px" : "10px 16px"};
|
|
9
|
+
border-radius: ${({ size = "medium" }) => size === "small" ? "8px" : "48px"};
|
|
10
10
|
font-family: var(--mm-font-family);
|
|
11
11
|
border: 2px solid
|
|
12
12
|
${({ theme, variant = "primary" }) => theme?.btn?.[variant]?.default.borderColor};
|
|
13
13
|
background-color: ${({ theme, variant = "primary" }) => theme?.btn?.[variant]?.default.backgroundColor};
|
|
14
14
|
color: ${({ theme, variant = "primary" }) => theme?.btn?.[variant]?.default.textColor};
|
|
15
15
|
transition: all 0.3s ease-in-out;
|
|
16
|
-
font-size: 16px;
|
|
16
|
+
font-size: ${({ size = "medium" }) => (size === "small" ? "14px" : "16px")};
|
|
17
17
|
font-weight: 700;
|
|
18
18
|
text-align: center;
|
|
19
|
-
line-height: 28px;
|
|
19
|
+
line-height: ${({ size = "medium" }) => (size === "small" ? "20px" : "28px")};
|
|
20
|
+
min-width: 120px;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
20
24
|
|
|
21
25
|
transition:
|
|
22
26
|
background-color 0.3s ease-in-out,
|
|
@@ -66,8 +70,14 @@ const StyledButton = styled.button `
|
|
|
66
70
|
cursor: default;
|
|
67
71
|
}
|
|
68
72
|
`}
|
|
73
|
+
|
|
74
|
+
.content {
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
gap: 8px;
|
|
78
|
+
}
|
|
69
79
|
`;
|
|
70
|
-
const Button = forwardRef(({ loading, loadingContent, success, successContent, successDuration = 1000, onSuccessComplete, error, errorContent, errorString, errorDuration = 3000, onErrorComplete, successMessage, children, ...props }, ref) => {
|
|
80
|
+
const Button = forwardRef(({ loading, loadingContent, success, successContent, successDuration = 1000, onSuccessComplete, error, errorContent, errorString, errorDuration = 3000, onErrorComplete, successMessage, children, size = "medium", ...props }, ref) => {
|
|
71
81
|
const [status, setStatus] = useState("idle");
|
|
72
82
|
useEffect(() => {
|
|
73
83
|
if (loading) {
|
|
@@ -103,7 +113,7 @@ const Button = forwardRef(({ loading, loadingContent, success, successContent, s
|
|
|
103
113
|
onSuccessComplete,
|
|
104
114
|
onErrorComplete,
|
|
105
115
|
]);
|
|
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(
|
|
116
|
+
return (_jsx(StyledButton, { ref: ref, ...props, status: status, disabled: props.disabled || status !== "idle", size: size, children: status === "loading" ? (_jsx("div", { className: "loading-animation", children: loadingContent || _jsx(LoaderCircleIcon, {}) })) : status === "success" ? (_jsx("div", { className: "success-animation", children: successContent || (_jsxs("div", { className: "content", children: [_jsx(CheckMarkIcon, {}), successMessage || "Success!"] })) })) : status === "error" ? (_jsx("div", { className: "error-animation", children: errorContent || (_jsxs("div", { className: "content", children: [_jsx(AlertCircleIcon, {}), errorString || "Error"] })) })) : (_jsx(_Fragment, { children: children })) }));
|
|
107
117
|
});
|
|
108
118
|
Button.displayName = "Button";
|
|
109
119
|
export { StyledButton, Button };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,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,26 @@
|
|
|
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
|
+
import { AsyncButton } from "../buttons/async-button.js";
|
|
5
|
+
import { Text } from "../index.js";
|
|
6
|
+
const CurrencyRowContainer = styled.div `
|
|
7
|
+
border: 1px solid #eee;
|
|
8
|
+
border-radius: 12px;
|
|
9
|
+
padding: 8px 8px 8px 12px;
|
|
10
|
+
margin-bottom: 12px;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
font-family: var(--mm-font-family);
|
|
15
|
+
`;
|
|
16
|
+
const CurrencyRowContent = styled.div `
|
|
17
|
+
flex: 1;
|
|
18
|
+
`;
|
|
19
|
+
const CurrencySelector = ({ currency, balance, onSelect, buttonVariant, buttonDisabled = false, }) => {
|
|
20
|
+
const config = useMintMoneyConfig();
|
|
21
|
+
return (_jsxs(CurrencyRowContainer, { children: [_jsxs(CurrencyRowContent, { children: [_jsx(Text, { size: "base", weight: "semibold", color: config.theme.font.color.primary, children: currency.asset_name }), _jsx("div", { children: _jsxs(Text, { size: "xs", color: config.theme.font.color.secondary, children: [currency.chain_name, " - ", balance] }) })] }), _jsx("div", { children: _jsx(AsyncButton, { variant: buttonVariant, onAsyncClick: async () => {
|
|
22
|
+
await onSelect(currency);
|
|
23
|
+
}, size: "small", disabled: buttonDisabled, children: "Select" }) })] }));
|
|
24
|
+
};
|
|
25
|
+
export { CurrencySelector };
|
|
26
|
+
//# sourceMappingURL=currency-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency-selector.js","sourceRoot":"","sources":["../../../../src/components/crypto/currency-selector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;CAStC,CAAC;AAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;CAEpC,CAAC;AAUF,MAAM,gBAAgB,GAAG,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,GAAG,KAAK,GACL,EAAE,EAAE;IACrB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,OAAO,CACL,MAAC,oBAAoB,eACnB,MAAC,kBAAkB,eACjB,KAAC,IAAI,IACH,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,UAAU,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,YAErC,QAAQ,CAAC,UAAU,GACf,EACP,wBACE,MAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,aACrD,QAAQ,CAAC,UAAU,SAAK,OAAO,IAC3B,GACH,IACa,EACrB,wBACE,KAAC,WAAW,IACV,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,KAAK,IAAI,EAAE;wBACvB,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC,EACD,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,cAAc,uBAGZ,GACV,IACe,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { useCheckoutStore, createCheckoutCryptoPaymentAttempt, setProcessing, executeTransfer, setSelectedCurrency, checkChainStatus, } from "../../state/checkout/store.js";
|
|
4
|
+
import { useModalWithView } from "../index.js";
|
|
5
|
+
import { WalletContext } from "../wallet-selector/provider.js";
|
|
6
|
+
import { CurrencySelector } from "./currency-selector.js";
|
|
7
|
+
function waitForTransferSuccess() {
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
const unsubscribe = useCheckoutStore.subscribe((state) => {
|
|
10
|
+
if (state.transfer.chainStatus === "confirmed") {
|
|
11
|
+
unsubscribe();
|
|
12
|
+
resolve();
|
|
13
|
+
}
|
|
14
|
+
else if (state.transfer.chainStatus === "failed") {
|
|
15
|
+
unsubscribe();
|
|
16
|
+
reject(new Error(state.transfer.error || "Transaction failed on chain"));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const DefaultCurrencySelector = ({ currency, balance, buttonVariant = "primary", }) => {
|
|
22
|
+
const { goToView } = useModalWithView();
|
|
23
|
+
const { wallet } = useContext(WalletContext);
|
|
24
|
+
const processing = useCheckoutStore((state) => state.processing);
|
|
25
|
+
const handleSelectCurrency = async (currency) => {
|
|
26
|
+
setProcessing(true);
|
|
27
|
+
setSelectedCurrency(currency);
|
|
28
|
+
try {
|
|
29
|
+
await createCheckoutCryptoPaymentAttempt(currency);
|
|
30
|
+
if (!wallet) {
|
|
31
|
+
goToView("cryptoIntentSelectWallet");
|
|
32
|
+
setProcessing(false);
|
|
33
|
+
setSelectedCurrency(null);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
await executeTransfer(wallet);
|
|
37
|
+
if (wallet) {
|
|
38
|
+
void checkChainStatus(wallet);
|
|
39
|
+
}
|
|
40
|
+
await waitForTransferSuccess();
|
|
41
|
+
goToView("cryptoIntentPaymentStatus");
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
setProcessing(false);
|
|
45
|
+
setSelectedCurrency(null);
|
|
46
|
+
if (error instanceof Error) {
|
|
47
|
+
goToView("failed", { reason: error.message });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
goToView("failed", { reason: "payment_failed" });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return (_jsx(CurrencySelector, { currency: currency, balance: balance, onSelect: handleSelectCurrency, buttonVariant: buttonVariant, buttonDisabled: processing }));
|
|
55
|
+
};
|
|
56
|
+
export { DefaultCurrencySelector };
|
|
57
|
+
//# sourceMappingURL=default-currency-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-currency-selector.js","sourceRoot":"","sources":["../../../../src/components/crypto/default-currency-selector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,16 @@ const StyledSvg = styled.svg `
|
|
|
5
5
|
stroke: ${({ color }) => color};
|
|
6
6
|
width: ${({ width }) => width}px;
|
|
7
7
|
height: ${({ height }) => height}px;
|
|
8
|
-
cursor: pointer;
|
|
9
8
|
transition: stroke 0.2s ease-in-out;
|
|
10
9
|
|
|
11
10
|
&:hover {
|
|
12
11
|
stroke: ${({ color }) => color}CC;
|
|
13
12
|
}
|
|
14
13
|
`;
|
|
15
|
-
const AlertCircleIcon = ({ size = 20 }) => {
|
|
14
|
+
const AlertCircleIcon = ({ size = 20, color }) => {
|
|
16
15
|
const { theme } = useMintMoneyConfig();
|
|
17
|
-
|
|
16
|
+
const iconColor = color || theme.icon.alert.color;
|
|
17
|
+
return (_jsxs(StyledSvg, { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: iconColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", color: iconColor, 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
18
|
};
|
|
19
19
|
export { AlertCircleIcon };
|
|
20
20
|
//# sourceMappingURL=alert.js.map
|
|
@@ -1 +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;
|
|
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;AAOtD,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;;;;cAIpB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;;CAEjC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAwB,EAAE,EAAE;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAElD,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,SAAS,EACjB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,KAAK,EAAE,SAAS,aAEhB,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,12 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { styled } from "styled-components";
|
|
2
|
+
import { styled, keyframes } from "styled-components";
|
|
3
3
|
import { useMintMoneyConfig } from "../../context.js";
|
|
4
|
+
const spin = keyframes `
|
|
5
|
+
100% {
|
|
6
|
+
transform: rotate(360deg);
|
|
7
|
+
}
|
|
8
|
+
`;
|
|
4
9
|
const StyledSvg = styled.svg `
|
|
5
10
|
stroke: ${({ color }) => color};
|
|
6
11
|
width: ${({ width }) => width}px;
|
|
7
12
|
height: ${({ height }) => height}px;
|
|
8
13
|
cursor: pointer;
|
|
9
14
|
transition: stroke 0.2s ease-in-out;
|
|
15
|
+
animation: ${spin} 1s linear infinite;
|
|
10
16
|
|
|
11
17
|
&:hover {
|
|
12
18
|
stroke: ${({ color }) => color}CC;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../src/components/icons/loading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../src/components/icons/loading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,MAAM,IAAI,GAAG,SAAS,CAAA;;;;CAIrB,CAAC;AAEF,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;;;eAGnB,IAAI;;;cAGL,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"}
|
|
@@ -4,7 +4,7 @@ import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
|
4
4
|
import { useMintMoneyConfig } from "../../context.js";
|
|
5
5
|
import { CloseIcon } from "../icons/close.js";
|
|
6
6
|
import { Text } from "../text/index.js";
|
|
7
|
-
export const Modal = ({ className, open, onOpenChange, navBarComponent, disableCloseOnInteractOutside, title, children, }) => {
|
|
7
|
+
export const Modal = ({ className, open, onOpenChange, navBarComponent, disableCloseOnInteractOutside = true, title, children, }) => {
|
|
8
8
|
const config = useMintMoneyConfig();
|
|
9
9
|
return (_jsx(Dialog.Root, { open: open, onOpenChange: (open) => {
|
|
10
10
|
onOpenChange?.(open);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/modals/modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAYxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,6BAA6B,
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/modals/modal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAYxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,6BAA6B,GAAG,IAAI,EACpC,KAAK,EACL,QAAQ,GACG,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,OAAO,CACL,KAAC,MAAM,CAAC,IAAI,IACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,YAED,MAAC,MAAM,CAAC,MAAM,eACZ,KAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,GAAG,EAC/C,MAAC,MAAM,CAAC,OAAO,IACb,SAAS,EAAE,sBAAsB,SAAS,IAAI,EAAE,EAAE,EAClD,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;wBACvB,IAAI,6BAA6B,EAAE,CAAC;4BAClC,CAAC,CAAC,cAAc,EAAE,CAAC;wBACrB,CAAC;oBACH,CAAC,aAED,KAAC,cAAc,cACb,KAAC,MAAM,CAAC,KAAK,cAAE,KAAK,GAAgB,GACrB,EACjB,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cAAK,SAAS,EAAE,cAAc,YAC3B,eAAe,IAAI,CAClB,8BACE,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,YAErC,KAAK,GACD,EACP,KAAC,MAAM,CAAC,KAAK,IAAC,OAAO,kBACnB,2BACE,KAAC,SAAS,KAAG,GACN,GACI,IACd,CACJ,GACG,EACL,QAAQ,IACL,IACS,IACH,GACJ,CACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -9,8 +9,17 @@ export const ModalWithViewProvider = ({ children, initialView, }) => {
|
|
|
9
9
|
const [currentView, setCurrentView] = useState(initialView);
|
|
10
10
|
const [viewProps, setViewProps] = useState({});
|
|
11
11
|
function goToView(view, props = {}) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
if (document.startViewTransition) {
|
|
13
|
+
document.startViewTransition(() => {
|
|
14
|
+
setCurrentView(view);
|
|
15
|
+
setViewProps(props);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// fallback: just update state immediately
|
|
20
|
+
setCurrentView(view);
|
|
21
|
+
setViewProps(props);
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
24
|
useEffect(() => {
|
|
16
25
|
console.log(initialView);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-modal-with-views.js","sourceRoot":"","sources":["../../../../src/components/modals/use-modal-with-views.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAU9E,MAAM,YAAY,GAAG,aAAa,CAA2B;IAC3D,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAExE,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAiC,EAAE;QACjE,cAAc,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-modal-with-views.js","sourceRoot":"","sources":["../../../../src/components/modals/use-modal-with-views.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAU9E,MAAM,YAAY,GAAG,aAAa,CAA2B;IAC3D,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAExE,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAiC,EAAE;QACjE,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACjC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBAChC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,0CAA0C;YAC1C,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,OAAO,GAAG;QACd,WAAW;QACX,QAAQ;QACR,SAAS;KACV,CAAC;IAEF,OAAO,CACL,MAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,kBAAI,QAAQ,SAA0B,CAC5E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAiB,EAAE;IACjD,OAAO,UAAU,CAAC,YAAY,CAAiB,CAAC;AAClD,CAAC,CAAC"}
|