@lifi/widget 3.19.0-beta.2 → 3.19.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 (385) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/esm/AppDrawer.js +6 -7
  3. package/dist/esm/AppDrawer.js.map +1 -1
  4. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +1 -3
  5. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  6. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.js +3 -2
  7. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.js.map +1 -1
  8. package/dist/esm/components/AmountInput/AmountInputAdornment.style.js +1 -1
  9. package/dist/esm/components/AmountInput/AmountInputAdornment.style.js.map +1 -1
  10. package/dist/esm/components/AppContainer.js +1 -1
  11. package/dist/esm/components/AppContainer.js.map +1 -1
  12. package/dist/esm/components/Avatar/AccountAvatar.js +1 -1
  13. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
  14. package/dist/esm/components/Avatar/Avatar.style.js +9 -9
  15. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -1
  16. package/dist/esm/components/Avatar/SmallAvatar.js +1 -1
  17. package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -1
  18. package/dist/esm/components/BottomSheet/BottomSheet.js +2 -2
  19. package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -1
  20. package/dist/esm/components/ButtonTertiary.js +6 -5
  21. package/dist/esm/components/ButtonTertiary.js.map +1 -1
  22. package/dist/esm/components/Card/Card.js +18 -18
  23. package/dist/esm/components/Card/Card.js.map +1 -1
  24. package/dist/esm/components/Card/CardButton.style.js +1 -1
  25. package/dist/esm/components/Card/CardButton.style.js.map +1 -1
  26. package/dist/esm/components/Card/CardHeader.js +2 -2
  27. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  28. package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
  29. package/dist/esm/components/Card/CardIconButton.js +3 -2
  30. package/dist/esm/components/Card/CardIconButton.js.map +1 -1
  31. package/dist/esm/components/Card/CardLabel.js +21 -15
  32. package/dist/esm/components/Card/CardLabel.js.map +1 -1
  33. package/dist/esm/components/Card/CardTitle.js +2 -2
  34. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  35. package/dist/esm/components/Card/InputCard.d.ts +1 -1
  36. package/dist/esm/components/ContractComponent/NFT/NFT.style.js +2 -2
  37. package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -1
  38. package/dist/esm/components/Dialog.d.ts +2 -10
  39. package/dist/esm/components/Dialog.js +10 -10
  40. package/dist/esm/components/Dialog.js.map +1 -1
  41. package/dist/esm/components/Header/BackButton.js +1 -1
  42. package/dist/esm/components/Header/BackButton.js.map +1 -1
  43. package/dist/esm/components/Header/CloseDrawerButton.js +1 -1
  44. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
  45. package/dist/esm/components/Header/DisconnectIconButton.js +1 -1
  46. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
  47. package/dist/esm/components/Header/Header.style.js +7 -15
  48. package/dist/esm/components/Header/Header.style.js.map +1 -1
  49. package/dist/esm/components/Header/SettingsButton.js +1 -1
  50. package/dist/esm/components/Header/SettingsButton.js.map +1 -1
  51. package/dist/esm/components/Header/SettingsButton.style.js +7 -18
  52. package/dist/esm/components/Header/SettingsButton.style.js.map +1 -1
  53. package/dist/esm/components/Header/TransactionHistoryButton.js +1 -1
  54. package/dist/esm/components/Header/TransactionHistoryButton.js.map +1 -1
  55. package/dist/esm/components/Header/WalletHeader.js +1 -2
  56. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  57. package/dist/esm/components/Header/WalletMenu.js +1 -3
  58. package/dist/esm/components/Header/WalletMenu.js.map +1 -1
  59. package/dist/esm/components/Header/WalletMenu.style.js +4 -4
  60. package/dist/esm/components/Header/WalletMenu.style.js.map +1 -1
  61. package/dist/esm/components/IconTypography.js +4 -4
  62. package/dist/esm/components/IconTypography.js.map +1 -1
  63. package/dist/esm/components/ListItemButton.js +4 -2
  64. package/dist/esm/components/ListItemButton.js.map +1 -1
  65. package/dist/esm/components/Menu.js +3 -3
  66. package/dist/esm/components/Menu.js.map +1 -1
  67. package/dist/esm/components/Messages/AccountNotDeployedMessage.js +1 -1
  68. package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -1
  69. package/dist/esm/components/Messages/AlertMessage.style.js +12 -18
  70. package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -1
  71. package/dist/esm/components/Messages/FundsSufficiencyMessage.js +1 -1
  72. package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -1
  73. package/dist/esm/components/Messages/GasRefuelMessage.js +1 -1
  74. package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -1
  75. package/dist/esm/components/Messages/GasRefuelMessage.style.js +7 -7
  76. package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -1
  77. package/dist/esm/components/Messages/GasSufficiencyMessage.js +1 -1
  78. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
  79. package/dist/esm/components/Messages/ToAddressRequiredMessage.js +1 -1
  80. package/dist/esm/components/Messages/ToAddressRequiredMessage.js.map +1 -1
  81. package/dist/esm/components/NotFound.js +1 -1
  82. package/dist/esm/components/NotFound.js.map +1 -1
  83. package/dist/esm/components/PoweredBy/PoweredBy.style.js +1 -1
  84. package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -1
  85. package/dist/esm/components/ProgressToNextUpdate.js +6 -6
  86. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -1
  87. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +1 -2
  88. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  89. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js +1 -1
  90. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -1
  91. package/dist/esm/components/RouteCard/RouteCard.js +1 -2
  92. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  93. package/dist/esm/components/RouteCard/RouteCardEssentials.js +1 -2
  94. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  95. package/dist/esm/components/RouteCard/RouteCardEssentialsExpanded.js +1 -1
  96. package/dist/esm/components/RouteCard/RouteCardEssentialsExpanded.js.map +1 -1
  97. package/dist/esm/components/RouteCard/RouteCardSkeleton.js +1 -1
  98. package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -1
  99. package/dist/esm/components/RouteCard/RouteNotFoundCard.js +1 -1
  100. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -1
  101. package/dist/esm/components/Routes/Routes.js +1 -1
  102. package/dist/esm/components/Routes/Routes.js.map +1 -1
  103. package/dist/esm/components/Routes/RoutesExpanded.style.js +2 -2
  104. package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -1
  105. package/dist/esm/components/Search/SearchInput.js +1 -1
  106. package/dist/esm/components/Search/SearchInput.js.map +1 -1
  107. package/dist/esm/components/Search/SearchInput.style.js +1 -1
  108. package/dist/esm/components/Search/SearchInput.style.js.map +1 -1
  109. package/dist/esm/components/Search/SearchNotFound.js +1 -1
  110. package/dist/esm/components/Search/SearchNotFound.js.map +1 -1
  111. package/dist/esm/components/Search/SearchNotFound.style.js +1 -1
  112. package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -1
  113. package/dist/esm/components/Select.js +4 -4
  114. package/dist/esm/components/Select.js.map +1 -1
  115. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +4 -2
  116. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  117. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +7 -8
  118. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  119. package/dist/esm/components/SendToWallet/SendToWallet.style.js +2 -2
  120. package/dist/esm/components/SendToWallet/SendToWallet.style.js.map +1 -1
  121. package/dist/esm/components/SendToWallet/SendToWalletButton.js +1 -1
  122. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  123. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js +1 -1
  124. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
  125. package/dist/esm/components/Skeleton/WidgetSkeleton.js +3 -3
  126. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
  127. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +1 -1
  128. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js +2 -2
  129. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
  130. package/dist/esm/components/Step/CircularProgress.js +3 -5
  131. package/dist/esm/components/Step/CircularProgress.js.map +1 -1
  132. package/dist/esm/components/Step/CircularProgress.style.js +10 -11
  133. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  134. package/dist/esm/components/Step/DestinationWalletAddress.js +1 -2
  135. package/dist/esm/components/Step/DestinationWalletAddress.js.map +1 -1
  136. package/dist/esm/components/Step/StepProcess.js +1 -1
  137. package/dist/esm/components/Step/StepProcess.js.map +1 -1
  138. package/dist/esm/components/StepActions/StepActions.js +1 -3
  139. package/dist/esm/components/StepActions/StepActions.js.map +1 -1
  140. package/dist/esm/components/StepActions/StepActions.style.js +10 -10
  141. package/dist/esm/components/StepActions/StepActions.style.js.map +1 -1
  142. package/dist/esm/components/Switch.js +16 -10
  143. package/dist/esm/components/Switch.js.map +1 -1
  144. package/dist/esm/components/Tabs/Tabs.style.d.ts +1 -1
  145. package/dist/esm/components/Tabs/Tabs.style.js +16 -10
  146. package/dist/esm/components/Tabs/Tabs.style.js.map +1 -1
  147. package/dist/esm/components/TextFitter/TextFitter.js +1 -1
  148. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -1
  149. package/dist/esm/components/Timer/TimerContent.js +1 -1
  150. package/dist/esm/components/Timer/TimerContent.js.map +1 -1
  151. package/dist/esm/components/Token/Token.style.js +6 -6
  152. package/dist/esm/components/Token/Token.style.js.map +1 -1
  153. package/dist/esm/components/TokenList/TokenList.js +1 -5
  154. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  155. package/dist/esm/components/TokenList/TokenList.style.d.ts +2 -2
  156. package/dist/esm/components/TokenList/TokenList.style.js +3 -2
  157. package/dist/esm/components/TokenList/TokenList.style.js.map +1 -1
  158. package/dist/esm/components/TokenList/TokenListItem.js +1 -1
  159. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  160. package/dist/esm/components/TokenList/types.d.ts +3 -3
  161. package/dist/esm/components/TokenRate/TokenRate.style.js +1 -1
  162. package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -1
  163. package/dist/esm/components/TransactionDetails.js +1 -3
  164. package/dist/esm/components/TransactionDetails.js.map +1 -1
  165. package/dist/esm/config/version.d.ts +1 -1
  166. package/dist/esm/config/version.js +1 -1
  167. package/dist/esm/config/version.js.map +1 -1
  168. package/dist/esm/hooks/useRoutes.js +4 -4
  169. package/dist/esm/hooks/useRoutes.js.map +1 -1
  170. package/dist/esm/hooks/useSetContentHeight.d.ts +2 -2
  171. package/dist/esm/hooks/useSetContentHeight.js.map +1 -1
  172. package/dist/esm/i18n/en.json +1 -2
  173. package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.js +1 -1
  174. package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.js.map +1 -1
  175. package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +1 -1
  176. package/dist/esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js.map +1 -1
  177. package/dist/esm/pages/LanguagesPage.js +1 -1
  178. package/dist/esm/pages/LanguagesPage.js.map +1 -1
  179. package/dist/esm/pages/SelectEnabledToolsPage.js +1 -4
  180. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
  181. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +3 -2
  182. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  183. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +1 -3
  184. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  185. package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -5
  186. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  187. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +1 -2
  188. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  189. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +1 -4
  190. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  191. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +1 -6
  192. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  193. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +1 -3
  194. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  195. package/dist/esm/pages/SendToWallet/SendToWalletPage.js +1 -4
  196. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  197. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +1 -1
  198. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js +10 -9
  199. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -1
  200. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +1 -2
  201. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  202. package/dist/esm/pages/SettingsPage/GasPriceSettings.js +1 -1
  203. package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -1
  204. package/dist/esm/pages/SettingsPage/LanguageSetting.js +1 -1
  205. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
  206. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js +1 -1
  207. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
  208. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js +3 -2
  209. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -1
  210. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +1 -1
  211. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -1
  212. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +1 -2
  213. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  214. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +14 -18
  215. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
  216. package/dist/esm/pages/SettingsPage/ThemeSettings.js +7 -9
  217. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  218. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js +1 -2
  219. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -1
  220. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryEmpty.js +1 -1
  221. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryEmpty.js.map +1 -1
  222. package/dist/esm/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +2 -2
  223. package/dist/esm/pages/TransactionHistoryPage/TransactionHistorySkeleton.js.map +1 -1
  224. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +1 -2
  225. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
  226. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +1 -1
  227. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  228. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +1 -4
  229. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  230. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.js +7 -19
  231. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.js.map +1 -1
  232. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
  233. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  234. package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -1
  235. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  236. package/dist/esm/providers/ThemeProvider/ThemeProvider.js +22 -7
  237. package/dist/esm/providers/ThemeProvider/ThemeProvider.js.map +1 -1
  238. package/dist/esm/stores/settings/types.d.ts +2 -1
  239. package/dist/esm/stores/settings/useAppearance.d.ts +2 -0
  240. package/dist/esm/stores/settings/useAppearance.js +11 -0
  241. package/dist/esm/stores/settings/useAppearance.js.map +1 -0
  242. package/dist/esm/stores/settings/useSettingsStore.js +7 -2
  243. package/dist/esm/stores/settings/useSettingsStore.js.map +1 -1
  244. package/dist/esm/stores/settings/utils/getStateValues.js +1 -0
  245. package/dist/esm/stores/settings/utils/getStateValues.js.map +1 -1
  246. package/dist/esm/themes/createTheme.d.ts +2 -1
  247. package/dist/esm/themes/createTheme.js +67 -108
  248. package/dist/esm/themes/createTheme.js.map +1 -1
  249. package/dist/esm/themes/jumper.js +1 -1
  250. package/dist/esm/themes/jumper.js.map +1 -1
  251. package/dist/esm/themes/watermelonLight.js +1 -1
  252. package/dist/esm/themes/watermelonLight.js.map +1 -1
  253. package/dist/esm/types/widget.d.ts +12 -22
  254. package/dist/esm/types/widget.js +1 -0
  255. package/dist/esm/types/widget.js.map +1 -1
  256. package/dist/esm/utils/colors.d.ts +15 -0
  257. package/dist/esm/utils/colors.js +35 -0
  258. package/dist/esm/utils/colors.js.map +1 -0
  259. package/package.json +9 -9
  260. package/package.json.tmp +9 -9
  261. package/src/AppDrawer.tsx +7 -9
  262. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +1 -3
  263. package/src/components/ActiveTransactions/ActiveTransactions.style.ts +3 -2
  264. package/src/components/AmountInput/AmountInputAdornment.style.tsx +1 -1
  265. package/src/components/AppContainer.tsx +1 -1
  266. package/src/components/Avatar/AccountAvatar.tsx +1 -1
  267. package/src/components/Avatar/Avatar.style.tsx +9 -9
  268. package/src/components/Avatar/SmallAvatar.tsx +1 -1
  269. package/src/components/BottomSheet/BottomSheet.tsx +2 -1
  270. package/src/components/ButtonTertiary.tsx +6 -5
  271. package/src/components/Card/Card.tsx +18 -18
  272. package/src/components/Card/CardButton.style.tsx +1 -1
  273. package/src/components/Card/CardHeader.tsx +2 -2
  274. package/src/components/Card/CardIconButton.tsx +3 -2
  275. package/src/components/Card/CardLabel.tsx +59 -15
  276. package/src/components/Card/CardTitle.tsx +2 -2
  277. package/src/components/ContractComponent/NFT/NFT.style.ts +2 -2
  278. package/src/components/Dialog.tsx +12 -10
  279. package/src/components/Header/BackButton.tsx +1 -1
  280. package/src/components/Header/CloseDrawerButton.tsx +1 -1
  281. package/src/components/Header/DisconnectIconButton.tsx +1 -1
  282. package/src/components/Header/Header.style.ts +7 -15
  283. package/src/components/Header/SettingsButton.style.tsx +10 -17
  284. package/src/components/Header/SettingsButton.tsx +1 -1
  285. package/src/components/Header/TransactionHistoryButton.tsx +1 -1
  286. package/src/components/Header/WalletHeader.tsx +1 -2
  287. package/src/components/Header/WalletMenu.style.tsx +4 -4
  288. package/src/components/Header/WalletMenu.tsx +5 -3
  289. package/src/components/IconTypography.ts +4 -4
  290. package/src/components/ListItemButton.tsx +4 -2
  291. package/src/components/Menu.tsx +3 -3
  292. package/src/components/Messages/AccountNotDeployedMessage.tsx +1 -1
  293. package/src/components/Messages/AlertMessage.style.tsx +16 -18
  294. package/src/components/Messages/FundsSufficiencyMessage.tsx +1 -1
  295. package/src/components/Messages/GasRefuelMessage.style.ts +7 -7
  296. package/src/components/Messages/GasRefuelMessage.tsx +1 -1
  297. package/src/components/Messages/GasSufficiencyMessage.tsx +1 -1
  298. package/src/components/Messages/ToAddressRequiredMessage.tsx +1 -1
  299. package/src/components/NotFound.tsx +1 -1
  300. package/src/components/PoweredBy/PoweredBy.style.ts +1 -1
  301. package/src/components/ProgressToNextUpdate.tsx +6 -6
  302. package/src/components/ReverseTokensButton/ReverseTokensButton.style.tsx +1 -1
  303. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +1 -2
  304. package/src/components/RouteCard/RouteCard.tsx +1 -2
  305. package/src/components/RouteCard/RouteCardEssentials.tsx +1 -2
  306. package/src/components/RouteCard/RouteCardEssentialsExpanded.tsx +1 -1
  307. package/src/components/RouteCard/RouteCardSkeleton.tsx +1 -1
  308. package/src/components/RouteCard/RouteNotFoundCard.tsx +1 -1
  309. package/src/components/Routes/Routes.tsx +1 -1
  310. package/src/components/Routes/RoutesExpanded.style.ts +2 -2
  311. package/src/components/Search/SearchInput.style.tsx +1 -1
  312. package/src/components/Search/SearchInput.tsx +1 -1
  313. package/src/components/Search/SearchNotFound.style.tsx +1 -1
  314. package/src/components/Search/SearchNotFound.tsx +1 -1
  315. package/src/components/Select.tsx +4 -4
  316. package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +9 -7
  317. package/src/components/SelectTokenButton/SelectTokenButton.tsx +4 -2
  318. package/src/components/SendToWallet/SendToWallet.style.tsx +2 -2
  319. package/src/components/SendToWallet/SendToWalletButton.tsx +1 -1
  320. package/src/components/SendToWallet/SendToWalletExpandButton.tsx +1 -1
  321. package/src/components/Skeleton/WidgetSkeleton.style.tsx +2 -2
  322. package/src/components/Skeleton/WidgetSkeleton.tsx +6 -9
  323. package/src/components/Step/CircularProgress.style.tsx +11 -11
  324. package/src/components/Step/CircularProgress.tsx +8 -5
  325. package/src/components/Step/DestinationWalletAddress.tsx +1 -2
  326. package/src/components/Step/StepProcess.tsx +1 -1
  327. package/src/components/StepActions/StepActions.style.tsx +10 -9
  328. package/src/components/StepActions/StepActions.tsx +1 -3
  329. package/src/components/Switch.tsx +21 -10
  330. package/src/components/Tabs/Tabs.style.tsx +16 -9
  331. package/src/components/TextFitter/TextFitter.tsx +1 -1
  332. package/src/components/Timer/TimerContent.tsx +1 -1
  333. package/src/components/Token/Token.style.tsx +6 -6
  334. package/src/components/TokenList/TokenList.style.tsx +3 -2
  335. package/src/components/TokenList/TokenList.tsx +1 -5
  336. package/src/components/TokenList/TokenListItem.tsx +1 -1
  337. package/src/components/TokenList/types.ts +3 -3
  338. package/src/components/TokenRate/TokenRate.style.ts +1 -1
  339. package/src/components/TransactionDetails.tsx +5 -3
  340. package/src/config/version.ts +1 -1
  341. package/src/hooks/useRoutes.ts +4 -4
  342. package/src/hooks/useSetContentHeight.ts +2 -2
  343. package/src/i18n/en.json +1 -2
  344. package/src/pages/ActiveTransactionsPage/ActiveTransactionsEmpty.tsx +1 -1
  345. package/src/pages/ActiveTransactionsPage/ActiveTransactionsPage.tsx +1 -1
  346. package/src/pages/LanguagesPage.tsx +1 -1
  347. package/src/pages/SelectEnabledToolsPage.tsx +6 -4
  348. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +4 -2
  349. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +8 -6
  350. package/src/pages/SendToWallet/BookmarksPage.tsx +7 -5
  351. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +3 -4
  352. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +6 -4
  353. package/src/pages/SendToWallet/RecentWalletsPage.tsx +8 -6
  354. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +5 -3
  355. package/src/pages/SendToWallet/SendToWalletPage.style.tsx +10 -9
  356. package/src/pages/SendToWallet/SendToWalletPage.tsx +6 -4
  357. package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +1 -2
  358. package/src/pages/SettingsPage/GasPriceSettings.tsx +1 -1
  359. package/src/pages/SettingsPage/LanguageSetting.tsx +1 -1
  360. package/src/pages/SettingsPage/ResetSettingsButton.style.tsx +3 -2
  361. package/src/pages/SettingsPage/ResetSettingsButton.tsx +1 -1
  362. package/src/pages/SettingsPage/RoutePrioritySettings.tsx +1 -1
  363. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +15 -17
  364. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +1 -2
  365. package/src/pages/SettingsPage/ThemeSettings.tsx +7 -10
  366. package/src/pages/TransactionDetailsPage/TransferIdCard.tsx +1 -2
  367. package/src/pages/TransactionHistoryPage/TransactionHistoryEmpty.tsx +1 -1
  368. package/src/pages/TransactionHistoryPage/TransactionHistorySkeleton.tsx +2 -2
  369. package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +3 -4
  370. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +7 -5
  371. package/src/pages/TransactionPage/StatusBottomSheet.style.tsx +7 -19
  372. package/src/pages/TransactionPage/StatusBottomSheet.tsx +6 -4
  373. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +3 -3
  374. package/src/pages/TransactionPage/TransactionPage.tsx +1 -1
  375. package/src/providers/ThemeProvider/ThemeProvider.tsx +27 -20
  376. package/src/stores/settings/types.ts +2 -1
  377. package/src/stores/settings/useAppearance.ts +15 -0
  378. package/src/stores/settings/useSettingsStore.ts +7 -2
  379. package/src/stores/settings/utils/getStateValues.ts +1 -0
  380. package/src/themes/createTheme.ts +91 -124
  381. package/src/themes/jumper.ts +1 -1
  382. package/src/themes/types.ts +0 -1
  383. package/src/themes/watermelonLight.ts +1 -1
  384. package/src/types/widget.ts +17 -26
  385. package/src/utils/colors.ts +53 -0
