@mintmoney/react 0.1.0-alpha-1 → 0.1.0-alpha.11

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 (195) hide show
  1. package/dist/css/styles.css +217 -46
  2. package/dist/esm/api/checkouts.js +16 -0
  3. package/dist/esm/api/checkouts.js.map +1 -0
  4. package/dist/esm/api/generated.js +618 -0
  5. package/dist/esm/api/generated.js.map +1 -0
  6. package/dist/esm/api/index.js +15 -0
  7. package/dist/esm/api/index.js.map +1 -0
  8. package/dist/esm/api/payments.js +28 -0
  9. package/dist/esm/api/payments.js.map +1 -0
  10. package/dist/esm/api/types.js +2 -0
  11. package/dist/esm/api/types.js.map +1 -0
  12. package/dist/esm/checkout/container.js +10 -0
  13. package/dist/esm/checkout/container.js.map +1 -0
  14. package/dist/esm/checkout/index.js +44 -0
  15. package/dist/esm/checkout/index.js.map +1 -0
  16. package/dist/esm/checkout/modal.js +76 -0
  17. package/dist/esm/checkout/modal.js.map +1 -0
  18. package/dist/esm/checkout/views/back.js +12 -0
  19. package/dist/esm/checkout/views/back.js.map +1 -0
  20. package/dist/esm/checkout/views/card-intent/details.js +29 -0
  21. package/dist/esm/checkout/views/card-intent/details.js.map +1 -0
  22. package/dist/esm/checkout/views/crypto-intent/curreny.js +50 -0
  23. package/dist/esm/checkout/views/crypto-intent/curreny.js.map +1 -0
  24. package/dist/esm/checkout/views/crypto-intent/direct-details.js +70 -0
  25. package/dist/esm/checkout/views/crypto-intent/direct-details.js.map +1 -0
  26. package/dist/esm/checkout/views/crypto-intent/methods.js +34 -0
  27. package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -0
  28. package/dist/esm/checkout/views/crypto-intent/processing.js +48 -0
  29. package/dist/esm/checkout/views/crypto-intent/processing.js.map +1 -0
  30. package/dist/esm/checkout/views/crypto-intent/success.js +38 -0
  31. package/dist/esm/checkout/views/crypto-intent/success.js.map +1 -0
  32. package/dist/esm/checkout/views/initial.js +35 -0
  33. package/dist/esm/checkout/views/initial.js.map +1 -0
  34. package/dist/esm/checkout/views/method-select.js +31 -0
  35. package/dist/esm/checkout/views/method-select.js.map +1 -0
  36. package/dist/esm/components/buttons/index.js +34 -13
  37. package/dist/esm/components/buttons/index.js.map +1 -1
  38. package/dist/esm/components/icons/checkMark.js +32 -0
  39. package/dist/esm/components/icons/checkMark.js.map +1 -0
  40. package/dist/esm/components/icons/close.js +20 -5
  41. package/dist/esm/components/icons/close.js.map +1 -1
  42. package/dist/esm/components/icons/index.js +2 -1
  43. package/dist/esm/components/icons/index.js.map +1 -1
  44. package/dist/esm/components/index.js +4 -1
  45. package/dist/esm/components/index.js.map +1 -1
  46. package/dist/esm/components/lists/empty.js +9 -0
  47. package/dist/esm/components/lists/empty.js.map +1 -0
  48. package/dist/esm/components/lists/index.js +54 -0
  49. package/dist/esm/components/lists/index.js.map +1 -0
  50. package/dist/esm/components/loading/index.js +52 -0
  51. package/dist/esm/components/loading/index.js.map +1 -0
  52. package/dist/esm/components/modals/index.js +1 -1
  53. package/dist/esm/components/modals/modal-with-views.js +62 -23
  54. package/dist/esm/components/modals/modal-with-views.js.map +1 -1
  55. package/dist/esm/components/modals/modal.js +69 -10
  56. package/dist/esm/components/modals/modal.js.map +1 -1
  57. package/dist/esm/components/modals/use-modal-with-views.js +25 -22
  58. package/dist/esm/components/modals/use-modal-with-views.js.map +1 -1
  59. package/dist/esm/components/text/index.js +37 -0
  60. package/dist/esm/components/text/index.js.map +1 -0
  61. package/dist/esm/config.js +5 -5
  62. package/dist/esm/config.js.map +1 -1
  63. package/dist/esm/context.js +20 -8
  64. package/dist/esm/context.js.map +1 -1
  65. package/dist/esm/index.js +5 -2
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/state/checkout/store.js +189 -0
  68. package/dist/esm/state/checkout/store.js.map +1 -0
  69. package/dist/esm/themes/default.js +56 -41
  70. package/dist/esm/themes/default.js.map +1 -1
  71. package/dist/esm/themes/index.js +1 -1
  72. package/dist/esm/themes/types.js +2 -2
  73. package/dist/esm/themes/types.js.map +1 -1
  74. package/dist/esm/utils/cn.js +4 -0
  75. package/dist/esm/utils/cn.js.map +1 -0
  76. package/dist/types/api/checkouts.d.ts +9 -0
  77. package/dist/types/api/checkouts.d.ts.map +1 -0
  78. package/dist/types/api/generated.d.ts +1033 -0
  79. package/dist/types/api/generated.d.ts.map +1 -0
  80. package/dist/types/api/index.d.ts +6 -0
  81. package/dist/types/api/index.d.ts.map +1 -0
  82. package/dist/types/api/payments.d.ts +13 -0
  83. package/dist/types/api/payments.d.ts.map +1 -0
  84. package/dist/types/api/types.d.ts +23 -0
  85. package/dist/types/api/types.d.ts.map +1 -0
  86. package/dist/types/checkout/container.d.ts +12 -0
  87. package/dist/types/checkout/container.d.ts.map +1 -0
  88. package/dist/types/checkout/index.d.ts +14 -0
  89. package/dist/types/checkout/index.d.ts.map +1 -0
  90. package/dist/types/checkout/modal.d.ts +12 -0
  91. package/dist/types/checkout/modal.d.ts.map +1 -0
  92. package/dist/types/checkout/views/back.d.ts +8 -0
  93. package/dist/types/checkout/views/back.d.ts.map +1 -0
  94. package/dist/types/checkout/views/card-intent/details.d.ts +3 -0
  95. package/dist/types/checkout/views/card-intent/details.d.ts.map +1 -0
  96. package/dist/types/checkout/views/crypto-intent/curreny.d.ts +3 -0
  97. package/dist/types/checkout/views/crypto-intent/curreny.d.ts.map +1 -0
  98. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +5 -0
  99. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -0
  100. package/dist/types/checkout/views/crypto-intent/methods.d.ts +3 -0
  101. package/dist/types/checkout/views/crypto-intent/methods.d.ts.map +1 -0
  102. package/dist/types/checkout/views/crypto-intent/processing.d.ts +3 -0
  103. package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -0
  104. package/dist/types/checkout/views/crypto-intent/success.d.ts +9 -0
  105. package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -0
  106. package/dist/types/checkout/views/initial.d.ts +9 -0
  107. package/dist/types/checkout/views/initial.d.ts.map +1 -0
  108. package/dist/types/checkout/views/method-select.d.ts +3 -0
  109. package/dist/types/checkout/views/method-select.d.ts.map +1 -0
  110. package/dist/types/components/buttons/index.d.ts +16 -22
  111. package/dist/types/components/buttons/index.d.ts.map +1 -1
  112. package/dist/types/components/icons/checkMark.d.ts +8 -0
  113. package/dist/types/components/icons/checkMark.d.ts.map +1 -0
  114. package/dist/types/components/icons/close.d.ts +5 -3
  115. package/dist/types/components/icons/close.d.ts.map +1 -1
  116. package/dist/types/components/icons/index.d.ts +2 -1
  117. package/dist/types/components/icons/index.d.ts.map +1 -1
  118. package/dist/types/components/index.d.ts +4 -1
  119. package/dist/types/components/index.d.ts.map +1 -1
  120. package/dist/types/components/lists/empty.d.ts +6 -0
  121. package/dist/types/components/lists/empty.d.ts.map +1 -0
  122. package/dist/types/components/lists/index.d.ts +21 -0
  123. package/dist/types/components/lists/index.d.ts.map +1 -0
  124. package/dist/types/components/loading/index.d.ts +9 -0
  125. package/dist/types/components/loading/index.d.ts.map +1 -0
  126. package/dist/types/components/modals/index.d.ts +1 -1
  127. package/dist/types/components/modals/modal-with-views.d.ts +23 -17
  128. package/dist/types/components/modals/modal-with-views.d.ts.map +1 -1
  129. package/dist/types/components/modals/modal.d.ts +17 -9
  130. package/dist/types/components/modals/modal.d.ts.map +1 -1
  131. package/dist/types/components/modals/use-modal-with-views.d.ts +9 -6
  132. package/dist/types/components/modals/use-modal-with-views.d.ts.map +1 -1
  133. package/dist/types/components/text/index.d.ts +20 -0
  134. package/dist/types/components/text/index.d.ts.map +1 -0
  135. package/dist/types/config.d.ts +12 -7
  136. package/dist/types/config.d.ts.map +1 -1
  137. package/dist/types/context.d.ts +7 -4
  138. package/dist/types/context.d.ts.map +1 -1
  139. package/dist/types/index.d.ts +5 -2
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/dist/types/state/checkout/store.d.ts +88 -0
  142. package/dist/types/state/checkout/store.d.ts.map +1 -0
  143. package/dist/types/themes/default.d.ts +3 -3
  144. package/dist/types/themes/default.d.ts.map +1 -1
  145. package/dist/types/themes/index.d.ts +1 -1
  146. package/dist/types/themes/types.d.ts +28 -15
  147. package/dist/types/themes/types.d.ts.map +1 -1
  148. package/dist/types/utils/cn.d.ts +4 -0
  149. package/dist/types/utils/cn.d.ts.map +1 -0
  150. package/package.json +74 -61
  151. package/dist/esm/exports/components.js +0 -2
  152. package/dist/esm/exports/components.js.map +0 -1
  153. package/dist/esm/exports/config.js +0 -3
  154. package/dist/esm/exports/config.js.map +0 -1
  155. package/dist/esm/exports/hooks.js +0 -2
  156. package/dist/esm/exports/hooks.js.map +0 -1
  157. package/dist/esm/exports/index.js +0 -4
  158. package/dist/esm/exports/index.js.map +0 -1
  159. package/dist/esm/exports/themes.js +0 -2
  160. package/dist/esm/exports/themes.js.map +0 -1
  161. package/dist/esm/hooks/index.js +0 -3
  162. package/dist/esm/hooks/index.js.map +0 -1
  163. package/dist/esm/hooks/useCheckout.js +0 -36
  164. package/dist/esm/hooks/useCheckout.js.map +0 -1
  165. package/dist/esm/hooks/usePayment.js +0 -31
  166. package/dist/esm/hooks/usePayment.js.map +0 -1
  167. package/dist/types/exports/components.d.ts +0 -2
  168. package/dist/types/exports/components.d.ts.map +0 -1
  169. package/dist/types/exports/config.d.ts +0 -3
  170. package/dist/types/exports/config.d.ts.map +0 -1
  171. package/dist/types/exports/hooks.d.ts +0 -2
  172. package/dist/types/exports/hooks.d.ts.map +0 -1
  173. package/dist/types/exports/index.d.ts +0 -6
  174. package/dist/types/exports/index.d.ts.map +0 -1
  175. package/dist/types/exports/themes.d.ts +0 -2
  176. package/dist/types/exports/themes.d.ts.map +0 -1
  177. package/dist/types/hooks/index.d.ts +0 -3
  178. package/dist/types/hooks/index.d.ts.map +0 -1
  179. package/dist/types/hooks/useCheckout.d.ts +0 -9
  180. package/dist/types/hooks/useCheckout.d.ts.map +0 -1
  181. package/dist/types/hooks/usePayment.d.ts +0 -9
  182. package/dist/types/hooks/usePayment.d.ts.map +0 -1
  183. package/src/components/index.ts +0 -3
  184. package/src/components/modals/index.ts +0 -3
  185. package/src/config.ts +0 -27
  186. package/src/exports/components.ts +0 -1
  187. package/src/exports/config.ts +0 -2
  188. package/src/exports/hooks.ts +0 -1
  189. package/src/exports/index.ts +0 -9
  190. package/src/exports/themes.ts +0 -1
  191. package/src/hooks/index.ts +0 -2
  192. package/src/hooks/useCheckout.ts +0 -38
  193. package/src/hooks/usePayment.ts +0 -37
  194. package/src/index.ts +0 -0
  195. package/src/themes/types.ts +0 -26
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { styled } from "styled-components";
2
+ export const ModalViewContainer = styled.div`
3
+ position: relative;
4
+ display: flex;
5
+ flex: 1;
6
+ flex-direction: column;
7
+ gap: 24px;
8
+ width: 100%;
9
+ `;
10
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/checkout/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAO3C,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import {
3
+ jsx as _jsx,
4
+ Fragment as _Fragment,
5
+ jsxs as _jsxs,
6
+ } from "react/jsx-runtime";
7
+ import { useState, cloneElement } from "react";
8
+ import { StyledButton } from "../components/index.js";
9
+ import { CheckoutModal } from "./modal.js";
10
+ export function Checkout({ createPayment, asChild, children }) {
11
+ const [isOpen, openModal] = useState(false);
12
+ const [payment, setPayment] = useState(null);
13
+ const handleCheckout = async () => {
14
+ try {
15
+ const payment = await createPayment();
16
+ setPayment(payment);
17
+ openModal(true);
18
+ } catch (error) {
19
+ console.error("Error creating payment:", error);
20
+ }
21
+ };
22
+ const trigger =
23
+ asChild && children
24
+ ? cloneElement(children, {
25
+ onClick: handleCheckout,
26
+ })
27
+ : _jsx(StyledButton, {
28
+ variant: "primary",
29
+ onClick: handleCheckout,
30
+ children: "Pay Now",
31
+ });
32
+ return _jsxs(_Fragment, {
33
+ children: [
34
+ trigger,
35
+ payment &&
36
+ _jsx(CheckoutModal, {
37
+ open: isOpen,
38
+ onOpenChange: openModal,
39
+ payment: payment,
40
+ }),
41
+ ],
42
+ });
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C,MAAM,UAAU,QAAQ,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAiB;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YACtC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GACX,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CACpB,YAAY,CAAC,QAA8B,EAAE;QAC3C,OAAO,EAAE,cAAc;KACxB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,wBAE1C,CAChB,CAAC;IAEJ,OAAO,CACL,8BACG,OAAO,EAEP,OAAO,IAAI,CACV,KAAC,aAAa,IACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,IACA,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ModalWithView } from "../components/modals/modal-with-views.js";
3
+ import { ModalBackButton } from "./views/back.js";
4
+ import { CardIntentViewContent } from "./views/card-intent/details.js";
5
+ import { CryptontentSelectCurrencyViewContent } from "./views/crypto-intent/curreny.js";
6
+ import { CryptoIntentDirectDetailsViewContent } from "./views/crypto-intent/direct-details.js";
7
+ import { CryptoIntentViewContent } from "./views/crypto-intent/methods.js";
8
+ import { CryptoIntentPaymentStatusViewContent } from "./views/crypto-intent/processing.js";
9
+ import { CryptoIntentPaymentSuccessViewContent } from "./views/crypto-intent/success.js";
10
+ import { InitialiseCheckoutViewContent } from "./views/initial.js";
11
+ import { MethodSelectViewContent } from "./views/method-select.js";
12
+ export const CheckoutModal = (props) => {
13
+ return _jsx(ModalWithView, {
14
+ className: "mm-checkout-modal",
15
+ initialView: "initial",
16
+ isOpen: props.open,
17
+ onOpenChange: props.onOpenChange,
18
+ views: {
19
+ initial: {
20
+ title: "",
21
+ content: () =>
22
+ _jsx(InitialiseCheckoutViewContent, { payment: props.payment }),
23
+ },
24
+ methods: {
25
+ title: "Order Summary",
26
+ content: () => _jsx(MethodSelectViewContent, {}),
27
+ },
28
+ cryptoIntent: {
29
+ title: "Pay with Crypto",
30
+ content: () => _jsx(CryptoIntentViewContent, {}),
31
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
32
+ },
33
+ cryptoIntentSelectCurrency: {
34
+ title: "Select Currency",
35
+ content: () => _jsx(CryptontentSelectCurrencyViewContent, {}),
36
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
37
+ },
38
+ cryptoIntentDirectDetails: {
39
+ title: "Pay Direct",
40
+ content: () => _jsx(CryptoIntentDirectDetailsViewContent, {}),
41
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
42
+ },
43
+ cryptoIntentPaymentStatus: {
44
+ title: "Payment Processing",
45
+ content: () => _jsx(CryptoIntentPaymentStatusViewContent, {}),
46
+ },
47
+ cryptoIntentPaymentSuccess: {
48
+ title: "Payment Successful",
49
+ content: () =>
50
+ _jsx(CryptoIntentPaymentSuccessViewContent, {
51
+ onClose: props.onOpenChange,
52
+ }),
53
+ },
54
+ cardIntent: {
55
+ title: "Pay by Card",
56
+ content: () => _jsx(CardIntentViewContent, {}),
57
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
58
+ },
59
+ success: {
60
+ title: "Payment Successful",
61
+ header: () =>
62
+ _jsx("p", { className: "", children: "Transfer complete" }),
63
+ content: () => _jsx(_Fragment, {}),
64
+ footer: () => _jsx("button", { className: "", children: "Success" }),
65
+ },
66
+ failed: {
67
+ title: "Payment Failed",
68
+ header: () => _jsx("p", { className: "", children: "Failed" }),
69
+ content: () => _jsx(_Fragment, {}),
70
+ navigateButtonPosition: "center",
71
+ navigateShouldGoToView: "methods",
72
+ },
73
+ },
74
+ });
75
+ };
76
+ //# 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,12 @@
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, {
6
+ onClick: () => goToView(view),
7
+ variant: "secondary",
8
+ children: "Back",
9
+ });
10
+ };
11
+ export { ModalBackButton };
12
+ //# 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,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { StyledButton } from "../../../components/buttons/index.js";
4
+ import { useMintMoneyConfig } from "../../../context.js";
5
+ import { ModalViewContainer } from "../../container.js";
6
+ const CardIntentViewContent = () => {
7
+ const modalRef = useRef(null);
8
+ const config = useMintMoneyConfig();
9
+ return _jsx(ModalViewContainer, {
10
+ ref: modalRef,
11
+ children: _jsxs("div", {
12
+ className: "button-group",
13
+ children: [
14
+ _jsx(StyledButton, {
15
+ variant: "primary",
16
+ theme: config.theme,
17
+ children: "Connect Wallet",
18
+ }),
19
+ _jsx(StyledButton, {
20
+ variant: "primary",
21
+ theme: config.theme,
22
+ children: "Direct Payment",
23
+ }),
24
+ ],
25
+ }),
26
+ });
27
+ };
28
+ export { CardIntentViewContent };
29
+ //# 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;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,+BAEtC,EACf,KAAC,YAAY,IAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,+BAEtC,IACX,GACa,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import {
4
+ useModalWithView,
5
+ SelectableList,
6
+ Text,
7
+ Loader,
8
+ } from "../../../components/index.js";
9
+ import { useMintMoneyConfig } from "../../../context.js";
10
+ import {
11
+ useCheckoutStore,
12
+ ACTIONS,
13
+ createCheckoutCryptoPaymentAttempt,
14
+ } from "../../../state/checkout/store.js";
15
+ import { ModalViewContainer } from "../../container.js";
16
+ const CryptontentSelectCurrencyViewContent = () => {
17
+ const modalRef = useRef(null);
18
+ const { goToView } = useModalWithView();
19
+ const { checkout, cryptoCurrencies, loading } = useCheckoutStore();
20
+ const config = useMintMoneyConfig();
21
+ const isLoading =
22
+ loading[ACTIONS.GET_CRYPTO_CURRENCIES] ||
23
+ loading[ACTIONS.CREATE_PAYMENT_ATTEMPT];
24
+ if (checkout && !checkout.checkout_config.crypto?.enabled)
25
+ goToView("failed", { reason: "crypto_not_enabled" });
26
+ const handleSelectCurrency = async (currency) => {
27
+ await createCheckoutCryptoPaymentAttempt(currency);
28
+ goToView("cryptoIntentDirectDetails");
29
+ };
30
+ if (isLoading) return _jsx(Loader, {});
31
+ return _jsxs(ModalViewContainer, {
32
+ ref: modalRef,
33
+ children: [
34
+ _jsx(Text, {
35
+ size: "base",
36
+ color: config.theme.font.color.tertiary,
37
+ weight: "normal",
38
+ children: "Select a currency to complete payment with.",
39
+ }),
40
+ _jsx(SelectableList, {
41
+ items: cryptoCurrencies ?? [],
42
+ getKey: (currency) => currency.asset,
43
+ getLabel: (currency) => `${currency.chain_name} ${currency.asset_name}`,
44
+ onSelect: handleSelectCurrency,
45
+ }),
46
+ ],
47
+ });
48
+ };
49
+ export { CryptontentSelectCurrencyViewContent };
50
+ //# 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;AAG/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,MAAM,GACP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,kCAAkC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO;QACvD,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEvD,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAAwB,EAAE,EAAE;QAC9D,MAAM,kCAAkC,CAAC,QAAQ,CAAC,CAAC;QACnD,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI,SAAS;QAAE,OAAO,KAAC,MAAM,KAAG,CAAC;IAEjC,OAAO,CACL,MAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,aAC/B,KAAC,IAAI,IACH,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EACvC,MAAM,EAAE,QAAQ,4DAGX,EAEP,KAAC,cAAc,IACb,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAC7B,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,EACvE,QAAQ,EAAE,oBAAoB,GAC9B,IACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ //@ts-expect-error import error
4
+ import { QRCode } from "react-qr-code";
5
+ import {
6
+ useModalWithView,
7
+ StyledButton,
8
+ Text,
9
+ } from "../../../components/index.js";
10
+ import { useMintMoneyConfig } from "../../../context.js";
11
+ import { useCheckoutStore } from "../../../state/checkout/store.js";
12
+ import { ModalViewContainer } from "../../container.js";
13
+ const CryptoIntentDirectDetailsViewContent = () => {
14
+ const modalRef = useRef(null);
15
+ const { goToView } = useModalWithView();
16
+ const { cryptoPaymentAttempt } = useCheckoutStore();
17
+ const config = useMintMoneyConfig();
18
+ const handleConfirm = () => {
19
+ goToView("cryptoIntentPaymentStatus");
20
+ };
21
+ if (!cryptoPaymentAttempt) {
22
+ return null;
23
+ }
24
+ const copyToClipboard = async () => {
25
+ await navigator.clipboard.writeText(
26
+ cryptoPaymentAttempt.destination_address,
27
+ );
28
+ };
29
+ return _jsxs(ModalViewContainer, {
30
+ ref: modalRef,
31
+ children: [
32
+ _jsx(Text, {
33
+ size: "base",
34
+ weight: "normal",
35
+ color: config.theme.font.color.secondary,
36
+ children: "Scan the QR code or copy the address to send payment.",
37
+ }),
38
+ _jsx("div", {
39
+ className: "mm-qr-container",
40
+ children: _jsx(QRCode, {
41
+ value: cryptoPaymentAttempt.destination_address,
42
+ size: 160,
43
+ }),
44
+ }),
45
+ _jsxs("div", {
46
+ className: "mm-address-container",
47
+ children: [
48
+ _jsx(Text, {
49
+ size: "sm",
50
+ weight: "light",
51
+ color: config.theme.font.color.tertiary,
52
+ children: cryptoPaymentAttempt.destination_address,
53
+ }),
54
+ _jsx("button", {
55
+ className: "copy-button",
56
+ onClick: copyToClipboard,
57
+ children: "Copy",
58
+ }),
59
+ ],
60
+ }),
61
+ _jsx(StyledButton, {
62
+ onClick: handleConfirm,
63
+ variant: "primary",
64
+ children: "Confirm",
65
+ }),
66
+ ],
67
+ });
68
+ };
69
+ export { CryptoIntentDirectDetailsViewContent };
70
+ //# 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,+BAA+B;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,IAAI,GACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,KAAK,IAAI,EAAE;QACjC,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CACjC,oBAAoB,CAAC,mBAAmB,CACzC,CAAC;IACJ,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,34 @@
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, {
24
+ ref: modalRef,
25
+ children: _jsx(SelectableList, {
26
+ items: methods,
27
+ getKey: (method) => method.key,
28
+ getLabel: (method) => method.label,
29
+ onSelect: handleMethodSelect,
30
+ }),
31
+ });
32
+ };
33
+ export { CryptoIntentViewContent };
34
+ //# 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;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQxC,MAAM,OAAO,GAAuB;QAClC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,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,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
3
+ import { useModalWithView, Loader, Text } from "../../../components/index.js";
4
+ import { useMintMoneyConfig } from "../../../context.js";
5
+ import { getPayment } from "../../../state/checkout/store.js";
6
+ const POLL_INTERVAL = 5000;
7
+ const CryptoIntentPaymentStatusViewContent = () => {
8
+ const { goToView } = useModalWithView();
9
+ const config = useMintMoneyConfig();
10
+ useEffect(() => {
11
+ let isMounted = true;
12
+ const pollPaymentStatus = async () => {
13
+ try {
14
+ const updatedPayment = await getPayment();
15
+ if (!updatedPayment || !isMounted) return;
16
+ if (updatedPayment.status === "paid") {
17
+ goToView("cryptoIntentPaymentSuccess");
18
+ } else if (updatedPayment.status === "failed") {
19
+ goToView("failed");
20
+ }
21
+ } catch (error) {
22
+ console.error("Error fetching payment status:", error);
23
+ }
24
+ };
25
+ void pollPaymentStatus();
26
+ const interval = setInterval(
27
+ async () => await pollPaymentStatus(),
28
+ POLL_INTERVAL,
29
+ );
30
+ return () => {
31
+ isMounted = false;
32
+ clearInterval(interval);
33
+ };
34
+ }, []);
35
+ return _jsxs("div", {
36
+ className: "loading-container",
37
+ children: [
38
+ _jsx(Loader, { asChild: true }),
39
+ _jsx(Text, {
40
+ size: "base",
41
+ color: config.theme.font.color.tertiary,
42
+ children: "Payment pending...",
43
+ }),
44
+ ],
45
+ });
46
+ };
47
+ export { CryptoIntentPaymentStatusViewContent };
48
+ //# 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,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,UAAU,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAE1C,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACrC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9C,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,iBAAiB,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,IAAI,EAAE,CAAC,MAAM,iBAAiB,EAAE,EACrC,aAAa,CACd,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,KAAK,CAAC;YAClB,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,MAAM,IAAC,OAAO,EAAE,IAAI,GAAI,EACzB,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAElD,IACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {
3
+ StyledButton,
4
+ CheckMarkIcon,
5
+ useModalWithView,
6
+ } from "../../../components/index.js";
7
+ import { resetCheckoutStore } from "../../../state/checkout/store.js";
8
+ import { ModalViewContainer } from "../../container.js";
9
+ const CryptoIntentPaymentSuccessViewContent = ({ onClose }) => {
10
+ const { goToView } = useModalWithView();
11
+ const handleClose = () => {
12
+ resetCheckoutStore();
13
+ goToView("initial");
14
+ onClose(false);
15
+ };
16
+ return _jsxs(ModalViewContainer, {
17
+ style: { justifyContent: "flex-end" },
18
+ children: [
19
+ _jsx("div", {
20
+ style: {
21
+ position: "absolute",
22
+ top: "calc(50% - 24px)",
23
+ left: "50%",
24
+ transform: "translate(-50%, -50%)",
25
+ },
26
+ children: _jsx(CheckMarkIcon, { size: 64 }),
27
+ }),
28
+ _jsx(StyledButton, {
29
+ style: { marginTop: "auto" },
30
+ variant: "primary",
31
+ onClick: handleClose,
32
+ children: "Complete",
33
+ }),
34
+ ],
35
+ });
36
+ };
37
+ export { CryptoIntentPaymentSuccessViewContent };
38
+ //# sourceMappingURL=success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"success.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/success.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,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,35 @@
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 {
5
+ ACTIONS,
6
+ initialiseStore,
7
+ useCheckoutStore,
8
+ } from "../../state/checkout/store.js";
9
+ const InitialiseCheckoutViewContent = (props) => {
10
+ const { goToView } = useModalWithView();
11
+ const { error, checkout, payment } = useCheckoutStore();
12
+ const [loading, setLoading] = useState(true);
13
+ useEffect(() => {
14
+ const setup = async () => {
15
+ await initialiseStore(props.payment);
16
+ };
17
+ void setup();
18
+ const timeout = setTimeout(() => setLoading(false), 1500);
19
+ return () => clearTimeout(timeout);
20
+ }, [props.payment]);
21
+ useEffect(() => {
22
+ const hasErrors =
23
+ error[ACTIONS.GET_CHECKOUT_CONFIG] || error[ACTIONS.CREATE_PAYMENT];
24
+ if (hasErrors) {
25
+ goToView("failed", { reason: "get_checkout" });
26
+ return;
27
+ }
28
+ if (checkout && payment && !loading) {
29
+ goToView("methods");
30
+ }
31
+ }, [error, checkout, payment, loading]);
32
+ return loading ? _jsx(Loader, {}) : null;
33
+ };
34
+ export { InitialiseCheckoutViewContent };
35
+ //# 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;AAG5C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAMvC,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,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,KAAK,KAAK,EAAE,CAAC;QAEb,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,OAAO,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEtE,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,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useModalWithView, SelectableList } from "../../components/index.js";
4
+ import {
5
+ useCheckoutStore,
6
+ ACTIONS,
7
+ setCheckoutMethod,
8
+ } from "../../state/checkout/store.js";
9
+ import { ModalViewContainer } from "../container.js";
10
+ const MethodSelectViewContent = () => {
11
+ const { goToView } = useModalWithView();
12
+ const modalRef = useRef(null);
13
+ const { methods, loading } = useCheckoutStore();
14
+ const handleSelectMethod = (method) => {
15
+ setCheckoutMethod(method);
16
+ goToView(method.intentName);
17
+ };
18
+ return _jsx(ModalViewContainer, {
19
+ ref: modalRef,
20
+ children: _jsx(SelectableList, {
21
+ title: "Select payment method",
22
+ items: methods || [],
23
+ getKey: (method) => method.name,
24
+ getLabel: (method) => method.name,
25
+ onSelect: handleSelectMethod,
26
+ loading: loading[ACTIONS.GET_CHECKOUT_CONFIG],
27
+ }),
28
+ });
29
+ };
30
+ export { MethodSelectViewContent };
31
+ //# 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;AAG/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,iBAAiB,GAClB,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,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,25 +1,46 @@
1
1
  import { styled } from "styled-components";
