@lifi/widget 4.0.0 → 4.1.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 (324) hide show
  1. package/dist/esm/App.d.ts +4 -2
  2. package/dist/esm/App.d.ts.map +1 -1
  3. package/dist/esm/App.js +4 -4
  4. package/dist/esm/App.js.map +1 -1
  5. package/dist/esm/AppDrawer.d.ts +1 -1
  6. package/dist/esm/AppDrawer.d.ts.map +1 -1
  7. package/dist/esm/AppDrawer.js +5 -6
  8. package/dist/esm/AppDrawer.js.map +1 -1
  9. package/dist/esm/AppDrawerContext.js +2 -2
  10. package/dist/esm/AppDrawerContext.js.map +1 -1
  11. package/dist/esm/components/ActionRow/ActionRow.style.js.map +1 -1
  12. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
  13. package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -1
  14. package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js.map +1 -1
  15. package/dist/esm/components/AmountInput/PriceFormHelperText.style.js.map +1 -1
  16. package/dist/esm/components/AppContainer.js.map +1 -1
  17. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
  18. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -1
  19. package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -1
  20. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +1 -0
  21. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  22. package/dist/esm/components/BottomSheet/BottomSheet.js +3 -3
  23. package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -1
  24. package/dist/esm/components/ButtonTertiary.js.map +1 -1
  25. package/dist/esm/components/Card/Card.js.map +1 -1
  26. package/dist/esm/components/Card/CardButton.style.js.map +1 -1
  27. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  28. package/dist/esm/components/Card/CardIconButton.js.map +1 -1
  29. package/dist/esm/components/Card/CardLabel.js.map +1 -1
  30. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  31. package/dist/esm/components/Card/InputCard.js.map +1 -1
  32. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  33. package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -1
  34. package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -1
  35. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -1
  36. package/dist/esm/components/Chains/ChainList.js.map +1 -1
  37. package/dist/esm/components/Chains/ChainList.style.js.map +1 -1
  38. package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -1
  39. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  40. package/dist/esm/components/ContextMenu.style.js.map +1 -1
  41. package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -1
  42. package/dist/esm/components/Dialog/Dialog.style.js.map +1 -1
  43. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js.map +1 -1
  44. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -1
  45. package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js.map +1 -1
  46. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
  47. package/dist/esm/components/Expansion/Expansion.style.js.map +1 -1
  48. package/dist/esm/components/Header/ActivitiesButton.style.js.map +1 -1
  49. package/dist/esm/components/Header/CloseDrawerButton.js +1 -0
  50. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
  51. package/dist/esm/components/Header/Header.js +7 -10
  52. package/dist/esm/components/Header/Header.js.map +1 -1
  53. package/dist/esm/components/Header/Header.style.js.map +1 -1
  54. package/dist/esm/components/Header/HeaderNavigationTabs.js +26 -0
  55. package/dist/esm/components/Header/HeaderNavigationTabs.js.map +1 -0
  56. package/dist/esm/components/Header/HeaderTabs.js +33 -0
  57. package/dist/esm/components/Header/HeaderTabs.js.map +1 -0
  58. package/dist/esm/components/Header/NavigationHeader.js +7 -5
  59. package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
  60. package/dist/esm/components/Header/SettingsButton.style.js.map +1 -1
  61. package/dist/esm/components/Header/WalletMenu.style.js.map +1 -1
  62. package/dist/esm/components/IconCircle/IconCircle.style.js.map +1 -1
  63. package/dist/esm/components/IconTypography.js.map +1 -1
  64. package/dist/esm/components/Input.js.map +1 -1
  65. package/dist/esm/components/ListItem/ListItem.js.map +1 -1
  66. package/dist/esm/components/ListItem/ListItemButton.js.map +1 -1
  67. package/dist/esm/components/ListItemButton.js.map +1 -1
  68. package/dist/esm/components/ListItemText.js.map +1 -1
  69. package/dist/esm/components/Menu.js.map +1 -1
  70. package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -1
  71. package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -1
  72. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  73. package/dist/esm/components/PageContainer.js.map +1 -1
  74. package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -1
  75. package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -1
  76. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +1 -0
  77. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  78. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -1
  79. package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -1
  80. package/dist/esm/components/RouteCard/RouteDetails.style.js +2 -2
  81. package/dist/esm/components/RouteCard/RouteDetails.style.js.map +1 -1
  82. package/dist/esm/components/RouteCard/RouteToken.style.js.map +1 -1
  83. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
  84. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -1
  85. package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
  86. package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -1
  87. package/dist/esm/components/Search/SearchInput.style.js.map +1 -1
  88. package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -1
  89. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -1
  90. package/dist/esm/components/SendToWallet/SendToWalletButton.style.js.map +1 -1
  91. package/dist/esm/components/SettingsListItemButton.js.map +1 -1
  92. package/dist/esm/components/Skeleton/WidgetSkeleton.js +50 -47
  93. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
  94. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
  95. package/dist/esm/components/Step/StepActions.js.map +1 -1
  96. package/dist/esm/components/Step/StepActions.style.js.map +1 -1
  97. package/dist/esm/components/StepActions/SentToWalletRow.style.js.map +1 -1
  98. package/dist/esm/components/StepActions/StepActionRow.style.js.map +1 -1
  99. package/dist/esm/components/Switch.js.map +1 -1
  100. package/dist/esm/components/Tabs/NavigationTabs.js +3 -0
  101. package/dist/esm/components/Tabs/NavigationTabs.js.map +1 -1
  102. package/dist/esm/components/Tabs/Tabs.style.js.map +1 -1
  103. package/dist/esm/components/Timer/StepStatusTimer.style.js.map +1 -1
  104. package/dist/esm/components/Token/Token.style.js.map +1 -1
  105. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -1
  106. package/dist/esm/components/TokenList/TokenDetailsSheet.js +4 -4
  107. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  108. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +4 -4
  109. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  110. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -1
  111. package/dist/esm/components/TokenList/TokenList.style.js.map +1 -1
  112. package/dist/esm/components/TokenList/TokenListItem.js +2 -2
  113. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  114. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  115. package/dist/esm/components/TokenList/useTokenSelect.js +3 -3
  116. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
  117. package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -1
  118. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
  119. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
  120. package/dist/esm/components/TransactionCard/TransactionCard.style.js.map +1 -1
  121. package/dist/esm/config/version.d.ts +1 -1
  122. package/dist/esm/config/version.js +1 -1
  123. package/dist/esm/config/version.js.map +1 -1
  124. package/dist/esm/hooks/timer/validate.js.map +1 -1
  125. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -1
  126. package/dist/esm/hooks/useAvailableChains.js +1 -1
  127. package/dist/esm/hooks/useChainSearch.js.map +1 -1
  128. package/dist/esm/hooks/useChains.js +1 -1
  129. package/dist/esm/hooks/useExplorer.js.map +1 -1
  130. package/dist/esm/hooks/useFilteredByTokenBalances.js +1 -1
  131. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -1
  132. package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -1
  133. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  134. package/dist/esm/hooks/useLanguages.js +2 -2
  135. package/dist/esm/hooks/useLanguages.js.map +1 -1
  136. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  137. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
  138. package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -1
  139. package/dist/esm/hooks/useRoutes.js.map +1 -1
  140. package/dist/esm/hooks/useSwapOnly.js +2 -4
  141. package/dist/esm/hooks/useSwapOnly.js.map +1 -1
  142. package/dist/esm/hooks/useToAddressRequirements.js +2 -2
  143. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  144. package/dist/esm/hooks/useToken.js.map +1 -1
  145. package/dist/esm/hooks/useTokenBalance.js.map +1 -1
  146. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  147. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
  148. package/dist/esm/hooks/useTokenSearch.js +1 -1
  149. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  150. package/dist/esm/hooks/useTokens.js +1 -1
  151. package/dist/esm/hooks/useTokens.js.map +1 -1
  152. package/dist/esm/hooks/useTools.js +1 -1
  153. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  154. package/dist/esm/hooks/useTransactionHistory.js.map +1 -1
  155. package/dist/esm/hooks/useTransactionList.js.map +1 -1
  156. package/dist/esm/i18n/en.json +3 -0
  157. package/dist/esm/index.d.ts +2 -2
  158. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
  159. package/dist/esm/pages/MainPage/ReviewButton.js +2 -2
  160. package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
  161. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  162. package/dist/esm/pages/RoutesPage/RoutesPage.style.js.map +1 -1
  163. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
  164. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +3 -3
  165. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  166. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +3 -3
  167. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  168. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  169. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -1
  170. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  171. package/dist/esm/pages/SettingsPage/GasPriceSettings.js +1 -1
  172. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -1
  173. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +1 -1
  174. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
  175. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +3 -3
  176. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  177. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +3 -3
  178. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -1
  179. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
  180. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  181. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js.map +1 -1
  182. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  183. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
  184. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +3 -3
  185. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
  186. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +16 -15
  187. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  188. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js.map +1 -1
  189. package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -1
  190. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +3 -3
  191. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  192. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js.map +1 -1
  193. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +27 -31
  194. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
  195. package/dist/esm/pages/TransactionPage/utils.js.map +1 -1
  196. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  197. package/dist/esm/providers/I18nProvider/i18n.js.map +1 -1
  198. package/dist/esm/providers/QueryClientProvider.js +2 -2
  199. package/dist/esm/providers/QueryClientProvider.js.map +1 -1
  200. package/dist/esm/providers/SDKClientProvider.js +26 -27
  201. package/dist/esm/providers/SDKClientProvider.js.map +1 -1
  202. package/dist/esm/providers/WidgetProvider/WidgetProvider.js +25 -27
  203. package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  204. package/dist/esm/stores/StoreProvider.js +3 -4
  205. package/dist/esm/stores/StoreProvider.js.map +1 -1
  206. package/dist/esm/stores/bookmarks/BookmarkStore.js +3 -3
  207. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -1
  208. package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -1
  209. package/dist/esm/stores/chains/ChainOrderStore.js +4 -4
  210. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  211. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
  212. package/dist/esm/stores/form/FormStore.js +1 -1
  213. package/dist/esm/stores/form/FormStore.js.map +1 -1
  214. package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
  215. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  216. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -1
  217. package/dist/esm/stores/form/useFieldActions.js.map +1 -1
  218. package/dist/esm/stores/form/useFieldValues.js.map +1 -1
  219. package/dist/esm/stores/form/useFormRef.js.map +1 -1
  220. package/dist/esm/stores/form/useFormStore.js +2 -2
  221. package/dist/esm/stores/form/useFormStore.js.map +1 -1
  222. package/dist/esm/stores/header/useHeaderStore.js +3 -3
  223. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  224. package/dist/esm/stores/inputMode/useInputModeStore.js.map +1 -1
  225. package/dist/esm/stores/navigationTabs/useNavigationTabLabel.js +22 -0
  226. package/dist/esm/stores/navigationTabs/useNavigationTabLabel.js.map +1 -0
  227. package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js +62 -0
  228. package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js.map +1 -0
  229. package/dist/esm/stores/navigationTabs/utils.js +92 -0
  230. package/dist/esm/stores/navigationTabs/utils.js.map +1 -0
  231. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +3 -3
  232. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -1
  233. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -1
  234. package/dist/esm/stores/routes/RouteExecutionStore.js +3 -3
  235. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
  236. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  237. package/dist/esm/stores/routes/useIntermediateRoutesStore.js.map +1 -1
  238. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
  239. package/dist/esm/stores/routes/utils.js.map +1 -1
  240. package/dist/esm/stores/settings/SettingsStore.js +3 -3
  241. package/dist/esm/stores/settings/SettingsStore.js.map +1 -1
  242. package/dist/esm/stores/settings/createSettingsStore.js +122 -96
  243. package/dist/esm/stores/settings/createSettingsStore.js.map +1 -1
  244. package/dist/esm/stores/settings/types.d.ts +0 -2
  245. package/dist/esm/stores/settings/types.d.ts.map +1 -1
  246. package/dist/esm/stores/settings/types.js.map +1 -1
  247. package/dist/esm/stores/settings/useSettingsActions.js.map +1 -1
  248. package/dist/esm/themes/createTheme.js.map +1 -1
  249. package/dist/esm/themes/utils.js.map +1 -1
  250. package/dist/esm/types/widget.d.ts +19 -2
  251. package/dist/esm/types/widget.d.ts.map +1 -1
  252. package/dist/esm/types/widget.js.map +1 -1
  253. package/dist/esm/utils/compactNumberFormatter.js.map +1 -1
  254. package/dist/esm/utils/converters.js.map +1 -1
  255. package/dist/esm/utils/deepEqual.js.map +1 -1
  256. package/dist/esm/utils/fees.js.map +1 -1
  257. package/dist/esm/utils/format.js.map +1 -1
  258. package/dist/esm/utils/getActionMessage.js.map +1 -1
  259. package/dist/esm/utils/getErrorMessage.js.map +1 -1
  260. package/dist/esm/utils/item.js.map +1 -1
  261. package/dist/esm/utils/{variant.js → mode.js} +2 -2
  262. package/dist/esm/utils/mode.js.map +1 -0
  263. package/dist/esm/utils/prepareActions.js +1 -1
  264. package/dist/esm/utils/prepareActions.js.map +1 -1
  265. package/dist/esm/utils/timer.js.map +1 -1
  266. package/dist/esm/utils/token.js +1 -1
  267. package/dist/esm/utils/token.js.map +1 -1
  268. package/dist/esm/utils/tokenList.js.map +1 -1
  269. package/package.json +11 -11
  270. package/src/App.tsx +7 -7
  271. package/src/AppDrawer.tsx +77 -78
  272. package/src/AppDrawerContext.ts +2 -2
  273. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +1 -0
  274. package/src/components/BottomSheet/BottomSheet.tsx +56 -52
  275. package/src/components/Header/CloseDrawerButton.tsx +5 -1
  276. package/src/components/Header/Header.tsx +20 -18
  277. package/src/components/Header/HeaderNavigationTabs.tsx +25 -0
  278. package/src/components/Header/HeaderTabs.tsx +48 -0
  279. package/src/components/Header/NavigationHeader.tsx +11 -8
  280. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +4 -1
  281. package/src/components/Skeleton/WidgetSkeleton.tsx +1 -1
  282. package/src/components/Tabs/NavigationTabs.tsx +3 -0
  283. package/src/components/TokenList/TokenDetailsSheet.tsx +9 -7
  284. package/src/components/TokenList/TokenDetailsSheetContent.tsx +176 -177
  285. package/src/components/TokenList/useTokenSelect.ts +2 -2
  286. package/src/config/version.ts +1 -1
  287. package/src/hooks/useSwapOnly.ts +2 -5
  288. package/src/hooks/useToAddressRequirements.ts +2 -2
  289. package/src/pages/MainPage/ReviewButton.tsx +2 -2
  290. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +176 -185
  291. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +9 -6
  292. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +58 -65
  293. package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +4 -4
  294. package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +9 -6
  295. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +53 -58
  296. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +24 -21
  297. package/src/pages/TransactionPage/TransactionExecutionContent.tsx +8 -6
  298. package/src/providers/QueryClientProvider.tsx +2 -2
  299. package/src/providers/SDKClientProvider.tsx +3 -7
  300. package/src/providers/WidgetProvider/WidgetProvider.tsx +6 -7
  301. package/src/stores/StoreProvider.tsx +3 -10
  302. package/src/stores/bookmarks/BookmarkStore.tsx +4 -4
  303. package/src/stores/chains/ChainOrderStore.tsx +4 -4
  304. package/src/stores/form/FormStore.tsx +2 -2
  305. package/src/stores/form/useFormStore.ts +2 -2
  306. package/src/stores/header/useHeaderStore.tsx +3 -5
  307. package/src/stores/navigationTabs/types.ts +27 -0
  308. package/src/stores/navigationTabs/useNavigationTabLabel.ts +28 -0
  309. package/src/stores/navigationTabs/useNavigationTabsStore.tsx +108 -0
  310. package/src/stores/navigationTabs/utils.ts +134 -0
  311. package/src/stores/pinnedTokens/PinnedTokensStore.tsx +4 -4
  312. package/src/stores/routes/RouteExecutionStore.tsx +4 -4
  313. package/src/stores/settings/SettingsStore.tsx +4 -4
  314. package/src/stores/settings/createSettingsStore.ts +48 -12
  315. package/src/stores/settings/types.ts +1 -16
  316. package/src/types/widget.ts +31 -1
  317. package/dist/esm/components/Header/SplitNavigationTabs.js +0 -33
  318. package/dist/esm/components/Header/SplitNavigationTabs.js.map +0 -1
  319. package/dist/esm/stores/settings/useSplitModeStore.js +0 -36
  320. package/dist/esm/stores/settings/useSplitModeStore.js.map +0 -1
  321. package/dist/esm/utils/variant.js.map +0 -1
  322. package/src/components/Header/SplitNavigationTabs.tsx +0 -32
  323. package/src/stores/settings/useSplitModeStore.tsx +0 -58
  324. /package/src/utils/{variant.ts → mode.ts} +0 -0