@@ -2,7 +2,7 @@ import type { Order } from '@lifi/sdk'
2
2
  import type { PropsWithChildren } from 'react'
3
3
  import type { StoreApi } from 'zustand'
4
4
  import type { UseBoundStoreWithEqualityFn } from 'zustand/traditional'
5
- import type { SplitSubvariant } from '../../types/widget.js'
5
+ import type { Appearance, SplitSubvariant } from '../../types/widget.js'
6
6
 
7
7
  export type ValueSetter<S> = <K extends keyof S>(
8
8
  key: K,
@@ -19,6 +19,7 @@ export const SettingsToolTypes = ['Bridges', 'Exchanges'] as const
19
19
  export type SettingsToolType = (typeof SettingsToolTypes)[number]
20
20
 
21
21
  export interface SettingsProps {
22
+ appearance: Appearance
22
23
  gasPrice?: string
23
24
  language?: string
24
25
  routePriority?: Order
@@ -0,0 +1,15 @@
1
+ import { useSettingsActions } from '../../stores/settings/useSettingsActions.js'
2
+ import type { Appearance } from '../../types/widget.js'
3
+ import { useSettingsStore } from './useSettingsStore.js'
4
+
5
+ export const useAppearance = (): [
6
+ Appearance,
7
+ (appearance: Appearance) => void,
8
+ ] => {
9
+ const { setValue } = useSettingsActions()
10
+ const appearance = useSettingsStore((state) => state.appearance)
11
+ const setAppearance = (appearance: Appearance) => {
12
+ setValue('appearance', appearance)
13
+ }
14
+ return [appearance, setAppearance]
15
+ }
@@ -17,6 +17,7 @@ export const defaultConfigurableSettings: Pick<
17
17
  }
18
18
 
19
19
  export const defaultSettings: SettingsProps = {
20
+ appearance: 'auto',
20
21
  gasPrice: 'normal',
21
22
  enabledAutoRefuel: true,
22
23
  disabledBridges: [],
@@ -125,8 +126,9 @@ export const useSettingsStore = createWithEqualityFn<SettingsState>(
125
126
  }
126
127
  }),
