@daimo/pay 1.1.4 → 1.2.0

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 (82) hide show
  1. package/build/index.d.ts +37 -105
  2. package/build/package.json.js +3 -4
  3. package/build/package.json.js.map +1 -1
  4. package/build/src/assets/icons.js +2 -1
  5. package/build/src/assets/icons.js.map +1 -1
  6. package/build/src/components/Common/AmountInput/AmountInputField.js +59 -0
  7. package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  8. package/build/src/components/Common/AmountInput/index.js +143 -0
  9. package/build/src/components/Common/AmountInput/index.js.map +1 -0
  10. package/build/src/components/Common/ChainSelectList/index.js +1 -1
  11. package/build/src/components/Common/Modal/index.js +9 -4
  12. package/build/src/components/Common/Modal/index.js.map +1 -1
  13. package/build/src/components/Common/Modal/styles.js +2 -1
  14. package/build/src/components/Common/Modal/styles.js.map +1 -1
  15. package/build/src/components/Common/OptionsList/styles.js +1 -1
  16. package/build/src/components/Common/OrderHeader/index.js +22 -111
  17. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  18. package/build/src/components/Common/PaymentBreakdown/index.js +48 -0
  19. package/build/src/components/{Pages/WaitingOther → Common/PaymentBreakdown}/index.js.map +1 -1
  20. package/build/src/components/Common/SwitchButton/index.js +39 -0
  21. package/build/src/components/Common/SwitchButton/index.js.map +1 -0
  22. package/build/src/components/Common/TokenChainLogo/index.js +24 -0
  23. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -0
  24. package/build/src/components/DaimoPay.js +7 -2
  25. package/build/src/components/DaimoPay.js.map +1 -1
  26. package/build/src/components/DaimoPayButton/index.js +0 -1
  27. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  28. package/build/src/components/DaimoPayModal/index.js +86 -26
  29. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  30. package/build/src/components/Pages/PayWithToken/index.js +4 -109
  31. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  32. package/build/src/components/Pages/SelectAmount/index.js +16 -0
  33. package/build/src/components/Pages/SelectAmount/index.js.map +1 -0
  34. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +60 -0
  35. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  36. package/build/src/components/Pages/SelectDepositAddressChain/index.js +7 -2
  37. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  38. package/build/src/components/Pages/SelectExternalAmount/index.js +62 -0
  39. package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  40. package/build/src/components/Pages/SelectMethod/index.js +14 -7
  41. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  42. package/build/src/components/Pages/SelectToken/index.js +36 -41
  43. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  44. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +8 -2
  45. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  46. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +14 -8
  47. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  48. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +16 -0
  49. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  50. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +37 -21
  51. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +1 -1
  52. package/build/src/components/Pages/WaitingExternal/index.js +53 -0
  53. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -0
  54. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +20 -0
  55. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  56. package/build/src/components/Spinners/TokenLogoSpinner/index.js +13 -0
  57. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  58. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  59. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  60. package/build/src/components/Spinners/styles.js +32 -0
  61. package/build/src/components/Spinners/styles.js.map +1 -0
  62. package/build/src/hooks/useDepositAddressOptions.js +8 -5
  63. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  64. package/build/src/hooks/useExternalPaymentOptions.js +7 -6
  65. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  66. package/build/src/hooks/useOrderUsdLimits.js +26 -0
  67. package/build/src/hooks/useOrderUsdLimits.js.map +1 -0
  68. package/build/src/hooks/usePaymentState.js +46 -14
  69. package/build/src/hooks/usePaymentState.js.map +1 -1
  70. package/build/src/hooks/useSolanaPaymentOptions.js +7 -5
  71. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  72. package/build/src/hooks/useWalletPaymentOptions.js +9 -8
  73. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  74. package/build/src/index.js +1 -1
  75. package/build/src/utils/exports.js +4 -1
  76. package/build/src/utils/exports.js.map +1 -1
  77. package/build/src/utils/format.js +83 -0
  78. package/build/src/utils/format.js.map +1 -0
  79. package/build/src/utils/validateInput.js +36 -0
  80. package/build/src/utils/validateInput.js.map +1 -0
  81. package/package.json +3 -4
  82. package/build/src/components/Pages/WaitingOther/index.js +0 -91
