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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +19 -0
  2. package/dist/css/styles.css +34 -0
  3. package/dist/esm/api/checkouts.js +9 -9
  4. package/dist/esm/api/generated.js +544 -592
  5. package/dist/esm/api/index.js +10 -10
  6. package/dist/esm/api/payments.js +17 -21
  7. package/dist/esm/api/types.js +1 -1
  8. package/dist/esm/checkout/container.js +2 -2
  9. package/dist/esm/checkout/index.js +32 -38
  10. package/dist/esm/checkout/index.js.map +1 -1
  11. package/dist/esm/checkout/modal.js +58 -63
  12. package/dist/esm/checkout/modal.js.map +1 -1
  13. package/dist/esm/checkout/views/back.js +3 -7
  14. package/dist/esm/checkout/views/card-intent/details.js +4 -21
  15. package/dist/esm/checkout/views/crypto-intent/curreny.js +18 -43
  16. package/dist/esm/checkout/views/crypto-intent/direct-details.js +16 -60
  17. package/dist/esm/checkout/views/crypto-intent/methods.js +19 -27
  18. package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -1
  19. package/dist/esm/checkout/views/crypto-intent/processing.js +29 -39
  20. package/dist/esm/checkout/views/crypto-intent/success.js +14 -32
  21. package/dist/esm/checkout/views/crypto-intent/wallet-select.js +21 -0
  22. package/dist/esm/checkout/views/crypto-intent/wallet-select.js.map +1 -0
  23. package/dist/esm/checkout/views/initial.js +24 -29
  24. package/dist/esm/checkout/views/method-select.js +10 -24
  25. package/dist/esm/components/buttons/async-button.js +16 -0
  26. package/dist/esm/components/buttons/async-button.js.map +1 -0
  27. package/dist/esm/components/buttons/index.js +85 -21
  28. package/dist/esm/components/buttons/index.js.map +1 -1
  29. package/dist/esm/components/buttons/use-async-button.js +44 -0
  30. package/dist/esm/components/buttons/use-async-button.js.map +1 -0
  31. package/dist/esm/components/icons/alert.js +20 -0
  32. package/dist/esm/components/icons/alert.js.map +1 -0
  33. package/dist/esm/components/icons/checkMark.js +4 -16
  34. package/dist/esm/components/icons/close.js +4 -19
  35. package/dist/esm/components/icons/index.js +4 -1
  36. package/dist/esm/components/icons/index.js.map +1 -1
  37. package/dist/esm/components/icons/link.js +20 -0
  38. package/dist/esm/components/icons/link.js.map +1 -0
  39. package/dist/esm/components/icons/loading.js +20 -0
  40. package/dist/esm/components/icons/loading.js.map +1 -0
  41. package/dist/esm/components/index.js +1 -1
  42. package/dist/esm/components/inputs/index.js +32 -0
  43. package/dist/esm/components/inputs/index.js.map +1 -0
  44. package/dist/esm/components/lists/empty.js +2 -5
  45. package/dist/esm/components/lists/index.js +8 -47
  46. package/dist/esm/components/loading/index.js +6 -47
  47. package/dist/esm/components/modals/index.js +1 -1
  48. package/dist/esm/components/modals/modal-with-views.js +23 -62
  49. package/dist/esm/components/modals/modal.js +11 -67
  50. package/dist/esm/components/modals/use-modal-with-views.js +22 -25
  51. package/dist/esm/components/text/index.js +21 -21
  52. package/dist/esm/components/wallet-selector/component.js +61 -0
  53. package/dist/esm/components/wallet-selector/component.js.map +1 -0
  54. package/dist/esm/components/wallet-selector/domain.js +2 -0
  55. package/dist/esm/components/wallet-selector/domain.js.map +1 -0
  56. package/dist/esm/components/wallet-selector/helper.js +12 -0
  57. package/dist/esm/components/wallet-selector/helper.js.map +1 -0
  58. package/dist/esm/components/wallet-selector/index.js +5 -0
  59. package/dist/esm/components/wallet-selector/index.js.map +1 -0
  60. package/dist/esm/components/wallet-selector/provider.js +15 -0
  61. package/dist/esm/components/wallet-selector/provider.js.map +1 -0
  62. package/dist/esm/components/wallet-selector/schemas.js +6 -0
  63. package/dist/esm/components/wallet-selector/schemas.js.map +1 -0
  64. package/dist/esm/components/wallet-selector/store.js +79 -0
  65. package/dist/esm/components/wallet-selector/store.js.map +1 -0
  66. package/dist/esm/components/wallet-selector/util/exceptions.js +16 -0
  67. package/dist/esm/components/wallet-selector/util/exceptions.js.map +1 -0
  68. package/dist/esm/components/wallet-selector/wallets/address/addressInput.js +17 -0
  69. package/dist/esm/components/wallet-selector/wallets/address/addressInput.js.map +1 -0
  70. package/dist/esm/components/wallet-selector/wallets/address/index.js +75 -0
  71. package/dist/esm/components/wallet-selector/wallets/address/index.js.map +1 -0
  72. package/dist/esm/components/wallet-selector/wallets/index.js +5 -0
  73. package/dist/esm/components/wallet-selector/wallets/index.js.map +1 -0
  74. package/dist/esm/components/wallet-selector/wallets/recommended/index.js +64 -0
  75. package/dist/esm/components/wallet-selector/wallets/recommended/index.js.map +1 -0
  76. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +211 -0
  77. package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -0
  78. package/dist/esm/components/wallet-selector/wallets/wagmi/usdt-abi.json +671 -0
  79. package/dist/esm/config.js +5 -5
  80. package/dist/esm/context.js +10 -18
  81. package/dist/esm/index.js +1 -1
  82. package/dist/esm/state/checkout/store.js +143 -143
  83. package/dist/esm/themes/default.js +97 -55
  84. package/dist/esm/themes/default.js.map +1 -1
  85. package/dist/esm/themes/index.js +1 -1
  86. package/dist/esm/themes/types.js +1 -1
  87. package/dist/esm/utils/cn.js +1 -1
  88. package/dist/types/api/checkouts.d.ts +5 -5
  89. package/dist/types/api/generated.d.ts +835 -924
  90. package/dist/types/api/index.d.ts +1 -1
  91. package/dist/types/api/payments.d.ts +3 -10
  92. package/dist/types/api/types.d.ts +10 -14
  93. package/dist/types/checkout/container.d.ts +2 -12
  94. package/dist/types/checkout/index.d.ts +6 -10
  95. package/dist/types/checkout/index.d.ts.map +1 -1
  96. package/dist/types/checkout/modal.d.ts +5 -7
  97. package/dist/types/checkout/modal.d.ts.map +1 -1
  98. package/dist/types/checkout/views/back.d.ts +3 -5
  99. package/dist/types/checkout/views/card-intent/details.d.ts +1 -1
  100. package/dist/types/checkout/views/crypto-intent/curreny.d.ts +1 -1
  101. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +2 -4
  102. package/dist/types/checkout/views/crypto-intent/methods.d.ts +1 -1
  103. package/dist/types/checkout/views/crypto-intent/processing.d.ts +1 -1
  104. package/dist/types/checkout/views/crypto-intent/success.d.ts +3 -5
  105. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts +3 -0
  106. package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -0
  107. package/dist/types/checkout/views/initial.d.ts +3 -5
  108. package/dist/types/checkout/views/method-select.d.ts +1 -1
  109. package/dist/types/components/buttons/async-button.d.ts +14 -0
  110. package/dist/types/components/buttons/async-button.d.ts.map +1 -0
  111. package/dist/types/components/buttons/index.d.ts +24 -17
  112. package/dist/types/components/buttons/index.d.ts.map +1 -1
  113. package/dist/types/components/buttons/use-async-button.d.ts +16 -0
  114. package/dist/types/components/buttons/use-async-button.d.ts.map +1 -0
  115. package/dist/types/components/icons/alert.d.ts +6 -0
  116. package/dist/types/components/icons/alert.d.ts.map +1 -0
  117. package/dist/types/components/icons/checkMark.d.ts +3 -5
  118. package/dist/types/components/icons/close.d.ts +3 -5
  119. package/dist/types/components/icons/index.d.ts +4 -1
  120. package/dist/types/components/icons/index.d.ts.map +1 -1
  121. package/dist/types/components/icons/link.d.ts +6 -0
  122. package/dist/types/components/icons/link.d.ts.map +1 -0
  123. package/dist/types/components/icons/loading.d.ts +6 -0
  124. package/dist/types/components/icons/loading.d.ts.map +1 -0
  125. package/dist/types/components/index.d.ts +1 -1
  126. package/dist/types/components/inputs/index.d.ts +7 -0
  127. package/dist/types/components/inputs/index.d.ts.map +1 -0
  128. package/dist/types/components/lists/empty.d.ts +3 -5
  129. package/dist/types/components/lists/index.d.ts +9 -17
  130. package/dist/types/components/loading/index.d.ts +4 -4
  131. package/dist/types/components/modals/index.d.ts +1 -1
  132. package/dist/types/components/modals/modal-with-views.d.ts +18 -23
  133. package/dist/types/components/modals/modal.d.ts +9 -17
  134. package/dist/types/components/modals/use-modal-with-views.d.ts +6 -9
  135. package/dist/types/components/text/index.d.ts +7 -17
  136. package/dist/types/components/wallet-selector/component.d.ts +13 -0
  137. package/dist/types/components/wallet-selector/component.d.ts.map +1 -0
  138. package/dist/types/components/wallet-selector/domain.d.ts +86 -0
  139. package/dist/types/components/wallet-selector/domain.d.ts.map +1 -0
  140. package/dist/types/components/wallet-selector/helper.d.ts +4 -0
  141. package/dist/types/components/wallet-selector/helper.d.ts.map +1 -0
  142. package/dist/types/components/wallet-selector/index.d.ts +7 -0
  143. package/dist/types/components/wallet-selector/index.d.ts.map +1 -0
  144. package/dist/types/components/wallet-selector/provider.d.ts +10 -0
  145. package/dist/types/components/wallet-selector/provider.d.ts.map +1 -0
  146. package/dist/types/components/wallet-selector/schemas.d.ts +4 -0
  147. package/dist/types/components/wallet-selector/schemas.d.ts.map +1 -0
  148. package/dist/types/components/wallet-selector/store.d.ts +27 -0
  149. package/dist/types/components/wallet-selector/store.d.ts.map +1 -0
  150. package/dist/types/components/wallet-selector/util/exceptions.d.ts +7 -0
  151. package/dist/types/components/wallet-selector/util/exceptions.d.ts.map +1 -0
  152. package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts +7 -0
  153. package/dist/types/components/wallet-selector/wallets/address/addressInput.d.ts.map +1 -0
  154. package/dist/types/components/wallet-selector/wallets/address/index.d.ts +7 -0
  155. package/dist/types/components/wallet-selector/wallets/address/index.d.ts.map +1 -0
  156. package/dist/types/components/wallet-selector/wallets/index.d.ts +5 -0
  157. package/dist/types/components/wallet-selector/wallets/index.d.ts.map +1 -0
  158. package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts +23 -0
  159. package/dist/types/components/wallet-selector/wallets/recommended/index.d.ts.map +1 -0
  160. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +15 -0
  161. package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -0
  162. package/dist/types/config.d.ts +9 -12
  163. package/dist/types/context.d.ts +4 -7
  164. package/dist/types/index.d.ts +1 -1
  165. package/dist/types/state/checkout/store.d.ts +51 -74
  166. package/dist/types/themes/default.d.ts +1 -1
  167. package/dist/types/themes/default.d.ts.map +1 -1
  168. package/dist/types/themes/index.d.ts +1 -1
  169. package/dist/types/themes/types.d.ts +30 -25
  170. package/dist/types/themes/types.d.ts.map +1 -1
  171. package/dist/types/utils/cn.d.ts +1 -1
  172. package/package.json +6 -1
