@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
package/dist/esm/App.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { WidgetProps } from "./types/widget.js";
2
2
  import { WidgetDrawer } from "./AppDrawer.js";
3
- import { ForwardRefExoticComponent, RefAttributes } from "react";
3
+ import { JSX, Ref } from "react";
4
4
 
5
5
  //#region src/App.d.ts
6
- declare const App: ForwardRefExoticComponent<WidgetProps & RefAttributes<WidgetDrawer>>;
6
+ declare const App: (props: WidgetProps & {
7
+ ref?: Ref<WidgetDrawer>;
8
+ }) => JSX.Element;
7
9
  //#endregion
8
10
  export { App };
9
11
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","names":[],"sources":["../../src/App.tsx"],"mappings":";;;;;cASa,GAAA,EAAK,yBAAA,CAChB,WAAA,GAAc,aAAA,CAAc,YAAA"}
1
+ {"version":3,"file":"App.d.ts","names":[],"sources":["../../src/App.tsx"],"mappings":";;;;;cASa,GAAA,GACX,KAAA,EAAO,WAAA;EAAgB,GAAA,GAAM,GAAA,CAAI,YAAA;AAAA,MAChC,GAAA,CAAI,OAAA"}
package/dist/esm/App.js CHANGED
@@ -2,10 +2,10 @@
2
2
  import { AppDefault } from "./AppDefault.js";
3
3
  import { AppDrawer } from "./AppDrawer.js";
4
4
  import { AppProvider } from "./AppProvider.js";
