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

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 (180) hide show
  1. package/README.md +94 -0
  2. package/dist/css/styles.css +217 -46
  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 +570 -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 +24 -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 +26 -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/buttons/index.js +23 -11
  38. package/dist/esm/components/buttons/index.js.map +1 -1
  39. package/dist/esm/components/icons/checkMark.js +20 -0
  40. package/dist/esm/components/icons/checkMark.js.map +1 -0
  41. package/dist/esm/components/icons/close.js +1 -1
  42. package/dist/esm/components/icons/index.js +1 -0
  43. package/dist/esm/components/icons/index.js.map +1 -1
  44. package/dist/esm/components/index.js +3 -0
  45. package/dist/esm/components/index.js.map +1 -1
  46. package/dist/esm/components/lists/empty.js +6 -0
  47. package/dist/esm/components/lists/empty.js.map +1 -0
  48. package/dist/esm/components/lists/index.js +15 -0
  49. package/dist/esm/components/lists/index.js.map +1 -0
  50. package/dist/esm/components/loading/index.js +11 -0
  51. package/dist/esm/components/loading/index.js.map +1 -0
  52. package/dist/esm/components/modals/modal-with-views.js.map +1 -1
  53. package/dist/esm/components/modals/modal.js +4 -1
  54. package/dist/esm/components/modals/modal.js.map +1 -1
  55. package/dist/esm/components/text/index.js +36 -0
  56. package/dist/esm/components/text/index.js.map +1 -0
  57. package/dist/esm/config.js.map +1 -1
  58. package/dist/esm/context.js +5 -1
  59. package/dist/esm/context.js.map +1 -1
  60. package/dist/esm/index.js +4 -1
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/state/checkout/store.js +220 -0
  63. package/dist/esm/state/checkout/store.js.map +1 -0
  64. package/dist/esm/themes/default.js +32 -17
  65. package/dist/esm/themes/default.js.map +1 -1
  66. package/dist/esm/utils/cn.js +4 -0
  67. package/dist/esm/utils/cn.js.map +1 -0
  68. package/dist/types/api/checkouts.d.ts +9 -0
  69. package/dist/types/api/checkouts.d.ts.map +1 -0
  70. package/dist/types/api/generated.d.ts +944 -0
  71. package/dist/types/api/generated.d.ts.map +1 -0
  72. package/dist/types/api/index.d.ts +5 -0
  73. package/dist/types/api/index.d.ts.map +1 -0
  74. package/dist/types/api/payments.d.ts +6 -0
  75. package/dist/types/api/payments.d.ts.map +1 -0
  76. package/dist/types/api/types.d.ts +19 -0
  77. package/dist/types/api/types.d.ts.map +1 -0
  78. package/dist/types/checkout/container.d.ts +2 -0
  79. package/dist/types/checkout/container.d.ts.map +1 -0
  80. package/dist/types/checkout/index.d.ts +6 -0
  81. package/dist/types/checkout/index.d.ts.map +1 -0
  82. package/dist/types/checkout/modal.d.ts +10 -0
  83. package/dist/types/checkout/modal.d.ts.map +1 -0
  84. package/dist/types/checkout/views/back.d.ts +6 -0
  85. package/dist/types/checkout/views/back.d.ts.map +1 -0
  86. package/dist/types/checkout/views/card-intent/details.d.ts +3 -0
  87. package/dist/types/checkout/views/card-intent/details.d.ts.map +1 -0
  88. package/dist/types/checkout/views/crypto-intent/curreny.d.ts +3 -0
  89. package/dist/types/checkout/views/crypto-intent/curreny.d.ts.map +1 -0
  90. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts +3 -0
  91. package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -0
  92. package/dist/types/checkout/views/crypto-intent/methods.d.ts +3 -0
  93. package/dist/types/checkout/views/crypto-intent/methods.d.ts.map +1 -0
  94. package/dist/types/checkout/views/crypto-intent/processing.d.ts +3 -0
  95. package/dist/types/checkout/views/crypto-intent/processing.d.ts.map +1 -0
  96. package/dist/types/checkout/views/crypto-intent/success.d.ts +7 -0
  97. package/dist/types/checkout/views/crypto-intent/success.d.ts.map +1 -0
  98. package/dist/types/checkout/views/initial.d.ts +7 -0
  99. package/dist/types/checkout/views/initial.d.ts.map +1 -0
  100. package/dist/types/checkout/views/method-select.d.ts +3 -0
  101. package/dist/types/checkout/views/method-select.d.ts.map +1 -0
  102. package/dist/types/components/buttons/index.d.ts +2 -18
  103. package/dist/types/components/buttons/index.d.ts.map +1 -1
  104. package/dist/types/components/icons/checkMark.d.ts +6 -0
  105. package/dist/types/components/icons/checkMark.d.ts.map +1 -0
  106. package/dist/types/components/icons/close.d.ts.map +1 -1
  107. package/dist/types/components/icons/index.d.ts +1 -0
  108. package/dist/types/components/icons/index.d.ts.map +1 -1
  109. package/dist/types/components/index.d.ts +3 -0
  110. package/dist/types/components/index.d.ts.map +1 -1
  111. package/dist/types/components/lists/empty.d.ts +4 -0
  112. package/dist/types/components/lists/empty.d.ts.map +1 -0
  113. package/dist/types/components/lists/index.d.ts +13 -0
  114. package/dist/types/components/lists/index.d.ts.map +1 -0
  115. package/dist/types/components/loading/index.d.ts +9 -0
  116. package/dist/types/components/loading/index.d.ts.map +1 -0
  117. package/dist/types/components/modals/modal-with-views.d.ts +1 -0
  118. package/dist/types/components/modals/modal-with-views.d.ts.map +1 -1
  119. package/dist/types/components/modals/modal.d.ts.map +1 -1
  120. package/dist/types/components/modals/use-modal-with-views.d.ts.map +1 -1
  121. package/dist/types/components/text/index.d.ts +10 -0
  122. package/dist/types/components/text/index.d.ts.map +1 -0
  123. package/dist/types/config.d.ts +3 -1
  124. package/dist/types/config.d.ts.map +1 -1
  125. package/dist/types/context.d.ts.map +1 -1
  126. package/dist/types/index.d.ts +4 -1
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/state/checkout/store.d.ts +67 -0
  129. package/dist/types/state/checkout/store.d.ts.map +1 -0
  130. package/dist/types/themes/default.d.ts.map +1 -1
  131. package/dist/types/themes/types.d.ts +10 -1
  132. package/dist/types/themes/types.d.ts.map +1 -1
  133. package/dist/types/utils/cn.d.ts +4 -0
  134. package/dist/types/utils/cn.d.ts.map +1 -0
  135. package/package.json +53 -64
  136. package/dist/esm/exports/components.js +0 -2
  137. package/dist/esm/exports/components.js.map +0 -1
  138. package/dist/esm/exports/config.js +0 -3
  139. package/dist/esm/exports/config.js.map +0 -1
  140. package/dist/esm/exports/hooks.js +0 -2
  141. package/dist/esm/exports/hooks.js.map +0 -1
  142. package/dist/esm/exports/index.js +0 -4
  143. package/dist/esm/exports/index.js.map +0 -1
  144. package/dist/esm/exports/themes.js +0 -2
  145. package/dist/esm/exports/themes.js.map +0 -1
  146. package/dist/esm/hooks/index.js +0 -3
  147. package/dist/esm/hooks/index.js.map +0 -1
  148. package/dist/esm/hooks/useCheckout.js +0 -36
  149. package/dist/esm/hooks/useCheckout.js.map +0 -1
  150. package/dist/esm/hooks/usePayment.js +0 -31
  151. package/dist/esm/hooks/usePayment.js.map +0 -1
  152. package/dist/types/exports/components.d.ts +0 -2
  153. package/dist/types/exports/components.d.ts.map +0 -1
  154. package/dist/types/exports/config.d.ts +0 -3
  155. package/dist/types/exports/config.d.ts.map +0 -1
  156. package/dist/types/exports/hooks.d.ts +0 -2
  157. package/dist/types/exports/hooks.d.ts.map +0 -1
  158. package/dist/types/exports/index.d.ts +0 -6
  159. package/dist/types/exports/index.d.ts.map +0 -1
  160. package/dist/types/exports/themes.d.ts +0 -2
  161. package/dist/types/exports/themes.d.ts.map +0 -1
  162. package/dist/types/hooks/index.d.ts +0 -3
  163. package/dist/types/hooks/index.d.ts.map +0 -1
  164. package/dist/types/hooks/useCheckout.d.ts +0 -9
  165. package/dist/types/hooks/useCheckout.d.ts.map +0 -1
  166. package/dist/types/hooks/usePayment.d.ts +0 -9
  167. package/dist/types/hooks/usePayment.d.ts.map +0 -1
  168. package/src/components/index.ts +0 -3
  169. package/src/components/modals/index.ts +0 -3
  170. package/src/config.ts +0 -27
  171. package/src/exports/components.ts +0 -1
  172. package/src/exports/config.ts +0 -2
  173. package/src/exports/hooks.ts +0 -1
  174. package/src/exports/index.ts +0 -9
  175. package/src/exports/themes.ts +0 -1
  176. package/src/hooks/index.ts +0 -2
  177. package/src/hooks/useCheckout.ts +0 -38
  178. package/src/hooks/usePayment.ts +0 -37
  179. package/src/index.ts +0 -0
  180. package/src/themes/types.ts +0 -26