@@ -1,15 +1,15 @@
1
1
  import { Api } from "./generated.js";
2
2
  const api = new Api({
3
- securityWorker: (publicKey) => {
4
- const headers = {};
5
- headers["x-api-key"] = publicKey;
6
- return { headers };
7
- },
8
- baseUrl: "https://api.getmint.money",
9
- baseApiParams: {
10
- secure: true,
11
- },
3
+ securityWorker: (publicKey) => {
4
+ const headers = {};
5
+ headers["x-api-key"] = publicKey;
6
+ return { headers };
7
+ },
8
+ baseUrl: "https://api.getmint.money",
9
+ baseApiParams: {
10
+ secure: true,
11
+ },
12
12
  });
13
13
  export { api };
14
14
  export * from "./generated.js";
15
- //# sourceMappingURL=index.js.map
15
+ //# sourceMappingURL=index.js.map
@@ -1,28 +1,24 @@
1
1
  import { api } from "./index.js";
2
2
  const paymentDTO = (data) => {
3
- return {
4
- ...data.data,
5
- };
3
+ return {
4
+ ...data.data,
5
+ };
6
6
  };
7
- export async function createPayment({ amount, checkoutId }) {
8
- const resp = await api.v1.paymentsCreate({
9
- currency: "USD",
10
- amount: amount,
11
- checkout_id: checkoutId,
12
- });
13
- return paymentDTO(resp.data);
7
+ export async function createPayment({ amount, checkoutId, }) {
8
+ const resp = await api.v1.paymentsCreate({
9
+ currency: "USD",
10
+ amount: amount,
11
+ checkout_id: checkoutId,
12
+ });
13
+ return paymentDTO(resp.data);
14
14
  }
15
- export async function createPaymentAttempt(
16
- paymentId,
17
- currency,
18
- confirmations = 5,
19
- ) {
20
- const data = { ...currency, required_confirmations: confirmations };
21
- const resp = await api.v1.paymentsCryptoPayCreate(paymentId, data);
22
- return resp.data.data;
15
+ export async function createPaymentAttempt(paymentId, currency, confirmations = 5) {
16
+ const data = { ...currency, required_confirmations: confirmations };
17
+ const resp = await api.v1.paymentsCryptoPayCreate(paymentId, data);
18
+ return resp.data.data;
23
19
  }
24
20
  export async function getPaymentById(id) {
25
- const resp = await api.v1.paymentsDetail(id);
26
- return resp.data.data;
21
+ const resp = await api.v1.paymentsDetail(id);
22
+ return resp.data.data;
27
23
  }
28
- //# sourceMappingURL=payments.js.map
24
+ //# sourceMappingURL=payments.js.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -1,5 +1,5 @@
1
1
  import { styled } from "styled-components";
2
- export const ModalViewContainer = styled.div`
2
+ export const ModalViewContainer = styled.div `
3
3
  position: relative;
4
4
  display: flex;
5
5
  flex: 1;
@@ -7,4 +7,4 @@ export const ModalViewContainer = styled.div`
7
7
  gap: 24px;
8
8
  width: 100%;
9
9
  `;
10
- //# sourceMappingURL=container.js.map
10
+ //# sourceMappingURL=container.js.map
@@ -1,44 +1,38 @@
1
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";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, cloneElement, useRef } from "react";
4
+ import { mainnet, sepolia } from "viem/chains";
5
+ import { createConfig, http, WagmiProvider } from "wagmi";
8
6
  import { StyledButton } from "../components/index.js";
9
7
  import { CheckoutModal } from "./modal.js";
10
8
  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);
9
+ const [isOpen, openModal] = useState(false);
10
+ const [payment, setPayment] = useState(null);
11
+ const wagmi = useRef();
12
+ //TOD we need to handle more chains here and provide custom rpc node urls.
13
+ const wagmiConfig = createConfig({
14
+ chains: [mainnet, sepolia],
15
+ transports: {
16
+ [mainnet.id]: http(),
17
+ [sepolia.id]: http(),
18
+ },
19
+ });
20
+ if (!wagmi.current) {
21
+ wagmi.current = wagmiConfig;
20
22
  }
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
- });
23
+ const handleCheckout = async () => {
24
+ try {
25
+ const payment = await createPayment();
26
+ setPayment(payment);
27
+ openModal(true);
28
+ }
29
+ catch (error) {
30
+ console.error("Error creating payment:", error);
31
+ }
32
+ };
33
+ const trigger = asChild && children ? (cloneElement(children, {
34
+ onClick: handleCheckout,
35
+ })) : (_jsx(StyledButton, { variant: "primary", onClick: handleCheckout, children: "Pay Now" }));
36
+ return (_jsxs(WagmiProvider, { config: wagmi.current, reconnectOnMount: true, children: [trigger, payment && (_jsx(CheckoutModal, { open: isOpen, onOpenChange: openModal, payment: payment }))] }));
43
37
  }