127
128
  reset: (bridges, exchanges) => {
129
+ const { appearance, ...restDefaultSettings } = defaultSettings
128
130
  set(() => ({
129
- ...defaultSettings,
131
+ ...restDefaultSettings,
130
132
  ...defaultConfigurableSettings,
131
133
  }))
132
134
  get().initializeTools('Bridges', bridges, true)
@@ -136,7 +138,7 @@ export const useSettingsStore = createWithEqualityFn<SettingsState>(
136
138
  }),
137
139
  {
138
140
  name: 'li.fi-widget-settings',
139
- version: 5,
141
+ version: 4,
140
142
  partialize: (state) => {
141
143
  const {
142
144
  disabledBridges,
@@ -163,6 +165,9 @@ export const useSettingsStore = createWithEqualityFn<SettingsState>(
163
165
  return state
164
166
  },
165
167
  migrate: (persistedState: any, version) => {
168
+ if (version === 0 && persistedState.appearance === 'system') {
169
+ persistedState.appearance = defaultSettings.appearance
170
+ }
166
171
  if (version === 1) {
167
172
  persistedState.slippage = defaultConfigurableSettings.slippage
168
173
  }
@@ -1,6 +1,7 @@
1
1
  import type { SettingsProps, SettingsState } from '../types.js'
2
2
 
3
3
  export const getStateValues = (state: SettingsState): SettingsProps => ({
4
+ appearance: state.appearance,
4
5
  gasPrice: state.gasPrice,
5
6
  language: state.language,
6
7
  routePriority: state.routePriority,
@@ -1,4 +1,9 @@
1
- import type { CSSObject, Shape, SimplePaletteColorOptions } from '@mui/material'
1
+ import type {
2
+ CSSObject,
3
+ PaletteMode,
4
+ Shape,
5
+ SimplePaletteColorOptions,
6
+ } from '@mui/material'
2
7
  import {
3
8
  alpha,
4
9
  buttonClasses,
@@ -6,6 +11,7 @@ import {
6
11
  css,
7
12
  darken,
8
13
  dialogActionsClasses,
14
+ getContrastRatio,
9
15
  keyframes,
10
16
  lighten,
11
17
  tabsClasses,
@@ -33,86 +39,30 @@ const enterKeyframe = keyframes`
33
39
  }
34
40
  `
35
41
 
36
- export const createTheme = (widgetTheme: WidgetTheme = {}) => {
37
- const configuredPaletteLight =
38
- widgetTheme.colorSchemes?.light?.palette ?? widgetTheme.palette
39
- const configuredPaletteDark =
40
- widgetTheme.colorSchemes?.dark?.palette ?? widgetTheme.palette
41
-
42
- const primaryMainColorLight =
43
- (configuredPaletteLight?.primary as SimplePaletteColorOptions)?.main ??
42
+ export const createTheme = (
43
+ mode: PaletteMode,
44
+ widgetTheme: WidgetTheme = {}
45
+ ) => {
46
+ const primaryMainColor =
47
+ (widgetTheme.palette?.primary as SimplePaletteColorOptions)?.main ??
44
48
  palette.primary.main
45
- const primaryMainColorDark =
46
- (configuredPaletteDark?.primary as SimplePaletteColorOptions)?.main ??
47
- palette.primary.main
48
-
49
- const primaryLightenColorLight = lighten(primaryMainColorLight, 0.84)
50
- const primaryDarkenColorLight = darken(primaryMainColorLight, 0.2)
51
- const primaryLightenColorDark =
52
- primaryMainColorLight === primaryMainColorDark
53
- ? primaryLightenColorLight
54
- : lighten(primaryMainColorDark, 0.84)
55
- const primaryDarkenColorDark =
56
- primaryMainColorLight === primaryMainColorDark
57
- ? primaryDarkenColorLight
58
- : darken(primaryMainColorDark, 0.2)
59
-
60
- const secondaryMainColorLight =
61
- (configuredPaletteLight?.secondary as SimplePaletteColorOptions)?.main ??
62
- palette.secondary.main
63
- const secondaryMainColorDark =
64
- (configuredPaletteDark?.secondary as SimplePaletteColorOptions)?.main ??
49
+ const primaryLightColor = lighten(primaryMainColor, 0.84)
50
+ const primaryDarkColor = darken(primaryMainColor, 0.2)
51
+ const secondaryMainColor =
52
+ (widgetTheme.palette?.secondary as SimplePaletteColorOptions)?.main ??
65
53
  palette.secondary.main
66
-
67
- const secondaryLightenColorLight = lighten(secondaryMainColorLight, 0.84)
68
- const secondaryDarkenColorLight = darken(secondaryMainColorLight, 0.2)
69
- const secondaryLightenColorDark =
70
- secondaryMainColorLight === secondaryMainColorDark
71
- ? secondaryLightenColorLight
72
- : lighten(secondaryMainColorDark, 0.84)
73
- const secondaryDarkenColorDark =
74
- secondaryMainColorLight === secondaryMainColorDark
75
- ? secondaryDarkenColorLight
76
- : darken(secondaryMainColorDark, 0.2)
54
+ const contrastButtonColor =
55
+ getContrastRatio(palette.common.white, primaryMainColor) >= 3
56
+ ? palette.common.white
57
+ : palette.common.black
58
+ const contrastTextButtonColor =
59
+ getContrastRatio(palette.common.white, alpha(primaryMainColor, 0.08)) >= 3
60
+ ? palette.common.white
61
+ : palette.common.black
62
+ const borderRadiusSecondary =
63
+ widgetTheme.shape?.borderRadiusSecondary ?? shape.borderRadiusSecondary
77
64
 
78
65
  const theme = createMuiTheme({
79
- cssVariables: { cssVarPrefix: 'lifi', colorSchemeSelector: 'class' },
80
- colorSchemes: {
81
- light: {
82
- palette: {
83
- ...palette,
84
- ...paletteLight,
85
- ...(widgetTheme.colorSchemes?.light?.palette ?? widgetTheme.palette),
86
- primary: {
87
- main: primaryMainColorLight,
88
- light: primaryLightenColorLight,
89
- dark: primaryDarkenColorLight,
90
- },
91
- secondary: {
92
- main: secondaryMainColorLight,
93
- light: secondaryLightenColorLight,
94
- dark: secondaryDarkenColorLight,
95
- },
96
- },
97
- },
98
- dark: {
99
- palette: {
100
- ...palette,
101
- ...paletteDark,
102
- ...(widgetTheme.colorSchemes?.dark?.palette ?? widgetTheme.palette),
103
- primary: {
104
- main: primaryMainColorDark,
105
- light: primaryLightenColorDark,
106
- dark: primaryDarkenColorDark,
107
- },
108
- secondary: {
109
- main: secondaryMainColorDark,
110
- light: secondaryLightenColorDark,
111
- dark: secondaryDarkenColorDark,
112
- },
113
- },
114
- },
115
- },
116
66
  container: widgetTheme.container,
117
67
  header: widgetTheme.header,
118
68
  navigation: {
@@ -123,6 +73,22 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
123
73
  fontFamily: 'Inter var, Inter, sans-serif',
124
74
  ...widgetTheme.typography,
125
75
  },
76
+ palette: {
77
+ mode,
78
+ ...palette,
79
+ ...(mode === 'light' ? paletteLight : paletteDark),
80
+ ...widgetTheme.palette,
81
+ primary: {
82
+ main: primaryMainColor,
83
+ light: primaryLightColor,
84
+ dark: primaryDarkColor,
85
+ },
86
+ secondary: {
87
+ main: secondaryMainColor,
88
+ light: lighten(secondaryMainColor, 0.84),
89
+ dark: darken(secondaryMainColor, 0.2),
90
+ },
91
+ },
126
92
  shape: {
127
93
  ...shape,
128
94
  ...widgetTheme.shape,
@@ -169,8 +135,8 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
169
135
  ?.root as CSSObject
170
136
  const rootHover = root?.['&:hover']
171
137
  return {
172
- backgroundColor: theme.vars.palette.background.paper,
173
- borderRadius: theme.vars.shape.borderRadius,
138
+ backgroundColor: theme.palette.background.paper,
139
+ borderRadius: theme.shape.borderRadius,
174
140
  overflow: 'hidden',
175
141
  position: 'relative',
176
142
  boxSizing: 'border-box',
@@ -191,17 +157,17 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
191
157
  ownerState.variant === 'filled') && {
192
158
  '&:hover': {
193
159
  cursor: 'pointer',
194
- backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 98%, black)`,
195
- ...theme.applyStyles('dark', {
196
- backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 98%, white)`,
197
- }),
160
+ backgroundColor:
161
+ theme.palette.mode === 'light'
162
+ ? darken(theme.palette.background.paper, 0.02)
163
+ : lighten(theme.palette.background.paper, 0.02),
198
164
  },
199
165
  }),
200
166
  ...(!!ownerState.onClick &&
201
167
  ownerState.variant === 'elevation' && {
202
168
  '&:hover': {
203
169
  cursor: 'pointer',
204
- filter: `drop-shadow(0 1px 4px rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.08))`,
170
+ filter: `drop-shadow(0 1px 4px ${alpha(theme.palette.common.black, 0.08)})`,
205
171
  },
206
172
  }),
207
173
  ...(typeof root === 'object' && root),
@@ -223,10 +189,10 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
223
189
  style: ({ theme }) => ({
224
190
  borderWidth: 1,
225
191
  borderStyle: 'solid',
226
- borderColor: theme.vars.palette.grey[300],
227
- ...theme.applyStyles('dark', {
228
- borderColor: theme.vars.palette.grey[800],
229
- }),
192
+ borderColor:
193
+ theme.palette.mode === 'light'
194
+ ? theme.palette.grey[300]
195
+ : theme.palette.grey[800],
230
196
  }),
231
197
  },
232
198
  {
@@ -234,7 +200,7 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
234
200
  style: ({ theme }) => ({
235
201
  border: 'none',
236
202
  boxShadow: 'none',
237
- filter: `drop-shadow(0 1px 4px rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.04))`,
203
+ filter: `drop-shadow(0 1px 4px ${alpha(theme.palette.common.black, 0.04)})`,
238
204
  }),
239
205
  },
240
206
  {
@@ -267,50 +233,51 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
267
233
  ...widgetTheme.components?.MuiButton?.defaultProps,
268
234
  },
269
235
  styleOverrides: {
270
- root: ({ theme, ownerState }) => ({
271
- borderRadius: theme.vars.shape.borderRadiusSecondary,
236
+ root: ({ ownerState }) => ({
237
+ borderRadius: borderRadiusSecondary,
272
238
  textTransform: 'none',
273
239
  fontSize: 16,
274
240
  fontWeight: 600,
275
241
  '&.Mui-disabled, &.Mui-disabled:hover': {
276
- color: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.56)`,
242
+ color: alpha(
243
+ mode === 'light' ? palette.common.black : palette.common.white,
244
+ 0.56
245
+ ),
277
246
  cursor: 'not-allowed',
278
247
  pointerEvents: 'auto',
279
248
  },
280
249
  [`&.${buttonClasses.loading}.Mui-disabled`]: {
281
- backgroundColor: theme.vars.palette.primary.main,
282
- color: theme.palette.getContrastText(theme.palette.primary.main),
250
+ backgroundColor: primaryMainColor,
251
+ color: contrastButtonColor,
283
252
  cursor: 'auto',
284
253
  pointerEvents: 'auto',
285
254
  },
286
255
  [`.${buttonClasses.loadingIndicator}`]: {
287
- color: theme.palette.getContrastText(theme.palette.primary.main),
256
+ color: contrastButtonColor,
288
257
  },
289
258
  [`&.${buttonClasses.root}.${buttonClasses.loading}`]: {
290
259
  color: 'transparent',
291
260
  },
292
261
  ...getStyleOverrides('MuiButton', 'root', widgetTheme, ownerState),
293
262
  }),
294
- text: ({ theme, ownerState }) => ({
295
- backgroundColor: `rgba(${theme.vars.palette.primary.mainChannel} / 0.08)`,
296
- color: theme.vars.palette.primary.main,
263
+ text: ({ ownerState }) => ({
264
+ backgroundColor:
265
+ mode === 'light'
266
+ ? alpha(primaryMainColor, 0.08)
267
+ : alpha(primaryMainColor, 0.42),
297
268
  '&:hover': {
298
- backgroundColor: `rgba(${theme.vars.palette.primary.mainChannel} / 0.12)`,
269
+ backgroundColor:
270
+ mode === 'light'
271
+ ? alpha(primaryMainColor, 0.12)
272
+ : alpha(primaryMainColor, 0.56),
299
273
  },
300
- ...theme.applyStyles('dark', {
301
- backgroundColor: `rgba(${theme.vars.palette.primary.mainChannel} / 0.42)`,
302
- color: theme.palette.getContrastText(
303
- alpha(theme.palette.primary.main, 0.08)
304
- ),
305
- '&:hover': {
306
- backgroundColor: `rgba(${theme.vars.palette.primary.mainChannel} / 0.56)`,
307
- },
308
- }),
274
+ color:
275
+ mode === 'light' ? primaryMainColor : contrastTextButtonColor,
309
276
  ...getStyleOverrides('MuiButton', 'text', widgetTheme, ownerState),
310
277
  }),
311
278
  contained: ({ ownerState }) => ({
312
279
  '&:hover': {
313
- color: theme.palette.getContrastText(theme.palette.primary.main),
280
+ color: contrastButtonColor,
314
281
  },
315
282
  ...getStyleOverrides(
316
283
  'MuiButton',
@@ -369,12 +336,12 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
369
336
  fontWeight: 600,
370
337
  fontSize: '1.125rem',
371
338
  lineHeight: '1.2778',
372
- color: theme.vars.palette.text.primary,
339
+ color: theme.palette.text.primary,
373
340
  }),
374
341
  secondary: ({ theme }) => ({
375
342
  fontWeight: 500,
376
343
  fontSize: '0.75rem',
377
- color: theme.vars.palette.text.secondary,
344
+ color: theme.palette.text.secondary,
378
345
  }),
379
346
  },
380
347
  },
@@ -400,7 +367,7 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
400
367
  MuiMenu: {
401
368
  styleOverrides: {
402
369
  paper: ({ theme }) => ({
403
- backgroundColor: theme.vars.palette.background.default,
370
+ backgroundColor: theme.palette.background.default,
404
371
  }),
405
372
  },
406
373
  },
@@ -416,22 +383,22 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
416
383
  ownerState
417
384
  )
418
385
  return {
419
- backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.04)`,
420
- ...theme.applyStyles('dark', {
421
- backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.08)`,
422
- }),
423
- borderRadius: theme.vars.shape.borderRadius,
386
+ backgroundColor:
387
+ theme.palette.mode === 'light'
388
+ ? alpha(theme.palette.common.black, 0.04)
389
+ : alpha(theme.palette.common.white, 0.08),
390
+ borderRadius: theme.shape.borderRadius,
424
391
  ...rootStyleOverrides,
425
392
  [`.${tabsClasses.indicator}`]: {
426
- backgroundColor: theme.vars.palette.background.paper,
427
- ...theme.applyStyles('dark', {
428
- backgroundColor: `rgba(${theme.vars.palette.common.backgroundChannel} / 0.56)`,
429
- }),
393
+ backgroundColor:
394
+ theme.palette.mode === 'light'
395
+ ? theme.palette.background.paper
396
+ : alpha(theme.palette.common.black, 0.56),
430
397
  borderRadius:
431
398
  theme.shape.borderRadius > 0
432
- ? `calc(${theme.vars.shape.borderRadius} - 4px)`
433
- : theme.vars.shape.borderRadius,
434
- boxShadow: `0px 2px 4px rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.04)`,
399
+ ? theme.shape.borderRadius - 4
400
+ : theme.shape.borderRadius,
401
+ boxShadow: `0px 2px 4px ${alpha(theme.palette.common.black, 0.04)}`,
435
402
  ...rootStyleOverrides?.[`.${tabsClasses.indicator}`],
436
403
  },
437
404
  }
@@ -20,7 +20,7 @@ export const jumperTheme: WidgetTheme = {
20
20
  // 0.04,
21
21
  // ),
22
22
  // color: 'inherit',
23
- // borderRadius: theme.vars.shape.borderRadiusSecondary,
23
+ // borderRadius: theme.shape.borderRadiusSecondary,
24
24
  // '&:hover': {
25
25
  // backgroundColor: alpha(
26
26
  // theme.palette.mode === 'light'
@@ -3,7 +3,6 @@ import type {
3
3
  ComponentsOverrides,
4
4
  ComponentsVariants,
5
5
  } from '@mui/material'
6
- import type {} from '@mui/material/themeCssVarsAugmentation'
7
6
  import type { CSSProperties } from 'react'
8
7
  import type { NavigationProps } from '../types/widget.js'
9
8
 
@@ -47,7 +47,7 @@ export const watermelonLightTheme: WidgetTheme = {
47
47
  // root: ({ theme }) => ({
48
48
  // backgroundColor: alpha(theme.palette.common.white, 0.04),
49
49
  // color: 'inherit',
50
- // borderRadius: theme.vars.shape.borderRadiusSecondary,
50
+ // borderRadius: theme.shape.borderRadiusSecondary,
51
51
  // '&:hover': {
52
52
  // backgroundColor: alpha(
53
53
  // theme.palette.mode === 'light'
@@ -2,6 +2,7 @@ import type {
2
2
  BaseToken,
3
3
  ChainType,
4
4
  ContractCall,
5
+ ExtendedChain,
5
6
  Order,
6
7
  RouteExtended,
7
8
  RouteOptions,
@@ -17,8 +18,14 @@ import type {
17
18
  SxProps,
18
19
  Theme,
19
20
  } from '@mui/material'
20
- import type { TypographyVariantsOptions } from '@mui/material/styles'
21
- import type { CSSProperties, FC, ReactNode, RefObject } from 'react'
21
+ import type { TypographyOptions } from '@mui/material/styles/createTypography.js'
22
+ import type {
23
+ CSSProperties,
24
+ FC,
25
+ MutableRefObject,
26
+ ReactNode,
27
+ RefObject,
28
+ } from 'react'
22
29
  import type {
23
30
  CoinbaseWalletParameters,
24
31
  MetaMaskParameters,
@@ -39,7 +46,7 @@ export interface SubvariantOptions {
39
46
  custom?: CustomSubvariant
40
47
  }
41
48
 
42
- export type Appearance = PaletteMode | 'system'
49
+ export type Appearance = PaletteMode | 'auto'
43
50
  export interface NavigationProps {
44
51
  /**
45
52
  * If given, uses a negative margin to counteract the padding on sides for navigation elements like icon buttons.
@@ -59,29 +66,12 @@ export type WidgetThemeComponents = Pick<
59
66
  >
60
67
 
61
68
  export type WidgetTheme = {
62
- /**
63
- * @deprecated Use `colorScheme` instead.
64
- */
65
69
  palette?: Pick<
66
70
  PaletteOptions,
67
71
  'background' | 'grey' | 'primary' | 'secondary' | 'text'
68
72
  >
69
- colorSchemes?: {
70
- light?: {
71
- palette: Pick<
72
- PaletteOptions,
73
- 'background' | 'grey' | 'primary' | 'secondary' | 'text'
74
- >
75
- }
76
- dark?: {
77
- palette: Pick<
78
- PaletteOptions,
79
- 'background' | 'grey' | 'primary' | 'secondary' | 'text'
80
- >
81
- }
82
- }
83
73
  shape?: Partial<Shape>
84
- typography?: TypographyVariantsOptions
74
+ typography?: TypographyOptions
85
75
  components?: WidgetThemeComponents
86
76
  container?: CSSProperties
87
77
  header?: CSSProperties
@@ -109,6 +99,7 @@ export enum HiddenUI {
109
99
  IntegratorStepDetails = 'integratorStepDetails',
110
100
  ReverseTokensButton = 'reverseTokensButton',
111
101
  RouteTokenDescription = 'routeTokenDescription',
102
+ ChainSelect = 'chainSelect',
112
103
  }
113
104
  export type HiddenUIType = `${HiddenUI}`
114
105
 
@@ -151,10 +142,10 @@ export interface WidgetContractTool {
151
142
  }
152
143
 
153
144
  export interface CalculateFeeParams {
154
- fromChainId: number
155
- toChainId: number
156
- fromTokenAddress: string
157
- toTokenAddress: string
145
+ fromChain: ExtendedChain
146
+ toChain: ExtendedChain
147
+ fromToken: Token
148
+ toToken: Token
158
149
  fromAddress?: string
159
150
  toAddress?: string
160
151
  fromAmount?: bigint
@@ -310,7 +301,7 @@ export type FormState = {
310
301
  setFieldValue: SetFieldValueFunction
311
302
  }
312
303
 
313
- export type FormRef = RefObject<FormState | null>
304
+ export type FormRef = MutableRefObject<FormState | null>
314
305
 
315
306
  export interface FormRefProps {
316
307
  formRef?: FormRef
@@ -0,0 +1,53 @@
1
+ import type { Theme } from '@mui/material'
2
+ import { alpha, decomposeColor, recomposeColor } from '@mui/material'
3
+
4
+ export const getContrastAlphaColor = (theme: Theme, value: number) =>
5
+ theme.palette.mode === 'light'
6
+ ? alpha(theme.palette.common.black, value)
7
+ : alpha(theme.palette.common.white, value)
8
+
9
+ export const getWarningBackgroundColor = (theme: Theme) =>
10
+ theme.palette.mode === 'light'
11
+ ? alpha(theme.palette.warning.main, 0.32)
12
+ : alpha(theme.palette.warning.main, 0.16)
13
+
14
+ export const getInfoBackgroundColor = (theme: Theme) =>
15
+ theme.palette.mode === 'light'
16
+ ? alpha(theme.palette.info.main, 0.12)
17
+ : alpha(theme.palette.info.main, 0.16)
18
+
19
+ /**
20
+ * https://github.com/mui/material-ui/blob/next/packages/mui-system/src/colorManipulator/colorManipulator.js
21
+ * Blend a transparent overlay color with a background color, resulting in a single
22
+ * RGB color.
23
+ * Remove in favor of MUI one once the next major version is released.
24
+ * @param {string} background - CSS color
25
+ * @param {string} overlay - CSS color
26
+ * @param {number} opacity - Opacity multiplier in the range 0 - 1
27
+ * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.
28
+ */
29
+ export function blend(
30
+ background: string,
31
+ overlay: string,
32
+ opacity: number,
33
+ gamma = 1.0
34
+ ) {
35
+ const blendChannel = (b: number, o: number) =>
36
+ Math.round(
37
+ (b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma
38
+ )
39
+
40
+ const backgroundColor = decomposeColor(background)
41
+ const overlayColor = decomposeColor(overlay)
42
+
43
+ const rgb: [number, number, number] = [
44
+ blendChannel(backgroundColor.values[0], overlayColor.values[0]),
45
+ blendChannel(backgroundColor.values[1], overlayColor.values[1]),
46
+ blendChannel(backgroundColor.values[2], overlayColor.values[2]),
47
+ ]
48
+
49
+ return recomposeColor({
50
+ type: 'rgb',
51
+ values: rgb,
52
+ })
53
+ }