@huma-finance/widgets 0.0.10 → 0.0.12

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 (169) hide show
  1. package/.env.example +2 -2
  2. package/.eslintignore +2 -2
  3. package/.eslintrc.js +64 -64
  4. package/.prettierignore +4 -4
  5. package/.prettierrc.js +16 -16
  6. package/API.md +331 -331
  7. package/LICENSE +660 -660
  8. package/README.md +48 -48
  9. package/babel.config.js +15 -15
  10. package/config-overrides.js +9 -9
  11. package/cosmos.config.json +7 -7
  12. package/cypress/e2e/01-invoice-factoring-borrow.test.ts +62 -62
  13. package/cypress/support/e2e.ts +76 -76
  14. package/cypress/support/ethereum.ts +142 -142
  15. package/cypress/tsconfig.json +9 -9
  16. package/cypress/utils/index.ts +54 -54
  17. package/cypress.config.ts +20 -20
  18. package/dist/assets/output-15e10f9f.css +44 -0
  19. package/dist/cjs/assets/output-15e10f9f.css +44 -0
  20. package/dist/cjs/index.cjs +7740 -0
  21. package/dist/cjs/index.cjs.map +1 -0
  22. package/dist/index.d.ts +211 -0
  23. package/dist/index.js +7696 -0
  24. package/dist/index.js.map +1 -0
  25. package/jsdoc2md.json +20 -20
  26. package/package.json +4 -4
  27. package/public/index.html +40 -40
  28. package/public/manifest.json +25 -25
  29. package/public/robots.txt +3 -3
  30. package/rollup.config.js +81 -81
  31. package/src/components/Activity.tsx +123 -123
  32. package/src/components/AllowListModal.tsx +113 -113
  33. package/src/components/ApolloWrapper.tsx +15 -15
  34. package/src/components/ApproveAllowanceModal.tsx +118 -118
  35. package/src/components/BottomButton.tsx +31 -31
  36. package/src/components/ChooseAmountModal.tsx +322 -315
  37. package/src/components/CreditLine/borrow/1-Evaluation.tsx +158 -159
  38. package/src/components/CreditLine/borrow/2-AllowList.tsx +34 -34
  39. package/src/components/CreditLine/borrow/3-ChooseAmount.tsx +68 -74
  40. package/src/components/CreditLine/borrow/{5-Transfer.tsx → 4-Transfer.tsx} +44 -30
  41. package/src/components/CreditLine/borrow/{4-ApproveAllowance.tsx → 5-ApproveAllowance.tsx} +29 -29
  42. package/src/components/CreditLine/borrow/6-Success.tsx +30 -30
  43. package/src/components/CreditLine/borrow/index.tsx +119 -119
  44. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  45. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  46. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  47. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  48. package/src/components/CreditLine/payment/index.tsx +94 -94
  49. package/src/components/ErrorModal.tsx +132 -132
  50. package/src/components/Factoring/FactoredList.tsx +143 -143
  51. package/src/components/Factoring/UpcomingList.tsx +90 -90
  52. package/src/components/Factoring/index.ts +2 -2
  53. package/src/components/HumaLoading.tsx +68 -68
  54. package/src/components/HumaTable.tsx +158 -158
  55. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +52 -46
  56. package/src/components/InvoiceFactoring/borrow/2-AllowList.tsx +34 -34
  57. package/src/components/InvoiceFactoring/borrow/3-ChooseAmount.tsx +86 -86
  58. package/src/components/InvoiceFactoring/borrow/4-ConfirmTransfer.tsx +104 -104
  59. package/src/components/InvoiceFactoring/borrow/5-ApproveNFT.tsx +55 -55
  60. package/src/components/InvoiceFactoring/borrow/6-Transfer.tsx +34 -34
  61. package/src/components/InvoiceFactoring/borrow/7-Success.tsx +20 -20
  62. package/src/components/InvoiceFactoring/borrow/index.tsx +96 -96
  63. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  64. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  65. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  66. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  67. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  68. package/src/components/Lend/supply/1-Evaluation.tsx +86 -86
  69. package/src/components/Lend/supply/2-ChooseAmount.tsx +70 -70
  70. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  71. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +104 -104
  72. package/src/components/Lend/supply/6-Transfer.tsx +32 -32
  73. package/src/components/Lend/supply/7-Success.tsx +49 -49
  74. package/src/components/Lend/supply/index.tsx +144 -144
  75. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  76. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  77. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  78. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  79. package/src/components/Lend/withdraw/index.tsx +101 -101
  80. package/src/components/LoadingModal.tsx +49 -49
  81. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +47 -57
  82. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +124 -124
  83. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +104 -104
  84. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +65 -65
  85. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  86. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  87. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  88. package/src/components/StreamFactoring/borrow/index.tsx +94 -95
  89. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  90. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  91. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  92. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  93. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +61 -61
  94. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +185 -185
  95. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  96. package/src/components/TxDoneModal.tsx +83 -83
  97. package/src/components/TxSendModal.tsx +59 -59
  98. package/src/components/ViewOnExplorer.tsx +26 -26
  99. package/src/components/WidgetWrapper.tsx +74 -74
  100. package/src/components/WrapperModal.tsx +54 -54
  101. package/src/components/buttons/TableActionButton.tsx +36 -36
  102. package/src/components/buttons/index.ts +1 -1
  103. package/src/components/humaModal/HumaModal.tsx +68 -68
  104. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  105. package/src/components/humaModal/index.tsx +2 -2
  106. package/src/components/icons/approve-lender.svg +30 -30
  107. package/src/components/icons/auto-payback.svg +40 -40
  108. package/src/components/icons/check-circle.svg +3 -3
  109. package/src/components/icons/check-green.svg +3 -3
  110. package/src/components/icons/check.svg +10 -10
  111. package/src/components/icons/donut.svg +904 -904
  112. package/src/components/icons/ellipse.svg +3 -3
  113. package/src/components/icons/huma-full.svg +22 -22
  114. package/src/components/icons/huma.svg +15 -15
  115. package/src/components/icons/index.tsx +93 -93
  116. package/src/components/icons/loader.svg +229 -229
  117. package/src/components/icons/metamask.svg +31 -31
  118. package/src/components/icons/polygon.svg +16 -16
  119. package/src/components/icons/receipt.svg +3 -3
  120. package/src/components/icons/separator.svg +3 -3
  121. package/src/components/icons/sorry.svg +31 -31
  122. package/src/components/icons/usdc.svg +5 -5
  123. package/src/components/icons/wallet-connect.svg +11 -11
  124. package/src/cosmos/CreditLineBorrow.fixture.tsx +85 -85
  125. package/src/cosmos/CreditLinePayment.fixture.tsx +49 -49
  126. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  127. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  128. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  129. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  130. package/src/cosmos/SDKTesting.fixture.tsx +615 -516
  131. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +12 -12
  132. package/src/cosmos/WalletWrapper.tsx +52 -52
  133. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  134. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  135. package/src/cosmos/utils/index.ts +169 -169
  136. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  137. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  138. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  139. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  140. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  141. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  142. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  143. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  144. package/src/hooks/useEA.ts +72 -72
  145. package/src/hooks/useRedux.ts +6 -6
  146. package/src/index.css +61 -61
  147. package/src/index.tsx +219 -213
  148. package/src/react-app-env.d.ts +1 -1
  149. package/src/reportWebVitals.ts +15 -15
  150. package/src/setupTests.ts +6 -6
  151. package/src/store/index.ts +27 -27
  152. package/src/store/widgets.reducers.ts +120 -120
  153. package/src/store/widgets.selectors.ts +3 -3
  154. package/src/store/widgets.store.ts +55 -55
  155. package/src/theme/breakpoints.ts +10 -10
  156. package/src/theme/components.ts +70 -70
  157. package/src/theme/coreThemeConstants.ts +29 -29
  158. package/src/theme/cssMixins.ts +92 -92
  159. package/src/theme/hooks/useGetSizes.ts +31 -31
  160. package/src/theme/index.ts +24 -24
  161. package/src/theme/palette.ts +150 -150
  162. package/src/theme/shape.ts +7 -7
  163. package/src/theme/theme.types.ts +80 -80
  164. package/src/theme/typography.ts +117 -117
  165. package/src/utilTypes.d.ts +29 -29
  166. package/src/utils/env.ts +9 -9
  167. package/tsconfig.build.json +7 -7
  168. package/tsconfig.json +32 -32
  169. package/webpack.cosmos.js +54 -54