44
- //# sourceMappingURL=index.js.map
38
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkout/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAa,MAAM,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAU,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C,MAAM,UAAU,QAAQ,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAiB;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,MAAM,EAAU,CAAC;IAE/B,0EAA0E;IAC1E,MAAM,WAAW,GAAG,YAAY,CAAC;QAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE;YACV,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;YACpB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YACtC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GACX,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CACpB,YAAY,CAAC,QAA8B,EAAE;QAC3C,OAAO,EAAE,cAAc;KACxB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,wBAE1C,CAChB,CAAC;IAEJ,OAAO,CACL,MAAC,aAAa,IAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,aACzD,OAAO,EAEP,OAAO,IAAI,CACV,KAAC,aAAa,IACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,IACa,CACjB,CAAC;AACJ,CAAC"}
@@ -9,68 +9,63 @@ import { CryptoIntentPaymentStatusViewContent } from "./views/crypto-intent/proc
9
9
  import { CryptoIntentPaymentSuccessViewContent } from "./views/crypto-intent/success.js";
10
10
  import { InitialiseCheckoutViewContent } from "./views/initial.js";
11
11
  import { MethodSelectViewContent } from "./views/method-select.js";
12
+ import { CryptoIntentSelectWalletViewContent } from "./views/crypto-intent/wallet-select.js";
12
13
  export const CheckoutModal = (props) => {
13
- 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
- });
14
+ return (_jsx(ModalWithView, { className: "mm-checkout-modal", initialView: "initial", isOpen: props.open, onOpenChange: props.onOpenChange, views: {
15
+ initial: {
16
+ title: "",
17
+ content: () => (_jsx(InitialiseCheckoutViewContent, { payment: props.payment })),
18
+ },
19
+ methods: {
20
+ title: "Order Summary",
21
+ content: () => _jsx(MethodSelectViewContent, {}),
22
+ },
23
+ cryptoIntent: {
24
+ title: "Pay with Crypto",
25
+ content: () => _jsx(CryptoIntentViewContent, {}),
26
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
27
+ },
28
+ cryptoIntentSelectCurrency: {
29
+ title: "Select Currency",
30
+ content: () => _jsx(CryptontentSelectCurrencyViewContent, {}),
31
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
32
+ },
33
+ cryptoIntentDirectDetails: {
34
+ title: "Pay Direct",
35
+ content: () => _jsx(CryptoIntentDirectDetailsViewContent, {}),
36
+ footer: () => _jsx(ModalBackButton, { view: "cryptoIntent" }),
37
+ },
38
+ cryptoIntentSelectWallet: {
39
+ title: "Connect Wallet",
40
+ content: () => _jsx(CryptoIntentSelectWalletViewContent, {}),
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: () => (_jsx(CryptoIntentPaymentSuccessViewContent, { onClose: props.onOpenChange })),
50
+ },
51
+ cardIntent: {
52
+ title: "Pay by Card",
53
+ content: () => _jsx(CardIntentViewContent, {}),
54
+ footer: () => _jsx(ModalBackButton, { view: "methods" }),
55
+ },
56
+ success: {
57
+ title: "Payment Successful",
58
+ header: () => _jsx("p", { className: "", children: "Transfer complete" }),
59
+ content: () => _jsx(_Fragment, {}),
60
+ footer: () => _jsx("button", { className: "", children: "Success" }),
61
+ },
62
+ failed: {
63
+ title: "Payment Failed",
64
+ header: () => _jsx("p", { className: "", children: "Failed" }),
65
+ content: () => _jsx(_Fragment, {}),
66
+ navigateButtonPosition: "center",
67
+ navigateShouldGoToView: "methods",
68
+ },
69
+ } }));
75
70
  };
