@lifi/widget 1.21.0 → 1.22.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.
Files changed (206) hide show
  1. package/AppDrawer.style.d.ts +1 -1
  2. package/AppProvider.js +2 -4
  3. package/AppRoutes.js +4 -0
  4. package/cjs/AppDrawer.style.d.ts +1 -1
  5. package/cjs/AppProvider.js +1 -3
  6. package/cjs/AppRoutes.js +4 -0
  7. package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +1 -1
  8. package/cjs/components/BottomSheet/BottomSheet.d.ts +1 -1
  9. package/cjs/components/ChainSelect/ChainSelect.js +1 -3
  10. package/cjs/components/ChainSelect/useChainSelect.d.ts +1 -1
  11. package/cjs/components/Header/Header.style.d.ts +34 -1
  12. package/cjs/components/Header/Header.style.js +19 -1
  13. package/cjs/components/Header/NavigationHeader.js +6 -2
  14. package/cjs/components/Header/WalletHeader.js +34 -9
  15. package/cjs/components/Menu.d.ts +1 -0
  16. package/cjs/components/Menu.js +24 -0
  17. package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  18. package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
  19. package/cjs/components/SelectChainAndToken.js +6 -1
  20. package/cjs/components/SelectTokenButton/SelectTokenButton.js +11 -6
  21. package/cjs/components/SelectTokenButton/SelectTokenButton.style.js +2 -1
  22. package/cjs/components/SendToWallet/SendToWallet.js +5 -0
  23. package/cjs/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  24. package/cjs/components/SendToWallet/SendToWalletButton.js +5 -1
  25. package/cjs/components/Step/StepProcess.style.d.ts +2 -2
  26. package/cjs/components/Step/StepTimer.js +1 -1
  27. package/cjs/components/StepActions/StepActions.js +6 -1
  28. package/cjs/components/SwapButton/SwapButton.js +9 -4
  29. package/cjs/components/SwapInput/FormPriceHelperText.js +4 -4
  30. package/cjs/components/SwapInput/SwapInput.js +5 -2
  31. package/cjs/components/SwapInput/SwapInput.style.d.ts +1 -1
  32. package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
  33. package/cjs/components/SwapRouteCard/SwapRouteCard.js +5 -3
  34. package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +1 -1
  35. package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.js +3 -1
  36. package/cjs/components/SwapRoutes/SwapRoutes.js +8 -3
  37. package/cjs/components/Token/Token.js +6 -5
  38. package/cjs/components/TokenAvatar/TokenAvatar.d.ts +11 -1
  39. package/cjs/components/TokenAvatar/TokenAvatar.js +14 -3
  40. package/cjs/components/TokenList/TokenList.js +2 -23
  41. package/cjs/components/TokenList/TokenListItem.d.ts +2 -1
  42. package/cjs/components/TokenList/TokenListItem.js +12 -6
  43. package/cjs/components/TokenList/index.d.ts +1 -0
  44. package/cjs/components/TokenList/index.js +1 -0
  45. package/cjs/components/TokenList/types.d.ts +6 -0
  46. package/cjs/components/TokenList/useTokenSelect.d.ts +2 -0
  47. package/cjs/components/TokenList/useTokenSelect.js +33 -0
  48. package/cjs/config/version.d.ts +1 -1
  49. package/cjs/config/version.js +1 -1
  50. package/cjs/hooks/useChain.d.ts +2 -2
  51. package/cjs/hooks/useChains.d.ts +2 -2
  52. package/cjs/hooks/useExpandableVariant.js +3 -5
  53. package/cjs/hooks/useProcessMessage.d.ts +2 -2
  54. package/cjs/hooks/useSwapRoutes.js +11 -7
  55. package/cjs/i18n/de.json +199 -0
  56. package/cjs/i18n/en.json +162 -151
  57. package/cjs/i18n/es.json +200 -0
  58. package/cjs/i18n/fr.json +199 -0
  59. package/cjs/i18n/index.d.ts +8 -200
  60. package/cjs/i18n/index.js +15 -19
  61. package/cjs/i18n/it.json +199 -0
  62. package/cjs/i18n/uk.json +200 -0
  63. package/cjs/i18n/zh.json +199 -0
  64. package/cjs/pages/SelectChainPage/SelectChainPage.d.ts +2 -2
  65. package/cjs/pages/SelectChainPage/SelectChainPage.js +13 -9
  66. package/cjs/pages/SelectChainPage/types.d.ts +4 -0
  67. package/cjs/pages/SelectChainPage/types.js +2 -0
  68. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.d.ts +3 -0
  69. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +21 -0
  70. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +21 -0
  71. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +20 -0
  72. package/cjs/pages/SelectNativeTokenPage/index.d.ts +1 -0
  73. package/cjs/pages/SelectNativeTokenPage/index.js +17 -0
  74. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
  75. package/cjs/pages/SettingsPage/LanguageSelect.d.ts +2 -0
  76. package/cjs/pages/SettingsPage/LanguageSelect.js +38 -0
  77. package/cjs/pages/SettingsPage/SettingsPage.js +2 -1
  78. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +1 -1
  79. package/cjs/pages/SettingsPage/ShowDestinationWallet.js +6 -0
  80. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +4 -2
  81. package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +4 -2
  82. package/cjs/pages/SwapPage/StatusBottomSheet.js +3 -3
  83. package/cjs/pages/SwapPage/SwapPage.js +1 -3
  84. package/cjs/pages/SwapPage/TokenValueBottomSheet.js +1 -1
  85. package/cjs/providers/I18nProvider/I18nProvider.d.ts +2 -0
  86. package/cjs/providers/I18nProvider/I18nProvider.js +62 -0
  87. package/cjs/providers/I18nProvider/index.d.ts +2 -0
  88. package/cjs/providers/I18nProvider/index.js +18 -0
  89. package/cjs/providers/I18nProvider/types.d.ts +16 -0
  90. package/cjs/providers/I18nProvider/types.js +2 -0
  91. package/cjs/providers/WidgetProvider/utils.d.ts +1 -1
  92. package/cjs/providers/WidgetProvider/utils.js +4 -4
  93. package/cjs/providers/index.d.ts +1 -0
  94. package/cjs/providers/index.js +1 -0
  95. package/cjs/stores/settings/types.d.ts +1 -0
  96. package/cjs/stores/settings/useSettingsStore.d.ts +2 -0
  97. package/cjs/types/widget.d.ts +24 -7
  98. package/cjs/types/widget.js +8 -0
  99. package/cjs/utils/deepMerge.d.ts +1 -0
  100. package/cjs/utils/deepMerge.js +18 -0
  101. package/cjs/utils/index.d.ts +1 -0
  102. package/cjs/utils/index.js +1 -0
  103. package/cjs/utils/input.js +3 -1
  104. package/cjs/utils/navigationRoutes.d.ts +8 -7
  105. package/cjs/utils/navigationRoutes.js +10 -7
  106. package/components/ActiveSwaps/ActiveSwaps.style.d.ts +1 -1
  107. package/components/BottomSheet/BottomSheet.d.ts +1 -1
  108. package/components/ChainSelect/ChainSelect.js +1 -3
  109. package/components/ChainSelect/useChainSelect.d.ts +1 -1
  110. package/components/Header/Header.style.d.ts +34 -1
  111. package/components/Header/Header.style.js +19 -1
  112. package/components/Header/NavigationHeader.js +7 -3
  113. package/components/Header/WalletHeader.js +37 -12
  114. package/components/Menu.d.ts +1 -0
  115. package/components/Menu.js +21 -0
  116. package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  117. package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
  118. package/components/SelectChainAndToken.js +7 -2
  119. package/components/SelectTokenButton/SelectTokenButton.js +12 -7
  120. package/components/SelectTokenButton/SelectTokenButton.style.js +2 -1
  121. package/components/SendToWallet/SendToWallet.js +6 -1
  122. package/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  123. package/components/SendToWallet/SendToWalletButton.js +6 -2
  124. package/components/Step/StepProcess.style.d.ts +2 -2
  125. package/components/Step/StepTimer.js +1 -1
  126. package/components/StepActions/StepActions.js +6 -1
  127. package/components/SwapButton/SwapButton.js +9 -4
  128. package/components/SwapInput/FormPriceHelperText.js +4 -4
  129. package/components/SwapInput/SwapInput.js +6 -3
  130. package/components/SwapInput/SwapInput.style.d.ts +1 -1
  131. package/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
  132. package/components/SwapRouteCard/SwapRouteCard.js +5 -3
  133. package/components/SwapRouteCard/SwapRouteCard.style.d.ts +1 -1
  134. package/components/SwapRouteCard/SwapRouteCardSkeleton.js +3 -1
  135. package/components/SwapRoutes/SwapRoutes.js +8 -3
  136. package/components/Token/Token.js +7 -6
  137. package/components/TokenAvatar/TokenAvatar.d.ts +11 -1
  138. package/components/TokenAvatar/TokenAvatar.js +11 -2
  139. package/components/TokenList/TokenList.js +4 -25
  140. package/components/TokenList/TokenListItem.d.ts +2 -1
  141. package/components/TokenList/TokenListItem.js +10 -5
  142. package/components/TokenList/index.d.ts +1 -0
  143. package/components/TokenList/index.js +1 -0
  144. package/components/TokenList/types.d.ts +6 -0
  145. package/components/TokenList/useTokenSelect.d.ts +2 -0
  146. package/components/TokenList/useTokenSelect.js +29 -0
  147. package/config/version.d.ts +1 -1
  148. package/config/version.js +1 -1
  149. package/hooks/useChain.d.ts +2 -2
  150. package/hooks/useChains.d.ts +2 -2
  151. package/hooks/useExpandableVariant.js +3 -5
  152. package/hooks/useProcessMessage.d.ts +2 -2
  153. package/hooks/useSwapRoutes.js +12 -8
  154. package/i18n/de.json +199 -0
  155. package/i18n/en.json +162 -151
  156. package/i18n/es.json +200 -0
  157. package/i18n/fr.json +199 -0
  158. package/i18n/index.d.ts +8 -200
  159. package/i18n/index.js +8 -18
  160. package/i18n/it.json +199 -0
  161. package/i18n/uk.json +200 -0
  162. package/i18n/zh.json +199 -0
  163. package/package.json +19 -18
  164. package/pages/SelectChainPage/SelectChainPage.d.ts +2 -2
  165. package/pages/SelectChainPage/SelectChainPage.js +13 -9
  166. package/pages/SelectChainPage/types.d.ts +4 -0
  167. package/pages/SelectChainPage/types.js +1 -0
  168. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.d.ts +3 -0
  169. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +17 -0
  170. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +21 -0
  171. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +17 -0
  172. package/pages/SelectNativeTokenPage/index.d.ts +1 -0
  173. package/pages/SelectNativeTokenPage/index.js +1 -0
  174. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
  175. package/pages/SettingsPage/LanguageSelect.d.ts +2 -0
  176. package/pages/SettingsPage/LanguageSelect.js +34 -0
  177. package/pages/SettingsPage/SettingsPage.js +2 -1
  178. package/pages/SettingsPage/ShowDestinationWallet.d.ts +1 -1
  179. package/pages/SettingsPage/ShowDestinationWallet.js +6 -0
  180. package/pages/SwapDetailsPage/SwapDetailsPage.js +4 -2
  181. package/pages/SwapHistoryPage/SwapHistoryItem.js +4 -2
  182. package/pages/SwapPage/StatusBottomSheet.js +3 -3
  183. package/pages/SwapPage/SwapPage.js +1 -3
  184. package/pages/SwapPage/TokenValueBottomSheet.js +1 -1
  185. package/providers/I18nProvider/I18nProvider.d.ts +2 -0
  186. package/providers/I18nProvider/I18nProvider.js +58 -0
  187. package/providers/I18nProvider/index.d.ts +2 -0
  188. package/providers/I18nProvider/index.js +2 -0
  189. package/providers/I18nProvider/types.d.ts +16 -0
  190. package/providers/I18nProvider/types.js +1 -0
  191. package/providers/WidgetProvider/utils.d.ts +1 -1
  192. package/providers/WidgetProvider/utils.js +4 -4
  193. package/providers/index.d.ts +1 -0
  194. package/providers/index.js +1 -0
  195. package/stores/settings/types.d.ts +1 -0
  196. package/stores/settings/useSettingsStore.d.ts +2 -0
  197. package/tsconfig.cjs.tsbuildinfo +1 -1
  198. package/types/widget.d.ts +24 -7
  199. package/types/widget.js +7 -1
  200. package/utils/deepMerge.d.ts +1 -0
  201. package/utils/deepMerge.js +14 -0
  202. package/utils/index.d.ts +1 -0
  203. package/utils/index.js +1 -0
  204. package/utils/input.js +3 -1
  205. package/utils/navigationRoutes.d.ts +8 -7
  206. package/utils/navigationRoutes.js +10 -7