@@ -0,0 +1,211 @@
1
+ import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
2
+ import { JsonRpcProvider } from '@ethersproject/providers';
3
+ import { Provider } from '@web3-react/types';
4
+ import { POOL_NAME, POOL_TYPE } from '@huma-finance/shared';
5
+ import { BigNumber } from 'ethers';
6
+
7
+ /**
8
+ * Credit line pool borrow props
9
+ * @typedef {Object} CreditLineBorrowProps
10
+ * @property {POOL_NAME} poolName The name of the pool.
11
+ * @property {POOL_TYPE} poolType The type of the pool.
12
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
13
+ * @property {function():void|undefined} handleApprove Optional function to notify when user is approved successfully to borrow again pool.
14
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool borrow action is successful.
15
+ */
16
+ interface CreditLineBorrowProps {
17
+ poolName: keyof typeof POOL_NAME;
18
+ poolType: keyof typeof POOL_TYPE;
19
+ handleClose: () => void;
20
+ handleApprove?: () => void;
21
+ handleSuccess?: (blockNumber?: number) => void;
22
+ }
23
+
24
+ /**
25
+ * Credit line pool payment props
26
+ * @typedef {Object} CreditLinePaymentProps
27
+ * @property {POOL_NAME} poolName The name of the pool.
28
+ * @property {POOL_TYPE} poolType The type of the pool.
29
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
30
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool payment action is successful.
31
+ */
32
+ type CreditLinePaymentProps = {
33
+ poolName: keyof typeof POOL_NAME;
34
+ poolType: keyof typeof POOL_TYPE;
35
+ handleClose: () => void;
36
+ handleSuccess?: (blockNumber?: number) => void;
37
+ };
38
+
39
+ /**
40
+ * Invoice factoring pool borrow props
41
+ * @typedef {Object} InvoiceFactoringBorrowProps
42
+ * @property {POOL_NAME} poolName The name of the pool.
43
+ * @property {POOL_TYPE} poolType The type of the pool.
44
+ * @property {string|BigNumber} tokenId The NFT token id representing invoice.
45
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
46
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool borrow action is successful.
47
+ */
48
+ interface InvoiceFactoringBorrowProps {
49
+ poolName: keyof typeof POOL_NAME;
50
+ poolType: keyof typeof POOL_TYPE;
51
+ tokenId: string | BigNumber;
52
+ handleClose: () => void;
53
+ handleSuccess?: (blockNumber?: number) => void;
54
+ }
55
+
56
+ /**
57
+ * Invoice factoring pool payment props
58
+ * @typedef {Object} InvoiceFactoringPaymentProps
59
+ * @property {POOL_NAME} poolName The name of the pool.
60
+ * @property {POOL_TYPE} poolType The type of the pool.
61
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
62
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool payment action is successful.
63
+ */
64
+ type InvoiceFactoringPaymentProps = {
65
+ poolName: keyof typeof POOL_NAME;
66
+ poolType: keyof typeof POOL_TYPE;
67
+ handleClose: () => void;
68
+ handleSuccess?: (blockNumber?: number) => void;
69
+ };
70
+
71
+ /**
72
+ * Lend pool supply props
73
+ * @typedef {Object} LendSupplyProps
74
+ * @property {POOL_NAME} poolName The name of the pool.
75
+ * @property {POOL_TYPE} poolType The type of the pool.
76
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
77
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool supply action is successful.
78
+ */
79
+ interface LendSupplyProps {
80
+ poolName: keyof typeof POOL_NAME;
81
+ poolType: keyof typeof POOL_TYPE;
82
+ handleClose: () => void;
83
+ handleSuccess?: (blockNumber?: number) => void;
84
+ }
85
+
86
+ /**
87
+ * Lend pool withdraw props
88
+ * @typedef {Object} LendWithdrawProps
89
+ * @property {POOL_NAME} poolName The name of the pool.
90
+ * @property {POOL_TYPE} poolType The type of the pool.
91
+ * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.
92
+ * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool withdraw action is successful.
93
+ */
94
+ type LendWithdrawProps = {
95
+ poolName: keyof typeof POOL_NAME;
96
+ poolType: keyof typeof POOL_TYPE;
97
+ handleClose: () => void;
98
+ handleSuccess?: (blockNumber?: number) => void;
99
+ };
100
+
101
+ /**
102
+ * Mapping of your JSON-RPC connections indexed by chainId
103
+ * @typedef {Object} JsonRpcConnectionMap
104
+ * @property {Object.<number, string|Array<string>|JsonRpcProvider|Array<JsonRpcProvider>>} chainId Chain id to map the JSON-RPC URL/URLs or JsonRpcProvider/JsonRpcProviders
105
+ */
106
+ type JsonRpcConnectionMap = {
107
+ [chainId: number]: string | string[] | JsonRpcProvider | JsonRpcProvider[];
108
+ };
109
+ /**
110
+ * Object representing the props passed to web3 provider
111
+ * @typedef {Object} WidgetProps
112
+ * @property {JsonRpcConnectionMap|undefined} jsonRpcUrlMap Optional mapping of your JSON-RPC connections indexed by chainId
113
+ * @property {Eip1193Provider|JsonRpcProvider|null|undefined} provider Optional EIP-1193 provider or JsonRpc Provider
114
+ */
115
+ type WidgetProps = {
116
+ jsonRpcUrlMap?: JsonRpcConnectionMap;
117
+ provider?: Provider | JsonRpcProvider | null;
118
+ };
119
+ /**
120
+ * Invoice factoring pool borrow widget props
121
+ * @typedef {Object} InvoiceFactoringBorrowWidgetProps
122
+ * @property {InvoiceFactoringBorrowProps} InvoiceFactoringBorrowProps - Invoice factoring pool borrow props.
123
+ * @property {WidgetProps} WidgetProps - Widget general props.
124
+ */
125
+ type InvoiceFactoringBorrowWidgetProps = InvoiceFactoringBorrowProps & WidgetProps;
126
+ /**
127
+ * Invoice factoring borrow widget
128
+ *
129
+ * @param {InvoiceFactoringBorrowWidgetProps} props - The invoice factoring pool borrow widget props.
130
+ * @returns Invoice factoring pool borrow widget component
131
+ */
132
+ declare function InvoiceFactoringBorrowWidget(props: InvoiceFactoringBorrowWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
133
+ /**
134
+ * Invoice factoring pool payment widget props
135
+ * @typedef {Object} InvoiceFactoringPaymentWidgetProps
136
+ * @property {InvoiceFactoringPaymentProps} InvoiceFactoringPaymentProps - Invoice factoring pool payment props.
137
+ * @property {WidgetProps} WidgetProps - Widget general props.
138
+ */
139
+ type InvoiceFactoringPaymentWidgetProps = InvoiceFactoringPaymentProps & WidgetProps;
140
+ /**
141
+ * Invoice factoring payment widget
142
+ *
143
+ * @param {InvoiceFactoringPaymentWidgetProps} props - The invoice factoring pool payment widget props.
144
+ * @returns Invoice factoring pool payment widget component
145
+ */
146
+ declare function InvoiceFactoringPaymentWidget(props: InvoiceFactoringPaymentWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
147
+ /**
148
+ * Credit line pool borrow widget props
149
+ * @typedef {Object} CreditLineBorrowWidgetProps
150
+ * @property {CreditLineBorrowProps} CreditLineBorrowProps - Credit line pool borrow props.
151
+ * @property {WidgetProps} WidgetProps - Widget general props.
152
+ */
153
+ type CreditLineBorrowWidgetProps = CreditLineBorrowProps & WidgetProps;
154
+ /**
155
+ * Credit line borrow widget
156
+ *
157
+ * @param {CreditLineBorrowWidgetProps} props - The credit line pool borrow widget props.
158
+ * @returns Credit line pool borrow widget component
159
+ */
160
+ declare function CreditLineBorrowWidget(props: CreditLineBorrowWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
161
+ /**
162
+ * Credit line pool payment widget props
163
+ * @typedef {Object} CreditLinePaymentWidgetProps
164
+ * @property {CreditLinePaymentProps} CreditLinePaymentProps - Credit line pool payment props.
165
+ * @property {WidgetProps} WidgetProps - Widget general props.
166
+ */
167
+ type CreditLinePaymentWidgetProps = CreditLinePaymentProps & WidgetProps;
168
+ /**
169
+ * Credit line payment widget
170
+ *
171
+ * @param {CreditLinePaymentWidgetProps} props - The credit line pool payment widget props.
172
+ * @returns Credit line pool payment widget component
173
+ */
174
+ declare function CreditLinePaymentWidget(props: CreditLinePaymentWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
175
+ /**
176
+ * Lend pool supply widget props
177
+ * @typedef {Object} LendSupplyWidgetProps
178
+ * @property {LendSupplyProps} LendSupplyProps - Lend pool supply props.
179
+ * @property {WidgetProps} WidgetProps - Widget general props.
180
+ */
181
+ type LendSupplyWidgetProps = LendSupplyProps & WidgetProps;
182
+ /**
183
+ * Lend supply widget
184
+ *
185
+ * @param {LendSupplyWidgetProps} props - The lend pool supply widget props.
186
+ * @returns Lend pool supply widget component
187
+ */
188
+ declare function LendSupplyWidget(props: LendSupplyWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
189
+ /**
190
+ * Lend pool withdraw widget props
191
+ * @typedef {Object} LendWithdrawWidgetProps
192
+ * @property {LendWithdrawProps} LendWithdrawProps - Lend pool withdraw props.
193
+ * @property {WidgetProps} WidgetProps - Widget general props.
194
+ */
195
+ type LendWithdrawWidgetProps = LendWithdrawProps & WidgetProps;
196
+ /**
197
+ * Lend withdraw widget
198
+ *
199
+ * @param {LendWithdrawProps & WidgetProps} props The lend pool withdraw widget props
200
+ * @returns Lend pool withdraw widget component
201
+ */
202
+ declare function LendWithdrawWidget(props: LendWithdrawWidgetProps): _emotion_react_jsx_runtime.JSX.Element;
203
+ /**
204
+ * Superfluid factoring widget
205
+ *
206
+ * @param {WidgetProps} props - The superfluid factoring widget props.
207
+ * @returns Superfluid factoring widget component
208
+ */
209
+ declare function SuperfluidFactoringWidget(props: WidgetProps): _emotion_react_jsx_runtime.JSX.Element;
210
+
211
+ export { CreditLineBorrowWidget, CreditLinePaymentWidget, InvoiceFactoringBorrowWidget, InvoiceFactoringPaymentWidget, LendSupplyWidget, LendWithdrawWidget, SuperfluidFactoringWidget };