@@ -2,13 +2,8 @@ import ErrorIcon from '@mui/icons-material/Error'
2
2
  import TurnedIn from '@mui/icons-material/TurnedIn'
3
3
  import WarningRounded from '@mui/icons-material/WarningRounded'
4
4
  import { Button, Typography } from '@mui/material'
5
- import type { ChangeEvent, RefObject } from 'react'
6
- import {
7
- type ForwardRefExoticComponent,
8
- forwardRef,
9
- type RefAttributes,
10
- useState,
11
- } from 'react'
5
+ import type { ChangeEvent, JSX, Ref, RefObject } from 'react'
6
+ import { useState } from 'react'
12
7
  import { useTranslation } from 'react-i18next'
13
8
  import { BottomSheet } from '../../components/BottomSheet/BottomSheet.js'
14
9
  import type { BottomSheetBase } from '../../components/BottomSheet/types.js'
@@ -35,213 +30,209 @@ interface BookmarkAddressProps {
35
30
  validatedWallet?: Bookmark
36
31
  }
37
32
 
38
- export const BookmarkAddressSheet: ForwardRefExoticComponent<
39
- BookmarkAddressProps & RefAttributes<BottomSheetBase>
40
- > = forwardRef<BottomSheetBase, BookmarkAddressProps>(
41
- ({ validatedWallet, onAddBookmark }, ref) => {
42
- const { t } = useTranslation()
43
- const [name, setName] = useState('')
44
- const [address, setAddress] = useState('')
45
- const [error, setError] = useState<BookmarkError>()
46
- const { validateAddress, isValidating } = useAddressValidation()
47
- const { getBookmark } = useBookmarkActions()
33
+ export const BookmarkAddressSheet = ({
34
+ validatedWallet,
35
+ onAddBookmark,
36
+ ref,
37
+ }: BookmarkAddressProps & {
38
+ ref?: Ref<BottomSheetBase>
39
+ }): JSX.Element => {
40
+ const { t } = useTranslation()
41
+ const [name, setName] = useState('')
42
+ const [address, setAddress] = useState('')
43
+ const [error, setError] = useState<BookmarkError>()
44
+ const { validateAddress, isValidating } = useAddressValidation()
45
+ const { getBookmark } = useBookmarkActions()
48
46
 
49
- const nameValue = name.trim() || validatedWallet?.name || ''
50
- const addressValue = address || validatedWallet?.address || ''
47
+ const nameValue = name.trim() || validatedWallet?.name || ''
48
+ const addressValue = address || validatedWallet?.address || ''
51
49
 
52
- const handleCancel = () => {
53
- setError(undefined)
54
- ;(ref as RefObject<BottomSheetBase>).current?.close()
50
+ const handleCancel = () => {
51
+ setError(undefined)
52
+ ;(ref as RefObject<BottomSheetBase>).current?.close()
53
+ }
54
+
55
+ const validateWithAddressFromInput = async () => {
56
+ const validationResult = await validateAddress({ value: address })
57
+ if (!validationResult.isValid) {
58
+ setError({ type: 'address', message: validationResult.error })
59
+ return
55
60
  }
56
61
 
57
- const validateWithAddressFromInput = async () => {
58
- const validationResult = await validateAddress({ value: address })
59
- if (!validationResult.isValid) {
60
- setError({ type: 'address', message: validationResult.error })
61
- return
62
- }
62
+ return {
63
+ name: nameValue,
64
+ address: validationResult.address,
65
+ chainType: validationResult.chainType,
66
+ }
67
+ }
63
68
 
64
- return {
65
- name: nameValue,
66
- address: validationResult.address,
67
- chainType: validationResult.chainType,
68
- }
69
+ const validateWithValidatedWallet = (validatedWallet: Bookmark) => {
70
+ if (error) {
71
+ setError(undefined)
72
+ }
73
+ return {
74
+ name: nameValue,
75
+ address: validatedWallet.address,
76
+ chainType: validatedWallet.chainType,
69
77
  }
78
+ }
70
79
 
71
- const validateWithValidatedWallet = (validatedWallet: Bookmark) => {
72
- if (error) {
73
- setError(undefined)
74
- }
75
- return {
76
- name: nameValue,
77
- address: validatedWallet.address,
78
- chainType: validatedWallet.chainType,
79
- }
80
+ const handleBookmark = async () => {
81
+ if (isValidating) {
82
+ return
83
+ }
84
+ if (!nameValue) {
85
+ setError({
86
+ type: 'name',
87
+ message: t('error.title.bookmarkNameRequired'),
88
+ })
89
+ return
90
+ }
91
+ if (!addressValue) {
92
+ setError({
93
+ type: 'address',
94
+ message: t('error.title.walletAddressRequired'),
95
+ })
96
+ return
80
97
  }
81
98
 
82
- const handleBookmark = async () => {
83
- if (isValidating) {
84
- return
85
- }
86
- if (!nameValue) {
87
- setError({
88
- type: 'name',
89
- message: t('error.title.bookmarkNameRequired'),
90
- })
91
- return
92
- }
93
- if (!addressValue) {
99
+ // If the validatedWallet is supplied as a prop then we should assume
100
+ // the address has already been validated
101
+ const validatedBookmark = validatedWallet
102
+ ? validateWithValidatedWallet(validatedWallet)
103
+ : await validateWithAddressFromInput()
104
+
105
+ if (validatedBookmark) {
106
+ const existingBookmark = getBookmark(validatedBookmark.address)
107
+ if (existingBookmark) {
94
108
  setError({
95
109
  type: 'address',
96
- message: t('error.title.walletAddressRequired'),
110
+ message: t('error.title.bookmarkAlreadyExists', {
111
+ name: existingBookmark.name,
112
+ }),
97
113
  })
98
114
  return
99
115
  }
116
+ ;(ref as RefObject<BottomSheetBase>).current?.close()
100
117
 
101
- // If the validatedWallet is supplied as a prop then we should assume
102
- // the address has already been validated
103
- const validatedBookmark = validatedWallet
104
- ? validateWithValidatedWallet(validatedWallet)
105
- : await validateWithAddressFromInput()
106
-
107
- if (validatedBookmark) {
108
- const existingBookmark = getBookmark(validatedBookmark.address)
109
- if (existingBookmark) {
110
- setError({
111
- type: 'address',
112
- message: t('error.title.bookmarkAlreadyExists', {
113
- name: existingBookmark.name,
114
- }),
115
- })
116
- return
117
- }
118
- ;(ref as RefObject<BottomSheetBase>).current?.close()
119
-
120
- onAddBookmark({
121
- name: validatedBookmark.name,
122
- address: validatedBookmark.address,
123
- chainType: validatedBookmark.chainType,
124
- })
125
- }
118
+ onAddBookmark({
119
+ name: validatedBookmark.name,
120
+ address: validatedBookmark.address,
121
+ chainType: validatedBookmark.chainType,
122
+ })
126
123
  }
124
+ }
127
125
 
128
- const handleAddressInputChange = (e: ChangeEvent) => {
129
- if (error) {
130
- setError(undefined)
131
- }
132
- setAddress((e.target as HTMLInputElement).value.trim())
126
+ const handleAddressInputChange = (e: ChangeEvent) => {
127
+ if (error) {
128
+ setError(undefined)
133
129
  }
130
+ setAddress((e.target as HTMLInputElement).value.trim())
131
+ }
134
132
 
135
- const handleNameInputChange = (e: ChangeEvent) => {
136
- if (error) {
137
- setError(undefined)
138
- }
139
- setName((e.target as HTMLInputElement).value)
133
+ const handleNameInputChange = (e: ChangeEvent) => {
134
+ if (error) {
135
+ setError(undefined)
140
136
  }
137
+ setName((e.target as HTMLInputElement).value)
138
+ }
141
139
 
142
- const resetValues = () => {
143
- setName('')
144
- setAddress('')
145
- }
140
+ const resetValues = () => {
141
+ setName('')
142
+ setAddress('')
143
+ }
146
144
 
147
- return (
148
- <BottomSheet ref={ref} onClose={resetValues}>
149
- <SendToWalletSheetContainer>
150
- <IconContainer>
151
- <TurnedIn sx={{ fontSize: 40 }} />
152
- </IconContainer>
153
- <SheetTitle>{t('sendToWallet.bookmarkWallet')}</SheetTitle>
154
- {validatedWallet ? (
155
- <SheetAddressContainer>
156
- {validatedWallet?.name ? (
157
- <Typography
158
- sx={{
159
- fontWeight: 600,
160
- mb: 0.5,
161
- }}
162
- >
163
- {validatedWallet?.name}
164
- </Typography>
165
- ) : null}
166
- <Typography>{validatedWallet?.address}</Typography>
167
- </SheetAddressContainer>
168
- ) : null}
169
- <BookmarkInputFields>
145
+ return (
146
+ <BottomSheet ref={ref} onClose={resetValues}>
147
+ <SendToWalletSheetContainer>
148
+ <IconContainer>
149
+ <TurnedIn sx={{ fontSize: 40 }} />
150
+ </IconContainer>
151
+ <SheetTitle>{t('sendToWallet.bookmarkWallet')}</SheetTitle>
152
+ {validatedWallet ? (
153
+ <SheetAddressContainer>
154
+ {validatedWallet?.name ? (
155
+ <Typography
156
+ sx={{
157
+ fontWeight: 600,
158
+ mb: 0.5,
159
+ }}
160
+ >
161
+ {validatedWallet?.name}
162
+ </Typography>
163
+ ) : null}
164
+ <Typography>{validatedWallet?.address}</Typography>
165
+ </SheetAddressContainer>
166
+ ) : null}
167
+ <BookmarkInputFields>
168
+ <SendToWalletCard type={error?.type === 'name' ? 'error' : 'default'}>
169
+ <Input
170
+ size="small"
171
+ autoComplete="off"
172
+ autoCorrect="off"
173
+ autoCapitalize="off"
174
+ spellCheck="false"
175
+ onChange={handleNameInputChange}
176
+ value={name}
177
+ placeholder={validatedWallet?.name || t('sendToWallet.enterName')}
178
+ aria-label={validatedWallet?.name || t('sendToWallet.enterName')}
179
+ inputProps={{ maxLength: 128 }}
180
+ />
181
+ </SendToWalletCard>
182
+ {!validatedWallet && (
170
183
  <SendToWalletCard
171
- type={error?.type === 'name' ? 'error' : 'default'}
184
+ type={error?.type === 'address' ? 'error' : 'default'}
172
185
  >
173
- <Input
186
+ <AddressInput
174
187
  size="small"
175
188
  autoComplete="off"
176
189
  autoCorrect="off"
177
190
  autoCapitalize="off"
178
191
  spellCheck="false"
179
- onChange={handleNameInputChange}
180
- value={name}
181
- placeholder={
182
- validatedWallet?.name || t('sendToWallet.enterName')
183
- }
184
- aria-label={
185
- validatedWallet?.name || t('sendToWallet.enterName')
186
- }
192
+ onChange={handleAddressInputChange}
193
+ value={address}
194
+ placeholder={t('sendToWallet.enterAddress', {
195
+ context: 'long',
196
+ })}
197
+ aria-label={t('sendToWallet.enterAddress', {
198
+ context: 'long',
199
+ })}
200
+ maxRows={2}
187
201
  inputProps={{ maxLength: 128 }}
202
+ multiline
188
203
  />
189
204
  </SendToWalletCard>
190
- {!validatedWallet && (
191
- <SendToWalletCard
192
- type={error?.type === 'address' ? 'error' : 'default'}
193
- >
194
- <AddressInput
195
- size="small"
196
- autoComplete="off"
197
- autoCorrect="off"
198
- autoCapitalize="off"
199
- spellCheck="false"
200
- onChange={handleAddressInputChange}
201
- value={address}
202
- placeholder={t('sendToWallet.enterAddress', {
203
- context: 'long',
204
- })}
205
- aria-label={t('sendToWallet.enterAddress', {
206
- context: 'long',
207
- })}
208
- maxRows={2}
209
- inputProps={{ maxLength: 128 }}
210
- multiline
211
- />
212
- </SendToWalletCard>
213
- )}
214
- {error ? (
215
- <ValidationAlert icon={<ErrorIcon />}>
216
- {error.message}
217
- </ValidationAlert>
218
- ) : null}
219
- </BookmarkInputFields>
220
- <AlertMessage
221
- title={
222
- <Typography variant="body2" sx={{ color: 'text.primary' }}>
223
- {t('warning.message.fundsLossPrevention')}
224
- </Typography>
225
- }
226
- icon={<WarningRounded />}
227
- />
228
- <SendToWalletButtonRow>
229
- <Button variant="text" onClick={handleCancel} fullWidth>
230
- {t('button.cancel')}
231
- </Button>
232
- <Button
233
- variant="contained"
234
- onClick={handleBookmark}
235
- loading={isValidating}
236
- loadingPosition="center"
237
- fullWidth
238
- focusRipple
239
- >
240
- {t('button.bookmark')}
241
- </Button>
242
- </SendToWalletButtonRow>
243
- </SendToWalletSheetContainer>
244
- </BottomSheet>
245
- )
246
- }
247
- )
205
+ )}
206
+ {error ? (
207
+ <ValidationAlert icon={<ErrorIcon />}>
208
+ {error.message}
209
+ </ValidationAlert>
210
+ ) : null}
211
+ </BookmarkInputFields>
212
+ <AlertMessage
213
+ title={
214
+ <Typography variant="body2" sx={{ color: 'text.primary' }}>
215
+ {t('warning.message.fundsLossPrevention')}
216
+ </Typography>
217
+ }
218
+ icon={<WarningRounded />}
219
+ />
220
+ <SendToWalletButtonRow>
221
+ <Button variant="text" onClick={handleCancel} fullWidth>
222
+ {t('button.cancel')}
223
+ </Button>
224
+ <Button
225
+ variant="contained"
226
+ onClick={handleBookmark}
227
+ loading={isValidating}
228
+ loadingPosition="center"
229
+ fullWidth
230
+ focusRipple
231
+ >
232
+ {t('button.bookmark')}
233
+ </Button>
234
+ </SendToWalletButtonRow>
235
+ </SendToWalletSheetContainer>
236
+ </BottomSheet>
237
+ )
238
+ }
@@ -1,8 +1,8 @@
1
1
  import Wallet from '@mui/icons-material/Wallet'
2
2
  import WarningRounded from '@mui/icons-material/WarningRounded'
3
3
  import { Button, Typography } from '@mui/material'
4
- import type { ForwardRefExoticComponent, RefAttributes, RefObject } from 'react'
5
- import { forwardRef, useRef } from 'react'
4
+ import type { JSX, Ref, RefObject } from 'react'
5
+ import { useRef } from 'react'
6
6
  import { useTranslation } from 'react-i18next'
7
7
  import { BottomSheet } from '../../components/BottomSheet/BottomSheet.js'
8
8
  import type { BottomSheetBase } from '../../components/BottomSheet/types.js'
@@ -28,9 +28,12 @@ interface ConfirmAddressSheetContentProps extends ConfirmAddressSheetProps {
28
28
  onClose: () => void
29
29
  }
30
30
 
31
- export const ConfirmAddressSheet: ForwardRefExoticComponent<
32
- ConfirmAddressSheetProps & RefAttributes<BottomSheetBase>
33
- > = forwardRef<BottomSheetBase, ConfirmAddressSheetProps>((props, ref) => {
31
+ export const ConfirmAddressSheet = ({
32
+ ref,
33
+ ...props
34
+ }: ConfirmAddressSheetProps & {
35
+ ref?: Ref<BottomSheetBase>
36
+ }): JSX.Element => {
34
37
  const handleClose = () => {
35
38
  ;(ref as RefObject<BottomSheetBase>).current?.close()
36
39
  }
@@ -40,7 +43,7 @@ export const ConfirmAddressSheet: ForwardRefExoticComponent<
40
43
  <ConfirmAddressSheetContent {...props} onClose={handleClose} />
41
44
  </BottomSheet>
42
45
  )
43
- })
46
+ }
44
47
 
45
48
  const ConfirmAddressSheetContent: React.FC<ConfirmAddressSheetContentProps> = ({
46
49
  validatedBookmark,
@@ -1,13 +1,6 @@
1
1
  import { Collapse } from '@mui/material'
2
- import type { PropsWithChildren, ReactNode } from 'react'
3
- import {
4
- type ForwardRefExoticComponent,
5
- forwardRef,
6
- type RefAttributes,
7
- useId,
8
- useImperativeHandle,
9
- useRef,
10
- } from 'react'
2
+ import type { JSX, PropsWithChildren, ReactNode, Ref } from 'react'
3
+ import { useId, useImperativeHandle, useRef } from 'react'
11
4
  import { Card } from '../../../components/Card/Card.js'
12
5
  import {
13
6
  CardRowButton,
@@ -30,61 +23,61 @@ export interface SettingCardExpandableRef {
30
23
  toggleExpanded: (forceExpanded?: boolean) => void
31
24
  }
32
25
 
33
- export const SettingCardExpandable: ForwardRefExoticComponent<
34
- PropsWithChildren<SettingCardExpandableProps> &
35
- RefAttributes<SettingCardExpandableRef>
36
- > = forwardRef<
37
- SettingCardExpandableRef,
38
- PropsWithChildren<SettingCardExpandableProps>
39
- >(
40
- (
41
- { icon, title, value, children, disabled, keepValueVisible, onEntered },
42
- ref
43
- ) => {
44
- const { expanded, toggleExpanded } = useSettingsCardExpandable()
45
- const buttonId = useId()
46
- const collapseId = useId()
47
- const buttonRef = useRef<HTMLButtonElement>(null)
26
+ export const SettingCardExpandable = ({
27
+ icon,
28
+ title,
29
+ value,
30
+ children,
31
+ disabled,
32
+ keepValueVisible,
33
+ onEntered,
34
+ ref,
35
+ }: PropsWithChildren<SettingCardExpandableProps> & {
36
+ ref?: Ref<SettingCardExpandableRef>
37
+ }): JSX.Element => {
38
+ const { expanded, toggleExpanded } = useSettingsCardExpandable()
39
+ const buttonId = useId()
40
+ const collapseId = useId()
41
+ const buttonRef = useRef<HTMLButtonElement>(null)
48
42
 
49
- useImperativeHandle(
50
- ref,
51
- () => ({
52
- element: buttonRef.current,
53
- isExpanded: expanded,
54
- toggleExpanded,
55
- }),
56
- [expanded, toggleExpanded]
57
- )
43
+ useImperativeHandle(
44
+ ref,
45
+ () => ({
46
+ element: buttonRef.current,
47
+ isExpanded: expanded,
48
+ toggleExpanded,
49
+ }),
50
+ [expanded, toggleExpanded]
51
+ )
58
52
 
59
- return (
60
- <Card sx={{ p: 1 }}>
61
- <CardRowButton
62
- ref={buttonRef}
63
- id={buttonId}
64
- aria-expanded={expanded}
65
- aria-controls={collapseId}
66
- onClick={disabled ? undefined : () => toggleExpanded()}
67
- disableRipple
68
- sx={{ p: 1, cursor: disabled ? 'default' : 'pointer' }}
69
- >
70
- <CardTitleContainer>
71
- {icon}
72
- <CardValue>{title}</CardValue>
73
- </CardTitleContainer>
74
- {(!expanded || keepValueVisible) && value}
75
- </CardRowButton>
76
- <Collapse
77
- id={collapseId}
78
- role="region"
79
- aria-labelledby={buttonId}
80
- in={expanded}
81
- mountOnEnter
82
- unmountOnExit
83
- onEntered={onEntered}
84
- >
85
- {children}
86
- </Collapse>
87
- </Card>
88
- )
89
- }
90
- )
53
+ return (
54
+ <Card sx={{ p: 1 }}>
55
+ <CardRowButton
56
+ ref={buttonRef}
57
+ id={buttonId}
58
+ aria-expanded={expanded}
59
+ aria-controls={collapseId}
60
+ onClick={disabled ? undefined : () => toggleExpanded()}
61
+ disableRipple
62
+ sx={{ p: 1, cursor: disabled ? 'default' : 'pointer' }}
63
+ >
64
+ <CardTitleContainer>
65
+ {icon}
66
+ <CardValue>{title}</CardValue>
67
+ </CardTitleContainer>
68
+ {(!expanded || keepValueVisible) && value}
69
+ </CardRowButton>
70
+ <Collapse
71
+ id={collapseId}
72
+ role="region"
73
+ aria-labelledby={buttonId}
74
+ in={expanded}
75
+ mountOnEnter
76
+ unmountOnExit
77
+ onEntered={onEntered}
78
+ >
79
+ {children}
80
+ </Collapse>
81
+ </Card>
82
+ )
83
+ }
@@ -1,5 +1,5 @@
1
1
  import type { PropsWithChildren } from 'react'
2
- import { createContext, useContext, useEffect, useId, useState } from 'react'
2
+ import { createContext, use, useEffect, useId, useState } from 'react'
3
3
 
4
4
  const SettingsAccordionContext = createContext({
5
5
  setOpenCard: (_id: string) => {},
@@ -12,9 +12,9 @@ export const SettingsCardAccordion: React.FC<PropsWithChildren> = ({
12
12
  const [openCard, setOpenCard] = useState('')
13
13
 
14
14
  return (
15
- <SettingsAccordionContext.Provider value={{ openCard, setOpenCard }}>
15
+ <SettingsAccordionContext value={{ openCard, setOpenCard }}>
16
16
  {children}
17
- </SettingsAccordionContext.Provider>
17
+ </SettingsAccordionContext>
18
18
  )
19
19
  }
20
20
 
@@ -24,7 +24,7 @@ export const useSettingsCardExpandable = (): {
24
24
  } => {
25
25
  const settingCardExpandableId = useId()
26
26
  const [expanded, setExpanded] = useState(false)
27
- const { openCard, setOpenCard } = useContext(SettingsAccordionContext)
27
+ const { openCard, setOpenCard } = use(SettingsAccordionContext)
28
28
 
29
29
  const toggleExpanded = (forceExpanded?: boolean) => {
30
30
  const newExpanded = forceExpanded ?? !expanded
@@ -1,8 +1,8 @@
1
1
  import Wallet from '@mui/icons-material/Wallet'
2
2
  import WarningRounded from '@mui/icons-material/WarningRounded'
3
3
  import { Button, Typography } from '@mui/material'
4
- import type { ForwardRefExoticComponent, RefAttributes, RefObject } from 'react'
5
- import { forwardRef, useRef } from 'react'
4
+ import type { JSX, Ref, RefObject } from 'react'
5
+ import { useRef } from 'react'
6
6
  import { useTranslation } from 'react-i18next'
7
7
  import { BottomSheet } from '../../components/BottomSheet/BottomSheet.js'
8
8
  import type { BottomSheetBase } from '../../components/BottomSheet/types.js'
@@ -28,9 +28,12 @@ interface ConfirmToAddressSheetContentProps extends ConfirmToAddressSheetProps {
28
28
  onClose: () => void
29
29
  }
30
30
 
31
- export const ConfirmToAddressSheet: ForwardRefExoticComponent<
32
- ConfirmToAddressSheetProps & RefAttributes<BottomSheetBase>
33
- > = forwardRef<BottomSheetBase, ConfirmToAddressSheetProps>((props, ref) => {
31
+ export const ConfirmToAddressSheet = ({
32
+ ref,
33
+ ...props
34
+ }: ConfirmToAddressSheetProps & {
35
+ ref?: Ref<BottomSheetBase>
36
+ }): JSX.Element => {
34
37
  const handleClose = () => {
35
38
  ;(ref as RefObject<BottomSheetBase>).current?.close()
36
39
  }
@@ -40,7 +43,7 @@ export const ConfirmToAddressSheet: ForwardRefExoticComponent<
40
43
  <ConfirmToAddressSheetContent {...props} onClose={handleClose} />
41
44
  </BottomSheet>
42
45
  )
43
- })
46
+ }
44
47
 
45
48
  const ConfirmToAddressSheetContent: React.FC<
46
49
  ConfirmToAddressSheetContentProps