@lifi/widget 3.14.0 → 3.14.1
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 +7 -0
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useSetContentHeight.d.ts +1 -1
- package/dist/esm/hooks/useSetContentHeight.js +3 -2
- package/dist/esm/hooks/useSetContentHeight.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +18 -12
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/dist/esm/providers/I18nProvider/I18nProvider.js +1 -1
- package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/dist/esm/utils/currencyExtendedFormatter.js.map +1 -0
- package/package.json +1 -1
- package/src/config/version.ts +1 -1
- package/src/hooks/useSetContentHeight.ts +4 -2
- package/src/index.ts +3 -0
- package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +72 -53
- package/src/providers/I18nProvider/I18nProvider.tsx +1 -1
- package/dist/esm/providers/I18nProvider/currencyExtendedFormatter.js.map +0 -1
- /package/dist/esm/{providers/I18nProvider → utils}/currencyExtendedFormatter.d.ts +0 -0
- /package/dist/esm/{providers/I18nProvider → utils}/currencyExtendedFormatter.js +0 -0
- /package/src/{providers/I18nProvider → utils}/currencyExtendedFormatter.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
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.14.1](https://github.com/lifinance/widget/compare/v3.14.0...v3.14.1) (2025-01-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* address confirmation bottom sheet height ([59d034b](https://github.com/lifinance/widget/commit/59d034b89b25d58345105de731fe3af2746e3119))
|
|
11
|
+
|
|
5
12
|
## [3.14.0](https://github.com/lifinance/widget/compare/v3.13.2...v3.14.0) (2025-01-22)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.14.
|
|
2
|
+
export declare const version = "3.14.1";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MutableRefObject } from 'react';
|
|
2
|
-
export declare const useSetContentHeight: (ref: MutableRefObject<HTMLElement | null
|
|
2
|
+
export declare const useSetContentHeight: (ref: MutableRefObject<HTMLElement | null>, dependency?: unknown) => void;
|
|
@@ -4,8 +4,9 @@ import { useDefaultElementId } from './useDefaultElementId.js';
|
|
|
4
4
|
// NOTE: this hook is implicitly tied to the widget height functionality in the
|
|
5
5
|
// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts
|
|
6
6
|
// CSS changes in those components can have implications for the functionality in this hook
|
|
7
|
-
export const useSetContentHeight = (ref) => {
|
|
7
|
+
export const useSetContentHeight = (ref, dependency) => {
|
|
8
8
|
const elementId = useDefaultElementId();
|
|
9
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: we use dependency to refresh height
|
|
9
10
|
useLayoutEffect(() => {
|
|
10
11
|
const relativeContainer = getRelativeContainer(elementId);
|
|
11
12
|
if (!relativeContainer ||
|
|
@@ -17,6 +18,6 @@ export const useSetContentHeight = (ref) => {
|
|
|
17
18
|
return () => {
|
|
18
19
|
relativeContainer.style.removeProperty('min-height');
|
|
19
20
|
};
|
|
20
|
-
}, [elementId, ref]);
|
|
21
|
+
}, [elementId, ref, dependency]);
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=useSetContentHeight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSetContentHeight.js","sourceRoot":"","sources":["../../../src/hooks/useSetContentHeight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,+EAA+E;AAC/E,8GAA8G;AAC9G,6FAA6F;AAE7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAyC,EACzC,EAAE;IACF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;IACvC,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;QACzD,IACE,CAAC,iBAAiB;YAClB,CAAC,GAAG,CAAC,OAAO;YACZ,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,YAAY,EAC5D,CAAC;YACD,OAAM;QACR,CAAC;QACD,iBAAiB,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAA;QACnE,OAAO,GAAG,EAAE;YACV,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useSetContentHeight.js","sourceRoot":"","sources":["../../../src/hooks/useSetContentHeight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,+EAA+E;AAC/E,8GAA8G;AAC9G,6FAA6F;AAE7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAyC,EACzC,UAAoB,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;IACvC,+FAA+F;IAC/F,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;QACzD,IACE,CAAC,iBAAiB;YAClB,CAAC,GAAG,CAAC,OAAO;YACZ,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,YAAY,EAC5D,CAAC;YACD,OAAM;QACR,CAAC;QACD,iBAAiB,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAA;QACnE,OAAO,GAAG,EAAE;YACV,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -24,4 +24,7 @@ export * from './types/events.js';
|
|
|
24
24
|
export type { TokenAmount } from './types/token.js';
|
|
25
25
|
export * from './types/widget.js';
|
|
26
26
|
export { getPriceImpact } from './utils/getPriceImpact.js';
|
|
27
|
+
export { percentFormatter } from './utils/percentFormatter.js';
|
|
28
|
+
export { compactNumberFormatter } from './utils/compactNumberFormatter.js';
|
|
29
|
+
export { currencyExtendedFormatter } from './utils/currencyExtendedFormatter.js';
|
|
27
30
|
export { navigationRoutes } from './utils/navigationRoutes.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -21,5 +21,8 @@ export { windows95Theme } from './themes/windows95.js';
|
|
|
21
21
|
export * from './types/events.js';
|
|
22
22
|
export * from './types/widget.js';
|
|
23
23
|
export { getPriceImpact } from './utils/getPriceImpact.js';
|
|
24
|
+
export { percentFormatter } from './utils/percentFormatter.js';
|
|
25
|
+
export { compactNumberFormatter } from './utils/compactNumberFormatter.js';
|
|
26
|
+
export { currencyExtendedFormatter } from './utils/currencyExtendedFormatter.js';
|
|
24
27
|
export { navigationRoutes } from './utils/navigationRoutes.js';
|
|
25
28
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE5C,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,yCAAyC,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC1E,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,cAAc,mBAAmB,CAAA;AAEjC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE5C,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,yCAAyC,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC1E,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,cAAc,mBAAmB,CAAA;AAEjC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Info, Wallet, Warning } from '@mui/icons-material';
|
|
3
3
|
import { Box, Button, Typography } from '@mui/material';
|
|
4
|
-
import { forwardRef } from 'react';
|
|
4
|
+
import { forwardRef, useRef } from 'react';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
6
|
import { AlertMessage } from '../../components/AlertMessage/AlertMessage.js';
|
|
7
7
|
import { BottomSheet } from '../../components/BottomSheet/BottomSheet.js';
|
|
8
8
|
import { useIsContractAddress } from '../../hooks/useIsContractAddress.js';
|
|
9
9
|
import { useNavigateBack } from '../../hooks/useNavigateBack.js';
|
|
10
|
+
import { useSetContentHeight } from '../../hooks/useSetContentHeight.js';
|
|
10
11
|
import { useFieldActions } from '../../stores/form/useFieldActions.js';
|
|
11
12
|
import { useSendToWalletActions } from '../../stores/settings/useSendToWalletStore.js';
|
|
12
13
|
import { IconContainer, SendToWalletButtonRow, SendToWalletSheetContainer, SheetAddressContainer, SheetTitle, } from './SendToWalletPage.style.js';
|
|
13
|
-
export const ConfirmAddressSheet = forwardRef((
|
|
14
|
+
export const ConfirmAddressSheet = forwardRef((props, ref) => {
|
|
15
|
+
const handleClose = () => {
|
|
16
|
+
;
|
|
17
|
+
ref.current?.close();
|
|
18
|
+
};
|
|
19
|
+
return (_jsx(BottomSheet, { ref: ref, children: _jsx(ConfirmAddressSheetContent, { ...props, onClose: handleClose }) }));
|
|
20
|
+
});
|
|
21
|
+
const ConfirmAddressSheetContent = ({ validatedBookmark, onConfirm, chainId, onClose, }) => {
|
|
14
22
|
const { t } = useTranslation();
|
|
15
23
|
const { navigateBack } = useNavigateBack();
|
|
16
24
|
const { setFieldValue } = useFieldActions();
|
|
17
25
|
const { setSendToWallet } = useSendToWalletActions();
|
|
18
26
|
const isContractAddress = useIsContractAddress(validatedBookmark?.address, chainId, validatedBookmark?.chainType);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
ref.current?.close();
|
|
22
|
-
};
|
|
27
|
+
const containerRef = useRef(null);
|
|
28
|
+
useSetContentHeight(containerRef, isContractAddress);
|
|
23
29
|
const handleConfirm = () => {
|
|
24
30
|
if (validatedBookmark) {
|
|
25
31
|
setFieldValue('toAddress', validatedBookmark.address, {
|
|
@@ -28,13 +34,13 @@ export const ConfirmAddressSheet = forwardRef(({ validatedBookmark, onConfirm, c
|
|
|
28
34
|
});
|
|
29
35
|
onConfirm?.(validatedBookmark);
|
|
30
36
|
setSendToWallet(true);
|
|
31
|
-
|
|
37
|
+
onClose();
|
|
32
38
|
navigateBack();
|
|
33
39
|
}
|
|
34
40
|
};
|
|
35
|
-
return (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
41
|
+
return (_jsxs(SendToWalletSheetContainer, { ref: containerRef, children: [_jsx(IconContainer, { children: _jsx(Wallet, { sx: { fontSize: 40 } }) }), _jsx(SheetTitle, { children: t('sendToWallet.confirmWalletAddress') }), _jsxs(SheetAddressContainer, { children: [validatedBookmark?.name ? (_jsx(Typography, { sx: {
|
|
42
|
+
fontWeight: 600,
|
|
43
|
+
mb: 0.5,
|
|
44
|
+
}, children: validatedBookmark?.name })) : null, _jsx(Typography, { children: validatedBookmark?.address })] }), _jsx(AlertMessage, { title: _jsx(Box, { sx: { display: 'grid', gap: 1 }, children: _jsx(Typography, { variant: "body2", fontWeight: 500, children: t('info.message.fundsToExchange') }) }), icon: _jsx(Info, {}), multiline: true }), isContractAddress ? (_jsx(AlertMessage, { title: _jsx(Typography, { variant: "body2", fontWeight: 500, children: t('info.message.smartContractAccount') }), icon: _jsx(Warning, {}), severity: "warning", multiline: true })) : null, _jsxs(SendToWalletButtonRow, { children: [_jsx(Button, { variant: "text", onClick: onClose, fullWidth: true, children: t('button.cancel') }), _jsx(Button, { variant: "contained", onClick: handleConfirm, fullWidth: true, children: t('button.confirm') })] })] }));
|
|
45
|
+
};
|
|
40
46
|
//# sourceMappingURL=ConfirmAddressSheet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmAddressSheet.js","sourceRoot":"","sources":["../../../../src/pages/SendToWallet/ConfirmAddressSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ConfirmAddressSheet.js","sourceRoot":"","sources":["../../../../src/pages/SendToWallet/ConfirmAddressSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,UAAU,GACX,MAAM,6BAA6B,CAAA;AAYpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAG3C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,CAAC;QAAC,GAAyC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9D,CAAC,CAAA;IAED,OAAO,CACL,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,YACnB,KAAC,0BAA0B,OAAK,KAAK,EAAE,OAAO,EAAE,WAAW,GAAI,GACnD,CACf,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAA8C,CAAC,EAC7E,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3C,MAAM,EAAE,eAAe,EAAE,GAAG,sBAAsB,EAAE,CAAA;IACpD,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EACP,iBAAiB,EAAE,SAAS,CAC7B,CAAA;IAED,MAAM,YAAY,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC9C,mBAAmB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IAEpD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE;gBACpD,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YACF,SAAS,EAAE,CAAC,iBAAiB,CAAC,CAAA;YAC9B,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,EAAE,CAAA;YACT,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,MAAC,0BAA0B,IAAC,GAAG,EAAE,YAAY,aAC3C,KAAC,aAAa,cACZ,KAAC,MAAM,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,GAClB,EAChB,KAAC,UAAU,cAAE,CAAC,CAAC,mCAAmC,CAAC,GAAc,EACjE,MAAC,qBAAqB,eACnB,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CACzB,KAAC,UAAU,IACT,EAAE,EAAE;4BACF,UAAU,EAAE,GAAG;4BACf,EAAE,EAAE,GAAG;yBACR,YAEA,iBAAiB,EAAE,IAAI,GACb,CACd,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,UAAU,cAAE,iBAAiB,EAAE,OAAO,GAAc,IAC/B,EACxB,KAAC,YAAY,IACX,KAAK,EACH,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,YAClC,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAE,GAAG,YACxC,CAAC,CAAC,8BAA8B,CAAC,GACvB,GACT,EAER,IAAI,EAAE,KAAC,IAAI,KAAG,EACd,SAAS,SACT,EACD,iBAAiB,CAAC,CAAC,CAAC,CACnB,KAAC,YAAY,IACX,KAAK,EACH,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAE,GAAG,YACxC,CAAC,CAAC,mCAAmC,CAAC,GAC5B,EAEf,IAAI,EAAE,KAAC,OAAO,KAAG,EACjB,QAAQ,EAAC,SAAS,EAClB,SAAS,SACT,CACH,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,qBAAqB,eACpB,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,kBAC/C,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,aAAa,EAAE,SAAS,kBAC1D,CAAC,CAAC,gBAAgB,CAAC,GACb,IACa,IACG,CAC9B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -5,11 +5,11 @@ import { I18nextProvider } from 'react-i18next';
|
|
|
5
5
|
import * as supportedLanguages from '../../i18n/index.js';
|
|
6
6
|
import { useSettings } from '../../stores/settings/useSettings.js';
|
|
7
7
|
import { compactNumberFormatter } from '../../utils/compactNumberFormatter.js';
|
|
8
|
+
import { currencyExtendedFormatter } from '../../utils/currencyExtendedFormatter.js';
|
|
8
9
|
import { deepMerge } from '../../utils/deepMerge.js';
|
|
9
10
|
import { isItemAllowed } from '../../utils/item.js';
|
|
10
11
|
import { percentFormatter } from '../../utils/percentFormatter.js';
|
|
11
12
|
import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js';
|
|
12
|
-
import { currencyExtendedFormatter } from './currencyExtendedFormatter.js';
|
|
13
13
|
export const I18nProvider = ({ children, }) => {
|
|
14
14
|
const { languageResources, languages } = useWidgetConfig();
|
|
15
15
|
const { language } = useSettings(['language']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nProvider.js","sourceRoot":"","sources":["../../../../src/providers/I18nProvider/I18nProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,kBAAkB,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"I18nProvider.js","sourceRoot":"","sources":["../../../../src/providers/I18nProvider/I18nProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyExtendedFormatter.js","sourceRoot":"","sources":["../../../src/utils/currencyExtendedFormatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,GAAuB,EACvB,OAAY,EACZ,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;QAC3C,GAAG,OAAO;QACV,KAAK,EAAE,UAAU;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.1",
|
|
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",
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.14.
|
|
2
|
+
export const version = '3.14.1'
|
|
@@ -8,9 +8,11 @@ import { useDefaultElementId } from './useDefaultElementId.js'
|
|
|
8
8
|
// CSS changes in those components can have implications for the functionality in this hook
|
|
9
9
|
|
|
10
10
|
export const useSetContentHeight = (
|
|
11
|
-
ref: MutableRefObject<HTMLElement | null
|
|
11
|
+
ref: MutableRefObject<HTMLElement | null>,
|
|
12
|
+
dependency?: unknown
|
|
12
13
|
) => {
|
|
13
14
|
const elementId = useDefaultElementId()
|
|
15
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: we use dependency to refresh height
|
|
14
16
|
useLayoutEffect(() => {
|
|
15
17
|
const relativeContainer = getRelativeContainer(elementId)
|
|
16
18
|
if (
|
|
@@ -24,5 +26,5 @@ export const useSetContentHeight = (
|
|
|
24
26
|
return () => {
|
|
25
27
|
relativeContainer.style.removeProperty('min-height')
|
|
26
28
|
}
|
|
27
|
-
}, [elementId, ref])
|
|
29
|
+
}, [elementId, ref, dependency])
|
|
28
30
|
}
|
package/src/index.ts
CHANGED
|
@@ -24,4 +24,7 @@ export * from './types/events.js'
|
|
|
24
24
|
export type { TokenAmount } from './types/token.js'
|
|
25
25
|
export * from './types/widget.js'
|
|
26
26
|
export { getPriceImpact } from './utils/getPriceImpact.js'
|
|
27
|
+
export { percentFormatter } from './utils/percentFormatter.js'
|
|
28
|
+
export { compactNumberFormatter } from './utils/compactNumberFormatter.js'
|
|
29
|
+
export { currencyExtendedFormatter } from './utils/currencyExtendedFormatter.js'
|
|
27
30
|
export { navigationRoutes } from './utils/navigationRoutes.js'
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Info, Wallet, Warning } from '@mui/icons-material'
|
|
2
2
|
import { Box, Button, Typography } from '@mui/material'
|
|
3
3
|
import type { MutableRefObject } from 'react'
|
|
4
|
-
import { forwardRef } from 'react'
|
|
4
|
+
import { forwardRef, useRef } from 'react'
|
|
5
5
|
import { useTranslation } from 'react-i18next'
|
|
6
6
|
import { AlertMessage } from '../../components/AlertMessage/AlertMessage.js'
|
|
7
7
|
import { BottomSheet } from '../../components/BottomSheet/BottomSheet.js'
|
|
8
8
|
import type { BottomSheetBase } from '../../components/BottomSheet/types.js'
|
|
9
9
|
import { useIsContractAddress } from '../../hooks/useIsContractAddress.js'
|
|
10
10
|
import { useNavigateBack } from '../../hooks/useNavigateBack.js'
|
|
11
|
+
import { useSetContentHeight } from '../../hooks/useSetContentHeight.js'
|
|
11
12
|
import type { Bookmark } from '../../stores/bookmarks/types.js'
|
|
12
13
|
import { useFieldActions } from '../../stores/form/useFieldActions.js'
|
|
13
14
|
import { useSendToWalletActions } from '../../stores/settings/useSendToWalletStore.js'
|
|
@@ -25,10 +26,31 @@ interface ConfirmAddressSheetProps {
|
|
|
25
26
|
chainId?: number
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
interface ConfirmAddressSheetContentProps extends ConfirmAddressSheetProps {
|
|
30
|
+
onClose: () => void
|
|
31
|
+
}
|
|
32
|
+
|
|
28
33
|
export const ConfirmAddressSheet = forwardRef<
|
|
29
34
|
BottomSheetBase,
|
|
30
35
|
ConfirmAddressSheetProps
|
|
31
|
-
>((
|
|
36
|
+
>((props, ref) => {
|
|
37
|
+
const handleClose = () => {
|
|
38
|
+
;(ref as MutableRefObject<BottomSheetBase>).current?.close()
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<BottomSheet ref={ref}>
|
|
43
|
+
<ConfirmAddressSheetContent {...props} onClose={handleClose} />
|
|
44
|
+
</BottomSheet>
|
|
45
|
+
)
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
const ConfirmAddressSheetContent: React.FC<ConfirmAddressSheetContentProps> = ({
|
|
49
|
+
validatedBookmark,
|
|
50
|
+
onConfirm,
|
|
51
|
+
chainId,
|
|
52
|
+
onClose,
|
|
53
|
+
}) => {
|
|
32
54
|
const { t } = useTranslation()
|
|
33
55
|
const { navigateBack } = useNavigateBack()
|
|
34
56
|
const { setFieldValue } = useFieldActions()
|
|
@@ -39,9 +61,8 @@ export const ConfirmAddressSheet = forwardRef<
|
|
|
39
61
|
validatedBookmark?.chainType
|
|
40
62
|
)
|
|
41
63
|
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
}
|
|
64
|
+
const containerRef = useRef<HTMLElement>(null)
|
|
65
|
+
useSetContentHeight(containerRef, isContractAddress)
|
|
45
66
|
|
|
46
67
|
const handleConfirm = () => {
|
|
47
68
|
if (validatedBookmark) {
|
|
@@ -51,63 +72,61 @@ export const ConfirmAddressSheet = forwardRef<
|
|
|
51
72
|
})
|
|
52
73
|
onConfirm?.(validatedBookmark)
|
|
53
74
|
setSendToWallet(true)
|
|
54
|
-
|
|
75
|
+
onClose()
|
|
55
76
|
navigateBack()
|
|
56
77
|
}
|
|
57
78
|
}
|
|
58
79
|
|
|
59
80
|
return (
|
|
60
|
-
<
|
|
61
|
-
<
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
81
|
+
<SendToWalletSheetContainer ref={containerRef}>
|
|
82
|
+
<IconContainer>
|
|
83
|
+
<Wallet sx={{ fontSize: 40 }} />
|
|
84
|
+
</IconContainer>
|
|
85
|
+
<SheetTitle>{t('sendToWallet.confirmWalletAddress')}</SheetTitle>
|
|
86
|
+
<SheetAddressContainer>
|
|
87
|
+
{validatedBookmark?.name ? (
|
|
88
|
+
<Typography
|
|
89
|
+
sx={{
|
|
90
|
+
fontWeight: 600,
|
|
91
|
+
mb: 0.5,
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
{validatedBookmark?.name}
|
|
95
|
+
</Typography>
|
|
96
|
+
) : null}
|
|
97
|
+
<Typography>{validatedBookmark?.address}</Typography>
|
|
98
|
+
</SheetAddressContainer>
|
|
99
|
+
<AlertMessage
|
|
100
|
+
title={
|
|
101
|
+
<Box sx={{ display: 'grid', gap: 1 }}>
|
|
102
|
+
<Typography variant="body2" fontWeight={500}>
|
|
103
|
+
{t('info.message.fundsToExchange')}
|
|
75
104
|
</Typography>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
105
|
+
</Box>
|
|
106
|
+
}
|
|
107
|
+
icon={<Info />}
|
|
108
|
+
multiline
|
|
109
|
+
/>
|
|
110
|
+
{isContractAddress ? (
|
|
79
111
|
<AlertMessage
|
|
80
112
|
title={
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
</Typography>
|
|
85
|
-
</Box>
|
|
113
|
+
<Typography variant="body2" fontWeight={500}>
|
|
114
|
+
{t('info.message.smartContractAccount')}
|
|
115
|
+
</Typography>
|
|
86
116
|
}
|
|
87
|
-
icon={<
|
|
117
|
+
icon={<Warning />}
|
|
118
|
+
severity="warning"
|
|
88
119
|
multiline
|
|
89
120
|
/>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/>
|
|
101
|
-
) : null}
|
|
102
|
-
<SendToWalletButtonRow>
|
|
103
|
-
<Button variant="text" onClick={handleClose} fullWidth>
|
|
104
|
-
{t('button.cancel')}
|
|
105
|
-
</Button>
|
|
106
|
-
<Button variant="contained" onClick={handleConfirm} fullWidth>
|
|
107
|
-
{t('button.confirm')}
|
|
108
|
-
</Button>
|
|
109
|
-
</SendToWalletButtonRow>
|
|
110
|
-
</SendToWalletSheetContainer>
|
|
111
|
-
</BottomSheet>
|
|
121
|
+
) : null}
|
|
122
|
+
<SendToWalletButtonRow>
|
|
123
|
+
<Button variant="text" onClick={onClose} fullWidth>
|
|
124
|
+
{t('button.cancel')}
|
|
125
|
+
</Button>
|
|
126
|
+
<Button variant="contained" onClick={handleConfirm} fullWidth>
|
|
127
|
+
{t('button.confirm')}
|
|
128
|
+
</Button>
|
|
129
|
+
</SendToWalletButtonRow>
|
|
130
|
+
</SendToWalletSheetContainer>
|
|
112
131
|
)
|
|
113
|
-
}
|
|
132
|
+
}
|
|
@@ -5,11 +5,11 @@ import { I18nextProvider } from 'react-i18next'
|
|
|
5
5
|
import * as supportedLanguages from '../../i18n/index.js'
|
|
6
6
|
import { useSettings } from '../../stores/settings/useSettings.js'
|
|
7
7
|
import { compactNumberFormatter } from '../../utils/compactNumberFormatter.js'
|
|
8
|
+
import { currencyExtendedFormatter } from '../../utils/currencyExtendedFormatter.js'
|
|
8
9
|
import { deepMerge } from '../../utils/deepMerge.js'
|
|
9
10
|
import { isItemAllowed } from '../../utils/item.js'
|
|
10
11
|
import { percentFormatter } from '../../utils/percentFormatter.js'
|
|
11
12
|
import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
|
|
12
|
-
import { currencyExtendedFormatter } from './currencyExtendedFormatter.js'
|
|
13
13
|
import type { LanguageKey, LanguageTranslationResources } from './types.js'
|
|
14
14
|
|
|
15
15
|
export const I18nProvider: React.FC<React.PropsWithChildren> = ({
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"currencyExtendedFormatter.js","sourceRoot":"","sources":["../../../../src/providers/I18nProvider/currencyExtendedFormatter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,GAAuB,EACvB,OAAY,EACZ,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;QAC3C,GAAG,OAAO;QACV,KAAK,EAAE,UAAU;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|