@lifi/widget 4.0.0-beta.4 → 4.0.0-beta.6

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.
@@ -3,24 +3,27 @@ import { defaultMaxHeight } from '../../config/constants.js';
3
3
  export const routesExpansionWidth = '436px';
4
4
  export const Container = styled(ScopedCssBaseline, {
5
5
  shouldForwardProp: (prop) => !['minimumHeight'].includes(prop),
6
- })(({ theme, minimumHeight }) => ({
7
- ...theme.container,
8
- backgroundColor: theme.vars.palette.background.default,
9
- overflow: 'hidden',
10
- width: routesExpansionWidth,
11
- display: 'flex',
12
- flexDirection: 'column',
13
- whiteSpace: 'normal',
14
- ...(theme.container?.display !== 'flex'
15
- ? {
16
- maxHeight: theme.container?.maxHeight ??
17
- theme.container?.height ??
18
- defaultMaxHeight,
19
- ...(minimumHeight ? { '&': { height: 'auto' } } : {}),
20
- }
21
- : { height: minimumHeight ? 'auto' : '100%' }),
22
- ...theme.routesContainer,
23
- }));
6
+ })(({ theme, minimumHeight }) => {
7
+ const fallbackMaxHeight = !theme.container?.height || theme.container?.height === 'fit-content'
8
+ ? defaultMaxHeight
9
+ : theme.container?.height;
10
+ return {
11
+ ...theme.container,
12
+ backgroundColor: theme.vars.palette.background.default,
13
+ overflow: 'hidden',
14
+ width: routesExpansionWidth,
15
+ display: 'flex',
16
+ flexDirection: 'column',
17
+ whiteSpace: 'normal',
18
+ ...(theme.container?.display !== 'flex'
19
+ ? {
20
+ maxHeight: theme.container?.maxHeight ?? fallbackMaxHeight,
21
+ ...(minimumHeight ? { '&': { height: 'auto' } } : {}),
22
+ }
23
+ : { height: minimumHeight ? 'auto' : '100%' }),
24
+ ...theme.routesContainer,
25
+ };
26
+ });
24
27
  export const Header = styled(Box)(({ theme }) => ({
25
28
  backgroundColor: theme.vars.palette.background.default,
26
29
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"RoutesExpanded.style.js","sourceRoot":"","sources":["../../../../src/components/Routes/RoutesExpanded.style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAM3C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE;IACjD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAc,CAAC;CACzE,CAAC,CAAiB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,GAAG,KAAK,CAAC,SAAS;IAClB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;IACtD,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,QAAQ;IACpB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM;QACrC,CAAC,CAAC;YACE,SAAS,EACP,KAAK,CAAC,SAAS,EAAE,SAAS;gBAC1B,KAAK,CAAC,SAAS,EAAE,MAAM;gBACvB,gBAAgB;YAClB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;QACH,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,GAAG,KAAK,CAAC,eAAe;CACzB,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;IACtD,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,eAAe;IAC/B,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,IAAI;CACb,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"RoutesExpanded.style.js","sourceRoot":"","sources":["../../../../src/components/Routes/RoutesExpanded.style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAM3C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE;IACjD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAc,CAAC;CACzE,CAAC,CAAiB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;IAC9C,MAAM,iBAAiB,GACrB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa;QACnE,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA;IAC7B,OAAO;QACL,GAAG,KAAK,CAAC,SAAS;QAClB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;QACtD,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,QAAQ;QACpB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM;YACrC,CAAC,CAAC;gBACE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,iBAAiB;gBAC1D,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,GAAG,KAAK,CAAC,eAAe;KACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;IACtD,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,eAAe;IAC/B,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,IAAI;CACb,CAAC,CAAC,CAAA"}
@@ -14,7 +14,10 @@ export const useTokenSelect = (formType, onClick) => {
14
14
  const emitter = useWidgetEvents();
15
15
  const { setFieldValue, getFieldValues } = useFieldActions();
16
16
  const autoPopulateToAddress = useToAddressAutoPopulate();
17
- const setChain = useChainOrderStore((state) => state.setChain);
17
+ const [setChain, setIsAllNetworks] = useChainOrderStore((state) => [
18
+ state.setChain,
19
+ state.setIsAllNetworks,
20
+ ]);
18
21
  const tokenKey = FormKeyHelper.getTokenKey(formType);
19
22
  return useCallback((tokenAddress, chainId) => {
20
23
  setFieldValue(tokenKey, tokenAddress, { isDirty: true, isTouched: true });
@@ -44,10 +47,16 @@ export const useTokenSelect = (formType, onClick) => {
44
47
  });
45
48
  }
46
49
  // If no opposite token is selected, synchronize the opposite chain
47
- // to match the currently selected chain (if allowed)
50
+ // to match the currently selected chain (if allowed).
51
+ // In default exchange mode, also collapse "All Networks" on the opposite
52
+ // side - same-chain swap is the most common action.
48
53
  if (!selectedOppositeTokenAddress &&
49
54
  selectedChainId &&
50
55
  isItemAllowed(selectedChainId, chainsConfig?.[oppositeFormType])) {
56
+ const isDefaultExchange = !subvariant || subvariant === 'default';
57
+ if (isDefaultExchange) {
58
+ setIsAllNetworks(false, oppositeFormType);
59
+ }
51
60
  setFieldValue(FormKeyHelper.getChainKey(oppositeFormType), selectedChainId, {
52
61
  isDirty: true,
53
62
  isTouched: true,
@@ -80,6 +89,7 @@ export const useTokenSelect = (formType, onClick) => {
80
89
  getFieldValues,
81
90
  onClick,
82
91
  setChain,
92
+ setIsAllNetworks,
83
93
  setFieldValue,
84
94
  subvariant,
85
95
  splitSubvariant,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "4.0.0-beta.4";
2
+ export declare const version = "4.0.0-beta.6";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '4.0.0-beta.4';
2
+ export const version = '4.0.0-beta.6';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,8 +1,2 @@
1
- import { ChainId } from '@lifi/sdk';
2
- export declare const defaultChainIdsByType: {
3
- EVM: ChainId;
4
- SVM: ChainId;
5
- UTXO: ChainId;
6
- MVM: ChainId;
7
- TVM: ChainId;
8
- };
1
+ import { ChainId, ChainType } from '@lifi/sdk';
2
+ export declare const defaultChainIdsByType: Record<ChainType, ChainId>;
@@ -5,5 +5,6 @@ export const defaultChainIdsByType = {
5
5
  [ChainType.UTXO]: ChainId.BTC,
6
6
  [ChainType.MVM]: ChainId.SUI,
7
7
  [ChainType.TVM]: ChainId.TRN,
8
+ [ChainType.STL]: ChainId.XLM,
8
9
  };
9
10
  //# sourceMappingURL=chainType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;CAC7B,CAAA"}
1
+ {"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;CAC7B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "4.0.0-beta.4",
3
+ "version": "4.0.0-beta.6",
4
4
  "description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "^4.0.0-beta.3",
37
+ "@lifi/sdk": "^4.0.0-beta.4",
38
38
  "@mui/icons-material": "^7.3.6",
39
39
  "@mui/material": "^7.3.6",
40
40
  "@mui/system": "^7.3.6",
@@ -43,12 +43,12 @@
43
43
  "i18next": "^25.10.9",
44
44
  "microdiff": "^1.5.0",
45
45
  "mitt": "^3.0.1",
46
- "react-i18next": "^16.6.5",
46
+ "react-i18next": "^16.6.6",
47
47
  "react-intersection-observer": "^9.16.0",
48
48
  "react-transition-group": "^4.4.5",
49
49
  "zustand": "^5.0.12",
50
- "@lifi/wallet-management": "4.0.0-beta.4",
51
- "@lifi/widget-provider": "4.0.0-beta.4"
50
+ "@lifi/wallet-management": "4.0.0-beta.5",
51
+ "@lifi/widget-provider": "4.0.0-beta.5"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@tanstack/react-query": ">=5.90.0",
@@ -10,25 +10,28 @@ interface ContainerProps extends ScopedCssBaselineProps {
10
10
 
11
11
  export const Container = styled(ScopedCssBaseline, {
12
12
  shouldForwardProp: (prop) => !['minimumHeight'].includes(prop as string),
13
- })<ContainerProps>(({ theme, minimumHeight }) => ({
14
- ...theme.container,
15
- backgroundColor: theme.vars.palette.background.default,
16
- overflow: 'hidden',
17
- width: routesExpansionWidth,
18
- display: 'flex',
19
- flexDirection: 'column',
20
- whiteSpace: 'normal',
21
- ...(theme.container?.display !== 'flex'
22
- ? {
23
- maxHeight:
24
- theme.container?.maxHeight ??
25
- theme.container?.height ??
26
- defaultMaxHeight,
27
- ...(minimumHeight ? { '&': { height: 'auto' } } : {}),
28
- }
29
- : { height: minimumHeight ? 'auto' : '100%' }),
30
- ...theme.routesContainer,
31
- }))
13
+ })<ContainerProps>(({ theme, minimumHeight }) => {
14
+ const fallbackMaxHeight =
15
+ !theme.container?.height || theme.container?.height === 'fit-content'
16
+ ? defaultMaxHeight
17
+ : theme.container?.height
18
+ return {
19
+ ...theme.container,
20
+ backgroundColor: theme.vars.palette.background.default,
21
+ overflow: 'hidden',
22
+ width: routesExpansionWidth,
23
+ display: 'flex',
24
+ flexDirection: 'column',
25
+ whiteSpace: 'normal',
26
+ ...(theme.container?.display !== 'flex'
27
+ ? {
28
+ maxHeight: theme.container?.maxHeight ?? fallbackMaxHeight,
29
+ ...(minimumHeight ? { '&': { height: 'auto' } } : {}),
30
+ }
31
+ : { height: minimumHeight ? 'auto' : '100%' }),
32
+ ...theme.routesContainer,
33
+ }
34
+ })
32
35
 
33
36
  export const Header = styled(Box)(({ theme }) => ({
34
37
  backgroundColor: theme.vars.palette.background.default,
@@ -17,7 +17,10 @@ export const useTokenSelect = (formType: FormType, onClick?: () => void) => {
17
17
  const emitter = useWidgetEvents()
18
18
  const { setFieldValue, getFieldValues } = useFieldActions()
19
19
  const autoPopulateToAddress = useToAddressAutoPopulate()
20
- const setChain = useChainOrderStore((state) => state.setChain)
20
+ const [setChain, setIsAllNetworks] = useChainOrderStore((state) => [
21
+ state.setChain,
22
+ state.setIsAllNetworks,
23
+ ])
21
24
 
22
25
  const tokenKey = FormKeyHelper.getTokenKey(formType)
23
26
 
@@ -67,12 +70,18 @@ export const useTokenSelect = (formType: FormType, onClick?: () => void) => {
67
70
  }
68
71
 
69
72
  // If no opposite token is selected, synchronize the opposite chain
70
- // to match the currently selected chain (if allowed)
73
+ // to match the currently selected chain (if allowed).
74
+ // In default exchange mode, also collapse "All Networks" on the opposite
75
+ // side - same-chain swap is the most common action.
71
76
  if (
72
77
  !selectedOppositeTokenAddress &&
73
78
  selectedChainId &&
74
79
  isItemAllowed(selectedChainId, chainsConfig?.[oppositeFormType])
75
80
  ) {
81
+ const isDefaultExchange = !subvariant || subvariant === 'default'
82
+ if (isDefaultExchange) {
83
+ setIsAllNetworks(false, oppositeFormType)
84
+ }
76
85
  setFieldValue(
77
86
  FormKeyHelper.getChainKey(oppositeFormType),
78
87
  selectedChainId,
@@ -115,6 +124,7 @@ export const useTokenSelect = (formType: FormType, onClick?: () => void) => {
115
124
  getFieldValues,
116
125
  onClick,
117
126
  setChain,
127
+ setIsAllNetworks,
118
128
  setFieldValue,
119
129
  subvariant,
120
130
  splitSubvariant,
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '4.0.0-beta.4'
2
+ export const version = '4.0.0-beta.6'
@@ -1,9 +1,10 @@
1
1
  import { ChainId, ChainType } from '@lifi/sdk'
2
2
 
3
- export const defaultChainIdsByType = {
3
+ export const defaultChainIdsByType: Record<ChainType, ChainId> = {
4
4
  [ChainType.EVM]: ChainId.ETH,
5
5
  [ChainType.SVM]: ChainId.SOL,
6
6
  [ChainType.UTXO]: ChainId.BTC,
7
7
  [ChainType.MVM]: ChainId.SUI,
8
8
  [ChainType.TVM]: ChainId.TRN,
9
+ [ChainType.STL]: ChainId.XLM,
9
10
  }