@huma-finance/widgets 0.0.34 → 0.0.36

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 (181) 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 +332 -332
  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/cjs/index.cjs +1939 -1866
  19. package/dist/cjs/index.cjs.map +1 -1
  20. package/dist/index.d.ts +227 -195
  21. package/dist/index.js +1942 -1870
  22. package/dist/index.js.map +1 -1
  23. package/jsdoc2md.json +20 -20
  24. package/package.json +5 -4
  25. package/public/index.html +40 -40
  26. package/public/manifest.json +25 -25
  27. package/public/robots.txt +3 -3
  28. package/rollup.config.js +81 -81
  29. package/src/components/Activity.tsx +128 -132
  30. package/src/components/ApolloWrapper.tsx +15 -15
  31. package/src/components/ApproveAllowanceModal.tsx +138 -121
  32. package/src/components/BottomButton.tsx +33 -33
  33. package/src/components/ChainNotSupportedModal.tsx +33 -33
  34. package/src/components/ChooseAmountModal.tsx +322 -322
  35. package/src/components/ConfirmTransferModal.tsx +153 -153
  36. package/src/components/CreditLine/approve/1-ApproveAllowance.tsx +34 -0
  37. package/src/components/CreditLine/approve/2-Success.tsx +43 -0
  38. package/src/components/CreditLine/approve/index.tsx +85 -0
  39. package/src/components/CreditLine/borrow/1-Evaluation.tsx +157 -157
  40. package/src/components/CreditLine/borrow/2-ChooseAmount.tsx +74 -68
  41. package/src/components/CreditLine/borrow/{4-ApproveAllowance.tsx → 3-ApproveAllowance.tsx} +29 -29
  42. package/src/components/CreditLine/borrow/{3-Transfer.tsx → 4-Transfer.tsx} +34 -44
  43. package/src/components/CreditLine/borrow/5-Success.tsx +38 -38
  44. package/src/components/CreditLine/borrow/6-Notifications.tsx +10 -10
  45. package/src/components/CreditLine/borrow/index.tsx +136 -136
  46. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  47. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  48. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  49. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  50. package/src/components/CreditLine/payment/index.tsx +94 -94
  51. package/src/components/ErrorModal.tsx +136 -132
  52. package/src/components/Factoring/FactoredList.tsx +143 -143
  53. package/src/components/Factoring/UpcomingList.tsx +90 -90
  54. package/src/components/Factoring/index.ts +2 -2
  55. package/src/components/HumaLoading.tsx +68 -68
  56. package/src/components/HumaSnackBar.tsx +60 -60
  57. package/src/components/HumaTable.tsx +203 -158
  58. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +49 -49
  59. package/src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx +88 -88
  60. package/src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx +37 -37
  61. package/src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx +55 -55
  62. package/src/components/InvoiceFactoring/borrow/5-Transfer.tsx +34 -34
  63. package/src/components/InvoiceFactoring/borrow/6-Success.tsx +20 -20
  64. package/src/components/InvoiceFactoring/borrow/index.tsx +94 -94
  65. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  66. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  67. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  68. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  69. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  70. package/src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx +90 -86
  71. package/src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx +319 -287
  72. package/src/components/Lend/supply/1-Evaluation/index.tsx +31 -31
  73. package/src/components/Lend/supply/2-ChooseAmount.tsx +69 -69
  74. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  75. package/src/components/Lend/supply/4-Transfer.tsx +32 -32
  76. package/src/components/Lend/supply/5-Success.tsx +60 -60
  77. package/src/components/Lend/supply/6-Notifications.tsx +10 -10
  78. package/src/components/Lend/supply/index.tsx +167 -167
  79. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  80. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  81. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  82. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  83. package/src/components/Lend/withdraw/index.tsx +101 -101
  84. package/src/components/LoadingModal.tsx +49 -49
  85. package/src/components/Notifi/NotifiSubscriptionModal.tsx +268 -264
  86. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +55 -55
  87. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +127 -127
  88. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +42 -42
  89. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +33 -33
  90. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  91. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  92. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  93. package/src/components/StreamFactoring/borrow/index.tsx +94 -94
  94. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  95. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  96. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  97. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  98. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +69 -70
  99. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +166 -167
  100. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  101. package/src/components/TxDoneModal.tsx +85 -85
  102. package/src/components/TxSendModal.tsx +59 -59
  103. package/src/components/ViewOnExplorer.tsx +23 -26
  104. package/src/components/WidgetWrapper.tsx +74 -74
  105. package/src/components/WrapperModal.tsx +54 -54
  106. package/src/components/buttons/TableActionButton.tsx +36 -36
  107. package/src/components/buttons/index.ts +1 -1
  108. package/src/components/humaModal/HumaModal.tsx +68 -68
  109. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  110. package/src/components/humaModal/index.tsx +2 -2
  111. package/src/components/icons/approve-lender.svg +58 -30
  112. package/src/components/icons/auto-payback.svg +139 -40
  113. package/src/components/icons/check-circle.svg +3 -3
  114. package/src/components/icons/check-green.svg +3 -3
  115. package/src/components/icons/check.svg +10 -10
  116. package/src/components/icons/donut.svg +904 -904
  117. package/src/components/icons/ellipse.svg +3 -3
  118. package/src/components/icons/huma-full.svg +22 -22
  119. package/src/components/icons/huma.svg +15 -15
  120. package/src/components/icons/index.tsx +93 -93
  121. package/src/components/icons/loader.svg +229 -229
  122. package/src/components/icons/metamask.svg +31 -31
  123. package/src/components/icons/polygon.svg +16 -16
  124. package/src/components/icons/receipt.svg +3 -3
  125. package/src/components/icons/separator.svg +3 -3
  126. package/src/components/icons/sorry.svg +17 -31
  127. package/src/components/icons/usdc.svg +5 -5
  128. package/src/components/icons/wallet-connect.svg +11 -11
  129. package/src/components/images/approve-lender.png +0 -0
  130. package/src/components/images/auto-payback.png +0 -0
  131. package/src/components/images/index.ts +3 -0
  132. package/src/components/images/sorry.png +0 -0
  133. package/src/cosmos/CreditLineBorrow.fixture.tsx +86 -86
  134. package/src/cosmos/CreditLinePayment.fixture.tsx +50 -50
  135. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  136. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  137. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  138. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  139. package/src/cosmos/SDKTesting.fixture.tsx +616 -616
  140. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +15 -15
  141. package/src/cosmos/WalletWrapper.tsx +52 -52
  142. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  143. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  144. package/src/cosmos/utils/env.ts +6 -6
  145. package/src/cosmos/utils/index.ts +169 -169
  146. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  147. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  148. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  149. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  150. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  151. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  152. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  153. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  154. package/src/hooks/useEA.ts +53 -53
  155. package/src/hooks/useElementDimensions.ts +30 -0
  156. package/src/hooks/useNotifi.ts +71 -71
  157. package/src/hooks/useRedux.ts +6 -6
  158. package/src/index.css +61 -61
  159. package/src/index.tsx +283 -301
  160. package/src/react-app-env.d.ts +1 -1
  161. package/src/reportWebVitals.ts +15 -15
  162. package/src/setupTests.ts +6 -6
  163. package/src/store/index.ts +27 -27
  164. package/src/store/widgets.reducers.ts +120 -120
  165. package/src/store/widgets.selectors.ts +3 -3
  166. package/src/store/widgets.store.ts +55 -55
  167. package/src/theme/breakpoints.ts +10 -10
  168. package/src/theme/components.ts +70 -70
  169. package/src/theme/coreThemeConstants.ts +29 -29
  170. package/src/theme/cssMixins.ts +92 -92
  171. package/src/theme/hooks/useGetSizes.ts +31 -31
  172. package/src/theme/index.ts +24 -24
  173. package/src/theme/palette.ts +150 -150
  174. package/src/theme/shape.ts +7 -7
  175. package/src/theme/theme.types.ts +80 -80
  176. package/src/theme/typography.ts +117 -117
  177. package/src/utilTypes.d.ts +30 -31
  178. package/src/utils/env.ts +10 -10
  179. package/tsconfig.build.json +7 -7
  180. package/tsconfig.json +32 -32
  181. package/webpack.cosmos.js +54 -54