76
- //# sourceMappingURL=modal.js.map
71
+ //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/checkout/modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/checkout/modal.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useModalWithView, StyledButton } from "../../components/index.js";
3
3
  const ModalBackButton = ({ view }) => {
4
- const { goToView } = useModalWithView();
5
- return _jsx(StyledButton, {
6
- onClick: () => goToView(view),
7
- variant: "secondary",
8
- children: "Back",
9
- });
4
+ const { goToView } = useModalWithView();
5
+ return (_jsx(StyledButton, { onClick: () => goToView(view), variant: "secondary", children: "Back" }));
10
6
  };
11
7
  export { ModalBackButton };
12
- //# sourceMappingURL=back.js.map
8
+ //# sourceMappingURL=back.js.map
@@ -4,26 +4,9 @@ import { StyledButton } from "../../../components/buttons/index.js";
4
4
  import { useMintMoneyConfig } from "../../../context.js";
5
5
  import { ModalViewContainer } from "../../container.js";
6
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
- });
7
+ const modalRef = useRef(null);
8
+ const config = useMintMoneyConfig();
9
+ return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsxs("div", { className: "button-group", children: [_jsx(StyledButton, { variant: "primary", theme: config.theme, children: "Connect Wallet" }), _jsx(StyledButton, { variant: "primary", theme: config.theme, children: "Direct Payment" })] }) }));
27
10
  };
