@mintmoney/react 0.1.0-alpha.3 → 0.1.0-alpha.5

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.
Files changed (132) hide show
  1. package/README.md +109 -0
  2. package/dist/css/styles.css +0 -2
  3. package/dist/esm/api/checkouts.js +16 -0
  4. package/dist/esm/api/checkouts.js.map +1 -0
  5. package/dist/esm/api/generated.js +554 -0
  6. package/dist/esm/api/generated.js.map +1 -0
  7. package/dist/esm/api/index.js +15 -0
  8. package/dist/esm/api/index.js.map +1 -0
  9. package/dist/esm/api/payments.js +23 -0
  10. package/dist/esm/api/payments.js.map +1 -0
  11. package/dist/esm/api/types.js +2 -0
  12. package/dist/esm/api/types.js.map +1 -0
  13. package/dist/esm/checkout/container.js +10 -0
  14. package/dist/esm/checkout/container.js.map +1 -0
  15. package/dist/esm/checkout/index.js +13 -0
  16. package/dist/esm/checkout/index.js.map +1 -0
  17. package/dist/esm/checkout/modal.js +65 -0
  18. package/dist/esm/checkout/modal.js.map +1 -0
  19. package/dist/esm/checkout/views/back.js +8 -0
  20. package/dist/esm/checkout/views/back.js.map +1 -0
  21. package/dist/esm/checkout/views/card-intent/details.js +12 -0
  22. package/dist/esm/checkout/views/card-intent/details.js.map +1 -0
  23. package/dist/esm/checkout/views/crypto-intent/curreny.js +28 -0
  24. package/dist/esm/checkout/views/crypto-intent/curreny.js.map +1 -0
  25. package/dist/esm/checkout/views/crypto-intent/direct-details.js +25 -0
  26. package/dist/esm/checkout/views/crypto-intent/direct-details.js.map +1 -0
  27. package/dist/esm/checkout/views/crypto-intent/methods.js +26 -0
  28. package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -0
  29. package/dist/esm/checkout/views/crypto-intent/processing.js +41 -0
  30. package/dist/esm/checkout/views/crypto-intent/processing.js.map +1 -0
  31. package/dist/esm/checkout/views/crypto-intent/success.js +20 -0
  32. package/dist/esm/checkout/views/crypto-intent/success.js.map +1 -0
  33. package/dist/esm/checkout/views/initial.js +32 -0
  34. package/dist/esm/checkout/views/initial.js.map +1 -0
  35. package/dist/esm/checkout/views/method-select.js +17 -0
  36. package/dist/esm/checkout/views/method-select.js.map +1 -0
  37. package/dist/esm/components/icons/checkMark.js +1 -1
  38. package/dist/esm/components/icons/close.js +1 -1
  39. package/dist/esm/components/lists/index.js +1 -1
  40. package/dist/esm/components/lists/index.js.map +1 -1
  41. package/dist/esm/context.js +1 -1
  42. package/dist/esm/context.js.map +1 -1
  43. package/dist/esm/index.js +4 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/state/checkout/store.js +220 -0
  46. package/dist/esm/state/checkout/store.js.map +1 -0
  47. package/dist/esm/utils/cn.js +4 -0
  48. package/dist/esm/utils/cn.js.map +1 -0
  49. package/dist/types/api/checkouts.d.ts +9 -0
  50. package/dist/types/api/checkouts.d.ts.map +1 -0
  51. package/dist/types/api/generated.d.ts +903 -0
  52. package/dist/types/api/generated.d.ts.map +1 -0
  53. package/dist/types/api/index.d.ts +5 -0
  54. package/dist/types/api/index.d.ts.map +1 -0
  55. package/dist/types/api/payments.d.ts +6 -0
  56. package/dist/types/api/payments.d.ts.map +1 -0
  57. package/dist/types/api/types.d.ts +19 -0
  58. package/dist/types/api/types.d.ts.map +1 -0
  59. package/dist/types/checkout/container.d.ts +2 -0
  60. package/dist/types/checkout/container.d.ts.map +1 -0
  61. package/dist/types/checkout/index.d.ts +6 -0
  62. package/dist/types/checkout/index.d.ts.map +1 -0
  63. package/dist/types/checkout/modal.d.ts +10 -0
  64. package/dist/types/checkout/modal.d.ts.map +1 -0
  65. package/dist/types/checkout/views/back.d.ts +6 -0
  66. package/dist/types/checkout/views/back.d.ts.map +1 -0
  67. package/dist/types/checkout/views/card-intent/details.d.ts +3 -0
  68. package/dist/types/checkout/views/card-intent/details.d.ts.map +1 -0
  69. package/dist/types/checkout/views/crypto-intent/curreny.d.ts +3 -0
  70. package/dist/types/checkout/views/crypto-intent/curreny.d.ts.map +1 -0
  71. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +3 -0
  72. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -0
  73. package/dist/types/checkout/views/crypto-intent/methods.d.ts +3 -0
  74. package/dist/types/checkout/views/crypto-intent/methods.d.ts.map +1 -0
  75. package/dist/types/checkout/views/crypto-intent/processing.d.ts +3 -0
  76. package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -0
  77. package/dist/types/checkout/views/crypto-intent/success.d.ts +7 -0
  78. package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -0
  79. package/dist/types/checkout/views/initial.d.ts +7 -0
  80. package/dist/types/checkout/views/initial.d.ts.map +1 -0
  81. package/dist/types/checkout/views/method-select.d.ts +3 -0
  82. package/dist/types/checkout/views/method-select.d.ts.map +1 -0
  83. package/dist/types/components/lists/index.d.ts +2 -1
  84. package/dist/types/components/lists/index.d.ts.map +1 -1
  85. package/dist/types/index.d.ts +4 -1
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/state/checkout/store.d.ts +66 -0
  88. package/dist/types/state/checkout/store.d.ts.map +1 -0
  89. package/dist/types/utils/cn.d.ts +4 -0
  90. package/dist/types/utils/cn.d.ts.map +1 -0
  91. package/package.json +55 -65
  92. package/dist/esm/components/buttons/buttons.stories.js +0 -18
  93. package/dist/esm/components/buttons/buttons.stories.js.map +0 -1
  94. package/dist/esm/components/lists/lists.stories.js +0 -42
  95. package/dist/esm/components/lists/lists.stories.js.map +0 -1
  96. package/dist/esm/components/loading/loading.stories.js +0 -8
  97. package/dist/esm/components/loading/loading.stories.js.map +0 -1
  98. package/dist/esm/components/text/text.stories.js +0 -34
  99. package/dist/esm/components/text/text.stories.js.map +0 -1
  100. package/dist/esm/exports/components.js +0 -2
  101. package/dist/esm/exports/components.js.map +0 -1
  102. package/dist/esm/exports/config.js +0 -3
  103. package/dist/esm/exports/config.js.map +0 -1
  104. package/dist/esm/exports/index.js +0 -4
  105. package/dist/esm/exports/index.js.map +0 -1
  106. package/dist/esm/exports/themes.js +0 -2
  107. package/dist/esm/exports/themes.js.map +0 -1
  108. package/dist/types/components/buttons/buttons.stories.d.ts +0 -7
  109. package/dist/types/components/buttons/buttons.stories.d.ts.map +0 -1
  110. package/dist/types/components/lists/lists.stories.d.ts +0 -27
  111. package/dist/types/components/lists/lists.stories.d.ts.map +0 -1
  112. package/dist/types/components/loading/loading.stories.d.ts +0 -4
  113. package/dist/types/components/loading/loading.stories.d.ts.map +0 -1
  114. package/dist/types/components/text/text.stories.d.ts +0 -5
  115. package/dist/types/components/text/text.stories.d.ts.map +0 -1
  116. package/dist/types/exports/components.d.ts +0 -2
  117. package/dist/types/exports/components.d.ts.map +0 -1
  118. package/dist/types/exports/config.d.ts +0 -3
  119. package/dist/types/exports/config.d.ts.map +0 -1
  120. package/dist/types/exports/index.d.ts +0 -5
  121. package/dist/types/exports/index.d.ts.map +0 -1
  122. package/dist/types/exports/themes.d.ts +0 -2
  123. package/dist/types/exports/themes.d.ts.map +0 -1
  124. package/src/components/index.ts +0 -6
  125. package/src/components/modals/index.ts +0 -3
  126. package/src/config.ts +0 -29
  127. package/src/exports/components.ts +0 -1
  128. package/src/exports/config.ts +0 -2
  129. package/src/exports/index.ts +0 -7
  130. package/src/exports/themes.ts +0 -1
  131. package/src/index.ts +0 -0
  132. package/src/themes/types.ts +0 -35
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ModalWithView } from "../components/modals/modal-with-views.js";
3
+ import { MethodSelectViewContent } from "./views/method-select.js";
4
+ import { ModalBackButton } from "./views/back.js";
5
+ import { CryptoIntentViewContent } from "./views/crypto-intent/methods.js";
6
+ import { CardIntentViewContent } from "./views/card-intent/details.js";
7
+ import { CryptontentSelectCurrencyViewContent } from "./views/crypto-intent/curreny.js";
8
+ import { CryptoIntentDirectDetailsViewContent } from "./views/crypto-intent/direct-details.js";
9
+ import { CryptoIntentPaymentStatusViewContent } from "./views/crypto-intent/processing.js";
10
+ import { InitialiseCheckoutViewContent } from "./views/initial.js";
11
+ import { CryptoIntentPaymentSuccessViewContent } from "./views/crypto-intent/success.js";
12
+ export const CheckoutModal = (props) => {
13
+ return (_jsx(ModalWithView, { className: "mm-checkout-modal", initialView: "initial", isOpen: props.open, onOpenChange: props.onOpenChange, views: {
14
+ initial: {
15
+ title: "",
16
+ content: () => (_jsx(InitialiseCheckoutViewContent, { checkoutId: props.checkoutId, amount: props.amount })),
17
+ },
18
+ methods: {
19
+ title: "Order Summary",
20
+ content: () => _jsx(MethodSelectViewContent, {}),
21
+ },
22
+ cryptoIntent: {
23
+ title: "Pay with Crypto",
24
+ content: () => _jsx(CryptoIntentViewContent, {}),
25
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
26
+ },
27
+ cryptoIntentSelectCurrency: {
28
+ title: "Select Currency",
29
+ content: () => _jsx(CryptontentSelectCurrencyViewContent, {}),
30
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
31
+ },
32
+ cryptoIntentDirectDetails: {
33
+ title: "Pay Direct",
34
+ content: () => _jsx(CryptoIntentDirectDetailsViewContent, {}),
35
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
36
+ },
37
+ cryptoIntentPaymentStatus: {
38
+ title: "Payment Processing",
39
+ content: () => _jsx(CryptoIntentPaymentStatusViewContent, {}),
40
+ },
41
+ cryptoIntentPaymentSuccess: {
42
+ title: "Payment Successful",
43
+ content: () => (_jsx(CryptoIntentPaymentSuccessViewContent, { onClose: props.onOpenChange })),
44
+ },
45
+ cardIntent: {
46
+ title: "Pay by Card",
47
+ content: () => _jsx(CardIntentViewContent, {}),
48
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
49
+ },
50
+ success: {
51
+ title: "Payment Successful",
52
+ header: () => _jsx("p", { className: "", children: "Transfer complete" }),
53
+ content: () => _jsx(_Fragment, {}),
54
+ footer: () => _jsx("button", { className: "", children: "Success" }),
55
+ },
56
+ failed: {
57
+ title: "Payment Failed",
58
+ header: () => _jsx("p", { className: "", children: "Failed" }),
59
+ content: () => _jsx(_Fragment, {}),
60
+ navigateButtonPosition: "center",
61
+ navigateShouldGoToView: "methods",
62
+ },
63
+ } }));
64
+ };
65
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/checkout/modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useModalWithView, StyledButton } from "../../components/index.js";
3
+ const ModalBackButton = ({ view }) => {
4
+ const { goToView } = useModalWithView();
5
+ return (_jsx(StyledButton, { onClick: () => goToView(view), variant: "secondary", children: "Back" }));
6
+ };
7
+ export { ModalBackButton };
8
+ //# sourceMappingURL=back.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"back.js","sourceRoot":"","sources":["../../../../src/checkout/views/back.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM3E,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAmB,EAAE,EAAE;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExC,OAAO,CACL,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,qBAElD,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useMintMoneyConfig } from "../../../context.js";
4
+ import { StyledButton } from "../../../components/buttons/index.js";
5
+ import { ModalViewContainer } from "../../container.js";
6
+ const CardIntentViewContent = () => {
7
+ const modalRef = useRef(null);
8
+ const config = useMintMoneyConfig();
9
+ return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsxs("div", { className: "button-group", children: [_jsx(StyledButton, { theme: config.theme.btn.primary, children: "Connect Wallet" }), _jsx(StyledButton, { theme: config.theme.btn.primary, children: "Direct Payment" })] }) }));
10
+ };
11
+ export { CardIntentViewContent };
12
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../../src/checkout/views/card-intent/details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,OAAO,CACL,KAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,YAC/B,eAAK,SAAS,EAAC,cAAc,aAC3B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,+BAE9B,EACf,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,+BAE9B,IACX,GACa,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useModalWithView, SelectableList, Text, Loader, } from "../../../components/index.js";
4
+ import { useCheckoutStore, ACTIONS, createCheckoutCryptoPaymentAttempt, } from "../../../state/checkout/store.js";
5
+ import { ModalViewContainer } from "../../container.js";
6
+ import { useMintMoneyConfig } from "../../../context.js";
7
+ const CryptontentSelectCurrencyViewContent = () => {
8
+ const modalRef = useRef(null);
9
+ const { goToView } = useModalWithView();
10
+ const { checkout, cryptoCurrencies, loading } = useCheckoutStore();
11
+ const config = useMintMoneyConfig();
12
+ const isLoading = loading[ACTIONS.GET_CRYPTO_CURRENCIES] ||
13
+ loading[ACTIONS.CREATE_PAYMENT_ATTEMPT];
14
+ if (checkout && !checkout.checkout_config.crypto?.enabled)
15
+ goToView("failed", { reason: "crypto_not_enabled" });
16
+ const handleSelectCurrency = async (currency) => {
17
+ try {
18
+ await createCheckoutCryptoPaymentAttempt(currency);
19
+ goToView("cryptoIntentDirectDetails");
20
+ }
21
+ catch { }
22
+ };
23
+ if (isLoading)
24
+ return _jsx(Loader, {});
25
+ return (_jsxs(ModalViewContainer, { ref: modalRef, children: [_jsx(Text, { size: "base", color: config.theme.font.color.tertiary, weight: "normal", children: "Select a currency to complete payment with." }), _jsx(SelectableList, { items: cryptoCurrencies ?? [], getKey: (currency) => currency.asset, getLabel: (currency) => `${currency.chain_name} ${currency.asset_name}`, onSelect: handleSelectCurrency })] }));
26
+ };
27
+ export { CryptontentSelectCurrencyViewContent };
28
+ //# sourceMappingURL=curreny.js.map
@@ -0,0 +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;AAE/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,MAAM,GACP,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,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,IAAI,CAAC;YACH,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;YACnD,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,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"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import QRCode from "react-qr-code";
4
+ import { useModalWithView, StyledButton, Text, } from "../../../components/index.js";
5
+ import { useMintMoneyConfig } from "../../../context.js";
6
+ import { useCheckoutStore } from "../../../state/checkout/store.js";
7
+ import { ModalViewContainer } from "../../container.js";
8
+ const CryptoIntentDirectDetailsViewContent = () => {
9
+ const modalRef = useRef(null);
10
+ const { goToView } = useModalWithView();
11
+ const { cryptoPaymentAttempt } = useCheckoutStore();
12
+ const config = useMintMoneyConfig();
13
+ const handleConfirm = () => {
14
+ goToView("cryptoIntentPaymentStatus");
15
+ };
16
+ if (!cryptoPaymentAttempt) {
17
+ return null;
18
+ }
19
+ const copyToClipboard = () => {
20
+ navigator.clipboard.writeText(cryptoPaymentAttempt.destination_address);
21
+ };
22
+ return (_jsxs(ModalViewContainer, { ref: modalRef, children: [_jsx(Text, { size: "base", weight: "normal", color: config.theme.font.color.secondary, children: "Scan the QR code or copy the address to send payment." }), _jsx("div", { className: "mm-qr-container", children: _jsx(QRCode, { value: cryptoPaymentAttempt.destination_address, size: 160 }) }), _jsxs("div", { className: "mm-address-container", children: [_jsx(Text, { size: "sm", weight: "light", color: config.theme.font.color.tertiary, children: cryptoPaymentAttempt.destination_address }), _jsx("button", { className: "copy-button", onClick: copyToClipboard, children: "Copy" })] }), _jsx(StyledButton, { onClick: handleConfirm, variant: "primary", children: "Confirm" })] }));
23
+ };
24
+ export { CryptoIntentDirectDetailsViewContent };
25
+ //# sourceMappingURL=direct-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-details.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/direct-details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,IAAI,GACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,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,oBAAoB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC1E,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,sEAGnC,EAEP,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,MAAM,IAAC,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,GAAI,GAClE,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,YACnE,oBAAoB,CAAC,mBAAmB,GACpC,EACP,iBAAQ,SAAS,EAAC,aAAa,EAAC,OAAO,EAAE,eAAe,qBAE/C,IACL,EAEN,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,wBAEzC,IACI,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useModalWithView, SelectableList } from "../../../components/index.js";
4
+ import { ModalViewContainer } from "../../container.js";
5
+ const CryptoIntentViewContent = () => {
6
+ const modalRef = useRef(null);
7
+ const { goToView } = useModalWithView();
8
+ const methods = [
9
+ {
10
+ key: "wallet",
11
+ label: "Connect Wallet",
12
+ view: "cryptoIntentSelectCurrency",
13
+ },
14
+ {
15
+ key: "direct",
16
+ label: "Direct Payment",
17
+ view: "cryptoIntentSelectCurrency",
18
+ },
19
+ ];
20
+ const handleMethodSelect = () => {
21
+ goToView("cryptoIntentSelectCurrency");
22
+ };
23
+ return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsx(SelectableList, { items: methods, getKey: (method) => method.key, getLabel: (method) => method.label, onSelect: handleMethodSelect }) }));
24
+ };
25
+ export { CryptoIntentViewContent };
26
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +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;AAEhF,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,4BAA4B;SACnC;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,4BAA4B;SACnC;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACzC,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"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { useModalWithView, Loader, Text } from "../../../components/index.js";
4
+ import { useMintMoneyConfig } from "../../../context.js";
5
+ import { useCheckoutStore, getPayment } from "../../../state/checkout/store.js";
6
+ const POLL_INTERVAL = 5000;
7
+ const CryptoIntentPaymentStatusViewContent = () => {
8
+ const { goToView } = useModalWithView();
9
+ const { payment } = useCheckoutStore();
10
+ const config = useMintMoneyConfig();
11
+ const [_status, setStatus] = useState(payment?.status || "confirming_payment");
12
+ useEffect(() => {
13
+ let isMounted = true;
14
+ const pollPaymentStatus = async () => {
15
+ try {
16
+ const updatedPayment = await getPayment();
17
+ if (!updatedPayment || !isMounted)
18
+ return;
19
+ setStatus(updatedPayment.status);
20
+ if (updatedPayment.status) {
21
+ goToView("cryptoIntentPaymentSuccess");
22
+ }
23
+ else if (updatedPayment.status === "failed") {
24
+ goToView("paymentFailed");
25
+ }
26
+ }
27
+ catch (error) {
28
+ console.error("Error fetching payment status:", error);
29
+ }
30
+ };
31
+ pollPaymentStatus();
32
+ const interval = setInterval(async () => await pollPaymentStatus(), POLL_INTERVAL);
33
+ return () => {
34
+ isMounted = false;
35
+ clearInterval(interval);
36
+ };
37
+ }, []);
38
+ return (_jsxs("div", { className: "loading-container", children: [_jsx(Loader, { asChild: true }), _jsx(Text, { size: "base", color: config.theme.font.color.tertiary, children: "Payment pending..." })] }));
39
+ };
40
+ export { CryptoIntentPaymentStatusViewContent };
41
+ //# sourceMappingURL=processing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/processing.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CACnC,OAAO,EAAE,MAAM,IAAI,oBAAoB,CACxC,CAAC;IAEF,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,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEjC,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC1B,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9C,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,iBAAiB,EAAE,CAAC;QACpB,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,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { StyledButton, CheckMarkIcon, useModalWithView, } from "../../../components/index.js";
3
+ import { ModalViewContainer } from "../../container.js";
4
+ import { resetCheckoutStore } from "../../../state/checkout/store.js";
5
+ const CryptoIntentPaymentSuccessViewContent = ({ onClose }) => {
6
+ const { goToView } = useModalWithView();
7
+ const handleClose = () => {
8
+ resetCheckoutStore();
9
+ goToView("initial");
10
+ onClose(false);
11
+ };
12
+ return (_jsxs(ModalViewContainer, { style: { justifyContent: "flex-end" }, children: [_jsx("div", { style: {
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" })] }));
18
+ };
19
+ export { CryptoIntentPaymentSuccessViewContent };
20
+ //# sourceMappingURL=success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"success.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/success.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,MAAM,qCAAqC,GAAG,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,kBAAkB,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,kBAAkB,IAAC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,aACvD,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,kBAAkB;oBACvB,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,uBAAuB;iBACnC,YAED,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,GACvB,EACN,KAAC,YAAY,IACX,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,WAAW,yBAGP,IACI,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qCAAqC,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { Loader, useModalWithView } from "../../components/index.js";
4
+ import { ACTIONS, createCheckoutPayment, initialiseStore, useCheckoutStore, } from "../../state/checkout/store.js";
5
+ const InitialiseCheckoutViewContent = (props) => {
6
+ const { goToView } = useModalWithView();
7
+ const { error, checkout, payment } = useCheckoutStore();
8
+ const [loading, setLoading] = useState(true);
9
+ useEffect(() => {
10
+ const setup = async () => {
11
+ await initialiseStore(props.checkoutId, props.amount);
12
+ await createCheckoutPayment();
13
+ };
14
+ setup();
15
+ const timeout = setTimeout(() => setLoading(false), 1500);
16
+ return () => clearTimeout(timeout);
17
+ }, [props.checkoutId, props.amount]);
18
+ useEffect(() => {
19
+ const hasErrors = error[ACTIONS.GET_CHECKOUT_CONFIG] || error[ACTIONS.CREATE_PAYMENT];
20
+ console.log(error);
21
+ if (hasErrors) {
22
+ goToView("failed", { reason: "get_checkout" });
23
+ return;
24
+ }
25
+ if (checkout && payment && !loading) {
26
+ goToView("methods");
27
+ }
28
+ }, [error, checkout, payment, loading]);
29
+ return loading ? _jsx(Loader, {}) : null;
30
+ };
31
+ export { InitialiseCheckoutViewContent };
32
+ //# sourceMappingURL=initial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial.js","sourceRoot":"","sources":["../../../../src/checkout/views/initial.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,eAAe,EACf,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAOvC,MAAM,6BAA6B,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAExD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACvB,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,qBAAqB,EAAE,CAAC;QAChC,CAAC,CAAC;QAEF,KAAK,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAE1D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAC,MAAM,KAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useModalWithView, SelectableList } from "../../components/index.js";
4
+ import { ModalViewContainer } from "../container.js";
5
+ import { useCheckoutStore, ACTIONS, setCheckoutMethod, } from "../../state/checkout/store.js";
6
+ const MethodSelectViewContent = () => {
7
+ const { goToView } = useModalWithView();
8
+ const modalRef = useRef(null);
9
+ const { methods, loading } = useCheckoutStore();
10
+ const handleSelectMethod = (method) => {
11
+ setCheckoutMethod(method);
12
+ goToView(method.intentName);
13
+ };
14
+ 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
+ };
16
+ export { MethodSelectViewContent };
17
+ //# sourceMappingURL=method-select.js.map
@@ -0,0 +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;AAC/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,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,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9B,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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { styled } from "styled-components";
3
- import { useMintMoneyConfig } from "@mintmoney/react";
3
+ import { useMintMoneyConfig } from "../../context.js";
4
4
  const StyledSvg = styled.svg `
5
5
  stroke: ${({ color }) => color};
6
6
  width: ${({ width }) => width}px;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { styled } from "styled-components";
3
- import { useMintMoneyConfig } from "@mintmoney/react";
3
+ import { useMintMoneyConfig } from "../../context.js";
4
4
  const StyledSvg = styled.svg `
5
5
  stroke: ${({ color }) => color};
6
6
  width: ${({ width }) => width}px;
@@ -11,5 +11,5 @@ const SelectableList = ({ title, items, getKey, getLabel, onSelect, loading = fa
11
11
  }
12
12
  return (_jsxs(_Fragment, { children: [title && (_jsx(Text, { size: "base", color: config.theme.font.color.secondary, weight: "semibold", children: title })), _jsx("div", { className: "mm-selectable-list__button-group", children: items.length > 0 ? (items.map((item) => (_jsx(StyledButton, { onClick: () => onSelect(item), variant: "primary", children: getLabel(item) }, getKey(item))))) : (_jsx(ListEmpty, { content: noItemsMsg })) })] }));
13
13
  };
14
- export { SelectableList };
14
+ export { SelectableList, ListEmpty };
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/lists/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAYvC,MAAM,cAAc,GAAG,CAAK,EAC1B,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,sBAAsB,GACZ,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,GAAI,CAAC;IACnC,CAAC;IAED,OAAO,CACL,8BACG,KAAK,IAAI,CACR,KAAC,IAAI,IACH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EACxC,MAAM,EAAE,UAAU,YAEjB,KAAK,GACD,CACR,EACD,cAAK,SAAS,EAAC,kCAAkC,YAC9C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,KAAC,YAAY,IAEX,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,OAAO,EAAE,SAAS,YAEjB,QAAQ,CAAC,IAAI,CAAC,IAJV,MAAM,CAAC,IAAI,CAAC,CAKJ,CAChB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,OAAO,EAAE,UAAU,GAAI,CACnC,GACG,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/lists/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAYvC,MAAM,cAAc,GAAG,CAAK,EAC1B,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,sBAAsB,GACZ,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,GAAI,CAAC;IACnC,CAAC;IAED,OAAO,CACL,8BACG,KAAK,IAAI,CACR,KAAC,IAAI,IACH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EACxC,MAAM,EAAE,UAAU,YAEjB,KAAK,GACD,CACR,EACD,cAAK,SAAS,EAAC,kCAAkC,YAC9C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,KAAC,YAAY,IAEX,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,OAAO,EAAE,SAAS,YAEjB,QAAQ,CAAC,IAAI,CAAC,IAJV,MAAM,CAAC,IAAI,CAAC,CAKJ,CAChB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,OAAO,EAAE,UAAU,GAAI,CACnC,GACG,IACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
- import { api } from "@mintmoney/core";
4
+ import { api } from "./api/index.js";
5
5
  import { ThemeProvider } from "styled-components";
6
6
  const MintMoneyContext = createContext(undefined);
7
7
  export function MintMoneyProvider({ config, children, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,GAAG,aAAa,CAAqB,SAAS,CAAC,CAAC;AAOtE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACe;IACvB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACtC,KAAC,aAAa,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAChC,cAAK,SAAS,EAAC,SAAS,YAAE,QAAQ,GAAO,GAC3B,GACU,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,gBAAgB,GAAG,aAAa,CAAqB,SAAS,CAAC,CAAC;AAOtE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACe;IACvB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACtC,KAAC,aAAa,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAChC,cAAK,SAAS,EAAC,SAAS,YAAE,QAAQ,GAAO,GAC3B,GACU,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,5 @@
1
- export {};
1
+ export * from "./checkout/index.js";
2
+ export * from "./components/index.js";
3
+ export * from "./api/index.js";
4
+ export * from "./themes/index.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,220 @@
1
+ import { create } from "zustand";
2
+ import { immer } from "zustand/middleware/immer";
3
+ import { getCheckoutById, getCheckoutCryptoCurrencies, } from "../../api/checkouts.js";
4
+ import { createPayment, createPaymentAttempt, getPaymentById, } from "../../api/payments.js";
5
+ export var ACTIONS;
6
+ (function (ACTIONS) {
7
+ ACTIONS["GET_CHECKOUT_CONFIG"] = "GET_CHECKOUT_CONFIG";
8
+ ACTIONS["GET_CRYPTO_CURRENCIES"] = "GET_CRYPTO_CURRENCIES";
9
+ ACTIONS["CREATE_PAYMENT"] = "CREATE_PAYMENT";
10
+ ACTIONS["GET_PAYMENT"] = "GET_PAYMENT";
11
+ ACTIONS["CREATE_PAYMENT_ATTEMPT"] = "CREATE_PAYMENT_ATTEMPT";
12
+ })(ACTIONS || (ACTIONS = {}));
13
+ const initialActionState = (initialValue) => Object.values(ACTIONS).reduce((acc, action) => {
14
+ acc[action] = initialValue;
15
+ return acc;
16
+ }, {});
17
+ export const useCheckoutStore = create()(immer((_set, _get) => ({
18
+ amount: null,
19
+ checkoutId: null,
20
+ selectedMethod: null,
21
+ selectedCurrency: null,
22
+ methods: null,
23
+ cryptoCurrencies: null,
24
+ checkout: null,
25
+ payment: null,
26
+ cryptoPaymentAttempt: null,
27
+ loading: initialActionState(false),
28
+ error: initialActionState(null),
29
+ })));
30
+ const set = useCheckoutStore.setState;
31
+ const get = () => useCheckoutStore.getState();
32
+ // Actions: Directly expose the function
33
+ export const clearErrors = () => {
34
+ set((state) => {
35
+ Object.values(ACTIONS).forEach((action) => {
36
+ state.error[action] = null;
37
+ });
38
+ });
39
+ };
40
+ export const initialiseStore = async (checkoutId, amount) => {
41
+ set((state) => {
42
+ state.checkoutId = checkoutId;
43
+ state.amount = amount;
44
+ });
45
+ try {
46
+ await getCheckoutConfig(checkoutId);
47
+ }
48
+ catch (err) {
49
+ set((state) => {
50
+ state.error[ACTIONS.GET_CHECKOUT_CONFIG] = "Failed to load checkout";
51
+ });
52
+ }
53
+ };
54
+ export const createCheckoutPayment = async () => {
55
+ const checkoutId = useCheckoutStore.getState().checkoutId;
56
+ const amount = useCheckoutStore.getState().amount;
57
+ if (!checkoutId || !amount) {
58
+ console.error(`checkoutId and amount are required to make a payment.`);
59
+ set((state) => {
60
+ state.error[ACTIONS.CREATE_PAYMENT] = "Failed to create payment";
61
+ state.loading[ACTIONS.CREATE_PAYMENT] = false;
62
+ });
63
+ return;
64
+ }
65
+ try {
66
+ set((state) => {
67
+ state.error[ACTIONS.CREATE_PAYMENT] = null;
68
+ state.loading[ACTIONS.CREATE_PAYMENT] = true;
69
+ });
70
+ const payment = await createPayment({ checkoutId, amount });
71
+ set((state) => {
72
+ state.payment = payment;
73
+ state.error[ACTIONS.CREATE_PAYMENT] = null;
74
+ state.loading[ACTIONS.CREATE_PAYMENT] = false;
75
+ });
76
+ }
77
+ catch (err) {
78
+ set((state) => {
79
+ state.error[ACTIONS.CREATE_PAYMENT] = "Failed to create payment";
80
+ state.loading[ACTIONS.CREATE_PAYMENT] = false;
81
+ });
82
+ }
83
+ };
84
+ export const createCheckoutCryptoPaymentAttempt = async (currency) => {
85
+ const paymentId = useCheckoutStore.getState().payment?.id;
86
+ if (!paymentId) {
87
+ throw Error("Cannot create payment attempt without payment object.");
88
+ }
89
+ try {
90
+ set((state) => {
91
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = null;
92
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = true;
93
+ });
94
+ const attempt = await createPaymentAttempt(paymentId, currency);
95
+ const payment = await getPaymentById(paymentId);
96
+ set((state) => {
97
+ state.payment = payment;
98
+ state.cryptoPaymentAttempt = attempt;
99
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = null;
100
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = false;
101
+ });
102
+ }
103
+ catch (err) {
104
+ const error = err;
105
+ set((state) => {
106
+ state.error[ACTIONS.CREATE_PAYMENT_ATTEMPT] = error.message;
107
+ state.loading[ACTIONS.CREATE_PAYMENT_ATTEMPT] = false;
108
+ });
109
+ }
110
+ };
111
+ export function getAvailableCheckoutMethods(checkout) {
112
+ const methods = [];
113
+ if (checkout.checkout_config.crypto?.enabled) {
114
+ methods.push({
115
+ name: "Pay with Crypto",
116
+ intentName: "cryptoIntent",
117
+ });
118
+ }
119
+ if (checkout.checkout_config.card?.enabled) {
120
+ methods.push({
121
+ name: "Pay by Card",
122
+ intentName: "cardIntent",
123
+ });
124
+ }
125
+ return methods;
126
+ }
127
+ export const getCheckoutConfig = async (checkoutId) => {
128
+ const ACTION = ACTIONS.GET_CHECKOUT_CONFIG;
129
+ set((state) => {
130
+ state.loading[ACTION] = true;
131
+ state.error[ACTION] = null;
132
+ });
133
+ try {
134
+ const resp = await getCheckoutById(checkoutId);
135
+ if (resp) {
136
+ set((state) => {
137
+ state.checkout = resp;
138
+ state.methods = getAvailableCheckoutMethods(resp);
139
+ state.cryptoCurrencies = getCheckoutCryptoCurrencies(resp);
140
+ state.loading[ACTION] = false;
141
+ state.error[ACTION] = null;
142
+ });
143
+ }
144
+ else {
145
+ set((state) => {
146
+ state.loading[ACTION] = false;
147
+ state.error[ACTION] = "Failed to load checkout";
148
+ });
149
+ }
150
+ }
151
+ catch (error) {
152
+ set((state) => {
153
+ state.loading[ACTION] = false;
154
+ state.error[ACTION] = "Failed to load checkout methods";
155
+ });
156
+ }
157
+ };
158
+ export const getPayment = async () => {
159
+ const ACTION = ACTIONS.GET_PAYMENT;
160
+ set((state) => {
161
+ state.loading[ACTION] = true;
162
+ state.error[ACTION] = null;
163
+ });
164
+ const payment = get().payment;
165
+ if (!payment) {
166
+ set((state) => {
167
+ state.loading[ACTION] = false;
168
+ state.error[ACTION] = "No payment found";
169
+ });
170
+ return null;
171
+ }
172
+ try {
173
+ const resp = await getPaymentById(payment.id);
174
+ if (resp) {
175
+ set((state) => {
176
+ state.payment = resp;
177
+ state.loading[ACTION] = false;
178
+ state.error[ACTION] = null;
179
+ });
180
+ return resp;
181
+ }
182
+ else {
183
+ set((state) => {
184
+ state.loading[ACTION] = false;
185
+ state.error[ACTION] = "Failed to load payment";
186
+ });
187
+ return null;
188
+ }
189
+ }
190
+ catch (error) {
191
+ set((state) => {
192
+ state.loading[ACTION] = false;
193
+ state.error[ACTION] = "Failed to load payment";
194
+ });
195
+ return null;
196
+ }
197
+ };
198
+ export const resetCheckoutStore = () => {
199
+ set((state) => {
200
+ Object.assign(state, {
201
+ amount: null,
202
+ checkoutId: null,
203
+ selectedMethod: null,
204
+ selectedCurrency: null,
205
+ methods: null,
206
+ cryptoCurrencies: null,
207
+ checkout: null,
208
+ payment: null,
209
+ cryptoPaymentAttempt: null,
210
+ loading: initialActionState(false),
211
+ error: initialActionState(null),
212
+ });
213
+ });
214
+ };
215
+ export const setCheckoutMethod = (method) => {
216
+ set((state) => {
217
+ state.selectedMethod = method;
218
+ });
219
+ };
220
+ //# sourceMappingURL=store.js.map