2
- const StyledButton = styled.button `
2
+ const StyledButton = styled.button`
3
3
  width: 100%;
4
- padding: 16px 24px; /* Adjusted padding for better spacing */
5
- border-radius: 32px; /* Fully rounded corners */
6
- border: 2px solid ${({ theme }) => theme.default.borderColor};
7
- background-color: ${({ theme }) => theme.default.backgroundColor};
8
- color: ${({ theme }) => theme.default.textColor};
4
+ height: 48px;
5
+ padding: 10px 16px;
6
+ border-radius: 48px;
7
+ font-family: var(--mm-font-family);
8
+ border: 2px solid
9
+ ${({ theme, variant = "primary" }) =>
10
+ theme?.btn?.[variant]?.default.borderColor};
11
+ background-color: ${({ theme, variant = "primary" }) =>
12
+ theme?.btn?.[variant]?.default.backgroundColor};
13
+ color: ${({ theme, variant = "primary" }) =>
14
+ theme?.btn?.[variant]?.default.textColor};
9
15
  transition: all 0.3s ease-in-out;
16
+ font-size: 16px;
17
+ font-weight: 700;
18
+ text-align: center;
19
+ line-height: 28px;
20
+
21
+ transition:
22
+ background-color 0.3s ease-in-out,
23
+ border-color 0.3s ease-in-out,
24
+ color 0.3s ease-in-out;
10
25
 