package/types/widget.d.ts CHANGED
@@ -3,7 +3,15 @@ import type { PaletteMode, PaletteOptions, Shape } from '@mui/material';
3
3
  import type { TypographyOptions } from '@mui/material/styles/createTypography';
4
4
  import type { Signer } from 'ethers';
5
5
  import type { CSSProperties, RefObject } from 'react';
6
- export declare type WidgetVariant = 'default' | 'expandable' | 'drawer';
6
+ import type { LanguageKey, LanguageResources } from '../providers';
7
+ export declare type WidgetVariant = 'default' | 'expandable' | 'drawer' | 'refuel';
8
+ export declare enum DisabledUI {
9
+ FromToken = "fromToken",
10
+ ToToken = "toToken",
11
+ FromAmount = "fromAmount",
12
+ ToAddress = "toAddress"
13
+ }
14
+ export declare type DisabledUIType = `${DisabledUI}`;
7
15
  export declare type Appearance = PaletteMode | 'auto';
8
16
  export declare type ThemeConfig = {
9
17
  palette?: Pick<PaletteOptions, 'primary' | 'secondary'>;
@@ -25,17 +33,15 @@ export interface WidgetConfig {
25
33
  toToken?: string;
26
34
  toAddress?: string;
27
35
  fromAmount?: number | string;
36
+ integrator?: string;
37
+ variant?: WidgetVariant;
28
38
  appearance?: Appearance;
29
39
  theme?: ThemeConfig;
30
40
  containerStyle?: CSSProperties;
31
41
  disableAppearance?: boolean;
32
42
  disableTelemetry?: boolean;
33
- /** @deprecated Use chains.deny instead */
34
- disabledChains?: number[];
35
- /** @deprecated Use tokens.featured instead */
36
- featuredTokens?: Token[];
37
- integrator?: string;
38
- variant?: WidgetVariant;
43
+ disabledUI?: DisabledUIType[];
44
+ useRecommendedRoute?: boolean;
39
45
  walletManagement?: WidgetWalletManagement;
40
46
  sdkConfig?: ConfigUpdate;
41
47
  buildSwapUrl?: boolean;
@@ -56,6 +62,17 @@ export interface WidgetConfig {
56
62
  allow?: Token[];
57
63
  deny?: (Partial<Token> & Pick<Token, 'address' | 'chainId'>)[];
58
64
  };
65
+ languages?: {
66
+ default?: LanguageKey;
67
+ allow?: LanguageKey[];
68
+ deny?: LanguageKey[];
69
+ };
70
+ languageResources?: LanguageResources;
71
+ disableI18n?: boolean;
72
+ /** @deprecated Use chains.deny instead */
73
+ disabledChains?: number[];
74
+ /** @deprecated Use tokens.featured instead */
75
+ featuredTokens?: Token[];
59
76
  }
60
77
  export declare type WidgetProps = {
61
78
  elementRef?: RefObject<HTMLDivElement>;
package/types/widget.js CHANGED
@@ -1 +1,7 @@
1
- export {};
1
+ export var DisabledUI;
2
+ (function (DisabledUI) {
3
+ DisabledUI["FromToken"] = "fromToken";
4
+ DisabledUI["ToToken"] = "toToken";
5
+ DisabledUI["FromAmount"] = "fromAmount";
6
+ DisabledUI["ToAddress"] = "toAddress";
7
+ })(DisabledUI || (DisabledUI = {}));
@@ -0,0 +1 @@
1
+ export declare const deepMerge: (...objects: any[]) => any;
@@ -0,0 +1,14 @@
1
+ const isObject = (obj) => obj && typeof obj === 'object';
2
+ export const deepMerge = (...objects) => {
3
+ return objects.reduce((prev, obj) => {
4
+ for (const key in obj) {
5
+ if (isObject(prev[key]) && isObject(obj[key])) {
6
+ prev[key] = deepMerge(prev[key], obj[key]);
7
+ }
8
+ else {
9
+ prev[key] = obj[key];
10
+ }
11
+ }
12
+ return prev;
13
+ }, {});
14
+ };
package/utils/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './colors';
2
2
  export * from './deepClone';
3
+ export * from './deepMerge';
3
4
  export * from './elements';
4
5
  export * from './format';
5
6
  export * from './input';
package/utils/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './colors';
2
2
  export * from './deepClone';
3
+ export * from './deepMerge';
3
4
  export * from './elements';
4
5
  export * from './format';
5
6
  export * from './input';
package/utils/input.js CHANGED
@@ -11,7 +11,9 @@ export const fitInputText = (maxFontSize, minFontSize, element) => {
11
11
  mid = (high + low) >> 1;
12
12
  const fontSize = `${mid + 1}px`;
13
13
  element.style.fontSize = fontSize;
14
- if (element.scrollWidth <= element.clientWidth) {
14
+ // scrollWidth has different rounding than clientWidth, remove 1px for consistency
15
+ const scrollWidth = element.scrollWidth - 1;
16
+ if (scrollWidth <= element.clientWidth) {
15
17
  size = mid;
16
18
  low = mid + 1;
17
19
  }
@@ -1,16 +1,17 @@
1
1
  export declare const navigationRoutes: {
2
2
  home: string;
3
+ activeSwaps: string;
4
+ fromChain: string;
5
+ fromToken: string;
3
6
  selectWallet: string;
4
7
  settings: string;
5
- fromToken: string;
6
- toToken: string;
7
- fromChain: string;
8
- toChain: string;
9
- swapRoutes: string;
8
+ swapDetails: string;
10
9
  swapExecution: string;
11
10
  swapHistory: string;
12
- activeSwaps: string;
13
- swapDetails: string;
11
+ swapRoutes: string;
12
+ toChain: string;
13
+ toToken: string;
14
+ toTokenNative: string;
14
15
  };
15
16
  export declare const navigationRoutesValues: string[];
16
17
  export declare const stickyHeaderRoutes: string[];
@@ -1,16 +1,17 @@
1
1
  export const navigationRoutes = {
2
2
  home: '/',
3
+ activeSwaps: 'active-swaps',
4
+ fromChain: 'from-chain',
5
+ fromToken: 'from-token',
3
6
  selectWallet: 'wallet',
4
7
  settings: 'settings',
5
- fromToken: 'from-token',
6
- toToken: 'to-token',
7
- fromChain: 'from-chain',
8
- toChain: 'to-chain',
9
- swapRoutes: 'swap-routes',
8
+ swapDetails: 'swap-details',
10
9
  swapExecution: 'swap-execution',
11
10
  swapHistory: 'swap-history',
12
- activeSwaps: 'active-swaps',
13
- swapDetails: 'swap-details',
11
+ swapRoutes: 'swap-routes',
12
+ toChain: 'to-chain',
13
+ toToken: 'to-token',
14
+ toTokenNative: 'to-token-native',
14
15
  };
15
16
  export const navigationRoutesValues = Object.values(navigationRoutes);
16
17
  export const stickyHeaderRoutes = [
@@ -23,6 +24,7 @@ export const stickyHeaderRoutes = [
23
24
  navigationRoutes.swapHistory,
24
25
  navigationRoutes.swapRoutes,
25
26
  navigationRoutes.toChain,
27
+ navigationRoutes.toTokenNative,
26
28
  ];
27
29
  export const backButtonRoutes = [
28
30
  navigationRoutes.activeSwaps,
@@ -36,4 +38,5 @@ export const backButtonRoutes = [
36
38
  navigationRoutes.swapRoutes,
37
39
  navigationRoutes.toChain,
38
40
  navigationRoutes.toToken,
41
+ navigationRoutes.toTokenNative,
39
42
  ];