28
11
  export { CardIntentViewContent };
29
- //# sourceMappingURL=details.js.map
12
+ //# sourceMappingURL=details.js.map
@@ -1,50 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
- import {
4
- useModalWithView,
5
- SelectableList,
6
- Text,
7
- Loader,
8
- } from "../../../components/index.js";
3
+ import { useModalWithView, SelectableList, Text, Loader, } from "../../../components/index.js";
9
4
  import { useMintMoneyConfig } from "../../../context.js";
10
- import {
11
- useCheckoutStore,
12
- ACTIONS,
13
- createCheckoutCryptoPaymentAttempt,
14
- } from "../../../state/checkout/store.js";
5
+ import { useCheckoutStore, ACTIONS, createCheckoutCryptoPaymentAttempt, } from "../../../state/checkout/store.js";
15
6
  import { ModalViewContainer } from "../../container.js";
16
7
  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
- });
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
+ await createCheckoutCryptoPaymentAttempt(currency);
18
+ goToView("cryptoIntentDirectDetails");
19
+ };
20
+ if (isLoading)
21
+ return _jsx(Loader, {});
22
+ 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 })] }));
48
23
  };
49
24
  export { CryptontentSelectCurrencyViewContent };
50
- //# sourceMappingURL=curreny.js.map
25
+ //# sourceMappingURL=curreny.js.map
@@ -2,69 +2,25 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
3
  //@ts-expect-error import error