11
26
  &:hover {
12
- background-color: ${({ theme }) => theme.hover.backgroundColor};
13
- border-color: ${({ theme }) => theme.hover.borderColor};
14
- color: ${({ theme }) => theme.hover.textColor};
27
+ background-color: ${({ theme, variant = "primary" }) =>
28
+ theme?.btn?.[variant]?.hover.backgroundColor};
29
+ border-color: ${({ theme, variant = "primary" }) =>
30
+ theme?.btn?.[variant]?.hover.borderColor};
31
+ color: ${({ theme, variant = "primary" }) =>
32
+ theme?.btn?.[variant]?.hover.textColor};
15
33
  }
16
34
 
17
35
  &:disabled {
18
- background-color: ${({ theme }) => theme.disabled.backgroundColor};
19
- border-color: ${({ theme }) => theme.disabled.borderColor};
20
- color: ${({ theme }) => theme.disabled.textColor};
36
+ background-color: ${({ theme, variant = "primary" }) =>
37
+ theme?.btn?.[variant]?.disabled.backgroundColor};
38
+ border-color: ${({ theme, variant = "primary" }) =>
39
+ theme?.btn?.[variant]?.disabled.borderColor};
40
+ color: ${({ theme, variant = "primary" }) =>
41
+ theme?.btn?.[variant]?.disabled.textColor};
21
42
  cursor: not-allowed;
22
43
  }
23
44
  `;
24
45
  export { StyledButton };
25
- //# sourceMappingURL=index.js.map
46
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAqB3C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAmB;;;;sBAI/B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;sBACxC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe;WACvD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;;;;wBAIzB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe;oBAC9C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;aAC7C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;;;;wBAIzB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe;oBACjD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW;aAChD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;;;CAGnD,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/buttons/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAS3C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAmB;;;;;;;MAO/C,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACnC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW;sBAC1B,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACrD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe;WACvC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CAC1C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS;;;;;;;;;;;;;wBAapB,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACrD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,eAAe;oBAC9B,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACjD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CAC1C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS;;;;wBAIpB,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACrD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe;oBACjC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CACjD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW;aACpC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CAC1C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS;;;CAG9C,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}