package/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # mintmoney-js
2
+
3
+ Welcome to the mintmoney-js sdk. This library provides to with all the tools needed
4
+ to integrate the mint money payments checkout into your web application.
5
+
6
+ ## Quickstart
7
+
8
+ The quickest and easiest way to integrate mintmoney into your application is to use the
9
+
10
+ `@mintmoney/react` react component.
11
+
12
+ ```jsx
13
+ import ReactDOM from 'react-dom/client';
14
+ import { createBrowserRouter, RouterProvider } from 'react-router-dom';
15
+
16
+ import { routes } from './routes.tsx';
17
+ import { ViewportProvider } from '@/contexts/viewport-context.tsx';
18
+ import { createConfig } from "@mintmoney/react/config"
19
+ import { MintMoneyProvider } from "@mintmoney/react/context"
20
+
21
+ export const router = createBrowserRouter([routes], {
22
+ basename: import.meta.env.VITE_BASENAME || '/',
23
+ });
24
+
25
+ const config = createConfig("pk_8tcytWcpd8vfUuclzqWgRGzW", {
26
+ checkoutId: 'your-checkout-id',
27
+ });
28
+
29
+ const App = () => {
30
+
31
+ return (
32
+ <ViewportProvider>
33
+ <MintMoneyProvider config={config}>
34
+ <RouterProvider router={router} />;
35
+ </MintMoneyProvider>
36
+ </ViewportProvider>
37
+ );
38
+ };
39
+
40
+ ReactDOM.createRoot(document.getElementById('root')!).render(<App />);
41
+ ```
42
+
43
+ ```jsx
44
+ import { cn } from "@/util/class-name-merge";
45
+ import { Checkout } from "@mintmoney/react/checkout";
46
+ import { useState } from "react";
47
+ import "@mintmoney/react/css/styles.css";
48
+
49
+ export default () => {
50
+ const [amount, setAmount] = (useState < number) | (null > null);
51
+
52
+ return (
53
+ <div className="flex flex-col gap-4 items-center">
54
+ <h1 className="text-center">Mint Money Connect Demo</h1>
55
+ <div className="flex gap-4">
56
+ <button onClick={() => setAmount(10.0)}>$10</button>
57
+ <button onClick={() => setAmount(50.0)}>$50</button>
58
+ <button onClick={() => setAmount(150.0)}>$150</button>
59
+ </div>
60
+ <div>
61
+ <Checkout amount={amount} />
62
+ </div>
63
+ </div>
64
+ );
65
+ };
66
+ ```
67
+
68
+ # Developer Setup
69
+
70
+ 🟢 Ensure you're running node version 22
71
+
72
+ `nvm install 22 && nvm use 22`
73
+
74
+ 🟢 Install dependencies and set up package workspace.
75
+
76
+ `npm install`
77
+
78
+ 🟢 build the packages
79
+
80
+ `npm run build`
81
+
82
+ 🟢 create a linkable package for dev
83
+
84
+ `npm run link`
85
+
86
+ 🟢 Install the @mintmoney/react package
87
+
88
+ `cd platgrounds/vite-react-app`
89
+
90
+ `npm link @mintmoney/react`
91
+
92
+ 🟢 Run example app
93
+
94
+ `npm run dev`
@@ -1,4 +1,8 @@
1
- /* Checkout Modal Container */
1
+ @import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@200..1000&display=swap");
2
+
3
+ .mm-root {
4
+ font-family: var(--mm-font-family, "Nunito Sans"), sans-serif;
5
+ }
2
6
 
