@lifi/widget 3.25.0-beta.4 → 3.25.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 (118) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/esm/components/Chains/ChainList.d.ts +2 -3
  3. package/dist/esm/components/Chains/ChainList.js +4 -3
  4. package/dist/esm/components/Chains/ChainList.js.map +1 -1
  5. package/dist/esm/components/Chains/ChainList.style.js +10 -3
  6. package/dist/esm/components/Chains/ChainList.style.js.map +1 -1
  7. package/dist/esm/components/Chains/ChainListItem.d.ts +4 -1
  8. package/dist/esm/components/Chains/ChainListItem.js +14 -2
  9. package/dist/esm/components/Chains/ChainListItem.js.map +1 -1
  10. package/dist/esm/components/Chains/PinChainButton.d.ts +7 -0
  11. package/dist/esm/components/Chains/PinChainButton.js +34 -0
  12. package/dist/esm/components/Chains/PinChainButton.js.map +1 -0
  13. package/dist/esm/components/Chains/SelectChainContent.js +15 -16
  14. package/dist/esm/components/Chains/SelectChainContent.js.map +1 -1
  15. package/dist/esm/components/Chains/VirtualizedChainList.d.ts +2 -1
  16. package/dist/esm/components/Chains/VirtualizedChainList.js +43 -9
  17. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  18. package/dist/esm/components/Messages/MinFromAmountUSDMessage.d.ts +6 -0
  19. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js +15 -0
  20. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -0
  21. package/dist/esm/components/Messages/WarningMessages.js +3 -0
  22. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  23. package/dist/esm/components/Messages/useMessageQueue.js +15 -4
  24. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
  25. package/dist/esm/components/TokenList/TokenDetailsSheet.js +0 -2
  26. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  27. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +26 -2
  28. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  29. package/dist/esm/components/TokenList/TokenList.js +10 -1
  30. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  31. package/dist/esm/components/TokenList/TokenListItem.js +3 -1
  32. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  33. package/dist/esm/config/version.d.ts +1 -1
  34. package/dist/esm/config/version.js +1 -1
  35. package/dist/esm/config/version.js.map +1 -1
  36. package/dist/esm/hooks/useFromAmountThreshold.d.ts +4 -0
  37. package/dist/esm/hooks/useFromAmountThreshold.js +23 -0
  38. package/dist/esm/hooks/useFromAmountThreshold.js.map +1 -0
  39. package/dist/esm/hooks/useLongPress.d.ts +7 -0
  40. package/dist/esm/hooks/useLongPress.js +41 -0
  41. package/dist/esm/hooks/useLongPress.js.map +1 -0
  42. package/dist/esm/hooks/useTokenBalances.d.ts +1 -2
  43. package/dist/esm/hooks/useTokenBalances.js +2 -3
  44. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  45. package/dist/esm/hooks/useTokenSearch.d.ts +2 -2
  46. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  47. package/dist/esm/hooks/useTokens.d.ts +1 -2
  48. package/dist/esm/hooks/useTokens.js +1 -10
  49. package/dist/esm/hooks/useTokens.js.map +1 -1
  50. package/dist/esm/i18n/bn.json +4 -1
  51. package/dist/esm/i18n/de.json +4 -1
  52. package/dist/esm/i18n/en.json +4 -1
  53. package/dist/esm/i18n/es.json +4 -1
  54. package/dist/esm/i18n/fr.json +4 -1
  55. package/dist/esm/i18n/hi.json +4 -1
  56. package/dist/esm/i18n/id.json +4 -1
  57. package/dist/esm/i18n/it.json +4 -1
  58. package/dist/esm/i18n/ja.json +4 -1
  59. package/dist/esm/i18n/ko.json +4 -1
  60. package/dist/esm/i18n/pl.json +4 -1
  61. package/dist/esm/i18n/pt.json +4 -1
  62. package/dist/esm/i18n/th.json +4 -1
  63. package/dist/esm/i18n/tr.json +4 -1
  64. package/dist/esm/i18n/uk.json +4 -1
  65. package/dist/esm/i18n/vi.json +4 -1
  66. package/dist/esm/i18n/zh.json +4 -1
  67. package/dist/esm/stores/chains/ChainOrderStore.js +17 -5
  68. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  69. package/dist/esm/stores/chains/createChainOrderStore.js +19 -1
  70. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
  71. package/dist/esm/stores/chains/types.d.ts +2 -0
  72. package/dist/esm/stores/header/useHeaderStore.js +2 -3
  73. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  74. package/dist/esm/types/widget.d.ts +1 -0
  75. package/dist/esm/types/widget.js.map +1 -1
  76. package/package.json +4 -4
  77. package/package.json.tmp +3 -3
  78. package/src/components/Chains/ChainList.style.tsx +10 -2
  79. package/src/components/Chains/ChainList.tsx +6 -5
  80. package/src/components/Chains/ChainListItem.tsx +29 -0
  81. package/src/components/Chains/PinChainButton.tsx +51 -0
  82. package/src/components/Chains/SelectChainContent.tsx +18 -21
  83. package/src/components/Chains/VirtualizedChainList.tsx +68 -20
  84. package/src/components/Messages/MinFromAmountUSDMessage.tsx +35 -0
  85. package/src/components/Messages/WarningMessages.tsx +8 -0
  86. package/src/components/Messages/useMessageQueue.ts +16 -4
  87. package/src/components/TokenList/TokenDetailsSheet.tsx +0 -2
  88. package/src/components/TokenList/TokenDetailsSheetContent.tsx +49 -1
  89. package/src/components/TokenList/TokenList.tsx +24 -1
  90. package/src/components/TokenList/TokenListItem.tsx +6 -0
  91. package/src/config/version.ts +1 -1
  92. package/src/hooks/useFromAmountThreshold.ts +31 -0
  93. package/src/hooks/useLongPress.ts +51 -0
  94. package/src/hooks/useTokenBalances.ts +3 -10
  95. package/src/hooks/useTokenSearch.ts +3 -3
  96. package/src/hooks/useTokens.ts +2 -29
  97. package/src/i18n/bn.json +4 -1
  98. package/src/i18n/de.json +4 -1
  99. package/src/i18n/en.json +4 -1
  100. package/src/i18n/es.json +4 -1
  101. package/src/i18n/fr.json +4 -1
  102. package/src/i18n/hi.json +4 -1
  103. package/src/i18n/id.json +4 -1
  104. package/src/i18n/it.json +4 -1
  105. package/src/i18n/ja.json +4 -1
  106. package/src/i18n/ko.json +4 -1
  107. package/src/i18n/pl.json +4 -1
  108. package/src/i18n/pt.json +4 -1
  109. package/src/i18n/th.json +4 -1
  110. package/src/i18n/tr.json +4 -1
  111. package/src/i18n/uk.json +4 -1
  112. package/src/i18n/vi.json +4 -1
  113. package/src/i18n/zh.json +4 -1
  114. package/src/stores/chains/ChainOrderStore.tsx +23 -5
  115. package/src/stores/chains/createChainOrderStore.ts +19 -1
  116. package/src/stores/chains/types.ts +2 -0
  117. package/src/stores/header/useHeaderStore.tsx +2 -9
  118. package/src/types/widget.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [3.25.0](https://github.com/lifinance/widget/compare/v3.25.0-beta.2...v3.25.0) (2025-07-28)
6
+
7
+
8
+ ### Features
9
+
10
+ * add market cap and volume to token details ([#475](https://github.com/lifinance/widget/issues/475)) ([3f4f0f3](https://github.com/lifinance/widget/commit/3f4f0f37783e60fbc5bf1eff3ddd369b5aeacc46))
11
+ * add minFromAmountUSD configuration option ([#480](https://github.com/lifinance/widget/issues/480)) ([b3b7648](https://github.com/lifinance/widget/commit/b3b7648e2cab2fd39f2258f132686008a2a0e26d))
12
+ * add pinned chains ([#474](https://github.com/lifinance/widget/issues/474)) ([2ccde57](https://github.com/lifinance/widget/commit/2ccde572babacc4c1e22b7f519fb935d10134118))
13
+ * add pointer events for token details ([#477](https://github.com/lifinance/widget/issues/477)) ([84332ec](https://github.com/lifinance/widget/commit/84332eccc3b118f81cd4811d77e786b641bd8989))
14
+ * add wallet ecosystems ordering ([#464](https://github.com/lifinance/widget/issues/464)) ([ca0b42a](https://github.com/lifinance/widget/commit/ca0b42a2c512a3808b6384db309d87b880cd4fc6))
15
+ * separate config for chain sidebar and routes ([#469](https://github.com/lifinance/widget/issues/469)) ([ed1d817](https://github.com/lifinance/widget/commit/ed1d81751d80c6ead9a18c368a8943c66e4b725e))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * filter out duplicate EVM connectors ([#468](https://github.com/lifinance/widget/issues/468)) ([bed5130](https://github.com/lifinance/widget/commit/bed51303bd1afc6078010e412483b194f48fc1f9))
21
+ * **format:** wrap hashes in messages for better display ([#465](https://github.com/lifinance/widget/issues/465)) ([83da273](https://github.com/lifinance/widget/commit/83da273ca8aef413d9314cd981dd11e9ad5d5f11))
22
+ * improve tx link handling for relayed txs ([#473](https://github.com/lifinance/widget/issues/473)) ([41c19c7](https://github.com/lifinance/widget/commit/41c19c78f119371a65cab99c2181357067fc4def))
23
+ * remove outer routes container causing unnecessary scrolling ([#476](https://github.com/lifinance/widget/issues/476)) ([21fa74d](https://github.com/lifinance/widget/commit/21fa74dbfcadf40a37589f63c8e162b538bee8f6))
24
+ * reorg token filters ([#485](https://github.com/lifinance/widget/issues/485)) ([d97e709](https://github.com/lifinance/widget/commit/d97e709e96675b125d3cdd52fb78a52f115d4cdc))
25
+ * token details should not have empty state on transition ([#488](https://github.com/lifinance/widget/issues/488)) ([b299eca](https://github.com/lifinance/widget/commit/b299ecaf19ac3c5430ca21e8bd6a91aec4c6f6af))
26
+ * update color mixing for Card and ListItemButton components ([#471](https://github.com/lifinance/widget/issues/471)) ([af33afd](https://github.com/lifinance/widget/commit/af33afdffae644267176346e80588b92d231d73b))
27
+
5
28
  ### [3.24.3](https://github.com/lifinance/widget/compare/v3.24.2...v3.24.3) (2025-07-04)
6
29
 
7
30
 
@@ -6,8 +6,7 @@ interface ChainListProps {
6
6
  onSelect: (chain: ExtendedChain) => void;
7
7
  selectedChainId?: number;
8
8
  isLoading: boolean;
9
- itemsSize: 'small' | 'medium';
10
- adjustForStickySearchInput?: boolean;
9
+ inExpansion: boolean;
11
10
  }
12
- export declare const ChainList: ({ parentRef, chains, onSelect, selectedChainId, isLoading, itemsSize, adjustForStickySearchInput, }: ChainListProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const ChainList: ({ parentRef, chains, onSelect, selectedChainId, isLoading, inExpansion, }: ChainListProps) => import("react/jsx-runtime").JSX.Element;
13
12
  export {};
@@ -4,14 +4,15 @@ import { useTranslation } from 'react-i18next';
4
4
  import { SearchNotFound } from '../Search/SearchNotFound';
5
5
  import { List, ListItemAvatar, ListItemButton, ListItemText, } from './ChainList.style';
6
6
  import { VirtualizedChainList } from './VirtualizedChainList';
7
- export const ChainList = ({ parentRef, chains, onSelect, selectedChainId, isLoading, itemsSize, adjustForStickySearchInput, }) => {
7
+ export const ChainList = ({ parentRef, chains, onSelect, selectedChainId, isLoading, inExpansion, }) => {
8
8
  const { t } = useTranslation();
9
+ const itemsSize = inExpansion ? 'small' : 'medium';
9
10
  if (isLoading) {
10
11
  return (_jsx(List, { disablePadding: true, sx: { cursor: 'default' }, children: Array.from({ length: 3 }).map((_, index) => (_jsxs(ListItemButton, { size: itemsSize, sx: { pointerEvents: 'none' }, children: [_jsx(ListItemAvatar, { size: itemsSize, children: _jsx(Skeleton, { variant: "circular", width: itemsSize === 'small' ? 32 : 40, height: itemsSize === 'small' ? 32 : 40, sx: { marginRight: 2 } }) }), _jsx(ListItemText, { primary: _jsx(Skeleton, { variant: "text", width: '100%', height: itemsSize === 'small' ? 18 : 24 }), size: itemsSize })] }, index))) }));
11
12
  }
12
13
  if (!chains.length) {
13
- return (_jsx(SearchNotFound, { message: t('info.message.emptyChainList'), adjustForStickySearchInput: adjustForStickySearchInput }));
14
+ return (_jsx(SearchNotFound, { message: t('info.message.emptyChainList'), adjustForStickySearchInput: !inExpansion }));
14
15
  }
15
- return (_jsx(VirtualizedChainList, { scrollElementRef: parentRef, chains: chains, onSelect: onSelect, selectedChainId: selectedChainId, itemsSize: itemsSize }));
16
+ return (_jsx(VirtualizedChainList, { scrollElementRef: parentRef, chains: chains, onSelect: onSelect, selectedChainId: selectedChainId, itemsSize: itemsSize, withPinnedChains: inExpansion }));
16
17
  };
17
18
  //# sourceMappingURL=ChainList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainList.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EACL,IAAI,EACJ,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAY7D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,eAAe,EACf,SAAS,EACT,SAAS,EACT,0BAA0B,GACX,EAAE,EAAE;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAE9B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,KAAC,IAAI,IAAC,cAAc,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,MAAC,cAAc,IAEb,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAE7B,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,YAC7B,KAAC,QAAQ,IACP,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACtC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACvC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GACtB,GACa,EACjB,KAAC,YAAY,IACX,OAAO,EACL,KAAC,QAAQ,IACP,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GACvC,EAEJ,IAAI,EAAE,SAAS,GACf,KArBG,KAAK,CAsBK,CAClB,CAAC,GACG,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,CAAC,CAAC,6BAA6B,CAAC,EACzC,0BAA0B,EAAE,0BAA0B,GACtD,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,oBAAoB,IACnB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ChainList.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EACL,IAAI,EACJ,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAW7D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,SAAS,EACT,MAAM,EACN,QAAQ,EACR,eAAe,EACf,SAAS,EACT,WAAW,GACI,EAAE,EAAE;IACnB,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAE9B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IAElD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,KAAC,IAAI,IAAC,cAAc,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,MAAC,cAAc,IAEb,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAE7B,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,YAC7B,KAAC,QAAQ,IACP,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACtC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACvC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GACtB,GACa,EACjB,KAAC,YAAY,IACX,OAAO,EACL,KAAC,QAAQ,IACP,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GACvC,EAEJ,IAAI,EAAE,SAAS,GACf,KArBG,KAAK,CAsBK,CAClB,CAAC,GACG,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,CAAC,CAAC,6BAA6B,CAAC,EACzC,0BAA0B,EAAE,CAAC,WAAW,GACxC,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,oBAAoB,IACnB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,WAAW,GAC7B,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { ListItem as ListItemBase, listItemTextClasses, Avatar as MuiAvatar, List as MuiList, ListItemAvatar as MuiListItemAvatar, ListItemText as MuiListItemText, styled, } from '@mui/material';
2
- import { ListItemButton as ListItemButtonBase } from '../ListItem/ListItemButton.js';
1
+ import { ListItem as ListItemBase, listItemButtonClasses, listItemTextClasses, Avatar as MuiAvatar, List as MuiList, ListItemAvatar as MuiListItemAvatar, ListItemText as MuiListItemText, styled, } from '@mui/material';
2
+ import { ListItemButton as ListItemButtonBase } from '../ListItemButton.js';
3
3
  export const Avatar = styled(MuiAvatar)(({ size = 'medium' }) => ({
4
4
  width: size === 'small' ? 32 : 40,
5
5
  height: size === 'small' ? 32 : 40,
@@ -11,6 +11,9 @@ export const ListItemText = styled(MuiListItemText)(({ size = 'medium' }) => ({
11
11
  [`.${listItemTextClasses.primary}`]: {
12
12
  fontWeight: 500,
13
13
  fontSize: size === 'small' ? '1rem' : '1.125rem',
14
+ textOverflow: 'ellipsis',
15
+ overflow: 'hidden',
16
+ whiteSpace: 'nowrap',
14
17
  },
15
18
  }));
16
19
  export const ListItemButton = styled(ListItemButtonBase)(({ size = 'medium', theme }) => {
@@ -18,6 +21,7 @@ export const ListItemButton = styled(ListItemButtonBase)(({ size = 'medium', the
18
21
  borderRadius: theme.vars.shape.borderRadius,
19
22
  paddingLeft: size === 'small' ? theme.spacing(1) : theme.spacing(1.5),
20
23
  height: size === 'small' ? 44 : 56,
24
+ width: '100%',
21
25
  };
22
26
  });
23
27
  export const List = styled(MuiList)(({ theme }) => ({
@@ -30,9 +34,12 @@ export const List = styled(MuiList)(({ theme }) => ({
30
34
  marginBottom: theme.spacing(1.5),
31
35
  cursor: 'pointer',
32
36
  }));
33
- export const ListItem = styled(ListItemBase)(() => ({
37
+ export const ListItem = styled(ListItemBase)(({ theme }) => ({
34
38
  position: 'absolute',
35
39
  top: 0,
36
40
  left: 0,
41
+ [`& .${listItemButtonClasses.root}`]: {
42
+ paddingRight: theme.spacing(1),
43
+ },
37
44
  }));
38
45
  //# sourceMappingURL=ChainList.style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainList.style.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainList.style.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,mBAAmB,EACnB,MAAM,IAAI,SAAS,EACnB,IAAI,IAAI,OAAO,EACf,cAAc,IAAI,iBAAiB,EACnC,YAAY,IAAI,eAAe,EAC/B,MAAM,GACP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEpF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAEpC,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;CACnC,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAEpD,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;CACrC,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAEhD,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,EAAE;QACnC,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;KACjD;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAErD,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAChC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;QAC3C,WAAW,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACrE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KACnC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IACvB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;CACR,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ChainList.style.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainList.style.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ interface ChainListItemProps {
6
6
  itemsSize: 'small' | 'medium';
7
7
  size: number;
8
8
  start: number;
9
+ isPinned: boolean;
10
+ onPin: (chainId: number) => void;
11
+ withPin: boolean;
9
12
  }
10
- export declare const ChainListItem: import("react").MemoExoticComponent<({ chain, onSelect, selected, itemsSize, size, start, }: ChainListItemProps) => import("react/jsx-runtime").JSX.Element>;
13
+ export declare const ChainListItem: import("react").MemoExoticComponent<({ chain, onSelect, selected, itemsSize, size, start, isPinned, onPin, withPin, }: ChainListItemProps) => import("react/jsx-runtime").JSX.Element>;
11
14
  export {};
@@ -1,11 +1,23 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '@mui/material';
2
3
  import { memo } from 'react';
3
4
  import { Avatar, ListItem, ListItemAvatar, ListItemButton, ListItemText, } from './ChainList.style';
4
- export const ChainListItem = memo(({ chain, onSelect, selected, itemsSize, size, start, }) => {
5
+ import { PinChainButton, pinButtonClassName } from './PinChainButton';
6
+ export const ChainListItem = memo(({ chain, onSelect, selected, itemsSize, size, start, isPinned, onPin, withPin, }) => {
5
7
  return (_jsx(ListItem, { style: {
6
8
  height: `${size}px`,
7
9
  transform: `translateY(${start}px)`,
8
10
  padding: 0,
9
- }, children: _jsxs(ListItemButton, { onClick: () => onSelect(chain), selected: selected, size: itemsSize, children: [_jsx(ListItemAvatar, { size: itemsSize, children: _jsx(Avatar, { src: chain.logoURI, alt: chain.name, size: itemsSize, children: chain.name[0] }) }), _jsx(ListItemText, { primary: chain.name, size: itemsSize })] }) }));
11
+ overflow: 'hidden',
12
+ }, sx: {
13
+ [`&:hover .${pinButtonClassName}`]: {
14
+ opacity: 1,
15
+ transform: 'translateY(0)',
16
+ },
17
+ }, children: _jsxs(ListItemButton, { onClick: () => onSelect(chain), selected: selected, size: itemsSize, children: [_jsx(ListItemAvatar, { size: itemsSize, children: _jsx(Avatar, { src: chain.logoURI, alt: chain.name, size: itemsSize, children: chain.name[0] }) }), _jsx(ListItemText, { primary: chain.name, size: itemsSize }), withPin && (_jsx(Box, { style: {
18
+ position: 'relative',
19
+ height: 28,
20
+ width: 28,
21
+ }, children: _jsx(PinChainButton, { isPinned: isPinned, onPin: () => onPin(chain.id) }) }))] }) }));
10
22
  });
11
23
  //# sourceMappingURL=ChainListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainListItem.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainListItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAW1B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAC/B,CAAC,EACC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,GACc,EAAE,EAAE;IACvB,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,IAAI,IAAI;YACnB,SAAS,EAAE,cAAc,KAAK,KAAK;YACnC,OAAO,EAAE,CAAC;SACX,YAED,MAAC,cAAc,IACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,SAAS,aAEf,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,YAC7B,KAAC,MAAM,IAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,YACzD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GACP,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAI,IACvC,GACR,CACZ,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"ChainListItem.js","sourceRoot":"","sources":["../../../../src/components/Chains/ChainListItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAcrE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAC/B,CAAC,EACC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,GACY,EAAE,EAAE;IACvB,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,IAAI,IAAI;YACnB,SAAS,EAAE,cAAc,KAAK,KAAK;YACnC,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,QAAQ;SACnB,EACD,EAAE,EAAE;YACF,CAAC,YAAY,kBAAkB,EAAE,CAAC,EAAE;gBAClC,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,eAAe;aAC3B;SACF,YAED,MAAC,cAAc,IACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,SAAS,aAEf,KAAC,cAAc,IAAC,IAAI,EAAE,SAAS,YAC7B,KAAC,MAAM,IAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,YACzD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GACP,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAI,EACrD,OAAO,IAAI,CACV,KAAC,GAAG,IACF,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,EAAE;qBACV,YAED,KAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAC5B,GACE,CACP,IACc,GACR,CACZ,CAAA;AACH,CAAC,CACF,CAAA"}
@@ -0,0 +1,7 @@
1
+ interface PinChainButtonProps {
2
+ isPinned: boolean;
3
+ onPin: () => void;
4
+ }
5
+ export declare const pinButtonClassName = "pin-button";
6
+ export declare const PinChainButton: ({ isPinned, onPin }: PinChainButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import PushPinIcon from '@mui/icons-material/PushPin';
3
+ import PushPinOutlinedIcon from '@mui/icons-material/PushPinOutlined';
4
+ import { IconButton } from '@mui/material';
5
+ export const pinButtonClassName = 'pin-button';
6
+ const animationDuration = 225;
7
+ export const PinChainButton = ({ isPinned, onPin }) => {
8
+ const PinIcon = isPinned ? PushPinIcon : PushPinOutlinedIcon;
9
+ return (_jsx(IconButton, { className: pinButtonClassName, edge: "end", "aria-label": "pin", onClick: (e) => {
10
+ e.stopPropagation();
11
+ onPin();
12
+ }, sx: {
13
+ position: 'absolute',
14
+ top: 0,
15
+ left: 0,
16
+ height: 28,
17
+ width: 28,
18
+ transition: `opacity ${animationDuration}ms cubic-bezier(0.4, 0, 0.2, 1), transform ${animationDuration}ms cubic-bezier(0.4, 0, 0.2, 1)`,
19
+ ...(isPinned
20
+ ? {
21
+ opacity: 1,
22
+ transform: 'translateY(0)',
23
+ }
24
+ : {
25
+ opacity: 0,
26
+ transform: 'translateY(-50%)',
27
+ }),
28
+ }, children: _jsx(PinIcon, { sx: {
29
+ height: 20,
30
+ width: 20,
31
+ color: 'text.secondary',
32
+ } }) }));
33
+ };
34
+ //# sourceMappingURL=PinChainButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinChainButton.js","sourceRoot":"","sources":["../../../../src/components/Chains/PinChainButton.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAC9C,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAuB,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAA;IAC5D,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAC,KAAK,gBACC,KAAK,EAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,eAAe,EAAE,CAAA;YACnB,KAAK,EAAE,CAAA;QACT,CAAC,EACD,EAAE,EAAE;YACF,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,WAAW,iBAAiB,8CAA8C,iBAAiB,iCAAiC;YACxI,GAAG,CAAC,QAAQ;gBACV,CAAC,CAAC;oBACE,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,eAAe;iBAC3B;gBACH,CAAC,CAAC;oBACE,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,kBAAkB;iBAC9B,CAAC;SACP,YAED,KAAC,OAAO,IACN,EAAE,EAAE;gBACF,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,gBAAgB;aACxB,GACD,GACS,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -19,35 +19,34 @@ export const SelectChainContent = memo(({ formType, onSelect, inExpansion }) =>
19
19
  const [selectedChainId] = useFieldValues(FormKeyHelper.getChainKey(formType));
20
20
  const inputRef = useRef(null);
21
21
  const listRef = useRef(null);
22
- const [filteredChains, setFilteredChains] = useState(chains ?? []);
22
+ const [debouncedSearchValue, setDebouncedSearchValue] = useState('');
23
+ const filteredChains = useMemo(() => {
24
+ const value = debouncedSearchValue.toLowerCase();
25
+ return value
26
+ ? (chains?.filter((chain) => chain.name.toLowerCase().includes(value)) ?? [])
27
+ : (chains ?? []);
28
+ }, [chains, debouncedSearchValue]);
23
29
  const scrollToTop = useCallback(() => {
24
30
  // Scroll widget container to top
25
31
  if (!inExpansion && scrollableContainer) {
26
32
  scrollableContainer.scrollTop = 0;
27
33
  }
28
- // Scroll chain list to top
29
- if (inExpansion && listRef.current) {
30
- listRef.current.scrollTop = 0;
31
- }
32
34
  }, [inExpansion, scrollableContainer]);
33
- const debouncedFilterChains = useMemo(() => debounce((chains) => {
34
- const value = inputRef.current?.value?.toLowerCase() || '';
35
- const filtered = value
36
- ? chains?.filter((chain) => chain.name.toLowerCase().includes(value))
37
- : chains;
38
- setFilteredChains(filtered ?? []);
35
+ const debouncedFilterChains = useMemo(() => debounce((value) => {
36
+ setDebouncedSearchValue(value);
39
37
  scrollToTop();
40
38
  }, 250), [scrollToTop]);
41
39
  const onSelectChainFallback = useCallback((chain) => {
42
40
  setCurrentChain(chain.id);
43
41
  }, [setCurrentChain]);
44
42
  const onChange = useCallback(() => {
45
- debouncedFilterChains(chains ?? []);
46
- }, [chains, debouncedFilterChains]);
43
+ const value = inputRef.current?.value || '';
44
+ debouncedFilterChains(value);
45
+ }, [debouncedFilterChains]);
47
46
  const onClear = useCallback(() => {
48
- setFilteredChains(chains ?? []);
47
+ setDebouncedSearchValue('');
49
48
  scrollToTop();
50
- }, [chains, scrollToTop]);
49
+ }, [scrollToTop]);
51
50
  const listContainerHeight = useMemo(() => {
52
51
  const fullContainerHeight = getWidgetMaxHeight(theme);
53
52
  const heightValue = typeof fullContainerHeight === 'number'
@@ -55,6 +54,6 @@ export const SelectChainContent = memo(({ formType, onSelect, inExpansion }) =>
55
54
  : fullContainerHeight;
56
55
  return `calc(${heightValue} - ${searchHeaderHeight})`;
57
56
  }, [theme]);
58
- return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(ChainSearchInput, { inputRef: inputRef, inExpansion: inExpansion, onChange: onChange, onClear: onClear, searchHeaderHeight: searchHeaderHeight }), _jsx(Box, { ref: listRef, sx: inExpansion ? { height: listContainerHeight, overflow: 'auto' } : {}, children: _jsx(ChainList, { parentRef: listRef, chains: filteredChains, isLoading: isLoading, onSelect: onSelect ?? onSelectChainFallback, selectedChainId: selectedChainId, itemsSize: inExpansion ? 'small' : 'medium', adjustForStickySearchInput: !inExpansion }) })] }));
57
+ return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(ChainSearchInput, { inputRef: inputRef, inExpansion: inExpansion, onChange: onChange, onClear: onClear, searchHeaderHeight: searchHeaderHeight }), _jsx(Box, { ref: listRef, sx: inExpansion ? { height: listContainerHeight, overflow: 'auto' } : {}, children: _jsx(ChainList, { parentRef: listRef, chains: filteredChains, isLoading: isLoading, onSelect: onSelect ?? onSelectChainFallback, selectedChainId: selectedChainId, inExpansion: inExpansion }) })] }));
59
58
  });
60
59
  //# sourceMappingURL=SelectChainContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectChainContent.js","sourceRoot":"","sources":["../../../../src/components/Chains/SelectChainContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectChainContent.js","sourceRoot":"","sources":["../../../../src/components/Chains/SelectChainContent.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ interface VirtualizedChainListProps {
6
6
  onSelect: (chain: ExtendedChain) => void;
7
7
  selectedChainId?: number;
8
8
  itemsSize: 'small' | 'medium';
9
+ withPinnedChains: boolean;
9
10
  }
10
- export declare const VirtualizedChainList: ({ chains, onSelect, selectedChainId, itemsSize, scrollElementRef, }: VirtualizedChainListProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const VirtualizedChainList: ({ chains, onSelect, selectedChainId, itemsSize, scrollElementRef, withPinnedChains, }: VirtualizedChainListProps) => import("react/jsx-runtime").JSX.Element;
11
12
  export {};
@@ -1,19 +1,33 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useVirtualizer } from '@tanstack/react-virtual';
3
- import { useCallback, useEffect, useMemo, useRef } from 'react';
3
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
4
+ import { shallow } from 'zustand/shallow';
5
+ import { useChainOrderStore } from '../../stores/chains/ChainOrderStore';
4
6
  import { List } from './ChainList.style';
5
7
  import { ChainListItem } from './ChainListItem';
6
- export const VirtualizedChainList = ({ chains, onSelect, selectedChainId, itemsSize, scrollElementRef, }) => {
7
- const initialSelectedChainIdRef = useRef(selectedChainId);
8
+ export const VirtualizedChainList = ({ chains, onSelect, selectedChainId, itemsSize, scrollElementRef, withPinnedChains, }) => {
9
+ const selectedChainIdRef = useRef(selectedChainId); // Store the initial selected chain ID to scroll to it once chains are loaded
10
+ const hasScrolledRef = useRef(false);
11
+ const [pinnedChains, setPinnedChain] = useChainOrderStore((state) => [state.pinnedChains, state.setPinnedChain], shallow);
12
+ const onPin = useCallback((chainId) => {
13
+ setPinnedChain(chainId);
14
+ }, [setPinnedChain]);
8
15
  const sortedChains = useMemo(() => {
9
- const selectedChain = chains.find((chain) => chain.id === initialSelectedChainIdRef.current);
10
- const otherChains = chains.filter((chain) => chain.id !== initialSelectedChainIdRef.current);
11
- return selectedChain ? [selectedChain, ...otherChains] : chains;
12
- }, [chains]);
16
+ if (!pinnedChains.length) {
17
+ return chains;
18
+ }
19
+ // Pinning logic: move pinned chains to the top of the list
20
+ const pinned = pinnedChains
21
+ .map((id) => chains.find((c) => c.id === id))
22
+ .filter(Boolean);
23
+ const pinnedIds = new Set(pinned.map((c) => c.id));
24
+ const rest = chains.filter((c) => !pinnedIds.has(c.id));
25
+ return [...pinned, ...rest];
26
+ }, [chains, pinnedChains]);
13
27
  const getItemKey = useCallback((index) => {
14
28
  return `${sortedChains[index].id}-${index}`;
15
29
  }, [sortedChains]);
16
- const { getVirtualItems, getTotalSize, measure } = useVirtualizer({
30
+ const { getVirtualItems, getTotalSize, measure, scrollToIndex, range } = useVirtualizer({
17
31
  count: sortedChains.length,
18
32
  overscan: 3,
19
33
  paddingEnd: 0,
@@ -32,9 +46,29 @@ export const VirtualizedChainList = ({ chains, onSelect, selectedChainId, itemsS
32
46
  measure();
33
47
  }
34
48
  }, [measure, scrollElementRef.current]);
49
+ useLayoutEffect(() => {
50
+ // Only scroll if sortedChains is not empty and we haven't scrolled yet
51
+ if (!hasScrolledRef.current && sortedChains.length > 0 && range) {
52
+ const selectedChainIndex = sortedChains.findIndex((chain) => chain.id === selectedChainIdRef.current);
53
+ if (selectedChainIndex !== -1) {
54
+ // Only scroll if the selected chain is not in the visible range
55
+ // +1 and -1 to account for partially visible items
56
+ if (range.startIndex + 1 > selectedChainIndex ||
57
+ range.endIndex - 1 < selectedChainIndex) {
58
+ requestAnimationFrame(() => {
59
+ scrollToIndex(selectedChainIndex, {
60
+ align: 'center',
61
+ behavior: 'smooth',
62
+ });
63
+ });
64
+ hasScrolledRef.current = true; // Mark as scrolled (when needed)
65
+ }
66
+ }
67
+ }
68
+ }, [sortedChains, scrollToIndex, range]);
35
69
  return (_jsx(List, { className: "long-list", style: { height: getTotalSize() }, disablePadding: true, children: getVirtualItems().map((item) => {
36
70
  const chain = sortedChains[item.index];
37
- return (_jsx(ChainListItem, { chain: chain, onSelect: onSelect, selected: chain.id === selectedChainId, itemsSize: itemsSize, size: item.size, start: item.start }, item.key));
71
+ return (_jsx(ChainListItem, { chain: chain, onSelect: onSelect, selected: chain.id === selectedChainId, itemsSize: itemsSize, size: item.size, start: item.start, withPin: withPinnedChains, isPinned: pinnedChains.includes(chain.id), onPin: onPin }, item.key));
38
72
  }) }));
39
73
  };
40
74
  //# sourceMappingURL=VirtualizedChainList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedChainList.js","sourceRoot":"","sources":["../../../../src/components/Chains/VirtualizedChainList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAU/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,SAAS,EACT,gBAAgB,GACU,EAAE,EAAE;IAC9B,MAAM,yBAAyB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,yBAAyB,CAAC,OAAO,CAC1D,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,yBAAyB,CAAC,OAAO,CAC1D,CAAA;QACD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACjE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAa,EAAE,EAAE;QAChB,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAA;IAC7C,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAChE,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO;QAChD,YAAY,EAAE,GAAG,EAAE;YACjB,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,CAAC;QACD,UAAU;KACX,CAAC,CAAA;IAEF,0DAA0D;IAC1D,0DAA0D;IAC1D,qEAAqE;IACrE,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EACjC,cAAc,kBAEb,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtC,OAAO,CACL,KAAC,aAAa,IAEZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,eAAe,EACtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,IANZ,IAAI,CAAC,GAAG,CAOb,CACH,CAAA;QACH,CAAC,CAAC,GACG,CACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"VirtualizedChainList.js","sourceRoot":"","sources":["../../../../src/components/Chains/VirtualizedChainList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAW/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACU,EAAE,EAAE;IAC9B,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA,CAAC,6EAA6E;IAChI,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,kBAAkB,CACvD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACrD,OAAO,CACR,CAAA;IACD,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,OAAe,EAAE,EAAE;QAClB,cAAc,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAA;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,MAAM,CAAA;QACf,CAAC;QACD,2DAA2D;QAC3D,MAAM,MAAM,GAAG,YAAY;aACxB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC5C,MAAM,CAAC,OAAO,CAAoB,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAE1B,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAa,EAAE,EAAE;QAChB,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAA;IAC7C,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GACpE,cAAc,CAAC;QACb,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO;QAChD,YAAY,EAAE,GAAG,EAAE;YACjB,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,CAAC;QACD,UAAU;KACX,CAAC,CAAA;IAEJ,0DAA0D;IAC1D,0DAA0D;IAC1D,qEAAqE;IACrE,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvC,eAAe,CAAC,GAAG,EAAE;QACnB,uEAAuE;QACvE,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAChE,MAAM,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,kBAAkB,CAAC,OAAO,CACnD,CAAA;YACD,IAAI,kBAAkB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9B,gEAAgE;gBAChE,mDAAmD;gBACnD,IACE,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,kBAAkB;oBACzC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,kBAAkB,EACvC,CAAC;oBACD,qBAAqB,CAAC,GAAG,EAAE;wBACzB,aAAa,CAAC,kBAAkB,EAAE;4BAChC,KAAK,EAAE,QAAQ;4BACf,QAAQ,EAAE,QAAQ;yBACnB,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;oBACF,cAAc,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,iCAAiC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAA;IAExC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EACjC,cAAc,kBAEb,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtC,OAAO,CACL,KAAC,aAAa,IAEZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,eAAe,EACtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EACzC,KAAK,EAAE,KAAK,IATP,IAAI,CAAC,GAAG,CAUb,CACH,CAAA;QACH,CAAC,CAAC,GACG,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { type BoxProps } from '@mui/material';
2
+ type MinFromAmountUSDMessageProps = BoxProps & {
3
+ minFromAmountUSD: number;
4
+ };
5
+ export declare const MinFromAmountUSDMessage: React.FC<MinFromAmountUSDMessageProps>;
6
+ export {};
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import WarningRounded from '@mui/icons-material/WarningRounded';
3
+ import { Typography } from '@mui/material';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { AlertMessage } from './AlertMessage.js';
6
+ export const MinFromAmountUSDMessage = ({ minFromAmountUSD, ...props }) => {
7
+ const { t } = useTranslation();
8
+ return (_jsx(AlertMessage, { severity: "warning", icon: _jsx(WarningRounded, {}), title: _jsx(Typography, { variant: "body2", sx: {
9
+ color: 'text.primary',
10
+ }, children: t('warning.message.minFromAmountUSD', {
11
+ amount: minFromAmountUSD,
12
+ minimumFractionDigits: 0,
13
+ }) }), multiline: true, ...props }));
14
+ };
15
+ //# sourceMappingURL=MinFromAmountUSDMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MinFromAmountUSDMessage.js","sourceRoot":"","sources":["../../../../src/components/Messages/MinFromAmountUSDMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAMhD,MAAM,CAAC,MAAM,uBAAuB,GAEhC,CAAC,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACrC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,OAAO,CACL,KAAC,YAAY,IACX,QAAQ,EAAC,SAAS,EAClB,IAAI,EAAE,KAAC,cAAc,KAAG,EACxB,KAAK,EACH,KAAC,UAAU,IACT,OAAO,EAAC,OAAO,EACf,EAAE,EAAE;gBACF,KAAK,EAAE,cAAc;aACtB,YAEA,CAAC,CAAC,kCAAkC,EAAE;gBACrC,MAAM,EAAE,gBAAgB;gBACxB,qBAAqB,EAAE,CAAC;aACzB,CAAC,GACS,EAEf,SAAS,WACL,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -4,6 +4,7 @@ import { AccountDeployedMessage } from './AccountDeployedMessage.js';
4
4
  import { AccountNotDeployedMessage } from './AccountNotDeployedMessage.js';
5
5
  import { FundsSufficiencyMessage } from './FundsSufficiencyMessage.js';
6
6
  import { GasSufficiencyMessage } from './GasSufficiencyMessage.js';
7
+ import { MinFromAmountUSDMessage } from './MinFromAmountUSDMessage.js';
7
8
  import { MissingRouteRequiredAccountMessage } from './MissingRouteRequiredAccountMessage.js';
8
9
  import { ToAddressRequiredMessage } from './ToAddressRequiredMessage.js';
9
10
  import { useMessageQueue } from './useMessageQueue.js';
@@ -17,6 +18,8 @@ export const WarningMessages = ({ route, allowInteraction, ...props }) => {
17
18
  return _jsx(FundsSufficiencyMessage, { ...props });
18
19
  case 'INSUFFICIENT_GAS':
19
20
  return (_jsx(GasSufficiencyMessage, { insufficientGas: messages[0].props?.insufficientGas, ...props }));
21
+ case 'MIN_FROM_AMOUNT_USD':
22
+ return (_jsx(MinFromAmountUSDMessage, { minFromAmountUSD: messages[0].props?.minFromAmountUSD, ...props }));
20
23
  case 'ACCOUNT_NOT_DEPLOYED':
21
24
  return _jsx(AccountNotDeployedMessage, { ...props });
22
25
  case 'ACCOUNT_DEPLOYED':
@@ -1 +1 @@
1
- {"version":3,"file":"WarningMessages.js","sourceRoot":"","sources":["../../../../src/components/Messages/WarningMessages.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAA;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAOtD,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,KAAK,EACL,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IAE1E,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YACxB,KAAK,gCAAgC;gBACnC,OAAO,CACL,KAAC,kCAAkC,IACjC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAC/B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,KAC/B,KAAK,GACT,CACH,CAAA;YACH,KAAK,oBAAoB;gBACvB,OAAO,KAAC,uBAAuB,OAAK,KAAK,GAAI,CAAA;YAC/C,KAAK,kBAAkB;gBACrB,OAAO,CACL,KAAC,qBAAqB,IACpB,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,KAC/C,KAAK,GACT,CACH,CAAA;YACH,KAAK,sBAAsB;gBACzB,OAAO,KAAC,yBAAyB,OAAK,KAAK,GAAI,CAAA;YACjD,KAAK,kBAAkB;gBACrB,OAAO,KAAC,sBAAsB,OAAK,KAAK,GAAI,CAAA;YAC9C,KAAK,qBAAqB;gBACxB,OAAO,KAAC,wBAAwB,OAAK,KAAK,GAAI,CAAA;YAChD;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,QAAQ,IAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,QAAC,YAAY,kBAChE,UAAU,EAAE,GACJ,CACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"WarningMessages.js","sourceRoot":"","sources":["../../../../src/components/Messages/WarningMessages.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAA;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAOtD,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,KAAK,EACL,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IAE1E,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YACxB,KAAK,gCAAgC;gBACnC,OAAO,CACL,KAAC,kCAAkC,IACjC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAC/B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,KAC/B,KAAK,GACT,CACH,CAAA;YACH,KAAK,oBAAoB;gBACvB,OAAO,KAAC,uBAAuB,OAAK,KAAK,GAAI,CAAA;YAC/C,KAAK,kBAAkB;gBACrB,OAAO,CACL,KAAC,qBAAqB,IACpB,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,KAC/C,KAAK,GACT,CACH,CAAA;YACH,KAAK,qBAAqB;gBACxB,OAAO,CACL,KAAC,uBAAuB,IACtB,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,KACjD,KAAK,GACT,CACH,CAAA;YACH,KAAK,sBAAsB;gBACzB,OAAO,KAAC,yBAAyB,OAAK,KAAK,GAAI,CAAA;YACjD,KAAK,kBAAkB;gBACrB,OAAO,KAAC,sBAAsB,OAAK,KAAK,GAAI,CAAA;YAC9C,KAAK,qBAAqB;gBACxB,OAAO,KAAC,wBAAwB,OAAK,KAAK,GAAI,CAAA;YAChD;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,QAAQ,IAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,QAAC,YAAY,kBAChE,UAAU,EAAE,GACJ,CACZ,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { useMemo } from 'react';
2
+ import { useFromAmountThreshold } from '../../hooks/useFromAmountThreshold.js';
2
3
  import { useFromTokenSufficiency } from '../../hooks/useFromTokenSufficiency.js';
3
4
  import { useGasSufficiency } from '../../hooks/useGasSufficiency.js';
4
5
  import { useRouteRequiredAccountConnection } from '../../hooks/useRouteRequiredAccountConnection.js';
@@ -8,6 +9,7 @@ export const useMessageQueue = (route, allowInteraction) => {
8
9
  const { insufficientFromToken, isLoading: isFromTokenSufficiencyLoading } = useFromTokenSufficiency(route);
9
10
  const { insufficientGas, isLoading: isGasSufficiencyLoading } = useGasSufficiency(route);
10
11
  const { missingChain, missingAccountAddress } = useRouteRequiredAccountConnection(route);
12
+ const { belowMinFromAmountUSD, minFromAmountUSD } = useFromAmountThreshold();
11
13
  const messageQueue = useMemo(() => {
12
14
  const queue = [];
13
15
  if (missingChain) {
@@ -23,29 +25,36 @@ export const useMessageQueue = (route, allowInteraction) => {
23
25
  priority: 2,
24
26
  });
25
27
  }
28
+ if (belowMinFromAmountUSD) {
29
+ queue.push({
30
+ id: 'MIN_FROM_AMOUNT_USD',
31
+ priority: 3,
32
+ props: { minFromAmountUSD },
33
+ });
34
+ }
26
35
  if (insufficientGas?.length) {
27
36
  queue.push({
28
37
  id: 'INSUFFICIENT_GAS',
29
- priority: 3,
38
+ priority: 4,
30
39
  props: { insufficientGas },
31
40
  });
32
41
  }
33
42
  if (accountNotDeployedAtDestination && !allowInteraction) {
34
43
  queue.push({
35
44
  id: 'ACCOUNT_NOT_DEPLOYED',
36
- priority: 4,
45
+ priority: 5,
37
46
  });
38
47
  }
39
48
  if (requiredToAddress && !toAddress) {
40
49
  queue.push({
41
50
  id: 'TO_ADDRESS_REQUIRED',
42
- priority: 5,
51
+ priority: 6,
43
52
  });
44
53
  }
45
54
  if (accountDeployedAtDestination && !allowInteraction) {
46
55
  queue.push({
47
56
  id: 'ACCOUNT_DEPLOYED',
48
- priority: 6,
57
+ priority: 7,
49
58
  });
50
59
  }
51
60
  return queue.sort((a, b) => a.priority - b.priority);
@@ -59,6 +68,8 @@ export const useMessageQueue = (route, allowInteraction) => {
59
68
  toAddress,
60
69
  missingChain,
61
70
  missingAccountAddress,
71
+ belowMinFromAmountUSD,
72
+ minFromAmountUSD,
62
73
  ]);
63
74
  return {
64
75
  messages: messageQueue,
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageQueue.js","sourceRoot":"","sources":["../../../../src/components/Messages/useMessageQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAQlF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,gBAA0B,EAAE,EAAE;IAC3E,MAAM,EACJ,iBAAiB,EACjB,SAAS,EACT,+BAA+B,EAC/B,4BAA4B,EAC5B,SAAS,EAAE,8BAA8B,GAC1C,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,6BAA6B,EAAE,GACvE,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAC3C,iCAAiC,CAAC,KAAK,CAAC,CAAA;IAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,gCAAgC;gBACpC,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE;aAC/D,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,oBAAoB;gBACxB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,kBAAkB;gBACtB,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE,eAAe,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,+BAA+B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,sBAAsB;gBAC1B,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,kBAAkB;gBACtB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC,EAAE;QACD,gBAAgB;QAChB,qBAAqB;QACrB,eAAe;QACf,4BAA4B;QAC5B,+BAA+B;QAC/B,iBAAiB;QACjB,SAAS;QACT,YAAY;QACZ,qBAAqB;KACtB,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;QACpC,SAAS,EACP,uBAAuB;YACvB,6BAA6B;YAC7B,8BAA8B;KACjC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useMessageQueue.js","sourceRoot":"","sources":["../../../../src/components/Messages/useMessageQueue.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ export const TokenDetailsSheet = forwardRef(({ chainId }, ref) => {
15
15
  },
16
16
  close: () => {
17
17
  bottomSheetRef.current?.close();
18
- setTokenAddress(undefined);
19
- setWithoutContractAddress(false);
20
18
  },
21
19
  }), []);
22
20
  return (_jsx(BottomSheet, { ref: bottomSheetRef, children: _jsx(TokenDetailsSheetContent, { ref: ref, tokenAddress: tokenAddress, withoutContractAddress: withoutContractAddress, chainId: chainId }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"TokenDetailsSheet.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenDetailsSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAOxE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;IACrB,MAAM,cAAc,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,SAAS,CACV,CAAA;IACD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3E,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;QAC9C,IAAI,EAAE,CAAC,OAAe,EAAE,iBAA0B,EAAE,EAAE;YACpD,eAAe,CAAC,OAAO,CAAC,CAAA;YACxB,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;YAC5C,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA;QAChC,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;YAC/B,eAAe,CAAC,SAAS,CAAC,CAAA;YAC1B,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;KACF,CAAC,EACF,EAAE,CACH,CAAA;IAED,OAAO,CACL,KAAC,WAAW,IAAC,GAAG,EAAE,cAAc,YAC9B,KAAC,wBAAwB,IACvB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,GAChB,GACU,CACf,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"TokenDetailsSheet.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenDetailsSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAOxE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;IACrB,MAAM,cAAc,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,SAAS,CACV,CAAA;IACD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3E,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;QAC9C,IAAI,EAAE,CAAC,OAAe,EAAE,iBAA0B,EAAE,EAAE;YACpD,eAAe,CAAC,OAAO,CAAC,CAAA;YACxB,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;YAC5C,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA;QAChC,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QACjC,CAAC;KACF,CAAC,EACF,EAAE,CACH,CAAA;IAED,OAAO,CACL,KAAC,WAAW,IAAC,GAAG,EAAE,cAAc,YAC9B,KAAC,wBAAwB,IACvB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,OAAO,GAChB,GACU,CACf,CAAA;AACH,CAAC,CAAC,CAAA"}