4
4
  import { QRCode } from "react-qr-code";
5
- import {
6
- useModalWithView,
7
- StyledButton,
8
- Text,
9
- } from "../../../components/index.js";
5
+ import { useModalWithView, StyledButton, Text, } from "../../../components/index.js";
10
6
  import { useMintMoneyConfig } from "../../../context.js";
11
7
  import { useCheckoutStore } from "../../../state/checkout/store.js";
12
8
  import { ModalViewContainer } from "../../container.js";
13
9
  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
- });
10
+ const modalRef = useRef(null);
11
+ const { goToView } = useModalWithView();
12
+ const { cryptoPaymentAttempt } = useCheckoutStore();
13
+ const config = useMintMoneyConfig();
14
+ const handleConfirm = () => {
15
+ goToView("cryptoIntentPaymentStatus");
16
+ };
17
+ if (!cryptoPaymentAttempt) {
18
+ return null;
19
+ }
20
+ const copyToClipboard = async () => {
21
+ await navigator.clipboard.writeText(cryptoPaymentAttempt.destination_address);
22
+ };
23
+ 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" })] }));
68
24
  };
69
25
  export { CryptoIntentDirectDetailsViewContent };
70
- //# sourceMappingURL=direct-details.js.map
26
+ //# sourceMappingURL=direct-details.js.map
@@ -3,32 +3,24 @@ import { useRef } from "react";
3
3
  import { useModalWithView, SelectableList } from "../../../components/index.js";
4
4
  import { ModalViewContainer } from "../../container.js";
5
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
- });
6
+ const modalRef = useRef(null);
7
+ const { goToView } = useModalWithView();
8
+ const methods = [
9
+ {
10
+ key: "wallet",
11
+ label: "Connect Wallet",
12
+ view: "cryptoIntentSelectWallet",
13
+ },
14
+ {
15
+ key: "direct",
16
+ label: "Direct Payment",
17
+ view: "cryptoIntentSelectCurrency",
18
+ },
19
+ ];
20
+ const handleMethodSelect = (selectedMethod) => {
21
+ goToView(selectedMethod.view);
22
+ };
23
+ return (_jsx(ModalViewContainer, { ref: modalRef, children: _jsx(SelectableList, { items: methods, getKey: (method) => method.key, getLabel: (method) => method.label, onSelect: handleMethodSelect }) }));
32
24
  };
33
25
  export { CryptoIntentViewContent };
34
- //# sourceMappingURL=methods.js.map
26
+ //# sourceMappingURL=methods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/methods.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQxC,MAAM,OAAO,GAAuB;QAClC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,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"}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/methods.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQxC,MAAM,OAAO,GAAuB;QAClC;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,0BAA0B;SACjC;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,4BAA4B;SACnC;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,cAAgC,EAAE,EAAE;QAC9D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,kBAAkB,IAAC,GAAG,EAAE,QAAQ,YAC/B,KAAC,cAAc,IACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAChD,QAAQ,EAAE,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EACpD,QAAQ,EAAE,kBAAkB,GAC5B,GACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}