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

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