@@ -1,91 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useState, useEffect } from 'react';
3
- import { usePayContext, ROUTES } from '../../DaimoPay.js';
4
- import { PageContent, ModalContent, ModalH1, ModalBody } from '../../Common/Modal/styles.js';
5
- import { motion, AnimatePresence } from 'framer-motion';
6
- import { css } from 'styled-components';
7
- import { ExternalLinkIcon } from '../../../assets/icons.js';
8
- import styled from '../../../styles/styled/index.js';
9
- import Button from '../../Common/Button/index.js';
10
- import CircleSpinner from '../../Spinners/CircleSpinner/index.js';
11
- import SquircleSpinner from '../../Spinners/SquircleSpinner/index.js';
12
-
13
- const WaitingOther = () => {
14
- const context = usePayContext();
15
- const { triggerResize, paymentState, setRoute } = context;
16
- const trpc = context.trpc;
17
- const { selectedExternalOption, payWithExternal, paymentWaitingMessage, daimoPayOrder, } = paymentState;
18
- const [externalURL, setExternalURL] = useState(null);
19
- useEffect(() => {
20
- const checkForSourcePayment = async () => {
21
- if (!daimoPayOrder)
22
- return;
23
- const found = await trpc.findSourcePayment.query({
24
- orderId: daimoPayOrder.id.toString(),
25
- });
26
- if (found) {
27
- setRoute(ROUTES.CONFIRMATION);
28
- }
29
- };
30
- const interval = setInterval(checkForSourcePayment, 1000);
31
- return () => clearInterval(interval);
32
- }, [daimoPayOrder?.id]);
33
- useEffect(() => {
34
- if (!selectedExternalOption)
35
- return;
36
- payWithExternal(selectedExternalOption.id).then((url) => {
37
- setExternalURL(url);
38
- setTimeout(() => {
39
- window.open(url, "_blank");
40
- });
41
- });
42
- }, [selectedExternalOption]);
43
- const waitingMessageLength = paymentWaitingMessage?.length;
44
- useEffect(() => {
45
- triggerResize();
46
- }, [waitingMessageLength, externalURL]);
47
- if (!selectedExternalOption) {
48
- return jsx(PageContent, {});
49
- }
50
- const optionSpinner = (() => {
51
- if (selectedExternalOption.logoShape === "circle") {
52
- return (jsx(CircleSpinner, { logo: jsx("img", { src: selectedExternalOption.logoURI }), loading: true, unavailable: false }));
53
- }
54
- else {
55
- return (jsx(SquircleSpinner, { logo: jsx("img", { src: selectedExternalOption.logoURI }), loading: true }));
56
- }
57
- })();
58
- return (jsxs(PageContent, { children: [jsx(LoadingContainer, { children: jsx(AnimationContainer, { "$circle": selectedExternalOption.logoShape === "circle", children: jsx(AnimatePresence, { children: optionSpinner }) }) }), jsxs(ModalContent, { style: { marginLeft: 24, marginRight: 24 }, children: [jsx(ModalH1, { children: "Waiting for Payment" }), paymentWaitingMessage && (jsx(ModalBody, { style: { marginTop: 12, marginBottom: 12 }, children: paymentWaitingMessage }))] }), jsx(Button, { icon: jsx(ExternalLinkIcon, {}), onClick: () => {
59
- if (externalURL)
60
- window.open(externalURL, "_blank");
61
- }, children: "Open in New Tab" })] }));
62
- };
63
- const LoadingContainer = styled(motion.div) `
64
- display: flex;
65
- align-items: center;
66
- justify-content: center;
67
- margin: 10px auto 16px;
68
- height: 120px;
69
- `;
70
- const AnimationContainer = styled(motion.div) `
71
- user-select: none;
72
- position: relative;
73
- --spinner-error-opacity: 0;
74
- &:before {
75
- content: "";
76
- position: absolute;
77
- inset: 1px;
78
- opacity: 0;
79
- background: var(--ck-body-color-danger);
80
- ${(props) => props.$circle &&
81
- css `
82
- inset: -5px;
83
- border-radius: 50%;
84
- background: none;
85
- box-shadow: inset 0 0 0 3.5px var(--ck-body-color-danger);
86
- `}
87
- }
88
- `;
89
-
90
- export { LoadingContainer, WaitingOther as default };
91
- //# sourceMappingURL=index.js.map