@lifi/widget 3.24.3 → 3.25.0-beta.1

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 (390) hide show
  1. package/dist/esm/AppDefault.js +3 -3
  2. package/dist/esm/AppDefault.js.map +1 -1
  3. package/dist/esm/AppDrawer.style.d.ts +1 -1
  4. package/dist/esm/AppProvider.js +2 -2
  5. package/dist/esm/AppProvider.js.map +1 -1
  6. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.js +1 -1
  7. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.js.map +1 -1
  8. package/dist/esm/components/AmountInput/AmountInput.style.js +1 -1
  9. package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -1
  10. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
  11. package/dist/esm/components/AppContainer.js +6 -13
  12. package/dist/esm/components/AppContainer.js.map +1 -1
  13. package/dist/esm/components/Avatar/Avatar.style.js +1 -1
  14. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -1
  15. package/dist/esm/components/ButtonTertiary.d.ts +1 -1
  16. package/dist/esm/components/Card/CardButton.style.js +1 -1
  17. package/dist/esm/components/Card/CardButton.style.js.map +1 -1
  18. package/dist/esm/components/Card/CardHeader.js +1 -1
  19. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  20. package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
  21. package/dist/esm/components/Card/CardLabel.js +1 -1
  22. package/dist/esm/components/Card/CardLabel.js.map +1 -1
  23. package/dist/esm/components/Card/CardTitle.js +1 -1
  24. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  25. package/dist/esm/components/ChainSelect/ChainSelect.js +1 -1
  26. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  27. package/dist/esm/components/ChainSelect/useChainSelect.js +13 -2
  28. package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -1
  29. package/dist/esm/components/Chains/ChainList.d.ts +13 -0
  30. package/dist/esm/components/Chains/ChainList.js +17 -0
  31. package/dist/esm/components/Chains/ChainList.js.map +1 -0
  32. package/dist/esm/components/Chains/ChainList.style.d.ts +14 -0
  33. package/dist/esm/components/Chains/ChainList.style.js +38 -0
  34. package/dist/esm/components/Chains/ChainList.style.js.map +1 -0
  35. package/dist/esm/components/Chains/ChainListItem.d.ts +11 -0
  36. package/dist/esm/components/Chains/ChainListItem.js +11 -0
  37. package/dist/esm/components/Chains/ChainListItem.js.map +1 -0
  38. package/dist/esm/components/Chains/ChainSearchInput.d.ts +10 -0
  39. package/dist/esm/components/Chains/ChainSearchInput.js +19 -0
  40. package/dist/esm/components/Chains/ChainSearchInput.js.map +1 -0
  41. package/dist/esm/components/Chains/ChainsExpanded.d.ts +7 -0
  42. package/dist/esm/components/Chains/ChainsExpanded.js +11 -0
  43. package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -0
  44. package/dist/esm/components/Chains/ChainsExpanded.style.d.ts +6 -0
  45. package/dist/esm/components/Chains/ChainsExpanded.style.js +16 -0
  46. package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -0
  47. package/dist/esm/components/Chains/SelectChainContent.d.ts +9 -0
  48. package/dist/esm/components/Chains/SelectChainContent.js +60 -0
  49. package/dist/esm/components/Chains/SelectChainContent.js.map +1 -0
  50. package/dist/esm/components/Chains/VirtualizedChainList.d.ts +11 -0
  51. package/dist/esm/components/Chains/VirtualizedChainList.js +40 -0
  52. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -0
  53. package/dist/esm/components/Expansion/Expansion.d.ts +1 -0
  54. package/dist/esm/components/Expansion/Expansion.js +41 -0
  55. package/dist/esm/components/Expansion/Expansion.js.map +1 -0
  56. package/dist/esm/components/Expansion/ExpansionTransition.d.ts +9 -0
  57. package/dist/esm/components/Expansion/ExpansionTransition.js +45 -0
  58. package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -0
  59. package/dist/esm/components/Header/Header.js +1 -1
  60. package/dist/esm/components/Header/Header.js.map +1 -1
  61. package/dist/esm/components/Header/Header.style.d.ts +1 -1
  62. package/dist/esm/components/Header/Header.style.js +0 -1
  63. package/dist/esm/components/Header/Header.style.js.map +1 -1
  64. package/dist/esm/components/Header/NavigationHeader.js +2 -2
  65. package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
  66. package/dist/esm/components/Header/SettingsButton.style.d.ts +1 -1
  67. package/dist/esm/components/Header/SettingsButton.style.js +1 -1
  68. package/dist/esm/components/Header/SettingsButton.style.js.map +1 -1
  69. package/dist/esm/components/ListItem/ListItem.js +1 -1
  70. package/dist/esm/components/ListItem/ListItem.js.map +1 -1
  71. package/dist/esm/components/ListItemButton.js +13 -1
  72. package/dist/esm/components/ListItemButton.js.map +1 -1
  73. package/dist/esm/components/ListItemText.js +1 -1
  74. package/dist/esm/components/ListItemText.js.map +1 -1
  75. package/dist/esm/components/ProgressToNextUpdate.js +1 -1
  76. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -1
  77. package/dist/esm/components/RouteCard/RouteCard.js +4 -4
  78. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  79. package/dist/esm/components/RouteCard/RouteCardEssentials.js +5 -5
  80. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  81. package/dist/esm/components/RouteCard/RouteNotFoundCard.js +1 -0
  82. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -1
  83. package/dist/esm/components/RouteCard/getMatchingLabels.js +5 -3
  84. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -1
  85. package/dist/esm/components/Routes/Routes.js +1 -1
  86. package/dist/esm/components/Routes/Routes.js.map +1 -1
  87. package/dist/esm/components/Routes/RoutesContent.d.ts +14 -0
  88. package/dist/esm/components/Routes/RoutesContent.js +55 -0
  89. package/dist/esm/components/Routes/RoutesContent.js.map +1 -0
  90. package/dist/esm/components/Routes/RoutesExpanded.d.ts +7 -2
  91. package/dist/esm/components/Routes/RoutesExpanded.js +12 -70
  92. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  93. package/dist/esm/components/Routes/RoutesExpanded.style.d.ts +1 -3
  94. package/dist/esm/components/Routes/RoutesExpanded.style.js +4 -16
  95. package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -1
  96. package/dist/esm/components/Search/SearchInput.d.ts +5 -2
  97. package/dist/esm/components/Search/SearchInput.js +7 -3
  98. package/dist/esm/components/Search/SearchInput.js.map +1 -1
  99. package/dist/esm/components/Search/SearchInput.style.d.ts +4 -1
  100. package/dist/esm/components/Search/SearchInput.style.js +25 -3
  101. package/dist/esm/components/Search/SearchInput.style.js.map +1 -1
  102. package/dist/esm/components/Search/SearchNotFound.style.js +2 -1
  103. package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -1
  104. package/dist/esm/components/Select.js +1 -1
  105. package/dist/esm/components/Select.js.map +1 -1
  106. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +1 -1
  107. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  108. package/dist/esm/components/SendToWallet/SendToWalletButton.js +2 -7
  109. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  110. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +2 -2
  111. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js +0 -1
  112. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
  113. package/dist/esm/components/Step/CircularProgress.style.js +1 -1
  114. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  115. package/dist/esm/components/StepActions/StepActions.js +3 -3
  116. package/dist/esm/components/StepActions/StepActions.style.js +1 -1
  117. package/dist/esm/components/StepActions/StepActions.style.js.map +1 -1
  118. package/dist/esm/components/TextFitter/TextFitter.js +1 -1
  119. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -1
  120. package/dist/esm/components/Token/Token.js +2 -2
  121. package/dist/esm/components/Token/Token.js.map +1 -1
  122. package/dist/esm/components/Token/Token.style.js +1 -1
  123. package/dist/esm/components/Token/Token.style.js.map +1 -1
  124. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  125. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  126. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js +1 -1
  127. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -1
  128. package/dist/esm/components/TokenList/TokenList.js +3 -3
  129. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  130. package/dist/esm/components/TokenList/TokenList.style.d.ts +2 -1
  131. package/dist/esm/components/TokenList/TokenList.style.js +6 -1
  132. package/dist/esm/components/TokenList/TokenList.style.js.map +1 -1
  133. package/dist/esm/components/TokenList/TokenListItem.js +16 -7
  134. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  135. package/dist/esm/components/TokenList/VirtualizedTokenList.js +13 -7
  136. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  137. package/dist/esm/components/TokenList/types.d.ts +3 -0
  138. package/dist/esm/components/TokenRate/TokenRate.js +1 -1
  139. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
  140. package/dist/esm/components/TokenRate/TokenRate.style.js +1 -1
  141. package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -1
  142. package/dist/esm/components/TransactionDetails.js +7 -9
  143. package/dist/esm/components/TransactionDetails.js.map +1 -1
  144. package/dist/esm/config/version.d.ts +1 -1
  145. package/dist/esm/config/version.js +1 -1
  146. package/dist/esm/config/version.js.map +1 -1
  147. package/dist/esm/hooks/timer/time.js +1 -1
  148. package/dist/esm/hooks/timer/time.js.map +1 -1
  149. package/dist/esm/hooks/timer/useTimer.js.map +1 -1
  150. package/dist/esm/hooks/useAvailableChains.js +3 -2
  151. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  152. package/dist/esm/hooks/useChains.js +4 -4
  153. package/dist/esm/hooks/useChains.js.map +1 -1
  154. package/dist/esm/hooks/useExpansionRoutes.d.ts +2 -0
  155. package/dist/esm/hooks/useExpansionRoutes.js +26 -0
  156. package/dist/esm/hooks/useExpansionRoutes.js.map +1 -0
  157. package/dist/esm/hooks/useHasChainExpansion.d.ts +2 -0
  158. package/dist/esm/hooks/useHasChainExpansion.js +16 -0
  159. package/dist/esm/hooks/useHasChainExpansion.js.map +1 -0
  160. package/dist/esm/hooks/useIsBatchingSupported.js +4 -1
  161. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -1
  162. package/dist/esm/hooks/useListHeight.js +1 -1
  163. package/dist/esm/hooks/useListHeight.js.map +1 -1
  164. package/dist/esm/hooks/useRouteExecution.js +3 -3
  165. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  166. package/dist/esm/hooks/useRoutes.js +6 -3
  167. package/dist/esm/hooks/useRoutes.js.map +1 -1
  168. package/dist/esm/hooks/useToAddressReset.js +10 -2
  169. package/dist/esm/hooks/useToAddressReset.js.map +1 -1
  170. package/dist/esm/hooks/useTokenBalance.js.map +1 -1
  171. package/dist/esm/hooks/useTokenBalances.js +1 -0
  172. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  173. package/dist/esm/hooks/useTokenSearch.js +6 -4
  174. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  175. package/dist/esm/hooks/useTokens.js +5 -3
  176. package/dist/esm/hooks/useTokens.js.map +1 -1
  177. package/dist/esm/hooks/useTools.js +5 -3
  178. package/dist/esm/hooks/useTools.js.map +1 -1
  179. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  180. package/dist/esm/hooks/useWidgetEvents.js.map +1 -1
  181. package/dist/esm/i18n/bn.json +2 -1
  182. package/dist/esm/i18n/de.json +2 -1
  183. package/dist/esm/i18n/en.json +2 -1
  184. package/dist/esm/i18n/es.json +2 -1
  185. package/dist/esm/i18n/fr.json +2 -1
  186. package/dist/esm/i18n/hi.json +1 -0
  187. package/dist/esm/i18n/id.json +2 -1
  188. package/dist/esm/i18n/it.json +2 -1
  189. package/dist/esm/i18n/ja.json +2 -1
  190. package/dist/esm/i18n/ko.json +2 -1
  191. package/dist/esm/i18n/pl.json +350 -0
  192. package/dist/esm/i18n/pt.json +2 -1
  193. package/dist/esm/i18n/th.json +2 -1
  194. package/dist/esm/i18n/tr.json +2 -1
  195. package/dist/esm/i18n/uk.json +14 -13
  196. package/dist/esm/i18n/vi.json +2 -1
  197. package/dist/esm/i18n/zh.json +2 -1
  198. package/dist/esm/index.d.ts +8 -8
  199. package/dist/esm/index.js +8 -8
  200. package/dist/esm/index.js.map +1 -1
  201. package/dist/esm/pages/RoutesPage/RoutesPage.js +1 -1
  202. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  203. package/dist/esm/pages/SelectChainPage/SelectChainPage.js +7 -33
  204. package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  205. package/dist/esm/pages/SelectEnabledToolsPage.js +1 -1
  206. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
  207. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +1 -1
  208. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
  209. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +20 -11
  210. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  211. package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -1
  212. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  213. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +2 -2
  214. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js +1 -1
  215. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -1
  216. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +1 -1
  217. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  218. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +1 -3
  219. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  220. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +1 -1
  221. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  222. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js +8 -5
  223. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  224. package/dist/esm/pages/TransactionPage/RouteTracker.js +2 -2
  225. package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -1
  226. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +4 -4
  227. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  228. package/dist/esm/providers/I18nProvider/I18nProvider.js +8 -4
  229. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  230. package/dist/esm/providers/QueryClientProvider.js.map +1 -1
  231. package/dist/esm/providers/WalletProvider/SDKProviders.js +1 -1
  232. package/dist/esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  233. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js +1 -1
  234. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js.map +1 -1
  235. package/dist/esm/providers/WalletProvider/WalletProvider.js +1 -1
  236. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +1 -1
  237. package/dist/esm/stores/chains/ChainOrderStore.js +5 -3
  238. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  239. package/dist/esm/stores/form/FormStore.js +1 -1
  240. package/dist/esm/stores/form/FormStore.js.map +1 -1
  241. package/dist/esm/stores/form/FormUpdater.js +21 -5
  242. package/dist/esm/stores/form/FormUpdater.js.map +1 -1
  243. package/dist/esm/stores/form/URLSearchParamsBuilder.js +1 -1
  244. package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
  245. package/dist/esm/stores/form/useFormRef.js.map +1 -1
  246. package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -1
  247. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  248. package/dist/esm/stores/settings/useSettingsStore.js.map +1 -1
  249. package/dist/esm/types/widget.d.ts +25 -6
  250. package/dist/esm/types/widget.js +6 -0
  251. package/dist/esm/types/widget.js.map +1 -1
  252. package/dist/esm/utils/deepEqual.js +2 -2
  253. package/dist/esm/utils/deepEqual.js.map +1 -1
  254. package/dist/esm/utils/item.d.ts +5 -15
  255. package/dist/esm/utils/item.js +23 -19
  256. package/dist/esm/utils/item.js.map +1 -1
  257. package/dist/esm/utils/widgetSize.d.ts +3 -0
  258. package/dist/esm/utils/widgetSize.js +11 -0
  259. package/dist/esm/utils/widgetSize.js.map +1 -0
  260. package/package.json +7 -6
  261. package/package.json.tmp +12 -6
  262. package/src/AppDefault.tsx +3 -3
  263. package/src/AppProvider.tsx +2 -2
  264. package/src/components/ActiveTransactions/ActiveTransactions.style.ts +1 -1
  265. package/src/components/AmountInput/AmountInput.style.tsx +1 -1
  266. package/src/components/AppContainer.tsx +6 -14
  267. package/src/components/Avatar/Avatar.style.tsx +2 -2
  268. package/src/components/Card/CardButton.style.tsx +1 -1
  269. package/src/components/Card/CardHeader.tsx +1 -1
  270. package/src/components/Card/CardLabel.tsx +1 -1
  271. package/src/components/Card/CardTitle.tsx +1 -1
  272. package/src/components/ChainSelect/ChainSelect.tsx +1 -1
  273. package/src/components/ChainSelect/useChainSelect.ts +37 -23
  274. package/src/components/Chains/ChainList.style.tsx +59 -0
  275. package/src/components/Chains/ChainList.tsx +86 -0
  276. package/src/components/Chains/ChainListItem.tsx +52 -0
  277. package/src/components/Chains/ChainSearchInput.tsx +52 -0
  278. package/src/components/Chains/ChainsExpanded.style.tsx +21 -0
  279. package/src/components/Chains/ChainsExpanded.tsx +28 -0
  280. package/src/components/Chains/SelectChainContent.tsx +116 -0
  281. package/src/components/Chains/VirtualizedChainList.tsx +84 -0
  282. package/src/components/Expansion/Expansion.tsx +62 -0
  283. package/src/components/Expansion/ExpansionTransition.tsx +76 -0
  284. package/src/components/Header/Header.style.ts +0 -1
  285. package/src/components/Header/Header.tsx +1 -1
  286. package/src/components/Header/NavigationHeader.tsx +2 -2
  287. package/src/components/Header/SettingsButton.style.tsx +1 -1
  288. package/src/components/ListItem/ListItem.tsx +1 -1
  289. package/src/components/ListItemButton.tsx +17 -1
  290. package/src/components/ListItemText.tsx +1 -1
  291. package/src/components/ProgressToNextUpdate.tsx +1 -1
  292. package/src/components/RouteCard/RouteCard.tsx +4 -4
  293. package/src/components/RouteCard/RouteCardEssentials.tsx +5 -5
  294. package/src/components/RouteCard/RouteNotFoundCard.tsx +1 -0
  295. package/src/components/RouteCard/getMatchingLabels.ts +11 -3
  296. package/src/components/Routes/Routes.tsx +1 -1
  297. package/src/components/Routes/RoutesContent.tsx +137 -0
  298. package/src/components/Routes/RoutesExpanded.style.ts +4 -18
  299. package/src/components/Routes/RoutesExpanded.tsx +33 -158
  300. package/src/components/Search/SearchInput.style.tsx +36 -3
  301. package/src/components/Search/SearchInput.tsx +31 -5
  302. package/src/components/Search/SearchNotFound.style.tsx +2 -1
  303. package/src/components/Select.tsx +1 -1
  304. package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +1 -1
  305. package/src/components/SendToWallet/SendToWalletButton.tsx +2 -3
  306. package/src/components/Skeleton/WidgetSkeleton.style.tsx +0 -1
  307. package/src/components/Step/CircularProgress.style.tsx +1 -1
  308. package/src/components/StepActions/StepActions.style.tsx +1 -1
  309. package/src/components/StepActions/StepActions.tsx +3 -3
  310. package/src/components/TextFitter/TextFitter.tsx +1 -1
  311. package/src/components/Token/Token.style.tsx +1 -1
  312. package/src/components/Token/Token.tsx +2 -2
  313. package/src/components/TokenList/TokenDetailsSheet.tsx +1 -0
  314. package/src/components/TokenList/TokenDetailsSheetContent.style.tsx +1 -1
  315. package/src/components/TokenList/TokenDetailsSheetContent.tsx +1 -1
  316. package/src/components/TokenList/TokenList.style.tsx +11 -1
  317. package/src/components/TokenList/TokenList.tsx +6 -2
  318. package/src/components/TokenList/TokenListItem.tsx +53 -37
  319. package/src/components/TokenList/VirtualizedTokenList.tsx +17 -5
  320. package/src/components/TokenList/types.ts +3 -0
  321. package/src/components/TokenRate/TokenRate.style.ts +1 -1
  322. package/src/components/TokenRate/TokenRate.tsx +1 -1
  323. package/src/components/TransactionDetails.tsx +9 -9
  324. package/src/config/version.ts +1 -1
  325. package/src/hooks/timer/time.ts +1 -1
  326. package/src/hooks/timer/useTimer.ts +1 -1
  327. package/src/hooks/useAvailableChains.ts +8 -2
  328. package/src/hooks/useChains.ts +10 -4
  329. package/src/hooks/useExpansionRoutes.ts +29 -0
  330. package/src/hooks/useHasChainExpansion.ts +19 -0
  331. package/src/hooks/useIsBatchingSupported.ts +5 -2
  332. package/src/hooks/useListHeight.ts +1 -1
  333. package/src/hooks/useRouteExecution.ts +3 -3
  334. package/src/hooks/useRoutes.ts +8 -2
  335. package/src/hooks/useToAddressReset.ts +32 -21
  336. package/src/hooks/useTokenBalance.ts +1 -1
  337. package/src/hooks/useTokenBalances.ts +1 -0
  338. package/src/hooks/useTokenSearch.ts +23 -6
  339. package/src/hooks/useTokens.ts +16 -6
  340. package/src/hooks/useTools.ts +12 -4
  341. package/src/hooks/useTransactionDetails.ts +1 -1
  342. package/src/hooks/useWidgetEvents.ts +1 -0
  343. package/src/i18n/bn.json +2 -1
  344. package/src/i18n/de.json +2 -1
  345. package/src/i18n/en.json +2 -1
  346. package/src/i18n/es.json +2 -1
  347. package/src/i18n/fr.json +2 -1
  348. package/src/i18n/hi.json +1 -0
  349. package/src/i18n/id.json +2 -1
  350. package/src/i18n/it.json +2 -1
  351. package/src/i18n/ja.json +2 -1
  352. package/src/i18n/ko.json +2 -1
  353. package/src/i18n/pl.json +350 -0
  354. package/src/i18n/pt.json +2 -1
  355. package/src/i18n/th.json +2 -1
  356. package/src/i18n/tr.json +2 -1
  357. package/src/i18n/uk.json +14 -13
  358. package/src/i18n/vi.json +2 -1
  359. package/src/i18n/zh.json +2 -1
  360. package/src/index.ts +8 -8
  361. package/src/pages/RoutesPage/RoutesPage.tsx +1 -1
  362. package/src/pages/SelectChainPage/SelectChainPage.tsx +18 -71
  363. package/src/pages/SelectEnabledToolsPage.tsx +1 -1
  364. package/src/pages/SelectTokenPage/SearchTokenInput.tsx +2 -0
  365. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +44 -22
  366. package/src/pages/SendToWallet/BookmarksPage.tsx +1 -1
  367. package/src/pages/SendToWallet/SendToWalletPage.style.tsx +3 -3
  368. package/src/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +1 -1
  369. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +1 -1
  370. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +1 -1
  371. package/src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +12 -7
  372. package/src/pages/TransactionPage/RouteTracker.tsx +2 -2
  373. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +4 -4
  374. package/src/providers/I18nProvider/I18nProvider.tsx +10 -4
  375. package/src/providers/QueryClientProvider.tsx +1 -1
  376. package/src/providers/WalletProvider/SDKProviders.tsx +1 -1
  377. package/src/providers/WalletProvider/SuiBaseProvider.tsx +1 -1
  378. package/src/providers/WalletProvider/WalletProvider.tsx +1 -1
  379. package/src/providers/WalletProvider/useExternalWalletProvider.ts +1 -1
  380. package/src/stores/chains/ChainOrderStore.tsx +8 -3
  381. package/src/stores/form/FormStore.tsx +1 -1
  382. package/src/stores/form/FormUpdater.tsx +40 -6
  383. package/src/stores/form/URLSearchParamsBuilder.tsx +1 -1
  384. package/src/stores/form/useFormRef.ts +50 -54
  385. package/src/stores/routes/createRouteExecutionStore.ts +1 -1
  386. package/src/stores/settings/useSettingsStore.ts +1 -0
  387. package/src/types/widget.ts +29 -6
  388. package/src/utils/deepEqual.ts +2 -2
  389. package/src/utils/item.ts +46 -40
  390. package/src/utils/widgetSize.ts +17 -0