@@ -1,27 +1,27 @@
1
- import {
2
- Action,
3
- ActionCreator,
4
- AnyAction,
5
- configureStore,
6
- ThunkAction,
7
- } from '@reduxjs/toolkit'
8
-
9
- import widgetsReducers from './widgets.reducers'
10
-
11
- export const store = configureStore({
12
- reducer: {
13
- widget: widgetsReducers,
14
- },
15
- })
16
-
17
- export type AppDispatch = typeof store.dispatch
18
- export type RootState = ReturnType<typeof store.getState>
19
- export type AppThunk<ReturnType = void> = ThunkAction<
20
- ReturnType,
21
- RootState,
22
- unknown,
23
- Action<string>
24
- >
25
- export type AppActionThunk<ReturnType = void> = ActionCreator<
26
- ThunkAction<ReturnType, RootState, unknown, AnyAction>
27
- >
1
+ import {
2
+ Action,
3
+ ActionCreator,
4
+ AnyAction,
5
+ configureStore,
6
+ ThunkAction,
7
+ } from '@reduxjs/toolkit'
8
+
9
+ import widgetsReducers from './widgets.reducers'
10
+
11
+ export const store = configureStore({
12
+ reducer: {
13
+ widget: widgetsReducers,
14
+ },
15
+ })
16
+
17
+ export type AppDispatch = typeof store.dispatch
18
+ export type RootState = ReturnType<typeof store.getState>
19
+ export type AppThunk<ReturnType = void> = ThunkAction<
20
+ ReturnType,
21
+ RootState,
22
+ unknown,
23
+ Action<string>
24
+ >
25
+ export type AppActionThunk<ReturnType = void> = ActionCreator<
26
+ ThunkAction<ReturnType, RootState, unknown, AnyAction>
27
+ >
@@ -1,120 +1,120 @@
1
- import { createSlice, PayloadAction } from '@reduxjs/toolkit'
2
- import { Approval } from '@huma-finance/shared'
3
-
4
- import {
5
- initialWidgetState,
6
- MultisendPayload,
7
- WIDGET_STEP,
8
- WidgetStream,
9
- } from './widgets.store'
10
-
11
- export const widgetSlice = createSlice({
12
- name: 'widget',
13
- initialState: initialWidgetState,
14
- reducers: {
15
- resetState: (state) => {
16
- state.errorReason = ''
17
- state.errorMessage = ''
18
- state.step = undefined
19
- state.approval = undefined
20
- state.borrowAmount = undefined
21
- state.borrowAmountBN = undefined
22
- state.chargedFees = undefined
23
- state.borrowAmountNet = undefined
24
- state.remainder = undefined
25
- state.tokenId = undefined
26
- state.paymentAmount = undefined
27
- state.remainDueAmount = undefined
28
- state.stream = undefined
29
- state.multisend = undefined
30
- state.supplyAmount = undefined
31
- state.withdrawAmount = undefined
32
- },
33
- setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {
34
- state.step = payload
35
- },
36
- setApproval: (
37
- state,
38
- { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,
39
- ) => {
40
- state.approval = payload
41
- if (Number(payload.terms.creditLimit) > 0) {
42
- state.step = payload.nextStep
43
- } else {
44
- state.errorMessage =
45
- 'Sorry, there was an error with your transaction. Please try submitting again.'
46
- state.step = WIDGET_STEP.Error
47
- }
48
- },
49
- setBorrowInfo: (
50
- state,
51
- {
52
- payload,
53
- }: PayloadAction<{
54
- borrowAmount: number
55
- borrowAmountBN: string
56
- chargedFees: number
57
- nextStep: WIDGET_STEP
58
- remainder?: number
59
- }>,
60
- ) => {
61
- state.borrowAmount = payload.borrowAmount
62
- state.borrowAmountBN = payload.borrowAmountBN
63
- state.remainder = payload.remainder
64
- state.chargedFees = payload.chargedFees
65
- state.borrowAmountNet = payload.borrowAmount - payload.chargedFees
66
- state.step = payload.nextStep
67
- },
68
- setTokenId: (state, { payload }: PayloadAction<string>) => {
69
- state.tokenId = payload
70
- },
71
- setPaymentAmount: (
72
- state,
73
- {
74
- payload,
75
- }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,
76
- ) => {
77
- state.paymentAmount = payload.paymentAmount
78
- state.remainDueAmount = payload.remainDueAmount
79
- },
80
- setSupplyAmount: (state, { payload }: PayloadAction<number>) => {
81
- state.supplyAmount = payload
82
- },
83
- setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {
84
- state.withdrawAmount = payload
85
- },
86
- setStream: (state, { payload }: PayloadAction<WidgetStream>) => {
87
- const stream = state.stream ?? {}
88
- state.stream = { ...stream, ...payload }
89
- },
90
- setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {
91
- state.multisend = payload
92
- },
93
- setError: (
94
- state,
95
- {
96
- payload,
97
- }: PayloadAction<{ errorMessage: string; errorReason?: string }>,
98
- ) => {
99
- state.errorMessage = payload.errorMessage
100
- state.errorReason = payload.errorReason
101
- state.step = WIDGET_STEP.Error
102
- },
103
- },
104
- })
105
-
106
- export const {
107
- resetState,
108
- setStep,
109
- setApproval,
110
- setBorrowInfo,
111
- setError,
112
- setTokenId,
113
- setPaymentAmount,
114
- setStream,
115
- setMultisend,
116
- setSupplyAmount,
117
- setWithdrawAmount,
118
- } = widgetSlice.actions
119
-
120
- export default widgetSlice.reducer
1
+ import { createSlice, PayloadAction } from '@reduxjs/toolkit'
2
+ import { Approval } from '@huma-finance/shared'
3
+
4
+ import {
5
+ initialWidgetState,
6
+ MultisendPayload,
7
+ WIDGET_STEP,
8
+ WidgetStream,
9
+ } from './widgets.store'
10
+
11
+ export const widgetSlice = createSlice({
12
+ name: 'widget',
13
+ initialState: initialWidgetState,
14
+ reducers: {
15
+ resetState: (state) => {
16
+ state.errorReason = ''
17
+ state.errorMessage = ''
18
+ state.step = undefined
19
+ state.approval = undefined
20
+ state.borrowAmount = undefined
21
+ state.borrowAmountBN = undefined
22
+ state.chargedFees = undefined
23
+ state.borrowAmountNet = undefined
24
+ state.remainder = undefined
25
+ state.tokenId = undefined
26
+ state.paymentAmount = undefined
27
+ state.remainDueAmount = undefined
28
+ state.stream = undefined
29
+ state.multisend = undefined
30
+ state.supplyAmount = undefined
31
+ state.withdrawAmount = undefined
32
+ },
33
+ setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {
34
+ state.step = payload
35
+ },
36
+ setApproval: (
37
+ state,
38
+ { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,
39
+ ) => {
40
+ state.approval = payload
41
+ if (Number(payload.terms.creditLimit) > 0) {
42
+ state.step = payload.nextStep
43
+ } else {
44
+ state.errorMessage =
45
+ 'Sorry, there was an error with your transaction. Please try submitting again.'
46
+ state.step = WIDGET_STEP.Error
47
+ }
48
+ },
49
+ setBorrowInfo: (
50
+ state,
51
+ {
52
+ payload,
53
+ }: PayloadAction<{
54
+ borrowAmount: number
55
+ borrowAmountBN: string
56
+ chargedFees: number
57
+ nextStep: WIDGET_STEP
58
+ remainder?: number
59
+ }>,
60
+ ) => {
61
+ state.borrowAmount = payload.borrowAmount
62
+ state.borrowAmountBN = payload.borrowAmountBN
63
+ state.remainder = payload.remainder
64
+ state.chargedFees = payload.chargedFees
65
+ state.borrowAmountNet = payload.borrowAmount - payload.chargedFees
66
+ state.step = payload.nextStep
67
+ },
68
+ setTokenId: (state, { payload }: PayloadAction<string>) => {
69
+ state.tokenId = payload
70
+ },
71
+ setPaymentAmount: (
72
+ state,
73
+ {
74
+ payload,
75
+ }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,
76
+ ) => {
77
+ state.paymentAmount = payload.paymentAmount
78
+ state.remainDueAmount = payload.remainDueAmount
79
+ },
80
+ setSupplyAmount: (state, { payload }: PayloadAction<number>) => {
81
+ state.supplyAmount = payload
82
+ },
83
+ setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {
84
+ state.withdrawAmount = payload
85
+ },
86
+ setStream: (state, { payload }: PayloadAction<WidgetStream>) => {
87
+ const stream = state.stream ?? {}
88
+ state.stream = { ...stream, ...payload }
89
+ },
90
+ setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {
91
+ state.multisend = payload
92
+ },
93
+ setError: (
94
+ state,
95
+ {
96
+ payload,
97
+ }: PayloadAction<{ errorMessage: string; errorReason?: string }>,
98
+ ) => {
99
+ state.errorMessage = payload.errorMessage
100
+ state.errorReason = payload.errorReason
101
+ state.step = WIDGET_STEP.Error
102
+ },
103
+ },
104
+ })
105
+
106
+ export const {
107
+ resetState,
108
+ setStep,
109
+ setApproval,
110
+ setBorrowInfo,
111
+ setError,
112
+ setTokenId,
113
+ setPaymentAmount,
114
+ setStream,
115
+ setMultisend,
116
+ setSupplyAmount,
117
+ setWithdrawAmount,
118
+ } = widgetSlice.actions
119
+
120
+ export default widgetSlice.reducer
@@ -1,3 +1,3 @@
1
- import { RootState } from '.'
2
-
3
- export const selectWidgetState = (state: RootState) => state.widget
1
+ import { RootState } from '.'
2
+
3
+ export const selectWidgetState = (state: RootState) => state.widget
@@ -1,55 +1,55 @@
1
- import { Approval } from '@huma-finance/shared'
2
-
3
- export enum WIDGET_TYPE {
4
- BORROW = 'BORROW',
5
- PAYMENT = 'PAYMENT',
6
- }
7
-
8
- export enum WIDGET_STEP {
9
- Evaluation = 'Evaluation',
10
- ChooseAmount = 'ChooseAmount',
11
- Permit = 'Permit',
12
- ApproveAllowance = 'ApproveAllowance',
13
- MintNFT = 'MintNFT',
14
- ConfirmTransfer = 'ConfirmTransfer',
15
- ApproveNFT = 'ApproveNFT',
16
- Transfer = 'Transfer',
17
- CheckWithdrawable = 'CheckWithdrawable',
18
- Notifications = 'Notifications',
19
- Done = 'Done',
20
- Error = 'Error',
21
- }
22
-
23
- export type WidgetStream = Partial<{
24
- borrowFlowrate: string
25
- durationInSeconds: number
26
- }>
27
-
28
- export type MultisendPayload = {
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- addresses: any[]
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- callData: any[]
33
- }
34
-
35
- export type WidgetState = {
36
- step?: WIDGET_STEP
37
- type?: WIDGET_TYPE
38
- approval?: Approval
39
- borrowAmount?: number
40
- borrowAmountBN?: string
41
- chargedFees?: number
42
- borrowAmountNet?: number
43
- remainder?: number
44
- paymentAmount?: number
45
- remainDueAmount?: number
46
- supplyAmount?: number
47
- withdrawAmount?: number
48
- errorMessage?: string
49
- errorReason?: string
50
- tokenId?: string
51
- stream?: WidgetStream
52
- multisend?: MultisendPayload
53
- }
54
-
55
- export const initialWidgetState: WidgetState = {}
1
+ import { Approval } from '@huma-finance/shared'
2
+
3
+ export enum WIDGET_TYPE {
4
+ BORROW = 'BORROW',
5
+ PAYMENT = 'PAYMENT',
6
+ }
7
+
8
+ export enum WIDGET_STEP {
9
+ Evaluation = 'Evaluation',
10
+ ChooseAmount = 'ChooseAmount',
11
+ Permit = 'Permit',
12
+ ApproveAllowance = 'ApproveAllowance',
13
+ MintNFT = 'MintNFT',
14
+ ConfirmTransfer = 'ConfirmTransfer',
15
+ ApproveNFT = 'ApproveNFT',
16
+ Transfer = 'Transfer',
17
+ CheckWithdrawable = 'CheckWithdrawable',
18
+ Notifications = 'Notifications',
19
+ Done = 'Done',
20
+ Error = 'Error',
21
+ }
22
+
23
+ export type WidgetStream = Partial<{
24
+ borrowFlowrate: string
25
+ durationInSeconds: number
26
+ }>
27
+
28
+ export type MultisendPayload = {
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ addresses: any[]
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ callData: any[]
33
+ }
34
+
35
+ export type WidgetState = {
36
+ step?: WIDGET_STEP
37
+ type?: WIDGET_TYPE
38
+ approval?: Approval
39
+ borrowAmount?: number
40
+ borrowAmountBN?: string
41
+ chargedFees?: number
42
+ borrowAmountNet?: number
43
+ remainder?: number
44
+ paymentAmount?: number
45
+ remainDueAmount?: number
46
+ supplyAmount?: number
47
+ withdrawAmount?: number
48
+ errorMessage?: string
49
+ errorReason?: string
50
+ tokenId?: string
51
+ stream?: WidgetStream
52
+ multisend?: MultisendPayload
53
+ }
54
+
55
+ export const initialWidgetState: WidgetState = {}
@@ -1,10 +1,10 @@
1
- import { Breakpoints } from '@mui/system'
2
-
3
- export const breakpoints: Partial<
4
- {
5
- step: number
6
- unit: string
7
- } & Breakpoints
8
- > = {
9
- values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },
10
- }
1
+ import { Breakpoints } from '@mui/system'
2
+
3
+ export const breakpoints: Partial<
4
+ {
5
+ step: number
6
+ unit: string
7
+ } & Breakpoints
8
+ > = {
9
+ values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },
10
+ }
@@ -1,70 +1,70 @@
1
- /**
2
- * This file can be used to override default props and styles on the various Material components
3
- * see: https://mui.com/customization/theme-components/
4
- */
5
- import { Theme, ThemeOptions } from '@mui/material'
6
-
7
- export function components(theme: Theme): ThemeOptions['components'] {
8
- return {
9
- MuiButton: {
10
- defaultProps: {
11
- disableElevation: true,
12
- },
13
- styleOverrides: {
14
- contained: {
15
- // align outlined vs contained borders
16
- border: '1px solid transparent',
17
- background:
18
- 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
19
- },
20
- outlined: {
21
- '.MuiBox-root': {
22
- background:
23
- 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
24
- backgroundClip: 'text',
25
- textFillColor: 'transparent',
26
- },
27
- },
28
- root: {
29
- fontFamily: 'Uni-Neue-Bold',
30
- fontSize: '15px',
31
- borderRadius: '32px',
32
- '&.MuiButton-containedPrimary': {
33
- '&:hover': {
34
- backgroundColor: theme.palette.primary.main,
35
- },
36
- boxShadow:
37
- '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',
38
- },
39
- '&.MuiButton-outlinedPrimary': {
40
- '&:hover': {
41
- backgroundColor: theme.palette.common.white,
42
- },
43
- },
44
- textTransform: 'none',
45
- '&.Mui-disabled': {
46
- border: 'none',
47
- background: 'rgba(0, 0, 0, 0.12)',
48
- boxShadow: 'unset',
49
- },
50
- },
51
- },
52
- },
53
- MuiButtonBase: {
54
- defaultProps: {},
55
- },
56
- MuiCssBaseline: {
57
- styleOverrides: {
58
- dd: {
59
- margin: 0,
60
- },
61
- dl: {
62
- margin: 0,
63
- },
64
- dt: {
65
- margin: 0,
66
- },
67
- },
68
- },
69
- }
70
- }
1
+ /**
2
+ * This file can be used to override default props and styles on the various Material components
3
+ * see: https://mui.com/customization/theme-components/
4
+ */
5
+ import { Theme, ThemeOptions } from '@mui/material'
6
+
7
+ export function components(theme: Theme): ThemeOptions['components'] {
8
+ return {
9
+ MuiButton: {
10
+ defaultProps: {
11
+ disableElevation: true,
12
+ },
13
+ styleOverrides: {
14
+ contained: {
15
+ // align outlined vs contained borders
16
+ border: '1px solid transparent',
17
+ background:
18
+ 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
19
+ },
20
+ outlined: {
21
+ '.MuiBox-root': {
22
+ background:
23
+ 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',
24
+ backgroundClip: 'text',
25
+ textFillColor: 'transparent',
26
+ },
27
+ },
28
+ root: {
29
+ fontFamily: 'Uni-Neue-Bold',
30
+ fontSize: '15px',
31
+ borderRadius: '32px',
32
+ '&.MuiButton-containedPrimary': {
33
+ '&:hover': {
34
+ backgroundColor: theme.palette.primary.main,
35
+ },
36
+ boxShadow:
37
+ '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',
38
+ },
39
+ '&.MuiButton-outlinedPrimary': {
40
+ '&:hover': {
41
+ backgroundColor: theme.palette.common.white,
42
+ },
43
+ },
44
+ textTransform: 'none',
45
+ '&.Mui-disabled': {
46
+ border: 'none',
47
+ background: 'rgba(0, 0, 0, 0.12)',
48
+ boxShadow: 'unset',
49
+ },
50
+ },
51
+ },
52
+ },
53
+ MuiButtonBase: {
54
+ defaultProps: {},
55
+ },
56
+ MuiCssBaseline: {
57
+ styleOverrides: {
58
+ dd: {
59
+ margin: 0,
60
+ },
61
+ dl: {
62
+ margin: 0,
63
+ },
64
+ dt: {
65
+ margin: 0,
66
+ },
67
+ },
68
+ },
69
+ }
70
+ }
@@ -1,29 +1,29 @@
1
- export const coreThemeConstants = {
2
- borderRadius: {
3
- md: 4,
4
- },
5
- fontFamily: [
6
- 'Roboto',
7
- '-apple-system',
8
- 'BlinkMacSystemFont',
9
- '"Segoe UI"',
10
- '"Helvetica Neue"',
11
- 'Arial',
12
- 'sans-serif',
13
- '"Apple Color Emoji"',
14
- '"Segoe UI Emoji"',
15
- '"Segoe UI Symbol"',
16
- ].join(','),
17
- letterSpacing: {
18
- lg: '2px',
19
- md: '1px',
20
- sm: '0.45px',
21
- xs: '0.25px',
22
- },
23
- lineHeight: {
24
- lg: 1.4, // 22.4px on 16
25
- md: 1.1875, // 19px on 16, 47.5 on 40
26
- xl: 1.5, // 24px on 16
27
- },
28
- spacingBase: 8, // 8px grid
29
- }
1
+ export const coreThemeConstants = {
2
+ borderRadius: {
3
+ md: 4,
4
+ },
5
+ fontFamily: [
6
+ 'Roboto',
7
+ '-apple-system',
8
+ 'BlinkMacSystemFont',
9
+ '"Segoe UI"',
10
+ '"Helvetica Neue"',
11
+ 'Arial',
12
+ 'sans-serif',
13
+ '"Apple Color Emoji"',
14
+ '"Segoe UI Emoji"',
15
+ '"Segoe UI Symbol"',
16
+ ].join(','),
17
+ letterSpacing: {
18
+ lg: '2px',
19
+ md: '1px',
20
+ sm: '0.45px',
21
+ xs: '0.25px',
22
+ },
23
+ lineHeight: {
24
+ lg: 1.4, // 22.4px on 16
25
+ md: 1.1875, // 19px on 16, 47.5 on 40
26
+ xl: 1.5, // 24px on 16
27
+ },
28
+ spacingBase: 8, // 8px grid
29
+ }