@lifi/widget 3.40.5 → 3.40.7

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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.40.7](https://github.com/lifinance/widget/compare/v3.40.6...v3.40.7) (2026-02-09)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * add TokensReversed event ([fd01ff4](https://github.com/lifinance/widget/commit/fd01ff47977422ca6d04525751fbf8b7215f2158))
11
+
12
+ ### [3.40.6](https://github.com/lifinance/widget/compare/v3.40.5...v3.40.6) (2026-02-04)
13
+
5
14
  ### [3.40.5](https://github.com/lifinance/widget/compare/v3.40.4...v3.40.5) (2026-01-20)
6
15
 
7
16
  ### [3.40.4](https://github.com/lifinance/widget/compare/v3.40.3...v3.40.4) (2026-01-20)
@@ -4,13 +4,16 @@ import ArrowForward from '@mui/icons-material/ArrowForward';
4
4
  import { useAvailableChains } from '../../hooks/useAvailableChains.js';
5
5
  import { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js';
6
6
  import { useToAddressReset } from '../../hooks/useToAddressReset.js';
7
+ import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
7
8
  import { useFieldActions } from '../../stores/form/useFieldActions.js';
9
+ import { WidgetEvent } from '../../types/events.js';
8
10
  import { IconCard, ReverseContainer } from './ReverseTokensButton.style.js';
9
11
  export const ReverseTokensButton = ({ vertical, }) => {
10
12
  const { setFieldValue, getFieldValues } = useFieldActions();
11
13
  const { getChainById } = useAvailableChains();
12
14
  const { tryResetToAddress } = useToAddressReset();
13
15
  const autoPopulateToAddress = useToAddressAutoPopulate();
16
+ const emitter = useWidgetEvents();
14
17
  const handleClick = () => {
15
18
  const [fromChainId, fromToken, toChainId, toToken, toAddress] = getFieldValues('fromChain', 'fromToken', 'toChain', 'toToken', 'toAddress');
16
19
  setFieldValue('fromAmount', '', { isTouched: true });
@@ -18,6 +21,12 @@ export const ReverseTokensButton = ({ vertical, }) => {
18
21
  setFieldValue('fromToken', toToken, { isTouched: true });
19
22
  setFieldValue('toChain', fromChainId, { isTouched: true });
20
23
  setFieldValue('toToken', fromToken, { isTouched: true });
24
+ emitter.emit(WidgetEvent.TokensReversed, {
25
+ fromChainId,
26
+ fromTokenAddress: fromToken,
27
+ toChainId,
28
+ toTokenAddress: toToken,
29
+ });
21
30
  const autoPopulatedToAddress = autoPopulateToAddress({
22
31
  formType: 'from',
23
32
  selectedToAddress: toAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"ReverseTokensButton.js","sourceRoot":"","sources":["../../../../src/components/ReverseTokensButton/ReverseTokensButton.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAA;AAC7D,OAAO,YAAY,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAqC,CAAC,EACpE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAA;IACjD,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IAExD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAC3D,cAAc,CACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAA;QACH,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAExD,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;YACnD,QAAQ,EAAE,MAAM;YAChB,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,SAAS;YAC1B,uBAAuB,EAAE,WAAW;YACpC,4BAA4B,EAAE,SAAS;SACxC,CAAC,CAAA;QAEF,+FAA+F;QAC/F,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,+DAA+D;QAC/D,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IACD,OAAO,CACL,KAAC,gBAAgB,cACf,KAAC,QAAQ,IAAC,OAAO,EAAE,WAAW,YAC3B,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,aAAa,IAAC,QAAQ,EAAC,SAAS,GAAG,CACrC,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,QAAQ,EAAC,SAAS,GAAG,CACpC,GACQ,GACM,CACpB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ReverseTokensButton.js","sourceRoot":"","sources":["../../../../src/components/ReverseTokensButton/ReverseTokensButton.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAA;AAC7D,OAAO,YAAY,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAqC,CAAC,EACpE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAA;IACjD,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IACxD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IAEjC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAC3D,cAAc,CACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAA;QACH,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAExD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACvC,WAAW;YACX,gBAAgB,EAAE,SAAS;YAC3B,SAAS;YACT,cAAc,EAAE,OAAO;SACxB,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;YACnD,QAAQ,EAAE,MAAM;YAChB,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,SAAS;YAC1B,uBAAuB,EAAE,WAAW;YACpC,4BAA4B,EAAE,SAAS;SACxC,CAAC,CAAA;QAEF,+FAA+F;QAC/F,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,+DAA+D;QAC/D,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IACD,OAAO,CACL,KAAC,gBAAgB,cACf,KAAC,QAAQ,IAAC,OAAO,EAAE,WAAW,YAC3B,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,aAAa,IAAC,QAAQ,EAAC,SAAS,GAAG,CACrC,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,QAAQ,EAAC,SAAS,GAAG,CACpC,GACQ,GACM,CACpB,CAAA;AACH,CAAC,CAAA"}
@@ -1,10 +1,10 @@
1
- import type { FocusEventHandler, FormEventHandler, RefObject } from 'react';
1
+ import type { ChangeEventHandler, FocusEventHandler, RefObject } from 'react';
2
2
  interface SearchInputProps {
3
3
  inputRef?: RefObject<HTMLInputElement | null>;
4
4
  name?: string;
5
5
  value?: string;
6
6
  placeholder?: string;
7
- onChange?: FormEventHandler<HTMLInputElement>;
7
+ onChange?: ChangeEventHandler<HTMLInputElement>;
8
8
  onBlur?: FocusEventHandler<HTMLInputElement>;
9
9
  onClear?: () => void;
10
10
  autoFocus?: boolean;
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.40.5";
2
+ export declare const version = "3.40.7";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.40.5';
2
+ export const version = '3.40.7';
3
3
  //# sourceMappingURL=version.js.map
@@ -25,6 +25,7 @@ export declare enum WidgetEvent {
25
25
  SettingUpdated = "settingUpdated",
26
26
  SourceChainTokenSelected = "sourceChainTokenSelected",
27
27
  TokenSearch = "tokenSearch",
28
+ TokensReversed = "tokensReversed",
28
29
  WidgetExpanded = "widgetExpanded"
29
30
  }
30
31
  export type WidgetEvents = {
@@ -46,6 +47,7 @@ export type WidgetEvents = {
46
47
  settingUpdated: SettingUpdated;
47
48
  sourceChainTokenSelected: ChainTokenSelected;
48
49
  tokenSearch: TokenSearch;
50
+ tokensReversed: TokensReversed;
49
51
  walletConnected: WalletConnected;
50
52
  widgetExpanded: boolean;
51
53
  };
@@ -71,6 +73,12 @@ export type TokenSearch = {
71
73
  value: string;
72
74
  tokens: TokenAmount[];
73
75
  };
76
+ export type TokensReversed = {
77
+ fromChainId?: ChainId;
78
+ fromTokenAddress?: string;
79
+ toChainId?: ChainId;
80
+ toTokenAddress?: string;
81
+ };
74
82
  export type ChainTokenSelected = {
75
83
  chainId: ChainId;
76
84
  tokenAddress: string;
@@ -21,6 +21,7 @@ export var WidgetEvent;
21
21
  WidgetEvent["SettingUpdated"] = "settingUpdated";
22
22
  WidgetEvent["SourceChainTokenSelected"] = "sourceChainTokenSelected";
23
23
  WidgetEvent["TokenSearch"] = "tokenSearch";
24
+ WidgetEvent["TokensReversed"] = "tokensReversed";
24
25
  WidgetEvent["WidgetExpanded"] = "widgetExpanded";
25
26
  })(WidgetEvent || (WidgetEvent = {}));
26
27
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAuBX;AAvBD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,8EAA+D,CAAA;IAC/D,oDAAqC,CAAA;IACrC,0EAA2D,CAAA;IAC3D,0CAA2B,CAAA;IAC3B;;OAEG;IACH,4EAA6D,CAAA;IAC7D,kEAAmD,CAAA;IACnD,4DAA6C,CAAA;IAC7C,8DAA+C,CAAA;IAC/C,8DAA+C,CAAA;IAC/C,wDAAyC,CAAA;IACzC,8CAA+B,CAAA;IAC/B,0DAA2C,CAAA;IAC3C,gDAAiC,CAAA;IACjC,oEAAqD,CAAA;IACrD,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;AACnC,CAAC,EAvBW,WAAW,KAAX,WAAW,QAuBtB"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAwBX;AAxBD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,8EAA+D,CAAA;IAC/D,oDAAqC,CAAA;IACrC,0EAA2D,CAAA;IAC3D,0CAA2B,CAAA;IAC3B;;OAEG;IACH,4EAA6D,CAAA;IAC7D,kEAAmD,CAAA;IACnD,4DAA6C,CAAA;IAC7C,8DAA+C,CAAA;IAC/C,8DAA+C,CAAA;IAC/C,wDAAyC,CAAA;IACzC,8CAA+B,CAAA;IAC/B,0DAA2C,CAAA;IAC3C,gDAAiC,CAAA;IACjC,oEAAqD,CAAA;IACrD,0CAA2B,CAAA;IAC3B,gDAAiC,CAAA;IACjC,gDAAiC,CAAA;AACnC,CAAC,EAxBW,WAAW,KAAX,WAAW,QAwBtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.40.5",
3
+ "version": "3.40.7",
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
  "@bigmi/core": "^0.6.5",
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.1",
37
- "@lifi/sdk": "^3.15.4",
37
+ "@lifi/sdk": "^3.15.5",
38
38
  "@mui/icons-material": "^7.3.7",
39
39
  "@mui/material": "^7.3.7",
40
40
  "@mui/system": "^7.3.7",
@@ -43,16 +43,16 @@
43
43
  "@solana/wallet-adapter-coinbase": "^0.1.23",
44
44
  "@solana/web3.js": "^1.98.4",
45
45
  "@tanstack/react-virtual": "^3.13.18",
46
- "i18next": "^25.7.4",
46
+ "i18next": "^25.8.1",
47
47
  "microdiff": "^1.5.0",
48
48
  "mitt": "^3.0.1",
49
- "react-i18next": "^16.5.3",
49
+ "react-i18next": "^16.5.4",
50
50
  "react-intersection-observer": "^9.16.0",
51
51
  "react-router-dom": "^6.30.3",
52
52
  "react-transition-group": "^4.4.5",
53
- "viem": "^2.44.4",
54
- "zustand": "^5.0.10",
55
- "@lifi/wallet-management": "^3.22.4"
53
+ "viem": "^2.45.1",
54
+ "zustand": "^5.0.11",
55
+ "@lifi/wallet-management": "^3.22.5"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@bigmi/react": ">=0.6.0",
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.40.5",
3
+ "version": "3.40.7",
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": "./src/index.ts",
@@ -53,7 +53,7 @@
53
53
  "@bigmi/core": "^0.6.5",
54
54
  "@emotion/react": "^11.14.0",
55
55
  "@emotion/styled": "^11.14.1",
56
- "@lifi/sdk": "^3.15.4",
56
+ "@lifi/sdk": "^3.15.5",
57
57
  "@lifi/wallet-management": "workspace:^",
58
58
  "@mui/icons-material": "^7.3.7",
59
59
  "@mui/material": "^7.3.7",
@@ -63,24 +63,24 @@
63
63
  "@solana/wallet-adapter-coinbase": "^0.1.23",
64
64
  "@solana/web3.js": "^1.98.4",
65
65
  "@tanstack/react-virtual": "^3.13.18",
66
- "i18next": "^25.7.4",
66
+ "i18next": "^25.8.1",
67
67
  "microdiff": "^1.5.0",
68
68
  "mitt": "^3.0.1",
69
- "react-i18next": "^16.5.3",
69
+ "react-i18next": "^16.5.4",
70
70
  "react-intersection-observer": "^9.16.0",
71
71
  "react-router-dom": "^6.30.3",
72
72
  "react-transition-group": "^4.4.5",
73
- "viem": "^2.44.4",
74
- "zustand": "^5.0.10"
73
+ "viem": "^2.45.1",
74
+ "zustand": "^5.0.11"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@types/react-transition-group": "^4.4.12",
78
78
  "cpy-cli": "^6.0.0",
79
79
  "madge": "^8.0.0",
80
- "react": "^19.2.3",
81
- "react-dom": "^19.2.3",
80
+ "react": "^19.2.4",
81
+ "react-dom": "^19.2.4",
82
82
  "typescript": "^5.9.3",
83
- "vitest": "^4.0.17"
83
+ "vitest": "^4.0.18"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@bigmi/react": ">=0.6.0",
@@ -3,7 +3,9 @@ import ArrowForward from '@mui/icons-material/ArrowForward'
3
3
  import { useAvailableChains } from '../../hooks/useAvailableChains.js'
4
4
  import { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js'
5
5
  import { useToAddressReset } from '../../hooks/useToAddressReset.js'
6
+ import { useWidgetEvents } from '../../hooks/useWidgetEvents.js'
6
7
  import { useFieldActions } from '../../stores/form/useFieldActions.js'
8
+ import { WidgetEvent } from '../../types/events.js'
7
9
  import { IconCard, ReverseContainer } from './ReverseTokensButton.style.js'
8
10
 
9
11
  export const ReverseTokensButton: React.FC<{ vertical?: boolean }> = ({
@@ -13,6 +15,7 @@ export const ReverseTokensButton: React.FC<{ vertical?: boolean }> = ({
13
15
  const { getChainById } = useAvailableChains()
14
16
  const { tryResetToAddress } = useToAddressReset()
15
17
  const autoPopulateToAddress = useToAddressAutoPopulate()
18
+ const emitter = useWidgetEvents()
16
19
 
17
20
  const handleClick = () => {
18
21
  const [fromChainId, fromToken, toChainId, toToken, toAddress] =
@@ -29,6 +32,13 @@ export const ReverseTokensButton: React.FC<{ vertical?: boolean }> = ({
29
32
  setFieldValue('toChain', fromChainId, { isTouched: true })
30
33
  setFieldValue('toToken', fromToken, { isTouched: true })
31
34
 
35
+ emitter.emit(WidgetEvent.TokensReversed, {
36
+ fromChainId,
37
+ fromTokenAddress: fromToken,
38
+ toChainId,
39
+ toTokenAddress: toToken,
40
+ })
41
+
32
42
  const autoPopulatedToAddress = autoPopulateToAddress({
33
43
  formType: 'from',
34
44
  selectedToAddress: toAddress,
@@ -1,7 +1,7 @@
1
1
  import ClearIcon from '@mui/icons-material/Clear'
2
2
  import Search from '@mui/icons-material/Search'
3
3
  import { FormControl, IconButton, InputAdornment } from '@mui/material'
4
- import type { FocusEventHandler, FormEventHandler, RefObject } from 'react'
4
+ import type { ChangeEventHandler, FocusEventHandler, RefObject } from 'react'
5
5
  import { InputCard } from '../../components/Card/InputCard.js'
6
6
  import { useHeaderHeight } from '../../stores/header/useHeaderStore.js'
7
7
  import { Input, StickySearchInputContainer } from './SearchInput.style.js'
@@ -11,7 +11,7 @@ interface SearchInputProps {
11
11
  name?: string
12
12
  value?: string
13
13
  placeholder?: string
14
- onChange?: FormEventHandler<HTMLInputElement>
14
+ onChange?: ChangeEventHandler<HTMLInputElement>
15
15
  onBlur?: FocusEventHandler<HTMLInputElement>
16
16
  onClear?: () => void
17
17
  autoFocus?: boolean
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.40.5'
2
+ export const version = '3.40.7'
@@ -26,6 +26,7 @@ export enum WidgetEvent {
26
26
  SettingUpdated = 'settingUpdated',
27
27
  SourceChainTokenSelected = 'sourceChainTokenSelected',
28
28
  TokenSearch = 'tokenSearch',
29
+ TokensReversed = 'tokensReversed',
29
30
  WidgetExpanded = 'widgetExpanded',
30
31
  }
31
32
 
@@ -48,6 +49,7 @@ export type WidgetEvents = {
48
49
  settingUpdated: SettingUpdated
49
50
  sourceChainTokenSelected: ChainTokenSelected
50
51
  tokenSearch: TokenSearch
52
+ tokensReversed: TokensReversed
51
53
  walletConnected: WalletConnected
52
54
  widgetExpanded: boolean
53
55
  }
@@ -79,6 +81,13 @@ export type TokenSearch = {
79
81
  tokens: TokenAmount[]
80
82
  }
81
83
 
84
+ export type TokensReversed = {
85
+ fromChainId?: ChainId
86
+ fromTokenAddress?: string
87
+ toChainId?: ChainId
88
+ toTokenAddress?: string
89
+ }
90
+
82
91
  export type ChainTokenSelected = {
83
92
  chainId: ChainId
84
93
  tokenAddress: string