@@ -36,9 +36,13 @@ export type WidgetVariant = 'compact' | 'wide' | 'drawer'
36
36
  export type WidgetSubvariant = 'default' | 'split' | 'custom' | 'refuel'
37
37
  export type SplitSubvariant = 'bridge' | 'swap'
38
38
  export type CustomSubvariant = 'checkout' | 'deposit'
39
+ export type WideSubvariant = {
40
+ enableChainSidebar?: boolean
41
+ }
39
42
  export interface SubvariantOptions {
40
43
  split?: SplitSubvariant
41
44
  custom?: CustomSubvariant
45
+ wide?: WideSubvariant
42
46
  }
43
47
 
44
48
  export type Appearance = PaletteMode | 'system'
@@ -117,6 +121,7 @@ export type RequiredUIType = `${RequiredUI}`
117
121
 
118
122
  export type DefaultUI = {
119
123
  transactionDetailsExpanded?: boolean
124
+ navigationHeaderTitleNoWrap?: boolean
120
125
  }
121
126
 
122
127
  export interface WidgetWalletConfig {
@@ -209,19 +214,31 @@ export interface AllowDeny<T> {
209
214
  deny?: T[]
210
215
  }
211
216
 
217
+ export type AllowDenySetItem = string | number
218
+ export interface AllowDenySet {
219
+ allow?: Set<AllowDenySetItem>
220
+ deny?: Set<AllowDenySetItem>
221
+ }
222
+
223
+ export type AllowDenySets = {
224
+ from?: AllowDenySet
225
+ to?: AllowDenySet
226
+ } & AllowDenySet
227
+
228
+ export type AllowDenyItems<T> = {
229
+ from?: AllowDeny<T>
230
+ to?: AllowDeny<T>
231
+ } & AllowDeny<T>
232
+
212
233
  export type WidgetChains = {
213
- from?: AllowDeny<number>
214
- to?: AllowDeny<number>
215
234
  types?: AllowDeny<ChainType>
216
- } & AllowDeny<number>
235
+ } & AllowDenyItems<number>
217
236
 