3
7
  .mm-qr-container {
4
8
  display: flex;
@@ -18,32 +22,9 @@
18
22
  border-radius: 8px;
19
23
  }
20
24
 
21
- .copy-button {
22
- background-color: #1a53ff;
23
- color: white;
24
- border: none;
25
- padding: 8px 16px;
26
- font-size: 14px;
27
- font-weight: 600;
28
- border-radius: 8px;
29
- cursor: pointer;
30
- transition: background-color 0.2s ease-in-out;
31
- }
32
-
33
- .copy-button:hover {
34
- background-color: #0039cc;
35
- }
36
-
37
- .copy-button:active {
38
- background-color: #002a99;
39
- }
40
-
41
- .copy-button:focus {
42
- outline: none;
43
- box-shadow: 0 0 0 3px rgba(26, 83, 255, 0.4);
44
- }
45
-
46
- /* Modal Base Styles */
25
+ /* ***********************************************
26
+ * MODALS
27
+ * **********************************************/
47
28
  .mm-modal-overlay {
48
29
  position: fixed;
49
30
  inset: 0;
@@ -57,28 +38,31 @@
57
38
  flex-direction: column;
58
39
  z-index: 50;
59
40
  position: fixed;
60
- inset: 0;
61
- max-width: 100%;
41
+ width: 100%;
42
+ pointer-events: auto;
43
+ transform: translate(-50%, -50%);
44
+ position: fixed;
45
+ left: 50%;
46
+ top: 50%;
62
47
  background-color: #ffffff;
63
48
  padding: 24px;
64
49
  box-sizing: border-box;
65
- width: fit-content;
66
- height: fit-content;
50
+ min-height: 300px;
51
+ min-width: 400px;
52
+ max-width: 400px;
53
+ max-height: 600px;
54
+ overflow-y: auto;
55
+ border-radius: 20px;
56
+ margin: auto;
67
57
  }