5
- import { forwardRef, useMemo } from "react";
5
+ import { useMemo } from "react";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  //#region src/App.tsx
8
- const App = forwardRef((props, ref) => {
8
+ const App = (props) => {
9
9
  const config = useMemo(() => {
10
10
  const config = {
11
11
  ...props,
@@ -24,7 +24,7 @@ const App = forwardRef((props, ref) => {
24
24
  config,
25
25
  formRef: props.formRef,
26
26
  children: /* @__PURE__ */ jsx(AppDrawer, {
27
- ref,
27
+ ref: props.ref,
28
28
  elementRef: props.elementRef,
29
29
  config,
30
30
  open: props.open,
@@ -37,7 +37,7 @@ const App = forwardRef((props, ref) => {
37
37
  formRef: props.formRef,
38
38
  children: /* @__PURE__ */ jsx(AppDefault, {})
39
39
  });
40
- });
40
+ };
41
41
  //#endregion
42
42
  export { App };
43
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","names":[],"sources":["../../src/App.tsx"],"sourcesContent":["'use client'\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react'\nimport { forwardRef, useMemo } from 'react'\nimport { AppDefault } from './AppDefault.js'\nimport type { WidgetDrawer } from './AppDrawer.js'\nimport { AppDrawer } from './AppDrawer.js'\nimport { AppProvider } from './AppProvider.js'\nimport type { WidgetConfig, WidgetProps } from './types/widget.js'\n\nexport const App: ForwardRefExoticComponent<\n WidgetProps & RefAttributes<WidgetDrawer>\n> = forwardRef<WidgetDrawer, WidgetProps>((props, ref) => {\n const config: WidgetConfig = useMemo(() => {\n const config = { ...props, ...props.config }\n if (config.variant === 'drawer') {\n config.theme = {\n ...config.theme,\n container: {\n height: '100%',\n ...config.theme?.container,\n },\n }\n }\n return config\n }, [props])\n\n if (config.variant === 'drawer') {\n return (\n <AppProvider config={config} formRef={props.formRef}>\n <AppDrawer\n ref={ref}\n elementRef={props.elementRef}\n config={config}\n open={props.open}\n onClose={props.onClose}\n >\n <AppDefault />\n </AppDrawer>\n </AppProvider>\n )\n }\n\n return (\n <AppProvider config={config} formRef={props.formRef}>\n <AppDefault />\n </AppProvider>\n )\n})\n"],"mappings":";;;;;;;AASA,MAAa,MAET,YAAuC,OAAO,QAAQ;CACxD,MAAM,SAAuB,cAAc;EACzC,MAAM,SAAS;GAAE,GAAG;GAAO,GAAG,MAAM;EAAO;EAC3C,IAAI,OAAO,YAAY,UACrB,OAAO,QAAQ;GACb,GAAG,OAAO;GACV,WAAW;IACT,QAAQ;IACR,GAAG,OAAO,OAAO;GACnB;EACF;EAEF,OAAO;CACT,GAAG,CAAC,KAAK,CAAC;CAEV,IAAI,OAAO,YAAY,UACrB,OACE,oBAAC,aAAD;EAAqB;EAAQ,SAAS,MAAM;YAC1C,oBAAC,WAAD;GACO;GACL,YAAY,MAAM;GACV;GACR,MAAM,MAAM;GACZ,SAAS,MAAM;aAEf,oBAAC,YAAD,CAAa,CAAA;EACJ,CAAA;CACA,CAAA;CAIjB,OACE,oBAAC,aAAD;EAAqB;EAAQ,SAAS,MAAM;YAC1C,oBAAC,YAAD,CAAa,CAAA;CACF,CAAA;AAEjB,CAAC"}
1
+ {"version":3,"file":"App.js","names":[],"sources":["../../src/App.tsx"],"sourcesContent":["'use client'\nimport type { JSX, Ref } from 'react'\nimport { useMemo } from 'react'\nimport { AppDefault } from './AppDefault.js'\nimport type { WidgetDrawer } from './AppDrawer.js'\nimport { AppDrawer } from './AppDrawer.js'\nimport { AppProvider } from './AppProvider.js'\nimport type { WidgetConfig, WidgetProps } from './types/widget.js'\n\nexport const App = (\n props: WidgetProps & { ref?: Ref<WidgetDrawer> }\n): JSX.Element => {\n const config: WidgetConfig = useMemo(() => {\n const config = { ...props, ...props.config }\n if (config.variant === 'drawer') {\n config.theme = {\n ...config.theme,\n container: {\n height: '100%',\n ...config.theme?.container,\n },\n }\n }\n return config\n }, [props])\n\n if (config.variant === 'drawer') {\n return (\n <AppProvider config={config} formRef={props.formRef}>\n <AppDrawer\n ref={props.ref}\n elementRef={props.elementRef}\n config={config}\n open={props.open}\n onClose={props.onClose}\n >\n <AppDefault />\n </AppDrawer>\n </AppProvider>\n )\n }\n\n return (\n <AppProvider config={config} formRef={props.formRef}>\n <AppDefault />\n </AppProvider>\n )\n}\n"],"mappings":";;;;;;;AASA,MAAa,OACX,UACgB;CAChB,MAAM,SAAuB,cAAc;EACzC,MAAM,SAAS;GAAE,GAAG;GAAO,GAAG,MAAM;EAAO;EAC3C,IAAI,OAAO,YAAY,UACrB,OAAO,QAAQ;GACb,GAAG,OAAO;GACV,WAAW;IACT,QAAQ;IACR,GAAG,OAAO,OAAO;GACnB;EACF;EAEF,OAAO;CACT,GAAG,CAAC,KAAK,CAAC;CAEV,IAAI,OAAO,YAAY,UACrB,OACE,oBAAC,aAAD;EAAqB;EAAQ,SAAS,MAAM;YAC1C,oBAAC,WAAD;GACE,KAAK,MAAM;GACX,YAAY,MAAM;GACV;GACR,MAAM,MAAM;GACZ,SAAS,MAAM;aAEf,oBAAC,YAAD,CAAa,CAAA;EACJ,CAAA;CACA,CAAA;CAIjB,OACE,oBAAC,aAAD;EAAqB;EAAQ,SAAS,MAAM;YAC1C,oBAAC,YAAD,CAAa,CAAA;CACF,CAAA;AAEjB"}
@@ -1,4 +1,4 @@
1
- import { ForwardRefExoticComponent, PropsWithChildren, RefAttributes } from "react";
1
+ import { JSX, PropsWithChildren, Ref } from "react";
2
2
 
3
3
  //#region src/AppDrawer.d.ts
4
4
  interface WidgetDrawer {
@@ -1 +1 @@
1
- {"version":3,"file":"AppDrawer.d.ts","names":[],"sources":["../../src/AppDrawer.tsx"],"mappings":";;;UAkBiB,YAAA;EACf,MAAA;EACA,YAAA;EACA,UAAA;EACA,WAAA;AAAA"}
1
+ {"version":3,"file":"AppDrawer.d.ts","names":[],"sources":["../../src/AppDrawer.tsx"],"mappings":";;;UAaiB,YAAA;EACf,MAAA;EACA,YAAA;EACA,UAAA;EACA,WAAA;AAAA"}
@@ -1,9 +1,9 @@
1
1
  import { DrawerContext } from "./AppDrawerContext.js";
2
- import { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from "react";
2
+ import { useCallback, useImperativeHandle, useMemo, useRef, useState } from "react";
3
3
  import { Drawer } from "@mui/material";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/AppDrawer.tsx
6
- const AppDrawer = forwardRef(({ elementRef, open, onClose, children }, ref) => {
6
+ const AppDrawer = ({ elementRef, open, onClose, children, ref }) => {
7
7
  const openRef = useRef(Boolean(open));
8
8
  const [drawerOpen, setDrawerOpen] = useState(Boolean(open));
9
9
  const toggleDrawer = useCallback(() => {
@@ -32,9 +32,8 @@ const AppDrawer = forwardRef(({ elementRef, open, onClose, children }, ref) => {
32
32
  openDrawer,
33
33
  toggleDrawer
34
34
  ]);
35
- const drawerContext = useMemo(() => ({ closeDrawer }), [closeDrawer]);
36
- return /* @__PURE__ */ jsx(DrawerContext.Provider, {
37
- value: drawerContext,
35
+ return /* @__PURE__ */ jsx(DrawerContext, {
36
+ value: useMemo(() => ({ closeDrawer }), [closeDrawer]),
38
37
  children: /* @__PURE__ */ jsx(Drawer, {
39
38
  ref: elementRef,
40
39
  anchor: "right",
@@ -56,7 +55,7 @@ const AppDrawer = forwardRef(({ elementRef, open, onClose, children }, ref) => {
56
55
  children
57
56
  })
58
57
  });
59
- });
58
+ };
60
59
  //#endregion
61
60
  export { AppDrawer };
62
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"AppDrawer.js","names":[],"sources":["../../src/AppDrawer.tsx"],"sourcesContent":["import { Drawer } from '@mui/material'\nimport type {\n ForwardRefExoticComponent,\n PropsWithChildren,\n RefAttributes,\n} from 'react'\nimport {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport type { WidgetDrawerContext } from './AppDrawerContext.js'\nimport { DrawerContext } from './AppDrawerContext.js'\nimport type { WidgetDrawerProps } from './types/widget.js'\n\nexport interface WidgetDrawer {\n isOpen(): void\n toggleDrawer(): void\n openDrawer(): void\n closeDrawer(): void\n}\n\nexport const AppDrawer: ForwardRefExoticComponent<\n PropsWithChildren<WidgetDrawerProps> & RefAttributes<WidgetDrawer>\n> = forwardRef<WidgetDrawer, PropsWithChildren<WidgetDrawerProps>>(\n ({ elementRef, open, onClose, children }, ref) => {\n const openRef = useRef(Boolean(open))\n const [drawerOpen, setDrawerOpen] = useState(Boolean(open))\n\n const toggleDrawer = useCallback(() => {\n setDrawerOpen((open) => {\n openRef.current = !open\n return openRef.current\n })\n if (!openRef.current) {\n onClose?.()\n }\n }, [onClose])\n\n const openDrawer = useCallback(() => {\n setDrawerOpen(true)\n openRef.current = true\n }, [])\n\n const closeDrawer = useCallback(() => {\n setDrawerOpen(false)\n openRef.current = false\n onClose?.()\n }, [onClose])\n\n useImperativeHandle(\n ref,\n () => ({\n isOpen: () => openRef.current,\n toggleDrawer,\n openDrawer,\n closeDrawer,\n }),\n [closeDrawer, openDrawer, toggleDrawer]\n )\n\n const drawerContext: WidgetDrawerContext = useMemo(\n () => ({\n closeDrawer,\n }),\n [closeDrawer]\n )\n\n return (\n <DrawerContext.Provider value={drawerContext}>\n <Drawer\n ref={elementRef}\n anchor=\"right\"\n open={drawerOpen}\n onClose={closeDrawer}\n slotProps={{\n paper: {\n sx: (theme) => ({\n background: theme.vars.palette.background.default,\n width: theme?.container?.width ?? '100%',\n minWidth:\n theme?.container?.minWidth ?? theme.breakpoints.values.xs,\n maxWidth:\n theme?.container?.maxWidth ?? theme.breakpoints.values.sm,\n }),\n },\n backdrop: {\n sx: {\n backgroundColor: 'rgb(0 0 0 / 48%)',\n backdropFilter: 'blur(3px)',\n },\n },\n }}\n keepMounted\n >\n {children}\n </Drawer>\n </DrawerContext.Provider>\n )\n }\n)\n"],"mappings":";;;;;AAyBA,MAAa,YAET,YACD,EAAE,YAAY,MAAM,SAAS,YAAY,QAAQ;CAChD,MAAM,UAAU,OAAO,QAAQ,IAAI,CAAC;CACpC,MAAM,CAAC,YAAY,iBAAiB,SAAS,QAAQ,IAAI,CAAC;CAE1D,MAAM,eAAe,kBAAkB;EACrC,eAAe,SAAS;GACtB,QAAQ,UAAU,CAAC;GACnB,OAAO,QAAQ;EACjB,CAAC;EACD,IAAI,CAAC,QAAQ,SACX,UAAU;CAEd,GAAG,CAAC,OAAO,CAAC;CAEZ,MAAM,aAAa,kBAAkB;EACnC,cAAc,IAAI;EAClB,QAAQ,UAAU;CACpB,GAAG,CAAC,CAAC;CAEL,MAAM,cAAc,kBAAkB;EACpC,cAAc,KAAK;EACnB,QAAQ,UAAU;EAClB,UAAU;CACZ,GAAG,CAAC,OAAO,CAAC;CAEZ,oBACE,YACO;EACL,cAAc,QAAQ;EACtB;EACA;EACA;CACF,IACA;EAAC;EAAa;EAAY;CAAY,CACxC;CAEA,MAAM,gBAAqC,eAClC,EACL,YACF,IACA,CAAC,WAAW,CACd;CAEA,OACE,oBAAC,cAAc,UAAf;EAAwB,OAAO;YAC7B,oBAAC,QAAD;GACE,KAAK;GACL,QAAO;GACP,MAAM;GACN,SAAS;GACT,WAAW;IACT,OAAO,EACL,KAAK,WAAW;KACd,YAAY,MAAM,KAAK,QAAQ,WAAW;KAC1C,OAAO,OAAO,WAAW,SAAS;KAClC,UACE,OAAO,WAAW,YAAY,MAAM,YAAY,OAAO;KACzD,UACE,OAAO,WAAW,YAAY,MAAM,YAAY,OAAO;IAC3D,GACF;IACA,UAAU,EACR,IAAI;KACF,iBAAiB;KACjB,gBAAgB;IAClB,EACF;GACF;GACA,aAAA;GAEC;EACK,CAAA;CACc,CAAA;AAE5B,CACF"}
1
+ {"version":3,"file":"AppDrawer.js","names":[],"sources":["../../src/AppDrawer.tsx"],"sourcesContent":["import { Drawer } from '@mui/material'\nimport type { JSX, PropsWithChildren, Ref } from 'react'\nimport {\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport type { WidgetDrawerContext } from './AppDrawerContext.js'\nimport { DrawerContext } from './AppDrawerContext.js'\nimport type { WidgetDrawerProps } from './types/widget.js'\n\nexport interface WidgetDrawer {\n isOpen(): void\n toggleDrawer(): void\n openDrawer(): void\n closeDrawer(): void\n}\n\nexport const AppDrawer = ({\n elementRef,\n open,\n onClose,\n children,\n ref,\n}: PropsWithChildren<WidgetDrawerProps> & {\n ref?: Ref<WidgetDrawer>\n}): JSX.Element => {\n const openRef = useRef(Boolean(open))\n const [drawerOpen, setDrawerOpen] = useState(Boolean(open))\n\n const toggleDrawer = useCallback(() => {\n setDrawerOpen((open) => {\n openRef.current = !open\n return openRef.current\n })\n if (!openRef.current) {\n onClose?.()\n }\n }, [onClose])\n\n const openDrawer = useCallback(() => {\n setDrawerOpen(true)\n openRef.current = true\n }, [])\n\n const closeDrawer = useCallback(() => {\n setDrawerOpen(false)\n openRef.current = false\n onClose?.()\n }, [onClose])\n\n useImperativeHandle(\n ref,\n () => ({\n isOpen: () => openRef.current,\n toggleDrawer,\n openDrawer,\n closeDrawer,\n }),\n [closeDrawer, openDrawer, toggleDrawer]\n )\n\n const drawerContext: WidgetDrawerContext = useMemo(\n () => ({\n closeDrawer,\n }),\n [closeDrawer]\n )\n\n return (\n <DrawerContext value={drawerContext}>\n <Drawer\n ref={elementRef}\n anchor=\"right\"\n open={drawerOpen}\n onClose={closeDrawer}\n slotProps={{\n paper: {\n sx: (theme) => ({\n background: theme.vars.palette.background.default,\n width: theme?.container?.width ?? '100%',\n minWidth:\n theme?.container?.minWidth ?? theme.breakpoints.values.xs,\n maxWidth:\n theme?.container?.maxWidth ?? theme.breakpoints.values.sm,\n }),\n },\n backdrop: {\n sx: {\n backgroundColor: 'rgb(0 0 0 / 48%)',\n backdropFilter: 'blur(3px)',\n },\n },\n }}\n keepMounted\n >\n {children}\n </Drawer>\n </DrawerContext>\n )\n}\n"],"mappings":";;;;;AAoBA,MAAa,aAAa,EACxB,YACA,MACA,SACA,UACA,UAGiB;CACjB,MAAM,UAAU,OAAO,QAAQ,IAAI,CAAC;CACpC,MAAM,CAAC,YAAY,iBAAiB,SAAS,QAAQ,IAAI,CAAC;CAE1D,MAAM,eAAe,kBAAkB;EACrC,eAAe,SAAS;GACtB,QAAQ,UAAU,CAAC;GACnB,OAAO,QAAQ;EACjB,CAAC;EACD,IAAI,CAAC,QAAQ,SACX,UAAU;CAEd,GAAG,CAAC,OAAO,CAAC;CAEZ,MAAM,aAAa,kBAAkB;EACnC,cAAc,IAAI;EAClB,QAAQ,UAAU;CACpB,GAAG,CAAC,CAAC;CAEL,MAAM,cAAc,kBAAkB;EACpC,cAAc,KAAK;EACnB,QAAQ,UAAU;EAClB,UAAU;CACZ,GAAG,CAAC,OAAO,CAAC;CAEZ,oBACE,YACO;EACL,cAAc,QAAQ;EACtB;EACA;EACA;CACF,IACA;EAAC;EAAa;EAAY;CAAY,CACxC;CASA,OACE,oBAAC,eAAD;EAAe,OAR0B,eAClC,EACL,YACF,IACA,CAAC,WAAW,CAIsB;YAChC,oBAAC,QAAD;GACE,KAAK;GACL,QAAO;GACP,MAAM;GACN,SAAS;GACT,WAAW;IACT,OAAO,EACL,KAAK,WAAW;KACd,YAAY,MAAM,KAAK,QAAQ,WAAW;KAC1C,OAAO,OAAO,WAAW,SAAS;KAClC,UACE,OAAO,WAAW,YAAY,MAAM,YAAY,OAAO;KACzD,UACE,OAAO,WAAW,YAAY,MAAM,YAAY,OAAO;IAC3D,GACF;IACA,UAAU,EACR,IAAI;KACF,iBAAiB;KACjB,gBAAgB;IAClB,EACF;GACF;GACA,aAAA;GAEC;EACK,CAAA;CACK,CAAA;AAEnB"}
@@ -1,7 +1,7 @@
1
- import { createContext, useContext } from "react";
1
+ import { createContext, use } from "react";
2
2
  //#region src/AppDrawerContext.ts
3
3
  const DrawerContext = createContext({});
4
- const useDrawer = () => useContext(DrawerContext);
4
+ const useDrawer = () => use(DrawerContext);
5
5
  //#endregion
6
6
  export { DrawerContext, useDrawer };
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"AppDrawerContext.js","names":[],"sources":["../../src/AppDrawerContext.ts"],"sourcesContent":["import { type Context, createContext, useContext } from 'react'\n\nexport interface WidgetDrawerContext {\n closeDrawer?(): void\n}\n\nexport const DrawerContext: Context<WidgetDrawerContext> =\n createContext<WidgetDrawerContext>({})\n\nexport const useDrawer = (): WidgetDrawerContext => useContext(DrawerContext)\n"],"mappings":";;AAMA,MAAa,gBACX,cAAmC,CAAC,CAAC;AAEvC,MAAa,kBAAuC,WAAW,aAAa"}
1
+ {"version":3,"file":"AppDrawerContext.js","names":[],"sources":["../../src/AppDrawerContext.ts"],"sourcesContent":["import { type Context, createContext, use } from 'react'\n\nexport interface WidgetDrawerContext {\n closeDrawer?(): void\n}\n\nexport const DrawerContext: Context<WidgetDrawerContext> =\n createContext<WidgetDrawerContext>({})\n\nexport const useDrawer = (): WidgetDrawerContext => use(DrawerContext)\n"],"mappings":";;AAMA,MAAa,gBACX,cAAmC,CAAC,CAAC;AAEvC,MAAa,kBAAuC,IAAI,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRow.style.js","names":[],"sources":["../../../../src/components/ActionRow/ActionRow.style.tsx"],"sourcesContent":["import { Box, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const ActionRowContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(1),\n borderRadius: theme.vars.shape.borderRadiusTertiary,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n }))\n\nexport const ActionRowLabel: React.FC<React.ComponentProps<typeof Typography>> =\n styled(Typography)(({ theme }) => ({\n flex: 1,\n fontSize: 12,\n fontWeight: 500,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.primary,\n }))\n"],"mappings":";;AAGA,MAAa,qBACX,OAAO,GAAG,GAAG,EAAE,aAAa;CAC1B,SAAS;CACT,YAAY;CACZ,KAAK,MAAM,QAAQ,CAAC;CACpB,SAAS,MAAM,QAAQ,CAAC;CACxB,cAAc,MAAM,KAAK,MAAM;CAC/B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;AAChF,EAAE;AAEJ,MAAa,iBACX,OAAO,UAAU,GAAG,EAAE,aAAa;CACjC,MAAM;CACN,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;AACjC,EAAE"}
1
+ {"version":3,"file":"ActionRow.style.js","names":[],"sources":["../../../../src/components/ActionRow/ActionRow.style.tsx"],"sourcesContent":["import { Box, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const ActionRowContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(1),\n borderRadius: theme.vars.shape.borderRadiusTertiary,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n }))\n\nexport const ActionRowLabel: React.FC<React.ComponentProps<typeof Typography>> =\n styled(Typography)(({ theme }) => ({\n flex: 1,\n fontSize: 12,\n fontWeight: 500,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.primary,\n }))\n"],"mappings":";;AAGA,MAAa,qBACX,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa;CAC1B,SAAS;CACT,YAAY;CACZ,KAAK,MAAM,QAAQ,CAAC;CACpB,SAAS,MAAM,QAAQ,CAAC;CACxB,cAAc,MAAM,KAAK,MAAM;CAC/B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;AAChF,EAAE;AAEJ,MAAa,iBACX,OAAO,UAAU,CAAC,EAAE,EAAE,aAAa;CACjC,MAAM;CACN,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;AACjC,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"AmountInput.js","names":[],"sources":["../../../../src/components/AmountInput/AmountInput.tsx"],"sourcesContent":["import type { Token } from '@lifi/sdk'\nimport type { CardProps } from '@mui/material'\nimport type { ChangeEvent, ReactNode } from 'react'\nimport { useLayoutEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useToken } from '../../hooks/useToken.js'\nimport { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'\nimport { FormKeyHelper, type FormTypeProps } from '../../stores/form/types.js'\nimport { useFieldActions } from '../../stores/form/useFieldActions.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { useInputModeStore } from '../../stores/inputMode/useInputModeStore.js'\nimport {\n formatInputAmount,\n formatTokenPrice,\n priceToTokenAmount,\n usdDecimals,\n} from '../../utils/format.js'\nimport { fitInputText } from '../../utils/input.js'\nimport { InputCard } from '../Card/InputCard.js'\nimport {\n AmountInputCardHeader,\n AmountInputCardTitle,\n FormContainer,\n FormControl,\n Input,\n maxInputFontSize,\n minInputFontSize,\n} from './AmountInput.style.js'\nimport { AmountInputEndAdornment } from './AmountInputEndAdornment.js'\nimport { AmountInputStartAdornment } from './AmountInputStartAdornment.js'\nimport { PriceFormHelperText } from './PriceFormHelperText.js'\n\nexport const AmountInput: React.FC<FormTypeProps & CardProps> = ({\n formType,\n ...props\n}) => {\n const { disabledUI } = useWidgetConfig()\n\n const [chainId, tokenAddress] = useFieldValues(\n FormKeyHelper.getChainKey(formType),\n FormKeyHelper.getTokenKey(formType)\n )\n\n const { token } = useToken(chainId, tokenAddress)\n\n const disabled = disabledUI?.fromAmount\n return (\n <AmountInputBase\n formType={formType}\n token={token}\n bottomAdornment={<PriceFormHelperText formType={formType} />}\n disabled={disabled}\n {...props}\n />\n )\n}\n\nconst AmountInputBase: React.FC<\n FormTypeProps &\n CardProps & {\n token?: Token\n startAdornment?: ReactNode\n bottomAdornment?: ReactNode\n disabled?: boolean\n }\n> = ({\n formType,\n token,\n startAdornment,\n bottomAdornment,\n disabled,\n ...props\n}) => {\n const { t } = useTranslation()\n const { mode, modeOptions } = useWidgetConfig()\n const ref = useRef<HTMLInputElement>(null)\n\n const isEditingRef = useRef(false)\n const [formattedPriceInput, setFormattedPriceInput] = useState('')\n\n const amountKey = FormKeyHelper.getAmountKey(formType)\n const [value] = useFieldValues(amountKey)\n const { setFieldValue } = useFieldActions()\n const { inputMode } = useInputModeStore()\n\n const currentInputMode = inputMode[formType]\n let displayValue: string\n if (isEditingRef.current) {\n if (currentInputMode === 'price') {\n displayValue = formattedPriceInput\n } else {\n displayValue = value as string\n }\n } else {\n if (currentInputMode === 'price') {\n const priceValue = formatTokenPrice(value as string, token?.priceUSD)\n displayValue = formatInputAmount(\n priceValue.toFixed(usdDecimals),\n usdDecimals\n )\n } else {\n displayValue = value as string\n }\n }\n\n const handleChange = (\n event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { value: inputValue } = event.target\n isEditingRef.current = true\n\n let formattedValue: string\n if (currentInputMode === 'price') {\n const cleanInputValue = inputValue.replace('$', '')\n formattedValue = formatInputAmount(cleanInputValue, usdDecimals, true)\n const tokenValue = priceToTokenAmount(formattedValue, token?.priceUSD)\n setFormattedPriceInput(formattedValue)\n setFieldValue(amountKey, tokenValue, { isDirty: true, isTouched: true })\n } else {\n formattedValue = formatInputAmount(inputValue, token?.decimals, true)\n setFieldValue(amountKey, formattedValue, {\n isDirty: true,\n isTouched: true,\n })\n }\n }\n\n const handleBlur = (\n event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { value: inputValue } = event.target\n isEditingRef.current = false\n\n let formattedValue: string\n if (currentInputMode === 'price') {\n const cleanInputValue = inputValue.replace('$', '')\n formattedValue = formatInputAmount(cleanInputValue, usdDecimals)\n const tokenValue = priceToTokenAmount(formattedValue, token?.priceUSD)\n const formattedAmount = formatInputAmount(tokenValue, token?.decimals)\n setFieldValue(amountKey, formattedAmount, {\n isDirty: true,\n isTouched: true,\n })\n } else {\n formattedValue = formatInputAmount(inputValue, token?.decimals)\n setFieldValue(amountKey, formattedValue, {\n isDirty: true,\n isTouched: true,\n })\n }\n }\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: we need run effect on value change\n useLayoutEffect(() => {\n if (ref.current) {\n fitInputText(maxInputFontSize, minInputFontSize, ref.current)\n }\n }, [displayValue])\n\n const title =\n mode === 'custom'\n ? modeOptions?.custom?.type === 'deposit'\n ? t('header.amount')\n : t('header.youPay')\n : t('header.send')\n\n return (\n <InputCard {...props}>\n <AmountInputCardHeader>\n <AmountInputCardTitle>{title}</AmountInputCardTitle>\n </AmountInputCardHeader>\n <FormContainer>\n <AmountInputStartAdornment formType={formType} />\n <FormControl fullWidth>\n <Input\n inputRef={ref}\n size=\"small\"\n autoComplete=\"off\"\n placeholder={currentInputMode === 'price' ? '$0' : '0'}\n startAdornment={startAdornment}\n inputProps={{\n inputMode: 'decimal',\n }}\n onChange={handleChange}\n onBlur={handleBlur}\n value={\n currentInputMode === 'price'\n ? displayValue\n ? `$${displayValue}`\n : ''\n : displayValue\n }\n name={amountKey}\n disabled={disabled}\n required\n />\n {bottomAdornment}\n </FormControl>\n </FormContainer>\n {!disabled && <AmountInputEndAdornment formType={formType} />}\n </InputCard>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,MAAa,eAAoD,EAC/D,UACA,GAAG,YACC;CACJ,MAAM,EAAE,eAAe,gBAAgB;CAEvC,MAAM,CAAC,SAAS,gBAAgB,eAC9B,cAAc,YAAY,QAAQ,GAClC,cAAc,YAAY,QAAQ,CACpC;CAEA,MAAM,EAAE,UAAU,SAAS,SAAS,YAAY;CAEhD,MAAM,WAAW,YAAY;CAC7B,OACE,oBAAC,iBAAD;EACY;EACH;EACP,iBAAiB,oBAAC,qBAAD,EAA+B,SAAW,CAAA;EACjD;EACV,GAAI;CACL,CAAA;AAEL;AAEA,MAAM,mBAQD,EACH,UACA,OACA,gBACA,iBACA,UACA,GAAG,YACC;CACJ,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,MAAM,gBAAgB,gBAAgB;CAC9C,MAAM,MAAM,OAAyB,IAAI;CAEzC,MAAM,eAAe,OAAO,KAAK;CACjC,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,EAAE;CAEjE,MAAM,YAAY,cAAc,aAAa,QAAQ;CACrD,MAAM,CAAC,SAAS,eAAe,SAAS;CACxC,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,EAAE,cAAc,kBAAkB;CAExC,MAAM,mBAAmB,UAAU;CACnC,IAAI;CACJ,IAAI,aAAa,SACf,IAAI,qBAAqB,SACvB,eAAe;MAEf,eAAe;MAGjB,IAAI,qBAAqB,SAEvB,eAAe,kBADI,iBAAiB,OAAiB,OAAO,QAEjD,EAAE,QAAA,CAAmB,GAAA,CAEhC;MAEA,eAAe;CAInB,MAAM,gBACJ,UACG;EACH,MAAM,EAAE,OAAO,eAAe,MAAM;EACpC,aAAa,UAAU;EAEvB,IAAI;EACJ,IAAI,qBAAqB,SAAS;GAEhC,iBAAiB,kBADO,WAAW,QAAQ,KAAK,EACC,GAAA,GAAgB,IAAI;GACrE,MAAM,aAAa,mBAAmB,gBAAgB,OAAO,QAAQ;GACrE,uBAAuB,cAAc;GACrC,cAAc,WAAW,YAAY;IAAE,SAAS;IAAM,WAAW;GAAK,CAAC;EACzE,OAAO;GACL,iBAAiB,kBAAkB,YAAY,OAAO,UAAU,IAAI;GACpE,cAAc,WAAW,gBAAgB;IACvC,SAAS;IACT,WAAW;GACb,CAAC;EACH;CACF;CAEA,MAAM,cACJ,UACG;EACH,MAAM,EAAE,OAAO,eAAe,MAAM;EACpC,aAAa,UAAU;EAEvB,IAAI;EACJ,IAAI,qBAAqB,SAAS;GAEhC,iBAAiB,kBADO,WAAW,QAAQ,KAAK,EACC,GAAA,CAAc;GAG/D,cAAc,WADU,kBADL,mBAAmB,gBAAgB,OAAO,QACV,GAAG,OAAO,QACtB,GAAG;IACxC,SAAS;IACT,WAAW;GACb,CAAC;EACH,OAAO;GACL,iBAAiB,kBAAkB,YAAY,OAAO,QAAQ;GAC9D,cAAc,WAAW,gBAAgB;IACvC,SAAS;IACT,WAAW;GACb,CAAC;EACH;CACF;CAGA,sBAAsB;EACpB,IAAI,IAAI,SACN,aAAA,IAAA,IAAiD,IAAI,OAAO;CAEhE,GAAG,CAAC,YAAY,CAAC;CAEjB,MAAM,QACJ,SAAS,WACL,aAAa,QAAQ,SAAS,YAC5B,EAAE,eAAe,IACjB,EAAE,eAAe,IACnB,EAAE,aAAa;CAErB,OACE,qBAAC,WAAD;EAAW,GAAI;YAAf;GACE,oBAAC,uBAAD,EAAA,UACE,oBAAC,sBAAD,EAAA,UAAuB,MAA4B,CAAA,EAC9B,CAAA;GACvB,qBAAC,eAAD,EAAA,UAAA,CACE,oBAAC,2BAAD,EAAqC,SAAW,CAAA,GAChD,qBAAC,aAAD;IAAa,WAAA;cAAb,CACE,oBAAC,OAAD;KACE,UAAU;KACV,MAAK;KACL,cAAa;KACb,aAAa,qBAAqB,UAAU,OAAO;KACnC;KAChB,YAAY,EACV,WAAW,UACb;KACA,UAAU;KACV,QAAQ;KACR,OACE,qBAAqB,UACjB,eACE,IAAI,iBACJ,KACF;KAEN,MAAM;KACI;KACV,UAAA;IACD,CAAA,GACA,eACU;KACA,EAAA,CAAA;GACd,CAAC,YAAY,oBAAC,yBAAD,EAAmC,SAAW,CAAA;EACnD;;AAEf"}
1
+ {"version":3,"file":"AmountInput.js","names":[],"sources":["../../../../src/components/AmountInput/AmountInput.tsx"],"sourcesContent":["import type { Token } from '@lifi/sdk'\nimport type { CardProps } from '@mui/material'\nimport type { ChangeEvent, ReactNode } from 'react'\nimport { useLayoutEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useToken } from '../../hooks/useToken.js'\nimport { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'\nimport { FormKeyHelper, type FormTypeProps } from '../../stores/form/types.js'\nimport { useFieldActions } from '../../stores/form/useFieldActions.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { useInputModeStore } from '../../stores/inputMode/useInputModeStore.js'\nimport {\n formatInputAmount,\n formatTokenPrice,\n priceToTokenAmount,\n usdDecimals,\n} from '../../utils/format.js'\nimport { fitInputText } from '../../utils/input.js'\nimport { InputCard } from '../Card/InputCard.js'\nimport {\n AmountInputCardHeader,\n AmountInputCardTitle,\n FormContainer,\n FormControl,\n Input,\n maxInputFontSize,\n minInputFontSize,\n} from './AmountInput.style.js'\nimport { AmountInputEndAdornment } from './AmountInputEndAdornment.js'\nimport { AmountInputStartAdornment } from './AmountInputStartAdornment.js'\nimport { PriceFormHelperText } from './PriceFormHelperText.js'\n\nexport const AmountInput: React.FC<FormTypeProps & CardProps> = ({\n formType,\n ...props\n}) => {\n const { disabledUI } = useWidgetConfig()\n\n const [chainId, tokenAddress] = useFieldValues(\n FormKeyHelper.getChainKey(formType),\n FormKeyHelper.getTokenKey(formType)\n )\n\n const { token } = useToken(chainId, tokenAddress)\n\n const disabled = disabledUI?.fromAmount\n return (\n <AmountInputBase\n formType={formType}\n token={token}\n bottomAdornment={<PriceFormHelperText formType={formType} />}\n disabled={disabled}\n {...props}\n />\n )\n}\n\nconst AmountInputBase: React.FC<\n FormTypeProps &\n CardProps & {\n token?: Token\n startAdornment?: ReactNode\n bottomAdornment?: ReactNode\n disabled?: boolean\n }\n> = ({\n formType,\n token,\n startAdornment,\n bottomAdornment,\n disabled,\n ...props\n}) => {\n const { t } = useTranslation()\n const { mode, modeOptions } = useWidgetConfig()\n const ref = useRef<HTMLInputElement>(null)\n\n const isEditingRef = useRef(false)\n const [formattedPriceInput, setFormattedPriceInput] = useState('')\n\n const amountKey = FormKeyHelper.getAmountKey(formType)\n const [value] = useFieldValues(amountKey)\n const { setFieldValue } = useFieldActions()\n const { inputMode } = useInputModeStore()\n\n const currentInputMode = inputMode[formType]\n let displayValue: string\n if (isEditingRef.current) {\n if (currentInputMode === 'price') {\n displayValue = formattedPriceInput\n } else {\n displayValue = value as string\n }\n } else {\n if (currentInputMode === 'price') {\n const priceValue = formatTokenPrice(value as string, token?.priceUSD)\n displayValue = formatInputAmount(\n priceValue.toFixed(usdDecimals),\n usdDecimals\n )\n } else {\n displayValue = value as string\n }\n }\n\n const handleChange = (\n event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { value: inputValue } = event.target\n isEditingRef.current = true\n\n let formattedValue: string\n if (currentInputMode === 'price') {\n const cleanInputValue = inputValue.replace('$', '')\n formattedValue = formatInputAmount(cleanInputValue, usdDecimals, true)\n const tokenValue = priceToTokenAmount(formattedValue, token?.priceUSD)\n setFormattedPriceInput(formattedValue)\n setFieldValue(amountKey, tokenValue, { isDirty: true, isTouched: true })\n } else {\n formattedValue = formatInputAmount(inputValue, token?.decimals, true)\n setFieldValue(amountKey, formattedValue, {\n isDirty: true,\n isTouched: true,\n })\n }\n }\n\n const handleBlur = (\n event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { value: inputValue } = event.target\n isEditingRef.current = false\n\n let formattedValue: string\n if (currentInputMode === 'price') {\n const cleanInputValue = inputValue.replace('$', '')\n formattedValue = formatInputAmount(cleanInputValue, usdDecimals)\n const tokenValue = priceToTokenAmount(formattedValue, token?.priceUSD)\n const formattedAmount = formatInputAmount(tokenValue, token?.decimals)\n setFieldValue(amountKey, formattedAmount, {\n isDirty: true,\n isTouched: true,\n })\n } else {\n formattedValue = formatInputAmount(inputValue, token?.decimals)\n setFieldValue(amountKey, formattedValue, {\n isDirty: true,\n isTouched: true,\n })\n }\n }\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: we need run effect on value change\n useLayoutEffect(() => {\n if (ref.current) {\n fitInputText(maxInputFontSize, minInputFontSize, ref.current)\n }\n }, [displayValue])\n\n const title =\n mode === 'custom'\n ? modeOptions?.custom?.type === 'deposit'\n ? t('header.amount')\n : t('header.youPay')\n : t('header.send')\n\n return (\n <InputCard {...props}>\n <AmountInputCardHeader>\n <AmountInputCardTitle>{title}</AmountInputCardTitle>\n </AmountInputCardHeader>\n <FormContainer>\n <AmountInputStartAdornment formType={formType} />\n <FormControl fullWidth>\n <Input\n inputRef={ref}\n size=\"small\"\n autoComplete=\"off\"\n placeholder={currentInputMode === 'price' ? '$0' : '0'}\n startAdornment={startAdornment}\n inputProps={{\n inputMode: 'decimal',\n }}\n onChange={handleChange}\n onBlur={handleBlur}\n value={\n currentInputMode === 'price'\n ? displayValue\n ? `$${displayValue}`\n : ''\n : displayValue\n }\n name={amountKey}\n disabled={disabled}\n required\n />\n {bottomAdornment}\n </FormControl>\n </FormContainer>\n {!disabled && <AmountInputEndAdornment formType={formType} />}\n </InputCard>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AmountInput.style.js","names":["FormControl","MuiFormControl"],"sources":["../../../../src/components/AmountInput/AmountInput.style.tsx"],"sourcesContent":["import {\n Box,\n InputBase,\n inputBaseClasses,\n FormControl as MuiFormControl,\n styled,\n} from '@mui/material'\nimport type React from 'react'\nimport { CardTitle } from '../Card/CardTitle.js'\n\nexport const maxInputFontSize = 24\nexport const minInputFontSize = 14\n\nexport const FormContainer: React.FC<React.ComponentProps<typeof Box>> = styled(\n Box\n)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(2),\n}))\n\nexport const FormControl: React.FC<\n React.ComponentProps<typeof MuiFormControl>\n> = styled(MuiFormControl)(() => ({\n height: 40,\n}))\n\nexport const Input: React.FC<React.ComponentProps<typeof InputBase>> = styled(\n InputBase\n)(({ theme }) => ({\n fontSize: 24,\n fontWeight: 700,\n boxShadow: 'none',\n lineHeight: 1.5,\n [`.${inputBaseClasses.input}`]: {\n height: 24,\n padding: theme.spacing(0, 0, 0, 2),\n },\n '& input[type=\"number\"]::-webkit-outer-spin-button, & input[type=\"number\"]::-webkit-inner-spin-button':\n {\n WebkitAppearance: 'none',\n margin: 0,\n },\n '& input[type=\"number\"]': {\n MozAppearance: 'textfield',\n },\n [`&.${inputBaseClasses.disabled}`]: {\n color: 'inherit',\n },\n [`.${inputBaseClasses.input}.${inputBaseClasses.disabled}`]: {\n WebkitTextFillColor: 'unset',\n },\n}))\n\nexport const AmountInputCardTitle: React.FC<\n React.ComponentProps<typeof CardTitle>\n> = styled(CardTitle)(({ theme }) => ({\n padding: theme.spacing(0),\n}))\n\nexport const AmountInputCardHeader: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n padding: theme.spacing(2, 2, 0, 2),\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: 30,\n }))\n"],"mappings":";;;AAaA,MAAa,gBAA4D,OACvE,GACF,GAAG,EAAE,aAAa;CAChB,SAAS;CACT,YAAY;CACZ,SAAS,MAAM,QAAQ,CAAC;AAC1B,EAAE;AAEF,MAAaA,gBAET,OAAOC,WAAc,SAAS,EAChC,QAAQ,GACV,EAAE;AAEF,MAAa,QAA0D,OACrE,SACF,GAAG,EAAE,aAAa;CAChB,UAAU;CACV,YAAY;CACZ,WAAW;CACX,YAAY;EACX,IAAI,iBAAiB,UAAU;EAC9B,QAAQ;EACR,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACnC;CACA,4GACE;EACE,kBAAkB;EAClB,QAAQ;CACV;CACF,4BAA0B,EACxB,eAAe,YACjB;EACC,KAAK,iBAAiB,aAAa,EAClC,OAAO,UACT;EACC,IAAI,iBAAiB,MAAM,GAAG,iBAAiB,aAAa,EAC3D,qBAAqB,QACvB;AACF,EAAE;AAEF,MAAa,uBAET,OAAO,SAAS,GAAG,EAAE,aAAa,EACpC,SAAS,MAAM,QAAQ,CAAC,EAC1B,EAAE;AAEF,MAAa,wBACX,OAAO,GAAG,GAAG,EAAE,aAAa;CAC1B,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACjC,SAAS;CACT,gBAAgB;CAChB,YAAY;CACZ,QAAQ;AACV,EAAE"}
1
+ {"version":3,"file":"AmountInput.style.js","names":["FormControl","MuiFormControl"],"sources":["../../../../src/components/AmountInput/AmountInput.style.tsx"],"sourcesContent":["import {\n Box,\n InputBase,\n inputBaseClasses,\n FormControl as MuiFormControl,\n styled,\n} from '@mui/material'\nimport type React from 'react'\nimport { CardTitle } from '../Card/CardTitle.js'\n\nexport const maxInputFontSize = 24\nexport const minInputFontSize = 14\n\nexport const FormContainer: React.FC<React.ComponentProps<typeof Box>> = styled(\n Box\n)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(2),\n}))\n\nexport const FormControl: React.FC<\n React.ComponentProps<typeof MuiFormControl>\n> = styled(MuiFormControl)(() => ({\n height: 40,\n}))\n\nexport const Input: React.FC<React.ComponentProps<typeof InputBase>> = styled(\n InputBase\n)(({ theme }) => ({\n fontSize: 24,\n fontWeight: 700,\n boxShadow: 'none',\n lineHeight: 1.5,\n [`.${inputBaseClasses.input}`]: {\n height: 24,\n padding: theme.spacing(0, 0, 0, 2),\n },\n '& input[type=\"number\"]::-webkit-outer-spin-button, & input[type=\"number\"]::-webkit-inner-spin-button':\n {\n WebkitAppearance: 'none',\n margin: 0,\n },\n '& input[type=\"number\"]': {\n MozAppearance: 'textfield',\n },\n [`&.${inputBaseClasses.disabled}`]: {\n color: 'inherit',\n },\n [`.${inputBaseClasses.input}.${inputBaseClasses.disabled}`]: {\n WebkitTextFillColor: 'unset',\n },\n}))\n\nexport const AmountInputCardTitle: React.FC<\n React.ComponentProps<typeof CardTitle>\n> = styled(CardTitle)(({ theme }) => ({\n padding: theme.spacing(0),\n}))\n\nexport const AmountInputCardHeader: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n padding: theme.spacing(2, 2, 0, 2),\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: 30,\n }))\n"],"mappings":";;;AAaA,MAAa,gBAA4D,OACvE,GACF,CAAC,EAAE,EAAE,aAAa;CAChB,SAAS;CACT,YAAY;CACZ,SAAS,MAAM,QAAQ,CAAC;AAC1B,EAAE;AAEF,MAAaA,gBAET,OAAOC,WAAc,CAAC,QAAQ,EAChC,QAAQ,GACV,EAAE;AAEF,MAAa,QAA0D,OACrE,SACF,CAAC,EAAE,EAAE,aAAa;CAChB,UAAU;CACV,YAAY;CACZ,WAAW;CACX,YAAY;EACX,IAAI,iBAAiB,UAAU;EAC9B,QAAQ;EACR,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACnC;CACA,4GACE;EACE,kBAAkB;EAClB,QAAQ;CACV;CACF,4BAA0B,EACxB,eAAe,YACjB;EACC,KAAK,iBAAiB,aAAa,EAClC,OAAO,UACT;EACC,IAAI,iBAAiB,MAAM,GAAG,iBAAiB,aAAa,EAC3D,qBAAqB,QACvB;AACF,EAAE;AAEF,MAAa,uBAET,OAAO,SAAS,CAAC,EAAE,EAAE,aAAa,EACpC,SAAS,MAAM,QAAQ,CAAC,EAC1B,EAAE;AAEF,MAAa,wBACX,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa;CAC1B,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACjC,SAAS;CACT,gBAAgB;CAChB,YAAY;CACZ,QAAQ;AACV,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"AmountInputEndAdornment.style.js","names":[],"sources":["../../../../src/components/AmountInput/AmountInputEndAdornment.style.ts"],"sourcesContent":["import { Box, styled } from '@mui/material'\nimport type React from 'react'\nimport { ButtonTertiary } from '../ButtonTertiary.js'\n\nexport const ButtonContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n padding: theme.spacing(0, 2, 2, 2),\n }))\n\nexport const AmountInputButton: React.FC<\n React.ComponentProps<typeof ButtonTertiary>\n> = styled(ButtonTertiary)(({ theme }) => ({\n flex: 1,\n padding: theme.spacing(0.5, 1.5),\n fontSize: 12,\n fontWeight: 700,\n lineHeight: 1.3334,\n height: 'auto',\n borderRadius: theme.shape.borderRadiusSecondary,\n}))\n"],"mappings":";;;AAIA,MAAa,kBACX,OAAO,GAAG,GAAG,EAAE,aAAa;CAC1B,SAAS;CACT,KAAK,MAAM,QAAQ,CAAC;CACpB,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;AACnC,EAAE;AAEJ,MAAa,oBAET,OAAO,cAAc,GAAG,EAAE,aAAa;CACzC,MAAM;CACN,SAAS,MAAM,QAAQ,IAAK,GAAG;CAC/B,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,QAAQ;CACR,cAAc,MAAM,MAAM;AAC5B,EAAE"}
1
+ {"version":3,"file":"AmountInputEndAdornment.style.js","names":[],"sources":["../../../../src/components/AmountInput/AmountInputEndAdornment.style.ts"],"sourcesContent":["import { Box, styled } from '@mui/material'\nimport type React from 'react'\nimport { ButtonTertiary } from '../ButtonTertiary.js'\n\nexport const ButtonContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n padding: theme.spacing(0, 2, 2, 2),\n }))\n\nexport const AmountInputButton: React.FC<\n React.ComponentProps<typeof ButtonTertiary>\n> = styled(ButtonTertiary)(({ theme }) => ({\n flex: 1,\n padding: theme.spacing(0.5, 1.5),\n fontSize: 12,\n fontWeight: 700,\n lineHeight: 1.3334,\n height: 'auto',\n borderRadius: theme.shape.borderRadiusSecondary,\n}))\n"],"mappings":";;;AAIA,MAAa,kBACX,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa;CAC1B,SAAS;CACT,KAAK,MAAM,QAAQ,CAAC;CACpB,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;AACnC,EAAE;AAEJ,MAAa,oBAET,OAAO,cAAc,CAAC,EAAE,EAAE,aAAa;CACzC,MAAM;CACN,SAAS,MAAM,QAAQ,IAAK,GAAG;CAC/B,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,QAAQ;CACR,cAAc,MAAM,MAAM;AAC5B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"PriceFormHelperText.style.js","names":[],"sources":["../../../../src/components/AmountInput/PriceFormHelperText.style.tsx"],"sourcesContent":["import { Button, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const InputPriceButton: React.FC<React.ComponentProps<typeof Button>> =\n styled(Button)(({ theme, onClick }) => ({\n color: theme.vars.palette.text.secondary,\n padding: theme.spacing(0.25, 0.5, 0.25, 0.75),\n maxHeight: 16,\n fontSize: '0.75rem',\n fontWeight: 500,\n borderRadius: `calc(${theme.vars.shape.borderRadius} * 2)`,\n backgroundColor: 'transparent',\n minWidth: 32,\n ...(onClick\n ? {\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n ...theme.applyStyles('dark', {\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n }),\n }\n : {\n cursor: 'text',\n userSelect: 'text',\n pointerEvents: 'none',\n ...theme.applyStyles('dark', {\n backgroundColor: 'transparent',\n }),\n }),\n }))\n"],"mappings":";;AAGA,MAAa,mBACX,OAAO,MAAM,GAAG,EAAE,OAAO,eAAe;CACtC,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,SAAS,MAAM,QAAQ,KAAM,IAAK,KAAM,GAAI;CAC5C,WAAW;CACX,UAAU;CACV,YAAY;CACZ,cAAc,QAAQ,MAAM,KAAK,MAAM,aAAa;CACpD,iBAAiB;CACjB,UAAU;CACV,GAAI,UACA;EACE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACA,GAAG,MAAM,YAAY,QAAQ;GAC3B,iBAAiB;GACjB,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACF,CAAC;CACH,IACA;EACE,QAAQ;EACR,YAAY;EACZ,eAAe;EACf,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,cACnB,CAAC;CACH;AACN,EAAE"}
1
+ {"version":3,"file":"PriceFormHelperText.style.js","names":[],"sources":["../../../../src/components/AmountInput/PriceFormHelperText.style.tsx"],"sourcesContent":["import { Button, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const InputPriceButton: React.FC<React.ComponentProps<typeof Button>> =\n styled(Button)(({ theme, onClick }) => ({\n color: theme.vars.palette.text.secondary,\n padding: theme.spacing(0.25, 0.5, 0.25, 0.75),\n maxHeight: 16,\n fontSize: '0.75rem',\n fontWeight: 500,\n borderRadius: `calc(${theme.vars.shape.borderRadius} * 2)`,\n backgroundColor: 'transparent',\n minWidth: 32,\n ...(onClick\n ? {\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n ...theme.applyStyles('dark', {\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n }),\n }\n : {\n cursor: 'text',\n userSelect: 'text',\n pointerEvents: 'none',\n ...theme.applyStyles('dark', {\n backgroundColor: 'transparent',\n }),\n }),\n }))\n"],"mappings":";;AAGA,MAAa,mBACX,OAAO,MAAM,CAAC,EAAE,EAAE,OAAO,eAAe;CACtC,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,SAAS,MAAM,QAAQ,KAAM,IAAK,KAAM,GAAI;CAC5C,WAAW;CACX,UAAU;CACV,YAAY;CACZ,cAAc,QAAQ,MAAM,KAAK,MAAM,aAAa;CACpD,iBAAiB;CACjB,UAAU;CACV,GAAI,UACA;EACE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACA,GAAG,MAAM,YAAY,QAAQ;GAC3B,iBAAiB;GACjB,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACF,CAAC;CACH,IACA;EACE,QAAQ;EACR,YAAY;EACZ,eAAe;EACf,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,cACnB,CAAC;CACH;AACN,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppContainer.js","names":[],"sources":["../../../src/components/AppContainer.tsx"],"sourcesContent":["import type { BoxProps, ContainerProps } from '@mui/material'\nimport { Box, Container, ScopedCssBaseline, styled } from '@mui/material'\nimport type React from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { useHeaderHeight } from '../stores/header/useHeaderStore.js'\nimport type { WidgetVariant } from '../types/widget.js'\nimport { createElementId, ElementId } from '../utils/elements.js'\nimport { getWidgetMaxHeight } from '../utils/widgetSize.js'\n\n// NOTE: the setting of the height in AppExpandedContainer, RelativeContainer and CssBaselineContainer can\n// be done dynamically by values in the config - namely the config.theme.container values display, maxHeight and height\n// A Number of other components and hooks work with height values that are often set on or derived from these elements\n// if there are changes to how the height works here you should also check the functionality of these hooks and their point of use\n// - useTokenListHeight\n// - useSetContentHeight\n// Also check any code that is using the methods from elements.ts utils file\n\nexport const AppExpandedContainer: React.FC<BoxProps> = styled(Box)(\n ({ theme }) => {\n return {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'start',\n flex: 1,\n height:\n theme.container?.display === 'flex'\n ? '100%'\n : theme.container?.maxHeight\n ? 'auto'\n : theme.container?.height || 'auto',\n }\n }\n)\n\nexport const RelativeContainer: React.FC<\n BoxProps & { variant?: WidgetVariant }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: WidgetVariant }>(({ theme }) => {\n const maxHeight =\n theme.container?.height === 'fit-content' ||\n (!theme.container?.height && !theme.container?.maxHeight)\n ? 'none'\n : getWidgetMaxHeight(theme)\n return {\n position: 'relative',\n boxSizing: 'content-box',\n width: '100%',\n minWidth: theme.breakpoints.values.xs,\n maxWidth: theme.breakpoints.values.sm,\n background: theme.vars.palette.background.default,\n overflow: 'auto',\n flex: 1,\n ...theme.container,\n maxHeight:\n theme.container?.display === 'flex' && !theme.container?.height\n ? '100%'\n : maxHeight,\n zIndex: 1, // NB: higher than of expansion containers\n variants: [\n {\n props: {\n variant: 'drawer',\n },\n style: {\n maxHeight: 'none',\n height: '100%',\n boxShadow: 'none',\n borderRadius: 0,\n },\n },\n ],\n }\n})\n\ninterface CssBaselineContainerProps {\n variant?: WidgetVariant\n paddingTopAdjustment: number\n elementId: string\n}\n\nconst CssBaselineContainer = styled(ScopedCssBaseline, {\n shouldForwardProp: (prop) =>\n !['variant', 'paddingTopAdjustment', 'elementId'].includes(prop as string),\n})<CssBaselineContainerProps>(({ theme, variant, paddingTopAdjustment }) => {\n const maxHeight =\n theme.container?.height === 'fit-content' ||\n (!theme.container?.height && !theme.container?.maxHeight)\n ? 'none'\n : getWidgetMaxHeight(theme)\n return {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n overflowX: 'clip',\n margin: 0,\n width: '100%',\n maxHeight:\n variant === 'drawer' || theme.container?.display === 'flex'\n ? 'none'\n : maxHeight,\n overflowY: 'auto',\n height: theme.container?.display === 'flex' ? 'auto' : '100%',\n paddingTop: paddingTopAdjustment,\n '&:has(.long-list)': {\n minHeight: getWidgetMaxHeight(theme),\n maxHeight: getWidgetMaxHeight(theme),\n },\n }\n})\n\nexport const FlexContainer: React.FC<ContainerProps> = styled(Container)({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n})\n\nexport const AppContainer: React.FC<PropsWithChildren> = ({ children }) => {\n // const ref = useRef<HTMLDivElement>(null);\n const { variant, elementId, theme } = useWidgetConfig()\n const { headerHeight } = useHeaderHeight()\n const positionFixedAdjustment =\n theme?.header?.position === 'fixed' ? headerHeight : 0\n\n return (\n <RelativeContainer\n variant={variant}\n id={createElementId(ElementId.RelativeContainer, elementId)}\n >\n <CssBaselineContainer\n id={createElementId(ElementId.ScrollableContainer, elementId)}\n variant={variant}\n enableColorScheme\n paddingTopAdjustment={positionFixedAdjustment}\n elementId={elementId}\n // ref={ref}\n >\n <FlexContainer disableGutters>{children}</FlexContainer>\n </CssBaselineContainer>\n {/* <ScrollToLocation elementRef={ref} /> */}\n </RelativeContainer>\n )\n}\n\n// export const ScrollToLocation: React.FC<{\n// elementRef: RefObject<HTMLElement>;\n// }> = ({ elementRef }) => {\n// const { pathname } = useLocation();\n// useLayoutEffect(() => {\n// elementRef.current?.scrollTo(0, 0);\n// }, [elementRef, pathname]);\n// return null;\n// };\n"],"mappings":";;;;;;;AAkBA,MAAa,uBAA2C,OAAO,GAAG,GAC/D,EAAE,YAAY;CACb,OAAO;EACL,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,QACE,MAAM,WAAW,YAAY,SACzB,SACA,MAAM,WAAW,YACf,SACA,MAAM,WAAW,UAAU;CACrC;AACF,CACF;AAEA,MAAa,oBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,UACxC,CAAC,GAAgC,EAAE,YAAY;CAC7C,MAAM,YACJ,MAAM,WAAW,WAAW,iBAC3B,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,WAAW,YAC3C,SACA,mBAAmB,KAAK;CAC9B,OAAO;EACL,UAAU;EACV,WAAW;EACX,OAAO;EACP,UAAU,MAAM,YAAY,OAAO;EACnC,UAAU,MAAM,YAAY,OAAO;EACnC,YAAY,MAAM,KAAK,QAAQ,WAAW;EAC1C,UAAU;EACV,MAAM;EACN,GAAG,MAAM;EACT,WACE,MAAM,WAAW,YAAY,UAAU,CAAC,MAAM,WAAW,SACrD,SACA;EACN,QAAQ;EACR,UAAU,CACR;GACE,OAAO,EACL,SAAS,SACX;GACA,OAAO;IACL,WAAW;IACX,QAAQ;IACR,WAAW;IACX,cAAc;GAChB;EACF,CACF;CACF;AACF,CAAC;AAQD,MAAM,uBAAuB,OAAO,mBAAmB,EACrD,oBAAoB,SAClB,CAAC;CAAC;CAAW;CAAwB;AAAW,EAAE,SAAS,IAAc,EAC7E,CAAC,GAA8B,EAAE,OAAO,SAAS,2BAA2B;CAC1E,MAAM,YACJ,MAAM,WAAW,WAAW,iBAC3B,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,WAAW,YAC3C,SACA,mBAAmB,KAAK;CAC9B,OAAO;EACL,SAAS;EACT,MAAM;EACN,eAAe;EACf,WAAW;EACX,QAAQ;EACR,OAAO;EACP,WACE,YAAY,YAAY,MAAM,WAAW,YAAY,SACjD,SACA;EACN,WAAW;EACX,QAAQ,MAAM,WAAW,YAAY,SAAS,SAAS;EACvD,YAAY;EACZ,qBAAqB;GACnB,WAAW,mBAAmB,KAAK;GACnC,WAAW,mBAAmB,KAAK;EACrC;CACF;AACF,CAAC;AAED,MAAa,gBAA0C,OAAO,SAAS,EAAE;CACvE,SAAS;CACT,eAAe;CACf,MAAM;AACR,CAAC;AAED,MAAa,gBAA6C,EAAE,eAAe;CAEzE,MAAM,EAAE,SAAS,WAAW,UAAU,gBAAgB;CACtD,MAAM,EAAE,iBAAiB,gBAAgB;CACzC,MAAM,0BACJ,OAAO,QAAQ,aAAa,UAAU,eAAe;CAEvD,OACE,oBAAC,mBAAD;EACW;EACT,IAAI,gBAAA,6BAA6C,SAAS;YAE1D,oBAAC,sBAAD;GACE,IAAI,gBAAA,+BAA+C,SAAS;GACnD;GACT,mBAAA;GACA,sBAAsB;GACX;aAGX,oBAAC,eAAD;IAAe,gBAAA;IAAgB;GAAwB,CAAA;EACnC,CAAA;CAEL,CAAA;AAEvB"}
1
+ {"version":3,"file":"AppContainer.js","names":[],"sources":["../../../src/components/AppContainer.tsx"],"sourcesContent":["import type { BoxProps, ContainerProps } from '@mui/material'\nimport { Box, Container, ScopedCssBaseline, styled } from '@mui/material'\nimport type React from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { useHeaderHeight } from '../stores/header/useHeaderStore.js'\nimport type { WidgetVariant } from '../types/widget.js'\nimport { createElementId, ElementId } from '../utils/elements.js'\nimport { getWidgetMaxHeight } from '../utils/widgetSize.js'\n\n// NOTE: the setting of the height in AppExpandedContainer, RelativeContainer and CssBaselineContainer can\n// be done dynamically by values in the config - namely the config.theme.container values display, maxHeight and height\n// A Number of other components and hooks work with height values that are often set on or derived from these elements\n// if there are changes to how the height works here you should also check the functionality of these hooks and their point of use\n// - useTokenListHeight\n// - useSetContentHeight\n// Also check any code that is using the methods from elements.ts utils file\n\nexport const AppExpandedContainer: React.FC<BoxProps> = styled(Box)(\n ({ theme }) => {\n return {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'start',\n flex: 1,\n height:\n theme.container?.display === 'flex'\n ? '100%'\n : theme.container?.maxHeight\n ? 'auto'\n : theme.container?.height || 'auto',\n }\n }\n)\n\nexport const RelativeContainer: React.FC<\n BoxProps & { variant?: WidgetVariant }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: WidgetVariant }>(({ theme }) => {\n const maxHeight =\n theme.container?.height === 'fit-content' ||\n (!theme.container?.height && !theme.container?.maxHeight)\n ? 'none'\n : getWidgetMaxHeight(theme)\n return {\n position: 'relative',\n boxSizing: 'content-box',\n width: '100%',\n minWidth: theme.breakpoints.values.xs,\n maxWidth: theme.breakpoints.values.sm,\n background: theme.vars.palette.background.default,\n overflow: 'auto',\n flex: 1,\n ...theme.container,\n maxHeight:\n theme.container?.display === 'flex' && !theme.container?.height\n ? '100%'\n : maxHeight,\n zIndex: 1, // NB: higher than of expansion containers\n variants: [\n {\n props: {\n variant: 'drawer',\n },\n style: {\n maxHeight: 'none',\n height: '100%',\n boxShadow: 'none',\n borderRadius: 0,\n },\n },\n ],\n }\n})\n\ninterface CssBaselineContainerProps {\n variant?: WidgetVariant\n paddingTopAdjustment: number\n elementId: string\n}\n\nconst CssBaselineContainer = styled(ScopedCssBaseline, {\n shouldForwardProp: (prop) =>\n !['variant', 'paddingTopAdjustment', 'elementId'].includes(prop as string),\n})<CssBaselineContainerProps>(({ theme, variant, paddingTopAdjustment }) => {\n const maxHeight =\n theme.container?.height === 'fit-content' ||\n (!theme.container?.height && !theme.container?.maxHeight)\n ? 'none'\n : getWidgetMaxHeight(theme)\n return {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n overflowX: 'clip',\n margin: 0,\n width: '100%',\n maxHeight:\n variant === 'drawer' || theme.container?.display === 'flex'\n ? 'none'\n : maxHeight,\n overflowY: 'auto',\n height: theme.container?.display === 'flex' ? 'auto' : '100%',\n paddingTop: paddingTopAdjustment,\n '&:has(.long-list)': {\n minHeight: getWidgetMaxHeight(theme),\n maxHeight: getWidgetMaxHeight(theme),\n },\n }\n})\n\nexport const FlexContainer: React.FC<ContainerProps> = styled(Container)({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n})\n\nexport const AppContainer: React.FC<PropsWithChildren> = ({ children }) => {\n // const ref = useRef<HTMLDivElement>(null);\n const { variant, elementId, theme } = useWidgetConfig()\n const { headerHeight } = useHeaderHeight()\n const positionFixedAdjustment =\n theme?.header?.position === 'fixed' ? headerHeight : 0\n\n return (\n <RelativeContainer\n variant={variant}\n id={createElementId(ElementId.RelativeContainer, elementId)}\n >\n <CssBaselineContainer\n id={createElementId(ElementId.ScrollableContainer, elementId)}\n variant={variant}\n enableColorScheme\n paddingTopAdjustment={positionFixedAdjustment}\n elementId={elementId}\n // ref={ref}\n >\n <FlexContainer disableGutters>{children}</FlexContainer>\n </CssBaselineContainer>\n {/* <ScrollToLocation elementRef={ref} /> */}\n </RelativeContainer>\n )\n}\n\n// export const ScrollToLocation: React.FC<{\n// elementRef: RefObject<HTMLElement>;\n// }> = ({ elementRef }) => {\n// const { pathname } = useLocation();\n// useLayoutEffect(() => {\n// elementRef.current?.scrollTo(0, 0);\n// }, [elementRef, pathname]);\n// return null;\n// };\n"],"mappings":";;;;;;;AAkBA,MAAa,uBAA2C,OAAO,GAAG,CAAC,EAChE,EAAE,YAAY;CACb,OAAO;EACL,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,QACE,MAAM,WAAW,YAAY,SACzB,SACA,MAAM,WAAW,YACf,SACA,MAAM,WAAW,UAAU;CACrC;AACF,CACF;AAEA,MAAa,oBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,UACxC,CAAC,CAAC,EAA+B,EAAE,YAAY;CAC7C,MAAM,YACJ,MAAM,WAAW,WAAW,iBAC3B,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,WAAW,YAC3C,SACA,mBAAmB,KAAK;CAC9B,OAAO;EACL,UAAU;EACV,WAAW;EACX,OAAO;EACP,UAAU,MAAM,YAAY,OAAO;EACnC,UAAU,MAAM,YAAY,OAAO;EACnC,YAAY,MAAM,KAAK,QAAQ,WAAW;EAC1C,UAAU;EACV,MAAM;EACN,GAAG,MAAM;EACT,WACE,MAAM,WAAW,YAAY,UAAU,CAAC,MAAM,WAAW,SACrD,SACA;EACN,QAAQ;EACR,UAAU,CACR;GACE,OAAO,EACL,SAAS,SACX;GACA,OAAO;IACL,WAAW;IACX,QAAQ;IACR,WAAW;IACX,cAAc;GAChB;EACF,CACF;CACF;AACF,CAAC;AAQD,MAAM,uBAAuB,OAAO,mBAAmB,EACrD,oBAAoB,SAClB,CAAC;CAAC;CAAW;CAAwB;AAAW,CAAC,CAAC,SAAS,IAAc,EAC7E,CAAC,CAAC,EAA6B,EAAE,OAAO,SAAS,2BAA2B;CAC1E,MAAM,YACJ,MAAM,WAAW,WAAW,iBAC3B,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,WAAW,YAC3C,SACA,mBAAmB,KAAK;CAC9B,OAAO;EACL,SAAS;EACT,MAAM;EACN,eAAe;EACf,WAAW;EACX,QAAQ;EACR,OAAO;EACP,WACE,YAAY,YAAY,MAAM,WAAW,YAAY,SACjD,SACA;EACN,WAAW;EACX,QAAQ,MAAM,WAAW,YAAY,SAAS,SAAS;EACvD,YAAY;EACZ,qBAAqB;GACnB,WAAW,mBAAmB,KAAK;GACnC,WAAW,mBAAmB,KAAK;EACrC;CACF;AACF,CAAC;AAED,MAAa,gBAA0C,OAAO,SAAS,CAAC,CAAC;CACvE,SAAS;CACT,eAAe;CACf,MAAM;AACR,CAAC;AAED,MAAa,gBAA6C,EAAE,eAAe;CAEzE,MAAM,EAAE,SAAS,WAAW,UAAU,gBAAgB;CACtD,MAAM,EAAE,iBAAiB,gBAAgB;CACzC,MAAM,0BACJ,OAAO,QAAQ,aAAa,UAAU,eAAe;CAEvD,OACE,oBAAC,mBAAD;EACW;EACT,IAAI,gBAAA,6BAA6C,SAAS;YAE1D,oBAAC,sBAAD;GACE,IAAI,gBAAA,+BAA+C,SAAS;GACnD;GACT,mBAAA;GACA,sBAAsB;GACX;aAGX,oBAAC,eAAD;IAAe,gBAAA;IAAgB;GAAwB,CAAA;EACnC,CAAA;CAEL,CAAA;AAEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountAvatar.js","names":[],"sources":["../../../../src/components/Avatar/AccountAvatar.tsx"],"sourcesContent":["import { getConnectorIcon } from '@lifi/wallet-management'\nimport type { Account } from '@lifi/widget-provider'\nimport Wallet from '@mui/icons-material/Wallet'\nimport { Badge } from '@mui/material'\nimport type { JSX } from 'react'\nimport { useChain } from '../../hooks/useChain.js'\nimport type { ToAddress } from '../../types/widget.js'\nimport { AvatarDefault, AvatarMasked } from './Avatar.style.js'\nimport { ChainBadgeContent } from './ChainBadgeContent.js'\n\ninterface AccountAvatarProps {\n chainId?: number\n account?: Account\n toAddress?: ToAddress\n empty?: boolean\n}\n\nexport const AccountAvatar = ({\n chainId,\n account,\n empty,\n toAddress,\n}: AccountAvatarProps): JSX.Element => {\n const { chain } = useChain(chainId)\n\n const avatar = empty ? (\n <AvatarDefault />\n ) : account?.connector || toAddress?.logoURI ? (\n <AvatarMasked\n src={toAddress?.logoURI || getConnectorIcon(account?.connector)}\n alt={toAddress?.name || account?.connector?.name}\n >\n {(toAddress?.name || account?.connector?.name)?.[0]}\n </AvatarMasked>\n ) : (\n <AvatarDefault>\n <Wallet sx={{ fontSize: 20 }} />\n </AvatarDefault>\n )\n\n return (\n <Badge\n overlap=\"circular\"\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n badgeContent={<ChainBadgeContent chain={chain} />}\n >\n {avatar}\n </Badge>\n )\n}\n"],"mappings":";;;;;;;;AAiBA,MAAa,iBAAiB,EAC5B,SACA,SACA,OACA,gBACqC;CACrC,MAAM,EAAE,UAAU,SAAS,OAAO;CAElC,MAAM,SAAS,QACb,oBAAC,eAAD,CAAgB,CAAA,IACd,SAAS,aAAa,WAAW,UACnC,oBAAC,cAAD;EACE,KAAK,WAAW,WAAW,iBAAiB,SAAS,SAAS;EAC9D,KAAK,WAAW,QAAQ,SAAS,WAAW;aAE1C,WAAW,QAAQ,SAAS,WAAW,QAAQ;CACrC,CAAA,IAEd,oBAAC,eAAD,EAAA,UACE,oBAAC,QAAD,EAAQ,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA,EAClB,CAAA;CAGjB,OACE,oBAAC,OAAD;EACE,SAAQ;EACR,cAAc;GAAE,UAAU;GAAU,YAAY;EAAQ;EACxD,cAAc,oBAAC,mBAAD,EAA0B,MAAQ,CAAA;YAE/C;CACI,CAAA;AAEX"}
1
+ {"version":3,"file":"AccountAvatar.js","names":[],"sources":["../../../../src/components/Avatar/AccountAvatar.tsx"],"sourcesContent":["import { getConnectorIcon } from '@lifi/wallet-management'\nimport type { Account } from '@lifi/widget-provider'\nimport Wallet from '@mui/icons-material/Wallet'\nimport { Badge } from '@mui/material'\nimport type { JSX } from 'react'\nimport { useChain } from '../../hooks/useChain.js'\nimport type { ToAddress } from '../../types/widget.js'\nimport { AvatarDefault, AvatarMasked } from './Avatar.style.js'\nimport { ChainBadgeContent } from './ChainBadgeContent.js'\n\ninterface AccountAvatarProps {\n chainId?: number\n account?: Account\n toAddress?: ToAddress\n empty?: boolean\n}\n\nexport const AccountAvatar = ({\n chainId,\n account,\n empty,\n toAddress,\n}: AccountAvatarProps): JSX.Element => {\n const { chain } = useChain(chainId)\n\n const avatar = empty ? (\n <AvatarDefault />\n ) : account?.connector || toAddress?.logoURI ? (\n <AvatarMasked\n src={toAddress?.logoURI || getConnectorIcon(account?.connector)}\n alt={toAddress?.name || account?.connector?.name}\n >\n {(toAddress?.name || account?.connector?.name)?.[0]}\n </AvatarMasked>\n ) : (\n <AvatarDefault>\n <Wallet sx={{ fontSize: 20 }} />\n </AvatarDefault>\n )\n\n return (\n <Badge\n overlap=\"circular\"\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n badgeContent={<ChainBadgeContent chain={chain} />}\n >\n {avatar}\n </Badge>\n )\n}\n"],"mappings":";;;;;;;;AAiBA,MAAa,iBAAiB,EAC5B,SACA,SACA,OACA,gBACqC;CACrC,MAAM,EAAE,UAAU,SAAS,OAAO;CAElC,MAAM,SAAS,QACb,oBAAC,eAAD,CAAgB,CAAA,IACd,SAAS,aAAa,WAAW,UACnC,oBAAC,cAAD;EACE,KAAK,WAAW,WAAW,iBAAiB,SAAS,SAAS;EAC9D,KAAK,WAAW,QAAQ,SAAS,WAAW;aAE1C,WAAW,QAAQ,SAAS,WAAW,KAAA,GAAQ;CACrC,CAAA,IAEd,oBAAC,eAAD,EAAA,UACE,oBAAC,QAAD,EAAQ,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA,EAClB,CAAA;CAGjB,OACE,oBAAC,OAAD;EACE,SAAQ;EACR,cAAc;GAAE,UAAU;GAAU,YAAY;EAAQ;EACxD,cAAc,oBAAC,mBAAD,EAA0B,MAAQ,CAAA;YAE/C;CACI,CAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.style.js","names":["MuiAvatar"],"sources":["../../../../src/components/Avatar/Avatar.style.tsx"],"sourcesContent":["import type { CSSObject } from '@mui/material'\nimport {\n AvatarGroup,\n avatarClasses,\n Box,\n badgeClasses,\n Avatar as MuiAvatar,\n styled,\n} from '@mui/material'\nimport type React from 'react'\nimport { getAvatarMask } from './utils.js'\n\nexport const AvatarMasked: React.FC<\n React.ComponentProps<typeof MuiAvatar> & {\n avatarSize?: number\n badgeSize?: number\n }\n> = styled(MuiAvatar, {\n shouldForwardProp: (prop) => prop !== 'avatarSize' && prop !== 'badgeSize',\n})<{ avatarSize?: number; badgeSize?: number }>(\n ({ avatarSize = 40, badgeSize = 16 }) => ({\n width: avatarSize,\n height: avatarSize,\n mask: getAvatarMask(badgeSize),\n })\n)\n\nexport const TokenAvatarGroup: React.FC<\n React.ComponentProps<typeof AvatarGroup> & { badgeSize?: number }\n> = styled(AvatarGroup)(({ theme }) => ({\n [`& .${badgeClasses.badge}:last-of-type .${avatarClasses.root}`]: {\n boxSizing: 'border-box',\n },\n [`& .${avatarClasses.root}`]: {\n border: 'none',\n marginLeft: 0,\n },\n [`& .${badgeClasses.root}:first-of-type`]: {\n marginLeft: theme.spacing(-1),\n border: 'none',\n },\n [`& .${badgeClasses.root}:last-of-type`]: {\n border: 'none',\n },\n}))\n\nexport const AvatarDefault: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'badgeSize',\n})<{ badgeSize?: number }>(({ theme, badgeSize = 16 }) => {\n const root = theme.components?.MuiAvatar?.styleOverrides?.root as CSSObject\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '50%',\n height: root?.height,\n width: root?.width,\n color: theme.vars.palette.text.secondary,\n mask: getAvatarMask(badgeSize),\n background: theme.vars.palette.grey[300],\n ...theme.applyStyles('dark', {\n background: theme.vars.palette.grey[800],\n }),\n }\n})\n\nexport const AvatarDefaultBadge: React.FC<\n React.ComponentProps<typeof Box> & { size?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'size',\n})<{ size?: number }>(({ theme, size = 16 }) => {\n return {\n borderRadius: '50%',\n height: size,\n width: size,\n background: theme.vars.palette.grey[300],\n ...theme.applyStyles('dark', {\n background: theme.vars.palette.grey[800],\n }),\n }\n})\n\nexport const AvatarSkeletonContainer: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box)(({ theme }) => ({\n background: theme.vars.palette.background.paper,\n borderRadius: '50%',\n}))\n\nexport const AvatarSkeletonMaskedContainer: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'badgeSize',\n})<{ badgeSize?: number }>(({ theme, badgeSize = 16 }) => ({\n background: theme.vars.palette.background.paper,\n borderRadius: '50%',\n mask: getAvatarMask(badgeSize),\n}))\n"],"mappings":";;;AAYA,MAAa,eAKT,OAAOA,QAAW,EACpB,oBAAoB,SAAS,SAAS,gBAAgB,SAAS,YACjE,CAAC,GACE,EAAE,aAAa,IAAI,YAAY,UAAU;CACxC,OAAO;CACP,QAAQ;CACR,MAAM,cAAc,SAAS;AAC/B,EACF;AAII,OAAO,WAAW,GAAG,EAAE,aAAa;EACrC,MAAM,aAAa,MAAM,iBAAiB,cAAc,SAAS,EAChE,WAAW,aACb;EACC,MAAM,cAAc,SAAS;EAC5B,QAAQ;EACR,YAAY;CACd;EACC,MAAM,aAAa,KAAK,kBAAkB;EACzC,YAAY,MAAM,QAAQ,EAAE;EAC5B,QAAQ;CACV;EACC,MAAM,aAAa,KAAK,iBAAiB,EACxC,QAAQ,OACV;AACF,EAAE;AAEF,MAAa,gBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,YACxC,CAAC,GAA2B,EAAE,OAAO,YAAY,SAAS;CACxD,MAAM,OAAO,MAAM,YAAY,WAAW,gBAAgB;CAC1D,OAAO;EACL,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,cAAc;EACd,QAAQ,MAAM;EACd,OAAO,MAAM;EACb,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,MAAM,cAAc,SAAS;EAC7B,YAAY,MAAM,KAAK,QAAQ,KAAK;EACpC,GAAG,MAAM,YAAY,QAAQ,EAC3B,YAAY,MAAM,KAAK,QAAQ,KAAK,KACtC,CAAC;CACH;AACF,CAAC;AAED,MAAa,qBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,OACxC,CAAC,GAAsB,EAAE,OAAO,OAAO,SAAS;CAC9C,OAAO;EACL,cAAc;EACd,QAAQ;EACR,OAAO;EACP,YAAY,MAAM,KAAK,QAAQ,KAAK;EACpC,GAAG,MAAM,YAAY,QAAQ,EAC3B,YAAY,MAAM,KAAK,QAAQ,KAAK,KACtC,CAAC;CACH;AACF,CAAC;AAED,MAAa,0BAET,OAAO,GAAG,GAAG,EAAE,aAAa;CAC9B,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,cAAc;AAChB,EAAE;AAEF,MAAa,gCAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,YACxC,CAAC,GAA2B,EAAE,OAAO,YAAY,UAAU;CACzD,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,cAAc;CACd,MAAM,cAAc,SAAS;AAC/B,EAAE"}
1
+ {"version":3,"file":"Avatar.style.js","names":["MuiAvatar"],"sources":["../../../../src/components/Avatar/Avatar.style.tsx"],"sourcesContent":["import type { CSSObject } from '@mui/material'\nimport {\n AvatarGroup,\n avatarClasses,\n Box,\n badgeClasses,\n Avatar as MuiAvatar,\n styled,\n} from '@mui/material'\nimport type React from 'react'\nimport { getAvatarMask } from './utils.js'\n\nexport const AvatarMasked: React.FC<\n React.ComponentProps<typeof MuiAvatar> & {\n avatarSize?: number\n badgeSize?: number\n }\n> = styled(MuiAvatar, {\n shouldForwardProp: (prop) => prop !== 'avatarSize' && prop !== 'badgeSize',\n})<{ avatarSize?: number; badgeSize?: number }>(\n ({ avatarSize = 40, badgeSize = 16 }) => ({\n width: avatarSize,\n height: avatarSize,\n mask: getAvatarMask(badgeSize),\n })\n)\n\nexport const TokenAvatarGroup: React.FC<\n React.ComponentProps<typeof AvatarGroup> & { badgeSize?: number }\n> = styled(AvatarGroup)(({ theme }) => ({\n [`& .${badgeClasses.badge}:last-of-type .${avatarClasses.root}`]: {\n boxSizing: 'border-box',\n },\n [`& .${avatarClasses.root}`]: {\n border: 'none',\n marginLeft: 0,\n },\n [`& .${badgeClasses.root}:first-of-type`]: {\n marginLeft: theme.spacing(-1),\n border: 'none',\n },\n [`& .${badgeClasses.root}:last-of-type`]: {\n border: 'none',\n },\n}))\n\nexport const AvatarDefault: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'badgeSize',\n})<{ badgeSize?: number }>(({ theme, badgeSize = 16 }) => {\n const root = theme.components?.MuiAvatar?.styleOverrides?.root as CSSObject\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '50%',\n height: root?.height,\n width: root?.width,\n color: theme.vars.palette.text.secondary,\n mask: getAvatarMask(badgeSize),\n background: theme.vars.palette.grey[300],\n ...theme.applyStyles('dark', {\n background: theme.vars.palette.grey[800],\n }),\n }\n})\n\nexport const AvatarDefaultBadge: React.FC<\n React.ComponentProps<typeof Box> & { size?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'size',\n})<{ size?: number }>(({ theme, size = 16 }) => {\n return {\n borderRadius: '50%',\n height: size,\n width: size,\n background: theme.vars.palette.grey[300],\n ...theme.applyStyles('dark', {\n background: theme.vars.palette.grey[800],\n }),\n }\n})\n\nexport const AvatarSkeletonContainer: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box)(({ theme }) => ({\n background: theme.vars.palette.background.paper,\n borderRadius: '50%',\n}))\n\nexport const AvatarSkeletonMaskedContainer: React.FC<\n React.ComponentProps<typeof Box> & { badgeSize?: number }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'badgeSize',\n})<{ badgeSize?: number }>(({ theme, badgeSize = 16 }) => ({\n background: theme.vars.palette.background.paper,\n borderRadius: '50%',\n mask: getAvatarMask(badgeSize),\n}))\n"],"mappings":";;;AAYA,MAAa,eAKT,OAAOA,QAAW,EACpB,oBAAoB,SAAS,SAAS,gBAAgB,SAAS,YACjE,CAAC,CAAC,EACC,EAAE,aAAa,IAAI,YAAY,UAAU;CACxC,OAAO;CACP,QAAQ;CACR,MAAM,cAAc,SAAS;AAC/B,EACF;AAII,OAAO,WAAW,CAAC,EAAE,EAAE,aAAa;EACrC,MAAM,aAAa,MAAM,iBAAiB,cAAc,SAAS,EAChE,WAAW,aACb;EACC,MAAM,cAAc,SAAS;EAC5B,QAAQ;EACR,YAAY;CACd;EACC,MAAM,aAAa,KAAK,kBAAkB;EACzC,YAAY,MAAM,QAAQ,EAAE;EAC5B,QAAQ;CACV;EACC,MAAM,aAAa,KAAK,iBAAiB,EACxC,QAAQ,OACV;AACF,EAAE;AAEF,MAAa,gBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,YACxC,CAAC,CAAC,EAA0B,EAAE,OAAO,YAAY,SAAS;CACxD,MAAM,OAAO,MAAM,YAAY,WAAW,gBAAgB;CAC1D,OAAO;EACL,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,cAAc;EACd,QAAQ,MAAM;EACd,OAAO,MAAM;EACb,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,MAAM,cAAc,SAAS;EAC7B,YAAY,MAAM,KAAK,QAAQ,KAAK;EACpC,GAAG,MAAM,YAAY,QAAQ,EAC3B,YAAY,MAAM,KAAK,QAAQ,KAAK,KACtC,CAAC;CACH;AACF,CAAC;AAED,MAAa,qBAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,OACxC,CAAC,CAAC,EAAqB,EAAE,OAAO,OAAO,SAAS;CAC9C,OAAO;EACL,cAAc;EACd,QAAQ;EACR,OAAO;EACP,YAAY,MAAM,KAAK,QAAQ,KAAK;EACpC,GAAG,MAAM,YAAY,QAAQ,EAC3B,YAAY,MAAM,KAAK,QAAQ,KAAK,KACtC,CAAC;CACH;AACF,CAAC;AAED,MAAa,0BAET,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa;CAC9B,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,cAAc;AAChB,EAAE;AAEF,MAAa,gCAET,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,YACxC,CAAC,CAAC,EAA0B,EAAE,OAAO,YAAY,UAAU;CACzD,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,cAAc;CACd,MAAM,cAAc,SAAS;AAC/B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SmallAvatar.js","names":[],"sources":["../../../../src/components/Avatar/SmallAvatar.tsx"],"sourcesContent":["import { Avatar, Skeleton, styled } from '@mui/material'\nimport type React from 'react'\nimport { AvatarSkeletonContainer } from './Avatar.style.js'\n\ninterface SmallAvatarProps {\n size?: number\n}\n\nexport const SmallAvatar: React.FC<\n React.ComponentProps<typeof Avatar> & SmallAvatarProps\n> = styled(Avatar, {\n shouldForwardProp: (prop) => prop !== 'size',\n})<SmallAvatarProps>(({ theme, size = 16 }) => ({\n background: theme.vars.palette.background.paper,\n width: size,\n height: size,\n}))\n\nexport const SmallAvatarSkeleton: React.FC<{\n size?: number\n}> = ({ size = 16 }) => {\n return (\n <AvatarSkeletonContainer>\n <Skeleton width={size} height={size} variant=\"circular\" />\n </AvatarSkeletonContainer>\n )\n}\n"],"mappings":";;;;AAQA,MAAa,cAET,OAAO,QAAQ,EACjB,oBAAoB,SAAS,SAAS,OACxC,CAAC,GAAqB,EAAE,OAAO,OAAO,UAAU;CAC9C,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,OAAO;CACP,QAAQ;AACV,EAAE;AAEF,MAAa,uBAEP,EAAE,OAAO,SAAS;CACtB,OACE,oBAAC,yBAAD,EAAA,UACE,oBAAC,UAAD;EAAU,OAAO;EAAM,QAAQ;EAAM,SAAQ;CAAY,CAAA,EAClC,CAAA;AAE7B"}
1
+ {"version":3,"file":"SmallAvatar.js","names":[],"sources":["../../../../src/components/Avatar/SmallAvatar.tsx"],"sourcesContent":["import { Avatar, Skeleton, styled } from '@mui/material'\nimport type React from 'react'\nimport { AvatarSkeletonContainer } from './Avatar.style.js'\n\ninterface SmallAvatarProps {\n size?: number\n}\n\nexport const SmallAvatar: React.FC<\n React.ComponentProps<typeof Avatar> & SmallAvatarProps\n> = styled(Avatar, {\n shouldForwardProp: (prop) => prop !== 'size',\n})<SmallAvatarProps>(({ theme, size = 16 }) => ({\n background: theme.vars.palette.background.paper,\n width: size,\n height: size,\n}))\n\nexport const SmallAvatarSkeleton: React.FC<{\n size?: number\n}> = ({ size = 16 }) => {\n return (\n <AvatarSkeletonContainer>\n <Skeleton width={size} height={size} variant=\"circular\" />\n </AvatarSkeletonContainer>\n )\n}\n"],"mappings":";;;;AAQA,MAAa,cAET,OAAO,QAAQ,EACjB,oBAAoB,SAAS,SAAS,OACxC,CAAC,CAAC,EAAoB,EAAE,OAAO,OAAO,UAAU;CAC9C,YAAY,MAAM,KAAK,QAAQ,WAAW;CAC1C,OAAO;CACP,QAAQ;AACV,EAAE;AAEF,MAAa,uBAEP,EAAE,OAAO,SAAS;CACtB,OACE,oBAAC,yBAAD,EAAA,UACE,oBAAC,UAAD;EAAU,OAAO;EAAM,QAAQ;EAAM,SAAQ;CAAY,CAAA,EAClC,CAAA;AAE7B"}
@@ -41,6 +41,7 @@ const BaseTransactionButton = ({ onClick, text, disabled, loading, route, sx })
41
41
  loadingPosition: "center",
42
42
  fullWidth: true,
43
43
  sx,
44
+ "data-testid": "widget-transaction-button",
44
45
  children: getButtonText()
45
46
  });
46
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTransactionButton.js","names":[],"sources":["../../../../src/components/BaseTransactionButton/BaseTransactionButton.tsx"],"sourcesContent":["import { useWalletMenu } from '@lifi/wallet-management'\nimport { Button } from '@mui/material'\nimport { useTranslation } from 'react-i18next'\nimport { useChain } from '../../hooks/useChain.js'\nimport { useRouteRequiredAccountConnection } from '../../hooks/useRouteRequiredAccountConnection.js'\nimport { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport type { BaseTransactionButtonProps } from './types.js'\n\nexport const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({\n onClick,\n text,\n disabled,\n loading,\n route,\n sx,\n}) => {\n const { t } = useTranslation()\n const { walletConfig } = useWidgetConfig()\n const { openWalletMenu } = useWalletMenu()\n const [fromChainId] = useFieldValues('fromChain')\n const { chain } = useChain(fromChainId)\n const { connected, missingChain } = useRouteRequiredAccountConnection(\n route,\n chain\n )\n const handleClick = async (e: React.MouseEvent<HTMLElement>) => {\n if (connected) {\n onClick?.()\n return\n }\n const connectionOptions = missingChain ? { chain: missingChain } : undefined\n if (\n walletConfig?.onConnect &&\n !walletConfig?.forceInternalWalletManagement\n ) {\n walletConfig.onConnect(connectionOptions)\n } else {\n openWalletMenu(connectionOptions)\n e.currentTarget.blur() // Remove focus to prevent accessibility issues when opening drawer\n }\n }\n\n const getButtonText = () => {\n if (connected) {\n if (text) {\n return text\n }\n }\n return missingChain\n ? t('button.connectChainWallet', {\n chain: missingChain.name,\n })\n : t('button.connectWallet')\n }\n\n return (\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={connected && disabled}\n loading={loading}\n loadingPosition=\"center\"\n fullWidth\n sx={sx}\n >\n {getButtonText()}\n </Button>\n )\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,yBAA+D,EAC1E,SACA,MACA,UACA,SACA,OACA,SACI;CACJ,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,iBAAiB,gBAAgB;CACzC,MAAM,EAAE,mBAAmB,cAAc;CACzC,MAAM,CAAC,eAAe,eAAe,WAAW;CAChD,MAAM,EAAE,UAAU,SAAS,WAAW;CACtC,MAAM,EAAE,WAAW,iBAAiB,kCAClC,OACA,KACF;CACA,MAAM,cAAc,OAAO,MAAqC;EAC9D,IAAI,WAAW;GACb,UAAU;GACV;EACF;EACA,MAAM,oBAAoB,eAAe,EAAE,OAAO,aAAa,IAAI,KAAA;EACnE,IACE,cAAc,aACd,CAAC,cAAc,+BAEf,aAAa,UAAU,iBAAiB;OACnC;GACL,eAAe,iBAAiB;GAChC,EAAE,cAAc,KAAK;EACvB;CACF;CAEA,MAAM,sBAAsB;EAC1B,IAAI;OACE,MACF,OAAO;EAAA;EAGX,OAAO,eACH,EAAE,6BAA6B,EAC7B,OAAO,aAAa,KACtB,CAAC,IACD,EAAE,sBAAsB;CAC9B;CAEA,OACE,oBAAC,QAAD;EACE,SAAQ;EACR,OAAM;EACN,SAAS;EACT,UAAU,aAAa;EACd;EACT,iBAAgB;EAChB,WAAA;EACI;YAEH,cAAc;CACT,CAAA;AAEZ"}
1
+ {"version":3,"file":"BaseTransactionButton.js","names":[],"sources":["../../../../src/components/BaseTransactionButton/BaseTransactionButton.tsx"],"sourcesContent":["import { useWalletMenu } from '@lifi/wallet-management'\nimport { Button } from '@mui/material'\nimport { useTranslation } from 'react-i18next'\nimport { useChain } from '../../hooks/useChain.js'\nimport { useRouteRequiredAccountConnection } from '../../hooks/useRouteRequiredAccountConnection.js'\nimport { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport type { BaseTransactionButtonProps } from './types.js'\n\nexport const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({\n onClick,\n text,\n disabled,\n loading,\n route,\n sx,\n}) => {\n const { t } = useTranslation()\n const { walletConfig } = useWidgetConfig()\n const { openWalletMenu } = useWalletMenu()\n const [fromChainId] = useFieldValues('fromChain')\n const { chain } = useChain(fromChainId)\n const { connected, missingChain } = useRouteRequiredAccountConnection(\n route,\n chain\n )\n const handleClick = async (e: React.MouseEvent<HTMLElement>) => {\n if (connected) {\n onClick?.()\n return\n }\n const connectionOptions = missingChain ? { chain: missingChain } : undefined\n if (\n walletConfig?.onConnect &&\n !walletConfig?.forceInternalWalletManagement\n ) {\n walletConfig.onConnect(connectionOptions)\n } else {\n openWalletMenu(connectionOptions)\n e.currentTarget.blur() // Remove focus to prevent accessibility issues when opening drawer\n }\n }\n\n const getButtonText = () => {\n if (connected) {\n if (text) {\n return text\n }\n }\n return missingChain\n ? t('button.connectChainWallet', {\n chain: missingChain.name,\n })\n : t('button.connectWallet')\n }\n\n return (\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={connected && disabled}\n loading={loading}\n loadingPosition=\"center\"\n fullWidth\n sx={sx}\n data-testid=\"widget-transaction-button\"\n >\n {getButtonText()}\n </Button>\n )\n}\n"],"mappings":";;;;;;;;;AASA,MAAa,yBAA+D,EAC1E,SACA,MACA,UACA,SACA,OACA,SACI;CACJ,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,iBAAiB,gBAAgB;CACzC,MAAM,EAAE,mBAAmB,cAAc;CACzC,MAAM,CAAC,eAAe,eAAe,WAAW;CAChD,MAAM,EAAE,UAAU,SAAS,WAAW;CACtC,MAAM,EAAE,WAAW,iBAAiB,kCAClC,OACA,KACF;CACA,MAAM,cAAc,OAAO,MAAqC;EAC9D,IAAI,WAAW;GACb,UAAU;GACV;EACF;EACA,MAAM,oBAAoB,eAAe,EAAE,OAAO,aAAa,IAAI,KAAA;EACnE,IACE,cAAc,aACd,CAAC,cAAc,+BAEf,aAAa,UAAU,iBAAiB;OACnC;GACL,eAAe,iBAAiB;GAChC,EAAE,cAAc,KAAK;EACvB;CACF;CAEA,MAAM,sBAAsB;EAC1B,IAAI;OACE,MACF,OAAO;EAAA;EAGX,OAAO,eACH,EAAE,6BAA6B,EAC7B,OAAO,aAAa,KACtB,CAAC,IACD,EAAE,sBAAsB;CAC9B;CAEA,OACE,oBAAC,QAAD;EACE,SAAQ;EACR,OAAM;EACN,SAAS;EACT,UAAU,aAAa;EACd;EACT,iBAAgB;EAChB,WAAA;EACI;EACJ,eAAY;YAEX,cAAc;CACT,CAAA;AAEZ"}
@@ -1,10 +1,10 @@
1
1
  import { useGetScrollableContainer } from "../../hooks/useScrollableContainer.js";
2
2
  import { modalProps, slotProps } from "../Dialog/Dialog.js";
3
- import { forwardRef, startTransition, useCallback, useImperativeHandle, useRef, useState } from "react";
3
+ import { startTransition, useCallback, useImperativeHandle, useRef, useState } from "react";
4
4
  import { Drawer } from "@mui/material";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region src/components/BottomSheet/BottomSheet.tsx
7
- const BottomSheet = forwardRef(({ elementRef, children, open, onClose, keepMounted = false }, ref) => {
7
+ const BottomSheet = ({ elementRef, children, open, onClose, keepMounted = false, ref }) => {
8
8
  const getContainer = useGetScrollableContainer();
9
9
  const openRef = useRef(open);
10
10
  const [drawerOpen, setDrawerOpen] = useState(open);
@@ -39,7 +39,7 @@ const BottomSheet = forwardRef(({ elementRef, children, open, onClose, keepMount
39
39
  inert: isInert,
40
40
  children
41
41
  });
42
- });
42
+ };
43
43
  //#endregion
44
44
  export { BottomSheet };
45
45
 
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.js","names":[],"sources":["../../../../src/components/BottomSheet/BottomSheet.tsx"],"sourcesContent":["import { Drawer } from '@mui/material'\nimport type { ForwardRefExoticComponent, RefAttributes } from 'react'\nimport {\n forwardRef,\n startTransition,\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\nimport { useGetScrollableContainer } from '../../hooks/useScrollableContainer.js'\nimport { modalProps, slotProps } from '../Dialog/Dialog.js'\nimport type { BottomSheetBase, BottomSheetProps } from './types.js'\n\nexport const BottomSheet: ForwardRefExoticComponent<\n Omit<BottomSheetProps, 'ref'> & RefAttributes<BottomSheetBase>\n> = forwardRef<BottomSheetBase, BottomSheetProps>(\n ({ elementRef, children, open, onClose, keepMounted = false }, ref) => {\n const getContainer = useGetScrollableContainer()\n const openRef = useRef(open)\n const [drawerOpen, setDrawerOpen] = useState(open)\n const [isInert, setIsInert] = useState(!open)\n\n const close = useCallback(() => {\n // Set inert first to prevent focus issues\n setIsInert(true)\n // Push the state update to the next event loop tick\n // to ensure the inert is applied to before the drawer is closed\n startTransition(() => {\n setDrawerOpen(false)\n openRef.current = false\n onClose?.()\n })\n }, [onClose])\n\n useImperativeHandle(\n ref,\n () => ({\n isOpen: () => openRef.current,\n open: () => {\n setIsInert(false)\n setDrawerOpen(true)\n openRef.current = true\n },\n close,\n }),\n [close]\n )\n\n return (\n <Drawer\n container={getContainer}\n ref={elementRef}\n anchor=\"bottom\"\n open={drawerOpen}\n onClose={close}\n ModalProps={modalProps}\n slotProps={slotProps}\n disableAutoFocus\n keepMounted={keepMounted}\n inert={isInert}\n >\n {children}\n </Drawer>\n )\n }\n)\n"],"mappings":";;;;;;AAcA,MAAa,cAET,YACD,EAAE,YAAY,UAAU,MAAM,SAAS,cAAc,SAAS,QAAQ;CACrE,MAAM,eAAe,0BAA0B;CAC/C,MAAM,UAAU,OAAO,IAAI;CAC3B,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;CACjD,MAAM,CAAC,SAAS,cAAc,SAAS,CAAC,IAAI;CAE5C,MAAM,QAAQ,kBAAkB;EAE9B,WAAW,IAAI;EAGf,sBAAsB;GACpB,cAAc,KAAK;GACnB,QAAQ,UAAU;GAClB,UAAU;EACZ,CAAC;CACH,GAAG,CAAC,OAAO,CAAC;CAEZ,oBACE,YACO;EACL,cAAc,QAAQ;EACtB,YAAY;GACV,WAAW,KAAK;GAChB,cAAc,IAAI;GAClB,QAAQ,UAAU;EACpB;EACA;CACF,IACA,CAAC,KAAK,CACR;CAEA,OACE,oBAAC,QAAD;EACE,WAAW;EACX,KAAK;EACL,QAAO;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACD;EACX,kBAAA;EACa;EACb,OAAO;EAEN;CACK,CAAA;AAEZ,CACF"}
1
+ {"version":3,"file":"BottomSheet.js","names":[],"sources":["../../../../src/components/BottomSheet/BottomSheet.tsx"],"sourcesContent":["import { Drawer } from '@mui/material'\nimport type { JSX, Ref } from 'react'\nimport {\n startTransition,\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\nimport { useGetScrollableContainer } from '../../hooks/useScrollableContainer.js'\nimport { modalProps, slotProps } from '../Dialog/Dialog.js'\nimport type { BottomSheetBase, BottomSheetProps } from './types.js'\n\nexport const BottomSheet = ({\n elementRef,\n children,\n open,\n onClose,\n keepMounted = false,\n ref,\n}: Omit<BottomSheetProps, 'ref'> & {\n ref?: Ref<BottomSheetBase>\n}): JSX.Element => {\n const getContainer = useGetScrollableContainer()\n const openRef = useRef(open)\n const [drawerOpen, setDrawerOpen] = useState(open)\n const [isInert, setIsInert] = useState(!open)\n\n const close = useCallback(() => {\n // Set inert first to prevent focus issues\n setIsInert(true)\n // Push the state update to the next event loop tick\n // to ensure the inert is applied to before the drawer is closed\n startTransition(() => {\n setDrawerOpen(false)\n openRef.current = false\n onClose?.()\n })\n }, [onClose])\n\n useImperativeHandle(\n ref,\n () => ({\n isOpen: () => openRef.current,\n open: () => {\n setIsInert(false)\n setDrawerOpen(true)\n openRef.current = true\n },\n close,\n }),\n [close]\n )\n\n return (\n <Drawer\n container={getContainer}\n ref={elementRef}\n anchor=\"bottom\"\n open={drawerOpen}\n onClose={close}\n ModalProps={modalProps}\n slotProps={slotProps}\n disableAutoFocus\n keepMounted={keepMounted}\n inert={isInert}\n >\n {children}\n </Drawer>\n )\n}\n"],"mappings":";;;;;;AAaA,MAAa,eAAe,EAC1B,YACA,UACA,MACA,SACA,cAAc,OACd,UAGiB;CACjB,MAAM,eAAe,0BAA0B;CAC/C,MAAM,UAAU,OAAO,IAAI;CAC3B,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;CACjD,MAAM,CAAC,SAAS,cAAc,SAAS,CAAC,IAAI;CAE5C,MAAM,QAAQ,kBAAkB;EAE9B,WAAW,IAAI;EAGf,sBAAsB;GACpB,cAAc,KAAK;GACnB,QAAQ,UAAU;GAClB,UAAU;EACZ,CAAC;CACH,GAAG,CAAC,OAAO,CAAC;CAEZ,oBACE,YACO;EACL,cAAc,QAAQ;EACtB,YAAY;GACV,WAAW,KAAK;GAChB,cAAc,IAAI;GAClB,QAAQ,UAAU;EACpB;EACA;CACF,IACA,CAAC,KAAK,CACR;CAEA,OACE,oBAAC,QAAD;EACE,WAAW;EACX,KAAK;EACL,QAAO;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACD;EACX,kBAAA;EACa;EACb,OAAO;EAEN;CACK,CAAA;AAEZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonTertiary.js","names":[],"sources":["../../../src/components/ButtonTertiary.tsx"],"sourcesContent":["import { Button, buttonClasses, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const ButtonTertiary: React.FC<React.ComponentProps<typeof Button>> =\n styled(Button)(({ theme }) => ({\n color: theme.vars.palette.text.primary,\n height: 40,\n fontSize: 14,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover, &:active': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n [`&.${buttonClasses.loading}:disabled`]: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n ...theme.applyStyles('dark', {\n color: theme.vars.palette.text.primary,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover, &:active': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n [`&.${buttonClasses.loading}:disabled`]: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n }),\n [`.${buttonClasses.loadingIndicator}`]: {\n color: theme.vars.palette.text.primary,\n },\n }))\n"],"mappings":";;AAGA,MAAa,iBACX,OAAO,MAAM,GAAG,EAAE,aAAa;CAC7B,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,QAAQ;CACR,UAAU;CACV,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;CAC9E,qBAAqB,EACnB,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACC,KAAK,cAAc,QAAQ,aAAa,EACvC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;CACA,GAAG,MAAM,YAAY,QAAQ;EAC3B,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;EAC9E,qBAAqB,EACnB,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;GACC,KAAK,cAAc,QAAQ,aAAa,EACvC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;CACF,CAAC;EACA,IAAI,cAAc,qBAAqB,EACtC,OAAO,MAAM,KAAK,QAAQ,KAAK,QACjC;AACF,EAAE"}
1
+ {"version":3,"file":"ButtonTertiary.js","names":[],"sources":["../../../src/components/ButtonTertiary.tsx"],"sourcesContent":["import { Button, buttonClasses, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const ButtonTertiary: React.FC<React.ComponentProps<typeof Button>> =\n styled(Button)(({ theme }) => ({\n color: theme.vars.palette.text.primary,\n height: 40,\n fontSize: 14,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover, &:active': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n [`&.${buttonClasses.loading}:disabled`]: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n ...theme.applyStyles('dark', {\n color: theme.vars.palette.text.primary,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover, &:active': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n [`&.${buttonClasses.loading}:disabled`]: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n },\n }),\n [`.${buttonClasses.loadingIndicator}`]: {\n color: theme.vars.palette.text.primary,\n },\n }))\n"],"mappings":";;AAGA,MAAa,iBACX,OAAO,MAAM,CAAC,EAAE,EAAE,aAAa;CAC7B,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,QAAQ;CACR,UAAU;CACV,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;CAC9E,qBAAqB,EACnB,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACC,KAAK,cAAc,QAAQ,aAAa,EACvC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;CACA,GAAG,MAAM,YAAY,QAAQ;EAC3B,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;EAC9E,qBAAqB,EACnB,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;GACC,KAAK,cAAc,QAAQ,aAAa,EACvC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;CACF,CAAC;EACA,IAAI,cAAc,qBAAqB,EACtC,OAAO,MAAM,KAAK,QAAQ,KAAK,QACjC;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["Card","MuiCard"],"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import type { CardProps as MuiCardProps } from '@mui/material'\nimport { Card as MuiCard, styled } from '@mui/material'\nimport type React from 'react'\n\nexport interface CardProps extends MuiCardProps {\n type?: 'default' | 'selected' | 'error'\n selectionColor?: 'primary' | 'secondary'\n indented?: boolean\n}\n\nexport const Card: React.FC<React.ComponentProps<typeof MuiCard> & CardProps> =\n styled(MuiCard, {\n shouldForwardProp: (prop) =>\n !['type', 'indented', 'selectionColor'].includes(prop as string),\n })<CardProps>(({ theme }) => {\n return {\n padding: 0,\n variants: [\n {\n props: ({ indented }) => indented,\n style: {\n padding: theme.spacing(2),\n },\n },\n {\n props: {\n selectionColor: 'primary',\n type: 'selected',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: theme.vars.palette.primary.main,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 5%, white)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 10%, white)`,\n },\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 35%, black)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 40%, black)`,\n },\n borderColor: theme.vars.palette.primary.main,\n }),\n },\n },\n {\n props: {\n selectionColor: 'secondary',\n type: 'selected',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 32%, transparent)`,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 24%, white)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 28%, white)`,\n },\n ...theme.applyStyles('dark', {\n borderColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 32%, transparent)`,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 24%, black)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 28%, black)`,\n },\n }),\n },\n },\n {\n props: {\n type: 'error',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: theme.vars.palette.error.main,\n },\n },\n ],\n }\n })\n"],"mappings":";;AAUA,MAAaA,SACX,OAAOC,MAAS,EACd,oBAAoB,SAClB,CAAC;CAAC;CAAQ;CAAY;AAAgB,EAAE,SAAS,IAAc,EACnE,CAAC,GAAc,EAAE,YAAY;CAC3B,OAAO;EACL,SAAS;EACT,UAAU;GACR;IACE,QAAQ,EAAE,eAAe;IACzB,OAAO,EACL,SAAS,MAAM,QAAQ,CAAC,EAC1B;GACF;GACA;IACE,OAAO;KACL,gBAAgB;KAChB,MAAM;IACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,MAAM,KAAK,QAAQ,QAAQ;KACxC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACvE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK,cACzE;KACA,GAAG,MAAM,YAAY,QAAQ;MAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;MACvE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK,cACzE;MACA,aAAa,MAAM,KAAK,QAAQ,QAAQ;KAC1C,CAAC;IACH;GACF;GACA;IACE,OAAO;KACL,gBAAgB;KAChB,MAAM;IACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;KACrE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;KACzE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK,cAC3E;KACA,GAAG,MAAM,YAAY,QAAQ;MAC3B,aAAa,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;MACrE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;MACzE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK,cAC3E;KACF,CAAC;IACH;GACF;GACA;IACE,OAAO,EACL,MAAM,QACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,MAAM,KAAK,QAAQ,MAAM;IACxC;GACF;EACF;CACF;AACF,CAAC"}
1
+ {"version":3,"file":"Card.js","names":["Card","MuiCard"],"sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import type { CardProps as MuiCardProps } from '@mui/material'\nimport { Card as MuiCard, styled } from '@mui/material'\nimport type React from 'react'\n\nexport interface CardProps extends MuiCardProps {\n type?: 'default' | 'selected' | 'error'\n selectionColor?: 'primary' | 'secondary'\n indented?: boolean\n}\n\nexport const Card: React.FC<React.ComponentProps<typeof MuiCard> & CardProps> =\n styled(MuiCard, {\n shouldForwardProp: (prop) =>\n !['type', 'indented', 'selectionColor'].includes(prop as string),\n })<CardProps>(({ theme }) => {\n return {\n padding: 0,\n variants: [\n {\n props: ({ indented }) => indented,\n style: {\n padding: theme.spacing(2),\n },\n },\n {\n props: {\n selectionColor: 'primary',\n type: 'selected',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: theme.vars.palette.primary.main,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 5%, white)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 10%, white)`,\n },\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 35%, black)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.primary.main} 40%, black)`,\n },\n borderColor: theme.vars.palette.primary.main,\n }),\n },\n },\n {\n props: {\n selectionColor: 'secondary',\n type: 'selected',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 32%, transparent)`,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 24%, white)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 28%, white)`,\n },\n ...theme.applyStyles('dark', {\n borderColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 32%, transparent)`,\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 24%, black)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.secondary.main} 28%, black)`,\n },\n }),\n },\n },\n {\n props: {\n type: 'error',\n },\n style: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: theme.vars.palette.error.main,\n },\n },\n ],\n }\n })\n"],"mappings":";;AAUA,MAAaA,SACX,OAAOC,MAAS,EACd,oBAAoB,SAClB,CAAC;CAAC;CAAQ;CAAY;AAAgB,CAAC,CAAC,SAAS,IAAc,EACnE,CAAC,CAAC,EAAa,EAAE,YAAY;CAC3B,OAAO;EACL,SAAS;EACT,UAAU;GACR;IACE,QAAQ,EAAE,eAAe;IACzB,OAAO,EACL,SAAS,MAAM,QAAQ,CAAC,EAC1B;GACF;GACA;IACE,OAAO;KACL,gBAAgB;KAChB,MAAM;IACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,MAAM,KAAK,QAAQ,QAAQ;KACxC,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACvE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK,cACzE;KACA,GAAG,MAAM,YAAY,QAAQ;MAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;MACvE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK,cACzE;MACA,aAAa,MAAM,KAAK,QAAQ,QAAQ;KAC1C,CAAC;IACH;GACF;GACA;IACE,OAAO;KACL,gBAAgB;KAChB,MAAM;IACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;KACrE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;KACzE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK,cAC3E;KACA,GAAG,MAAM,YAAY,QAAQ;MAC3B,aAAa,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;MACrE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK;MACzE,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,UAAU,KAAK,cAC3E;KACF,CAAC;IACH;GACF;GACA;IACE,OAAO,EACL,MAAM,QACR;IACA,OAAO;KACL,aAAa;KACb,aAAa;KACb,aAAa,MAAM,KAAK,QAAQ,MAAM;IACxC;GACF;EACF;CACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardButton.style.js","names":[],"sources":["../../../../src/components/Card/CardButton.style.tsx"],"sourcesContent":["import { Box, ButtonBase, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardRowButton: React.FC<React.ComponentProps<typeof ButtonBase>> =\n styled(ButtonBase)(({ theme }) => ({\n background: 'none',\n color: 'inherit',\n border: 'none',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: theme.spacing(2),\n borderRadius: theme.vars.shape.borderRadius,\n }))\n\nexport const CardValue: React.FC<React.ComponentProps<typeof Typography>> =\n styled(Typography)({\n lineHeight: '1.25',\n fontWeight: 500,\n })\n\nexport const CardTitleContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1.5),\n }))\n"],"mappings":";;AAGA,MAAa,gBACX,OAAO,UAAU,GAAG,EAAE,aAAa;CACjC,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,SAAS;CACT,SAAS;CACT,OAAO;CACP,gBAAgB;CAChB,YAAY;CACZ,SAAS,MAAM,QAAQ,CAAC;CACxB,cAAc,MAAM,KAAK,MAAM;AACjC,EAAE;AAEJ,MAAa,YACX,OAAO,UAAU,EAAE;CACjB,YAAY;CACZ,YAAY;AACd,CAAC;AAEH,MAAa,qBACX,OAAO,GAAG,GAAG,EAAE,aAAa;CAC1B,SAAS;CACT,YAAY;CACZ,KAAK,MAAM,QAAQ,GAAG;AACxB,EAAE"}
1
+ {"version":3,"file":"CardButton.style.js","names":[],"sources":["../../../../src/components/Card/CardButton.style.tsx"],"sourcesContent":["import { Box, ButtonBase, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardRowButton: React.FC<React.ComponentProps<typeof ButtonBase>> =\n styled(ButtonBase)(({ theme }) => ({\n background: 'none',\n color: 'inherit',\n border: 'none',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: theme.spacing(2),\n borderRadius: theme.vars.shape.borderRadius,\n }))\n\nexport const CardValue: React.FC<React.ComponentProps<typeof Typography>> =\n styled(Typography)({\n lineHeight: '1.25',\n fontWeight: 500,\n })\n\nexport const CardTitleContainer: React.FC<React.ComponentProps<typeof Box>> =\n styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1.5),\n }))\n"],"mappings":";;AAGA,MAAa,gBACX,OAAO,UAAU,CAAC,EAAE,EAAE,aAAa;CACjC,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,SAAS;CACT,SAAS;CACT,OAAO;CACP,gBAAgB;CAChB,YAAY;CACZ,SAAS,MAAM,QAAQ,CAAC;CACxB,cAAc,MAAM,KAAK,MAAM;AACjC,EAAE;AAEJ,MAAa,YACX,OAAO,UAAU,CAAC,CAAC;CACjB,YAAY;CACZ,YAAY;AACd,CAAC;AAEH,MAAa,qBACX,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa;CAC1B,SAAS;CACT,YAAY;CACZ,KAAK,MAAM,QAAQ,GAAG;AACxB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.js","names":["CardHeader","MuiCardHeader"],"sources":["../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["import {\n cardHeaderClasses,\n CardHeader as MuiCardHeader,\n styled,\n} from '@mui/material'\nimport type React from 'react'\n\nexport const CardHeader: React.FC<React.ComponentProps<typeof MuiCardHeader>> =\n styled(MuiCardHeader)(({ theme }) => ({\n [`.${cardHeaderClasses.action}`]: {\n marginTop: -2,\n alignSelf: 'center',\n },\n [`.${cardHeaderClasses.title}`]: {\n fontWeight: 600,\n fontSize: 18,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.primary,\n textAlign: 'left',\n },\n [`.${cardHeaderClasses.subheader}`]: {\n fontWeight: 500,\n fontSize: 12,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.secondary,\n textAlign: 'left',\n },\n }))\n"],"mappings":";;AAOA,MAAaA,eACX,OAAOC,UAAa,GAAG,EAAE,aAAa;EACnC,IAAI,kBAAkB,WAAW;EAChC,WAAW;EACX,WAAW;CACb;EACC,IAAI,kBAAkB,UAAU;EAC/B,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,WAAW;CACb;EACC,IAAI,kBAAkB,cAAc;EACnC,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,WAAW;CACb;AACF,EAAE"}
1
+ {"version":3,"file":"CardHeader.js","names":["CardHeader","MuiCardHeader"],"sources":["../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["import {\n cardHeaderClasses,\n CardHeader as MuiCardHeader,\n styled,\n} from '@mui/material'\nimport type React from 'react'\n\nexport const CardHeader: React.FC<React.ComponentProps<typeof MuiCardHeader>> =\n styled(MuiCardHeader)(({ theme }) => ({\n [`.${cardHeaderClasses.action}`]: {\n marginTop: -2,\n alignSelf: 'center',\n },\n [`.${cardHeaderClasses.title}`]: {\n fontWeight: 600,\n fontSize: 18,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.primary,\n textAlign: 'left',\n },\n [`.${cardHeaderClasses.subheader}`]: {\n fontWeight: 500,\n fontSize: 12,\n lineHeight: 1.3334,\n color: theme.vars.palette.text.secondary,\n textAlign: 'left',\n },\n }))\n"],"mappings":";;AAOA,MAAaA,eACX,OAAOC,UAAa,CAAC,EAAE,EAAE,aAAa;EACnC,IAAI,kBAAkB,WAAW;EAChC,WAAW;EACX,WAAW;CACb;EACC,IAAI,kBAAkB,UAAU;EAC/B,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,WAAW;CACb;EACC,IAAI,kBAAkB,cAAc;EACnC,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,OAAO,MAAM,KAAK,QAAQ,KAAK;EAC/B,WAAW;CACb;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardIconButton.js","names":["MuiIconButton"],"sources":["../../../../src/components/Card/CardIconButton.tsx"],"sourcesContent":["import type { IconButtonProps, LinkProps } from '@mui/material'\nimport { IconButton as MuiIconButton, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const CardIconButton: React.FC<\n React.ComponentProps<typeof MuiIconButton> &\n IconButtonProps &\n Pick<LinkProps, 'href' | 'target' | 'rel'>\n> = styled(MuiIconButton)<\n IconButtonProps & Pick<LinkProps, 'href' | 'target' | 'rel'>\n>(({ theme }) => {\n return {\n padding: theme.spacing(0.5),\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n fontSize: '1rem',\n }\n})\n"],"mappings":";;AAIA,MAAa,iBAIT,OAAOA,UAAa,GAErB,EAAE,YAAY;CACf,OAAO;EACL,SAAS,MAAM,QAAQ,EAAG;EAC1B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;EAC9E,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACA,UAAU;CACZ;AACF,CAAC"}
1
+ {"version":3,"file":"CardIconButton.js","names":["MuiIconButton"],"sources":["../../../../src/components/Card/CardIconButton.tsx"],"sourcesContent":["import type { IconButtonProps, LinkProps } from '@mui/material'\nimport { IconButton as MuiIconButton, styled } from '@mui/material'\nimport type React from 'react'\n\nexport const CardIconButton: React.FC<\n React.ComponentProps<typeof MuiIconButton> &\n IconButtonProps &\n Pick<LinkProps, 'href' | 'target' | 'rel'>\n> = styled(MuiIconButton)<\n IconButtonProps & Pick<LinkProps, 'href' | 'target' | 'rel'>\n>(({ theme }) => {\n return {\n padding: theme.spacing(0.5),\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 4%, transparent)`,\n '&:hover': {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.common.onBackground} 8%, transparent)`,\n },\n fontSize: '1rem',\n }\n})\n"],"mappings":";;AAIA,MAAa,iBAIT,OAAOA,UAAa,CAAC,EAEtB,EAAE,YAAY;CACf,OAAO;EACL,SAAS,MAAM,QAAQ,EAAG;EAC1B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa;EAC9E,WAAW,EACT,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,OAAO,aAAa,mBAChF;EACA,UAAU;CACZ;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardLabel.js","names":[],"sources":["../../../../src/components/Card/CardLabel.tsx"],"sourcesContent":["import { Box, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardLabel: React.FC<\n React.ComponentProps<typeof Box> & {\n variant?: 'secondary' | 'success' | 'warning'\n }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: 'secondary' | 'success' | 'warning' }>(({ theme }) => ({\n borderRadius: theme.vars.shape.borderRadius,\n padding: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 24,\n minWidth: 24,\n userSelect: 'none',\n fontSize: '1rem',\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 88%, black)`,\n color: theme.vars.palette.text.primary,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 84%, white)`,\n }),\n variants: [\n {\n props: { variant: 'secondary' },\n style: {\n color: theme.palette.getContrastText(theme.palette.secondary.main),\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 20%, ${theme.vars.palette.secondary.main})`,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 20%, ${theme.vars.palette.secondary.main})`,\n }),\n },\n },\n {\n props: { variant: 'success' },\n style: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 84%, ${theme.vars.palette.success.main})`,\n color: theme.vars.palette.success.main,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 76%, ${theme.vars.palette.success.main})`,\n color: `color-mix(in srgb, ${theme.vars.palette.success.main} 76%, white)`,\n }),\n },\n },\n {\n props: { variant: 'warning' },\n style: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.warning.main} 32%, transparent)`,\n color: `color-mix(in srgb, ${theme.vars.palette.warning.main} 64%, black)`,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.warning.main} 16%, transparent)`,\n color: theme.vars.palette.warning.main,\n }),\n },\n },\n ],\n}))\n\nexport const CardLabelTypography: React.FC<\n React.ComponentProps<typeof Typography> & { type?: 'icon' }\n> = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'type',\n})<{ type?: 'icon' }>(({ theme }) => ({\n padding: theme.spacing(0.75, 1.5),\n fontSize: 12,\n lineHeight: 1,\n fontWeight: '600',\n variants: [\n {\n props: {\n type: 'icon',\n },\n style: {\n padding: theme.spacing(0.75, 0, 0.75, 0.75),\n },\n },\n ],\n}))\n"],"mappings":";;AAGA,MAAa,YAIT,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,UACxC,CAAC,GAAsD,EAAE,aAAa;CACpE,cAAc,MAAM,KAAK,MAAM;CAC/B,SAAS;CACT,SAAS;CACT,YAAY;CACZ,gBAAgB;CAChB,QAAQ;CACR,UAAU;CACV,YAAY;CACZ,UAAU;CACV,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM;CAC3E,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,cAC7E,CAAC;CACD,UAAU;EACR;GACE,OAAO,EAAE,SAAS,YAAY;GAC9B,OAAO;IACL,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,UAAU,IAAI;IACjE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,UAAU,KAAK;IACrH,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,UAAU,KAAK,GACvH,CAAC;GACH;EACF;EACA;GACE,OAAO,EAAE,SAAS,UAAU;GAC5B,OAAO;IACL,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ,KAAK;IACnH,OAAO,MAAM,KAAK,QAAQ,QAAQ;IAClC,GAAG,MAAM,YAAY,QAAQ;KAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACnH,OAAO,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IAC/D,CAAC;GACH;EACF;EACA;GACE,OAAO,EAAE,SAAS,UAAU;GAC5B,OAAO;IACL,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IACvE,OAAO,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IAC7D,GAAG,MAAM,YAAY,QAAQ;KAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACvE,OAAO,MAAM,KAAK,QAAQ,QAAQ;IACpC,CAAC;GACH;EACF;CACF;AACF,EAAE;AAEF,MAAa,sBAET,OAAO,YAAY,EACrB,oBAAoB,SAAS,SAAS,OACxC,CAAC,GAAsB,EAAE,aAAa;CACpC,SAAS,MAAM,QAAQ,KAAM,GAAG;CAChC,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,UAAU,CACR;EACE,OAAO,EACL,MAAM,OACR;EACA,OAAO,EACL,SAAS,MAAM,QAAQ,KAAM,GAAG,KAAM,GAAI,EAC5C;CACF,CACF;AACF,EAAE"}
1
+ {"version":3,"file":"CardLabel.js","names":[],"sources":["../../../../src/components/Card/CardLabel.tsx"],"sourcesContent":["import { Box, styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardLabel: React.FC<\n React.ComponentProps<typeof Box> & {\n variant?: 'secondary' | 'success' | 'warning'\n }\n> = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: 'secondary' | 'success' | 'warning' }>(({ theme }) => ({\n borderRadius: theme.vars.shape.borderRadius,\n padding: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 24,\n minWidth: 24,\n userSelect: 'none',\n fontSize: '1rem',\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 88%, black)`,\n color: theme.vars.palette.text.primary,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 84%, white)`,\n }),\n variants: [\n {\n props: { variant: 'secondary' },\n style: {\n color: theme.palette.getContrastText(theme.palette.secondary.main),\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 20%, ${theme.vars.palette.secondary.main})`,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 20%, ${theme.vars.palette.secondary.main})`,\n }),\n },\n },\n {\n props: { variant: 'success' },\n style: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 84%, ${theme.vars.palette.success.main})`,\n color: theme.vars.palette.success.main,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.background.paper} 76%, ${theme.vars.palette.success.main})`,\n color: `color-mix(in srgb, ${theme.vars.palette.success.main} 76%, white)`,\n }),\n },\n },\n {\n props: { variant: 'warning' },\n style: {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.warning.main} 32%, transparent)`,\n color: `color-mix(in srgb, ${theme.vars.palette.warning.main} 64%, black)`,\n ...theme.applyStyles('dark', {\n backgroundColor: `color-mix(in srgb, ${theme.vars.palette.warning.main} 16%, transparent)`,\n color: theme.vars.palette.warning.main,\n }),\n },\n },\n ],\n}))\n\nexport const CardLabelTypography: React.FC<\n React.ComponentProps<typeof Typography> & { type?: 'icon' }\n> = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'type',\n})<{ type?: 'icon' }>(({ theme }) => ({\n padding: theme.spacing(0.75, 1.5),\n fontSize: 12,\n lineHeight: 1,\n fontWeight: '600',\n variants: [\n {\n props: {\n type: 'icon',\n },\n style: {\n padding: theme.spacing(0.75, 0, 0.75, 0.75),\n },\n },\n ],\n}))\n"],"mappings":";;AAGA,MAAa,YAIT,OAAO,KAAK,EACd,oBAAoB,SAAS,SAAS,UACxC,CAAC,CAAC,EAAqD,EAAE,aAAa;CACpE,cAAc,MAAM,KAAK,MAAM;CAC/B,SAAS;CACT,SAAS;CACT,YAAY;CACZ,gBAAgB;CAChB,QAAQ;CACR,UAAU;CACV,YAAY;CACZ,UAAU;CACV,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM;CAC3E,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,cAC7E,CAAC;CACD,UAAU;EACR;GACE,OAAO,EAAE,SAAS,YAAY;GAC9B,OAAO;IACL,OAAO,MAAM,QAAQ,gBAAgB,MAAM,QAAQ,UAAU,IAAI;IACjE,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,UAAU,KAAK;IACrH,GAAG,MAAM,YAAY,QAAQ,EAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,UAAU,KAAK,GACvH,CAAC;GACH;EACF;EACA;GACE,OAAO,EAAE,SAAS,UAAU;GAC5B,OAAO;IACL,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ,KAAK;IACnH,OAAO,MAAM,KAAK,QAAQ,QAAQ;IAClC,GAAG,MAAM,YAAY,QAAQ;KAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,WAAW,MAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACnH,OAAO,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IAC/D,CAAC;GACH;EACF;EACA;GACE,OAAO,EAAE,SAAS,UAAU;GAC5B,OAAO;IACL,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IACvE,OAAO,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;IAC7D,GAAG,MAAM,YAAY,QAAQ;KAC3B,iBAAiB,sBAAsB,MAAM,KAAK,QAAQ,QAAQ,KAAK;KACvE,OAAO,MAAM,KAAK,QAAQ,QAAQ;IACpC,CAAC;GACH;EACF;CACF;AACF,EAAE;AAEF,MAAa,sBAET,OAAO,YAAY,EACrB,oBAAoB,SAAS,SAAS,OACxC,CAAC,CAAC,EAAqB,EAAE,aAAa;CACpC,SAAS,MAAM,QAAQ,KAAM,GAAG;CAChC,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,UAAU,CACR;EACE,OAAO,EACL,MAAM,OACR;EACA,OAAO,EACL,SAAS,MAAM,QAAQ,KAAM,GAAG,KAAM,GAAI,EAC5C;CACF,CACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardTitle.js","names":[],"sources":["../../../../src/components/Card/CardTitle.tsx"],"sourcesContent":["import { styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardTitle: React.FC<\n React.ComponentProps<typeof Typography> & { required?: boolean }\n> = styled(Typography, {\n shouldForwardProp: (prop) => !['required'].includes(prop as string),\n})<{ required?: boolean }>(({ theme }) => ({\n fontSize: 14,\n lineHeight: 1,\n fontWeight: 700,\n padding: theme.spacing(2, 2, 0, 2),\n textAlign: 'left',\n color: theme.vars.palette.text.primary,\n '&:after': {\n content: 'none',\n color: theme.vars.palette.error.main,\n },\n variants: [\n {\n props: ({ required }) => required,\n style: {\n '&:after': {\n content: '\" *\"',\n },\n },\n },\n ],\n}))\n"],"mappings":";;AAGA,MAAa,YAET,OAAO,YAAY,EACrB,oBAAoB,SAAS,CAAC,CAAC,UAAU,EAAE,SAAS,IAAc,EACpE,CAAC,GAA2B,EAAE,aAAa;CACzC,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACjC,WAAW;CACX,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,WAAW;EACT,SAAS;EACT,OAAO,MAAM,KAAK,QAAQ,MAAM;CAClC;CACA,UAAU,CACR;EACE,QAAQ,EAAE,eAAe;EACzB,OAAO,EACL,WAAW,EACT,SAAS,SACX,EACF;CACF,CACF;AACF,EAAE"}
1
+ {"version":3,"file":"CardTitle.js","names":[],"sources":["../../../../src/components/Card/CardTitle.tsx"],"sourcesContent":["import { styled, Typography } from '@mui/material'\nimport type React from 'react'\n\nexport const CardTitle: React.FC<\n React.ComponentProps<typeof Typography> & { required?: boolean }\n> = styled(Typography, {\n shouldForwardProp: (prop) => !['required'].includes(prop as string),\n})<{ required?: boolean }>(({ theme }) => ({\n fontSize: 14,\n lineHeight: 1,\n fontWeight: 700,\n padding: theme.spacing(2, 2, 0, 2),\n textAlign: 'left',\n color: theme.vars.palette.text.primary,\n '&:after': {\n content: 'none',\n color: theme.vars.palette.error.main,\n },\n variants: [\n {\n props: ({ required }) => required,\n style: {\n '&:after': {\n content: '\" *\"',\n },\n },\n },\n ],\n}))\n"],"mappings":";;AAGA,MAAa,YAET,OAAO,YAAY,EACrB,oBAAoB,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,IAAc,EACpE,CAAC,CAAC,EAA0B,EAAE,aAAa;CACzC,UAAU;CACV,YAAY;CACZ,YAAY;CACZ,SAAS,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC;CACjC,WAAW;CACX,OAAO,MAAM,KAAK,QAAQ,KAAK;CAC/B,WAAW;EACT,SAAS;EACT,OAAO,MAAM,KAAK,QAAQ,MAAM;CAClC;CACA,UAAU,CACR;EACE,QAAQ,EAAE,eAAe;EACzB,OAAO,EACL,WAAW,EACT,SAAS,SACX,EACF;CACF,CACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputCard.js","names":["Card"],"sources":["../../../../src/components/Card/InputCard.tsx"],"sourcesContent":["import { styled } from '@mui/material'\nimport type React from 'react'\nimport { Card } from './Card.js'\n\nexport const InputCard: React.FC<React.ComponentProps<typeof Card>> = styled(\n Card,\n {\n name: 'MuiInputCard',\n slot: 'root',\n }\n)({})\n"],"mappings":";;;AAIA,MAAa,YAAyD,OACpEA,QACA;CACE,MAAM;CACN,MAAM;AACR,CACF,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"InputCard.js","names":["Card"],"sources":["../../../../src/components/Card/InputCard.tsx"],"sourcesContent":["import { styled } from '@mui/material'\nimport type React from 'react'\nimport { Card } from './Card.js'\n\nexport const InputCard: React.FC<React.ComponentProps<typeof Card>> = styled(\n Card,\n {\n name: 'MuiInputCard',\n slot: 'root',\n }\n)({})\n"],"mappings":";;;AAIA,MAAa,YAAyD,OACpEA,QACA;CACE,MAAM;CACN,MAAM;AACR,CACF,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChainSelect.js","names":[],"sources":["../../../../src/components/ChainSelect/ChainSelect.tsx"],"sourcesContent":["import type { EVMChain } from '@lifi/sdk'\nimport { Skeleton, type Theme, Tooltip, useMediaQuery } from '@mui/material'\nimport { useNavigate } from '@tanstack/react-router'\nimport type React from 'react'\nimport { type JSX, memo, useCallback, useEffect, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useChainOrderStore } from '../../stores/chains/ChainOrderStore.js'\nimport {\n maxChainsToOrder,\n maxChainsToShow,\n maxGridItemsToShow,\n} from '../../stores/chains/createChainOrderStore.js'\nimport type { FormTypeProps } from '../../stores/form/types.js'\nimport { FormKeyHelper } from '../../stores/form/types.js'\nimport { useFieldActions } from '../../stores/form/useFieldActions.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { navigationRoutes } from '../../utils/navigationRoutes.js'\nimport { AllChainsAvatar } from '../Chains/AllChainsAvatar.js'\nimport {\n ChainAvatar,\n ChainCard,\n ChainContainer,\n MoreChainsBox,\n MoreChainsText,\n} from './ChainSelect.style.js'\nimport { useChainSelect } from './useChainSelect.js'\n\nexport const ChainSelect: React.NamedExoticComponent<FormTypeProps> = memo(\n ({ formType }: FormTypeProps): JSX.Element => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const isMobile = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down(theme.breakpoints.values.xs)\n )\n const { setFieldValue } = useFieldActions()\n const {\n chainOrder,\n chains,\n isLoading,\n getSelectedChains,\n setChainOrder,\n setCurrentChain,\n } = useChainSelect(formType)\n\n const [showAllNetworks, isAllNetworks, setIsAllNetworks] =\n useChainOrderStore((state) => [\n state[`${formType}ShowAllNetworks`],\n state[`${formType}IsAllNetworks`],\n state.setIsAllNetworks,\n ])\n\n const [chainId] = useFieldValues(FormKeyHelper.getChainKey(formType))\n\n useEffect(() => {\n if (chainId) {\n const hasChainInOrderedList = chainOrder.includes(chainId)\n // If we don't have a chain in the ordered chain list we should add it.\n if (!hasChainInOrderedList) {\n setChainOrder(chainId, formType)\n }\n }\n }, [chainId, chainOrder, formType, setChainOrder])\n\n const onChainSelect = useCallback(\n (selectedChainId: number) => {\n setIsAllNetworks(false, formType)\n setCurrentChain(selectedChainId)\n },\n [setIsAllNetworks, setCurrentChain, formType]\n )\n\n const showAllChains = useCallback(() => {\n navigate({ to: navigationRoutes[`${formType}Chain`] })\n }, [navigate, formType])\n\n const selectAllNetworks = useCallback(() => {\n setIsAllNetworks(true, formType)\n // Reset the chain and token fields when selecting all networks\n setFieldValue(FormKeyHelper.getChainKey(formType), '', {\n isTouched: true,\n })\n setFieldValue(FormKeyHelper.getTokenKey(formType), '', {\n isTouched: true,\n })\n }, [setIsAllNetworks, formType, setFieldValue])\n\n const chainsToHide =\n chains?.length === maxChainsToShow\n ? 0\n : (chains?.length ?? 0) - maxChainsToOrder\n\n const chainsToShow = useMemo(\n () => (chainsToHide > 0 ? getSelectedChains() : chains) ?? [],\n [chainsToHide, getSelectedChains, chains]\n )\n\n const tilesCount =\n chainsToShow.length +\n (showAllNetworks ? 1 : 0) +\n (chainsToHide > 0 ? 1 : 0)\n\n if (isLoading) {\n return (\n <ChainContainer itemCount={tilesCount}>\n {Array.from({ length: maxGridItemsToShow }).map((_, index) => (\n <Skeleton\n key={index}\n variant=\"rectangular\"\n width={56}\n height={isMobile ? 36 : 56}\n sx={{ borderRadius: 1 }}\n />\n ))}\n </ChainContainer>\n )\n }\n\n return (\n <ChainContainer itemCount={tilesCount}>\n {showAllNetworks && (\n <Tooltip title={t('main.allNetworks')} enterNextDelay={100}>\n <ChainCard\n component=\"button\"\n onClick={selectAllNetworks}\n type={isAllNetworks ? 'selected' : 'default'}\n selectionColor=\"secondary\"\n >\n <AllChainsAvatar\n chains={chains ?? []}\n size={isMobile ? 'small' : 'medium'}\n />\n </ChainCard>\n </Tooltip>\n )}\n {chainsToShow.map((chain: EVMChain) => (\n <ChainItem\n key={chain.id}\n chain={chain}\n isSelected={chainId === chain.id}\n isAllNetworks={isAllNetworks}\n onSelect={onChainSelect}\n />\n ))}\n {chainsToHide > 0 && (\n <ChainCard component=\"button\" onClick={showAllChains}>\n <MoreChainsBox>\n <MoreChainsText>+{chainsToHide}</MoreChainsText>\n </MoreChainsBox>\n </ChainCard>\n )}\n </ChainContainer>\n )\n }\n)\n\nconst ChainItem = memo(\n ({\n chain,\n isSelected,\n isAllNetworks,\n onSelect,\n }: {\n chain: EVMChain\n isSelected: boolean\n isAllNetworks: boolean\n onSelect: (id: number) => void\n }) => {\n return (\n <Tooltip title={chain.name} enterNextDelay={100}>\n <ChainCard\n component=\"button\"\n onClick={() => onSelect(chain.id)}\n type={!isAllNetworks && isSelected ? 'selected' : 'default'}\n selectionColor=\"secondary\"\n >\n <ChainAvatar src={chain.logoURI} alt={chain.key}>\n {chain.name[0]}\n </ChainAvatar>\n </ChainCard>\n </Tooltip>\n )\n }\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChainSelect.js","names":[],"sources":["../../../../src/components/ChainSelect/ChainSelect.tsx"],"sourcesContent":["import type { EVMChain } from '@lifi/sdk'\nimport { Skeleton, type Theme, Tooltip, useMediaQuery } from '@mui/material'\nimport { useNavigate } from '@tanstack/react-router'\nimport type React from 'react'\nimport { type JSX, memo, useCallback, useEffect, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useChainOrderStore } from '../../stores/chains/ChainOrderStore.js'\nimport {\n maxChainsToOrder,\n maxChainsToShow,\n maxGridItemsToShow,\n} from '../../stores/chains/createChainOrderStore.js'\nimport type { FormTypeProps } from '../../stores/form/types.js'\nimport { FormKeyHelper } from '../../stores/form/types.js'\nimport { useFieldActions } from '../../stores/form/useFieldActions.js'\nimport { useFieldValues } from '../../stores/form/useFieldValues.js'\nimport { navigationRoutes } from '../../utils/navigationRoutes.js'\nimport { AllChainsAvatar } from '../Chains/AllChainsAvatar.js'\nimport {\n ChainAvatar,\n ChainCard,\n ChainContainer,\n MoreChainsBox,\n MoreChainsText,\n} from './ChainSelect.style.js'\nimport { useChainSelect } from './useChainSelect.js'\n\nexport const ChainSelect: React.NamedExoticComponent<FormTypeProps> = memo(\n ({ formType }: FormTypeProps): JSX.Element => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const isMobile = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down(theme.breakpoints.values.xs)\n )\n const { setFieldValue } = useFieldActions()\n const {\n chainOrder,\n chains,\n isLoading,\n getSelectedChains,\n setChainOrder,\n setCurrentChain,\n } = useChainSelect(formType)\n\n const [showAllNetworks, isAllNetworks, setIsAllNetworks] =\n useChainOrderStore((state) => [\n state[`${formType}ShowAllNetworks`],\n state[`${formType}IsAllNetworks`],\n state.setIsAllNetworks,\n ])\n\n const [chainId] = useFieldValues(FormKeyHelper.getChainKey(formType))\n\n useEffect(() => {\n if (chainId) {\n const hasChainInOrderedList = chainOrder.includes(chainId)\n // If we don't have a chain in the ordered chain list we should add it.\n if (!hasChainInOrderedList) {\n setChainOrder(chainId, formType)\n }\n }\n }, [chainId, chainOrder, formType, setChainOrder])\n\n const onChainSelect = useCallback(\n (selectedChainId: number) => {\n setIsAllNetworks(false, formType)\n setCurrentChain(selectedChainId)\n },\n [setIsAllNetworks, setCurrentChain, formType]\n )\n\n const showAllChains = useCallback(() => {\n navigate({ to: navigationRoutes[`${formType}Chain`] })\n }, [navigate, formType])\n\n const selectAllNetworks = useCallback(() => {\n setIsAllNetworks(true, formType)\n // Reset the chain and token fields when selecting all networks\n setFieldValue(FormKeyHelper.getChainKey(formType), '', {\n isTouched: true,\n })\n setFieldValue(FormKeyHelper.getTokenKey(formType), '', {\n isTouched: true,\n })\n }, [setIsAllNetworks, formType, setFieldValue])\n\n const chainsToHide =\n chains?.length === maxChainsToShow\n ? 0\n : (chains?.length ?? 0) - maxChainsToOrder\n\n const chainsToShow = useMemo(\n () => (chainsToHide > 0 ? getSelectedChains() : chains) ?? [],\n [chainsToHide, getSelectedChains, chains]\n )\n\n const tilesCount =\n chainsToShow.length +\n (showAllNetworks ? 1 : 0) +\n (chainsToHide > 0 ? 1 : 0)\n\n if (isLoading) {\n return (\n <ChainContainer itemCount={tilesCount}>\n {Array.from({ length: maxGridItemsToShow }).map((_, index) => (\n <Skeleton\n key={index}\n variant=\"rectangular\"\n width={56}\n height={isMobile ? 36 : 56}\n sx={{ borderRadius: 1 }}\n />\n ))}\n </ChainContainer>\n )\n }\n\n return (\n <ChainContainer itemCount={tilesCount}>\n {showAllNetworks && (\n <Tooltip title={t('main.allNetworks')} enterNextDelay={100}>\n <ChainCard\n component=\"button\"\n onClick={selectAllNetworks}\n type={isAllNetworks ? 'selected' : 'default'}\n selectionColor=\"secondary\"\n >\n <AllChainsAvatar\n chains={chains ?? []}\n size={isMobile ? 'small' : 'medium'}\n />\n </ChainCard>\n </Tooltip>\n )}\n {chainsToShow.map((chain: EVMChain) => (\n <ChainItem\n key={chain.id}\n chain={chain}\n isSelected={chainId === chain.id}\n isAllNetworks={isAllNetworks}\n onSelect={onChainSelect}\n />\n ))}\n {chainsToHide > 0 && (\n <ChainCard component=\"button\" onClick={showAllChains}>\n <MoreChainsBox>\n <MoreChainsText>+{chainsToHide}</MoreChainsText>\n </MoreChainsBox>\n </ChainCard>\n )}\n </ChainContainer>\n )\n }\n)\n\nconst ChainItem = memo(\n ({\n chain,\n isSelected,\n isAllNetworks,\n onSelect,\n }: {\n chain: EVMChain\n isSelected: boolean\n isAllNetworks: boolean\n onSelect: (id: number) => void\n }) => {\n return (\n <Tooltip title={chain.name} enterNextDelay={100}>\n <ChainCard\n component=\"button\"\n onClick={() => onSelect(chain.id)}\n type={!isAllNetworks && isSelected ? 'selected' : 'default'}\n selectionColor=\"secondary\"\n >\n <ChainAvatar src={chain.logoURI} alt={chain.key}>\n {chain.name[0]}\n </ChainAvatar>\n </ChainCard>\n </Tooltip>\n )\n }\n)\n"],"mappings":"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"}