218
237
  export type WidgetTokens = {
219
238
  featured?: StaticToken[]
220
239
  include?: Token[]
221
240
  popular?: StaticToken[]
222
- from?: AllowDeny<BaseToken>
223
- to?: AllowDeny<BaseToken>
224
- } & AllowDeny<BaseToken>
241
+ } & AllowDenyItems<BaseToken>
225
242
 
226
243
  export type WidgetLanguages = {
227
244
  default?: LanguageKey
@@ -364,3 +381,9 @@ export interface WidgetDrawerProps extends WidgetConfigPartialProps {
364
381
  */
365
382
  onClose?(): void
366
383
  }
384
+
385
+ export enum ExpansionType {
386
+ Routes = 'routes',
387
+ FromChain = 'fromChain',
388
+ ToChain = 'toChain',
389
+ }
@@ -40,7 +40,7 @@ export function deepEqual(a: any, b: any) {
40
40
  }
41
41
 
42
42
  for (i = length; i-- !== 0; ) {
43
- if (!Object.prototype.hasOwnProperty.call(b, keys[i]!)) {
43
+ if (!Object.hasOwn(b, keys[i]!)) {
44
44
  return false
45
45
  }
46
46
  }
@@ -57,6 +57,6 @@ export function deepEqual(a: any, b: any) {
57
57
  }
58
58
 
59
59
  // true if both NaN, false otherwise
60
- // biome-ignore lint/suspicious/noSelfCompare: <explanation>
60
+ // biome-ignore lint/suspicious/noSelfCompare: allowed in typescript
61
61
  return a !== a && b !== b
62
62
  }
package/src/utils/item.ts CHANGED
@@ -1,59 +1,65 @@
1
- import type { BaseToken } from '@lifi/sdk'
2
1
  import type { FormType } from '../stores/form/types.js'
3
- import type { AllowDeny, WidgetTokens } from '../types/widget.js'
4
-
5
- type IncludesFn<T> = (list: T[], item: T) => boolean
2
+ import type {
3
+ AllowDeny,
4
+ AllowDenyItems,
5
+ AllowDenySet,
6
+ AllowDenySetItem,
7
+ AllowDenySets,
8
+ } from '../types/widget.js'
6
9
 
10
+ // Use for a single item check
7
11
  export const isItemAllowed = <T>(
8
12
  item: T,
9
- items?: AllowDeny<T>,
10
- includes: IncludesFn<T> = (list, val) => list.includes(val)
13
+ items: AllowDeny<T> | undefined
11
14
  ): boolean => {
12
15
  if (items?.allow?.length) {
13
- return includes(items.allow, item)
16
+ return items.allow.includes(item)
14
17
  }
15
-
16
- return !includes(items?.deny ?? [], item)
18
+ return !items?.deny?.includes(item)
17
19
  }
18
20
 
19
- const tokenIncludes = (list: BaseToken[], item: BaseToken) =>
20
- list.some((t) => t.address === item.address && t.chainId === item.chainId)
21
-
22
- export const isTokenAllowed = (
23
- token: BaseToken,
24
- configTokens: WidgetTokens | undefined,
25
- formType: FormType | undefined
26
- ) => {
27
- return (
28
- isItemAllowed(token, configTokens, tokenIncludes) &&
29
- (formType
30
- ? isItemAllowed(token, configTokens?.[formType], tokenIncludes)
31
- : true)
32
- )
21
+ // Use for a O(1) set lookup of multiple items check
22
+ export const isItemAllowedForSets = <T>(
23
+ item: T,
24
+ items: AllowDenySet | undefined,
25
+ getKey?: (item: T) => AllowDenySetItem
26
+ ): boolean => {
27
+ if (items?.allow?.size) {
28
+ return items.allow.has(getKey?.(item) ?? (item as AllowDenySetItem))
29
+ }
30
+ return !items?.deny?.has(getKey?.(item) ?? (item as AllowDenySetItem))
33
31
  }
34
32
 
35
- export const filterConfigTokensByChain = (
36
- configTokens: WidgetTokens | undefined,
37
- formType: FormType | undefined,
38
- chainId: number
39
- ) => {
40
- if (!configTokens) {
41
- return configTokens
33
+ export const getConfigItemSets = <T>(
34
+ items: AllowDenyItems<T> | undefined,
35
+ getSet: (items: T[]) => Set<AllowDenySetItem>,
36
+ formType?: FormType
37
+ ): AllowDenySets | undefined => {
38
+ if (!items) {
39
+ return undefined
42
40
  }
43
-
44
41
  return {
45
- ...configTokens,
46
- allow: configTokens.allow?.filter((t) => t.chainId === chainId) ?? [],
47
- deny: configTokens.deny?.filter((t) => t.chainId === chainId) ?? [],
42
+ allow: getSet(items.allow ?? []),
43
+ deny: getSet(items.deny ?? []),
48
44
  ...(formType && {
49
45
  [formType]: {
50
- allow:
51
- configTokens[formType]?.allow?.filter((t) => t.chainId === chainId) ??
52
- [],
53
- deny:
54
- configTokens[formType]?.deny?.filter((t) => t.chainId === chainId) ??
55
- [],
46
+ allow: getSet(items[formType]?.allow ?? []),
47
+ deny: getSet(items[formType]?.deny ?? []),
56
48
  },
57
49
  }),
58
50
  }
59
51
  }
52
+
53
+ export const isFormItemAllowed = <T>(
54
+ item: T,
55
+ configTokens: AllowDenySets | undefined,
56
+ formType?: FormType,
57
+ getKey?: (item: T) => AllowDenySetItem
58
+ ) => {
59
+ return (
60
+ isItemAllowedForSets(item, configTokens, getKey) &&
61
+ (formType
62
+ ? isItemAllowedForSets(item, configTokens?.[formType], getKey)
63
+ : true)
64
+ )
65
+ }
@@ -0,0 +1,17 @@
1
+ import type { Theme } from '@mui/material'
2
+ import { defaultMaxHeight } from '../config/constants'
3
+ import type { WidgetTheme } from '../types/widget'
4
+
5
+ export const getWidgetMaxHeight = (
6
+ theme: Theme | WidgetTheme | undefined
7
+ ): number | string => {
8
+ if (theme?.container?.maxHeight) {
9
+ return theme?.container?.maxHeight
10
+ }
11
+
12
+ if (theme?.container?.height && theme?.container?.height !== 'fit-content') {
13
+ return theme?.container?.height
14
+ }
15
+
16
+ return defaultMaxHeight
17
+ }