68
58
 
69
- @media (min-width: 768px) {
70
- .mm-modal-container {
71
- max-width: 600px;
72
- border-radius: 20px;
73
- margin: auto;
74
- }
75
-
76
- .mm-checkout-modal {
77
- min-width: 426px;
78
- }
59
+ .mm-modal-content {
60
+ display: flex;
61
+ flex-direction: column;
62
+ height: 100%;
63
+ min-height: calc(300px - 48px);
79
64
  }
80
65
 
81
- /* Modal Navigation */
82
66
  .mm-modal-nav {
83
67
  display: flex;
84
68
  margin-bottom: 16px;
@@ -98,22 +82,209 @@
98
82
  justify-content: flex-end;
99
83
  }
100
84
 
101
- /* Modal Header */
102
85
  .mm-modal-header {
103
86
  padding-bottom: 12px;
104
87
  font-size: 18px;
105
88
  font-weight: bold;
106
89
  }
107
90
 
108
- /* Modal Body */
109
91
  .mm-modal-body {
92
+ display: flex;
110
93
  flex-grow: 1;
111
94
  overflow-y: auto;
95
+ overflow-x: hidden;
112
96
  }
113
97
 
114
- /* Modal Footer */
115
98
  .mm-modal-footer {
116
99
  padding-top: 24px;
117
100
  }
118
101
 
119
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jc3Mvc3R5bGVzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ2hlY2tvdXQgTW9kYWwgQ29udGFpbmVyICovXG5cbi5tbS1xci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTZweDtcbiAgYmFja2dyb3VuZDogI2U2ZjBmZjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLm1tLWFkZHJlc3MtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kOiAjZWVmNWZmO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uY29weS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE1M2ZmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmNvcHktYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzljYztcbn1cblxuLmNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJhOTk7XG59XG5cbi5jb3B5LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI2LCA4MywgMjU1LCAwLjQpO1xufVxuXG4vKiBNb2RhbCBCYXNlIFN0eWxlcyAqL1xuLm1tLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbn1cblxuLm1tLW1vZGFsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDUwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tbS1tb2RhbC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cblxuICAubW0tY2hlY2tvdXQtbW9kYWwge1xuICAgIG1pbi13aWR0aDogNDI2cHg7XG4gIH1cbn1cblxuLyogTW9kYWwgTmF2aWdhdGlvbiAqL1xuLm1tLW1vZGFsLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1tLW1vZGFsLW5hdi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubW0tbW9kYWwtbmF2LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubW0tbW9kYWwtbmF2LXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLyogTW9kYWwgSGVhZGVyICovXG4ubW0tbW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIE1vZGFsIEJvZHkgKi9cbi5tbS1tb2RhbC1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiBNb2RhbCBGb290ZXIgKi9cbi5tbS1tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjRweDtcbn1cbiJdfQ== */
102
+ @keyframes spin {
103
+ 0% {
104
+ transform: rotate(0deg);
105
+ }
106
+ 100% {
107
+ transform: rotate(360deg);
108
+ }
109
+ }
110
+
111
+ /* ***********************************************
112
+ * Text
113
+ * **********************************************/
114
+
115
+ /* ***********************************************
116
+ * Buttons
117
+ * **********************************************/
118
+ .copy-button {
119
+ background-color: #1a53ff;
120
+ color: white;
121
+ border: none;
122
+ padding: 8px 16px;
123
+ font-size: 14px;
124
+ font-weight: 600;
125
+ border-radius: 8px;
126
+ cursor: pointer;
127
+ transition: background-color 0.2s ease-in-out;
128
+ }
129
+
130
+ .copy-button:hover {
131
+ background-color: #0039cc;
132
+ }
133
+
134
+ .copy-button:active {
135
+ background-color: #002a99;
136
+ }
137
+
138
+ .copy-button:focus {
139
+ outline: none;
140
+ box-shadow: 0 0 0 3px rgba(26, 83, 255, 0.4);
141
+ }
142
+
143
+ /* ***********************************************
144
+ * Lists
145
+ * **********************************************/
146
+
147
+ .mm-empty-list__container {
148
+ display: flex;
149
+ width: 100%;
150
+ height: 100%;
151
+ max-height: 100%;
152
+ justify-content: center;
153
+ align-items: center;
154
+ }
155
+
156
+ .mm-selectable-list__button-group {
157
+ display: flex;
158
+ flex-direction: column;
159
+ gap: 16px;
160
+ }
161
+
162
+ /* ***********************************************
163
+ * Loading Components
164
+ * **********************************************/
165
+ .loading-container {
166
+ display: flex;
167
+ flex-direction: column;
168
+ align-items: center;
169
+ justify-content: center;
170
+ text-align: center;
171
+ position: absolute;
172
+ top: 50%;
173
+ left: 50%;
174
+ transform: translate(-50%, -50%);
175
+ }
176
+
177
+ .loading-segment {
178
+ opacity: 0;
179
+ transform: scale(0.8);
180
+ animation: fadeInSequence 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
181
+ }
182
+
183
+ .segment-1 {
184
+ animation-delay: 0s;
185
+ animation-name: fadeInSlideUp;
186
+ }
187
+ .segment-2 {
188
+ animation-delay: 0.3s;
189
+ animation-name: fadeInSlideRight;
190
+ }
191
+ .segment-3 {
192
+ animation-delay: 0.6s;
193
+ animation-name: fadeInSlideDown;
194
+ }
195
+ .segment-4 {
196
+ animation-delay: 0.9s;
197
+ animation-name: fadeInSlideLeft;
198
+ }
199
+
200
+ @keyframes fadeInSlideUp {
201
+ 0% {
202
+ opacity: 0;
203
+ transform: translateY(20px) scale(1);
204
+ }
205
+ 30% {
206
+ opacity: 1;
207
+ transform: translateY(0) scale(1);
208
+ }
209
+ 70% {
210
+ opacity: 1;
211
+ transform: translateY(0) scale(1);
212
+ }
213
+ 90% {
214
+ opacity: 0;
215
+ transform: translateY(-10px) scale(1);
216
+ }
217
+ 100% {
218
+ opacity: 0;
219
+ transform: translateY(-20px) scale(1);
220
+ }
221
+ }
222
+
223
+ @keyframes fadeInSlideRight {
224
+ 0% {
225
+ opacity: 0;
226
+ transform: translateX(-20px) scale(1);
227
+ }
228
+ 30% {
229
+ opacity: 1;
230
+ transform: translateX(0) scale(1);
231
+ }
232
+ 70% {
233
+ opacity: 1;
234
+ transform: translateX(0) scale(1);
235
+ }
236
+ 90% {
237
+ opacity: 0;
238
+ transform: translateX(10px) scale(1);
239
+ }
240
+ 100% {
241
+ opacity: 0;
242
+ transform: translateX(20px) scale(1);
243
+ }
244
+ }
245
+
246
+ @keyframes fadeInSlideDown {
247
+ 0% {
248
+ opacity: 0;
249
+ transform: translateY(-20px) scale(1);
250
+ }
251
+ 30% {
252
+ opacity: 1;
253
+ transform: translateY(0) scale(1);
254
+ }
255
+ 70% {
256
+ opacity: 1;
257
+ transform: translateY(0) scale(1);
258
+ }
259
+ 90% {
260
+ opacity: 0;
261
+ transform: translateY(10px) scale(1);
262
+ }
263
+ 100% {
264
+ opacity: 0;
265
+ transform: translateY(20px) scale(1);
266
+ }
267
+ }
268
+
269
+ @keyframes fadeInSlideLeft {
270
+ 0% {
271
+ opacity: 0;
272
+ transform: translateX(10px) scale(1);
273
+ }
274
+ 30% {
275
+ opacity: 1;
276
+ transform: translateX(0) scale(1);
277
+ }
278
+ 70% {
279
+ opacity: 1;
280
+ transform: translateX(0) scale(1);
281
+ }
282
+ 90% {
283
+ opacity: 0;
284
+ transform: translateX(-10px) scale(1);
285
+ }
286
+ 100% {
287
+ opacity: 0;
288
+ transform: translateX(-20px) scale(1);
289
+ }
290
+ }
@@ -0,0 +1,16 @@
1
+ import { api } from "../api/index.js";
2
+ const checkoutDTO = (data) => {
3
+ return {
4
+ ...data.data,
5
+ };
6
+ };
7
+ export const getCheckoutCryptoCurrencies = (checkout) => {
8
+ return checkout.checkout_config.crypto?.enabled
9
+ ? checkout.checkout_config.crypto.assets || []
10
+ : [];
11
+ };
12
+ export async function getCheckoutById(checkoutId) {
13
+ const resp = await api.v1.checkoutsDetail(checkoutId);
14
+ return checkoutDTO(resp.data);
15
+ }
16
+ //# sourceMappingURL=checkouts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkouts.js","sourceRoot":"","sources":["../../../src/api/checkouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAKtC,MAAM,WAAW,GAAG,CAAC,IAAyB,EAAE,EAAE;IAChD,OAAO;QACL,GAAG,IAAI,CAAC,IAAI;KACD,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,QAAkB,EAMhB,EAAE;IACJ,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO;QAC7C,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;QAC9C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}