@lifi/widget 1.23.1 → 1.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 (144) hide show
  1. package/AppDrawer.style.d.ts +1 -1
  2. package/AppProvider.js +1 -1
  3. package/cjs/AppDrawer.style.d.ts +1 -1
  4. package/cjs/AppProvider.js +1 -1
  5. package/cjs/components/ActiveSwaps/ActiveSwapItem.js +2 -1
  6. package/cjs/components/BottomSheet/types.d.ts +1 -1
  7. package/cjs/components/Card/Card.d.ts +2 -2
  8. package/cjs/components/Card/CardTitle.d.ts +1 -1
  9. package/cjs/components/ChainSelect/ChainSelect.js +6 -1
  10. package/cjs/components/ChainSelect/useChainSelect.d.ts +3 -1
  11. package/cjs/components/ChainSelect/useChainSelect.js +12 -3
  12. package/cjs/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  13. package/cjs/components/StepActions/StepActions.js +2 -2
  14. package/cjs/components/SwapInput/FitInputText.d.ts +3 -0
  15. package/cjs/components/SwapInput/FitInputText.js +19 -0
  16. package/cjs/components/SwapInput/FormPriceHelperText.d.ts +1 -3
  17. package/cjs/components/SwapInput/FormPriceHelperText.js +1 -1
  18. package/cjs/components/SwapInput/SwapInput.js +12 -24
  19. package/cjs/components/SwapInput/SwapInput.style.d.ts +1 -1
  20. package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +3 -0
  21. package/cjs/components/SwapInput/{SwapInputAdornment.js → SwapInputEndAdornment.js} +3 -3
  22. package/cjs/components/SwapInput/SwapInputStartAdornment.d.ts +3 -0
  23. package/cjs/components/SwapInput/SwapInputStartAdornment.js +21 -0
  24. package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +1 -1
  25. package/cjs/components/SwapRoutes/SwapRoutes.style.d.ts +1 -1
  26. package/cjs/components/Token/Token.style.d.ts +1 -1
  27. package/cjs/components/TokenList/useTokenSelect.js +12 -9
  28. package/cjs/config/version.d.ts +1 -1
  29. package/cjs/config/version.js +1 -1
  30. package/cjs/hooks/useGasSufficiency.js +1 -1
  31. package/cjs/hooks/useRouteExecution.js +1 -1
  32. package/cjs/hooks/useSwapRoutes.js +12 -9
  33. package/cjs/hooks/useTelemetry.js +3 -1
  34. package/cjs/hooks/useTools.d.ts +5 -2
  35. package/cjs/i18n/en.json +3 -1
  36. package/cjs/i18n/uk.json +11 -6
  37. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +2 -1
  38. package/cjs/pages/SettingsPage/SlippageInput.js +2 -1
  39. package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +4 -2
  40. package/cjs/pages/SwapPage/StatusBottomSheet.js +63 -15
  41. package/cjs/pages/SwapPage/StatusBottomSheet.style.d.ts +4 -2
  42. package/cjs/pages/SwapPage/StatusBottomSheet.style.js +5 -2
  43. package/cjs/pages/SwapPage/SwapPage.js +8 -6
  44. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  45. package/cjs/providers/I18nProvider/types.d.ts +5 -5
  46. package/cjs/providers/SwapFormProvider/FormUpdater.d.ts +5 -0
  47. package/cjs/providers/{WalletProvider/WalletFormUpdate.js → SwapFormProvider/FormUpdater.js} +24 -21
  48. package/cjs/providers/SwapFormProvider/SwapFormProvider.js +12 -7
  49. package/cjs/providers/SwapFormProvider/types.d.ts +2 -2
  50. package/cjs/providers/WalletProvider/WalletProvider.d.ts +1 -1
  51. package/cjs/providers/WalletProvider/WalletProvider.js +1 -2
  52. package/cjs/providers/WalletProvider/types.d.ts +3 -3
  53. package/cjs/providers/WidgetProvider/WidgetProvider.js +4 -0
  54. package/cjs/providers/WidgetProvider/types.d.ts +1 -1
  55. package/cjs/stores/routes/types.d.ts +8 -1
  56. package/cjs/stores/routes/types.js +10 -0
  57. package/cjs/stores/routes/useExecutingRoutesIds.js +3 -1
  58. package/cjs/stores/routes/useRouteExecutionStore.js +53 -18
  59. package/cjs/stores/routes/useSwapHistory.js +4 -1
  60. package/cjs/stores/routes/utils.d.ts +3 -1
  61. package/cjs/stores/routes/utils.js +12 -4
  62. package/cjs/stores/settings/types.d.ts +6 -6
  63. package/cjs/stores/settings/useSettingsStore.d.ts +12 -9
  64. package/cjs/stores/settings/useSettingsStore.js +22 -5
  65. package/cjs/types/events.d.ts +1 -1
  66. package/cjs/types/widget.d.ts +13 -8
  67. package/cjs/utils/enum.d.ts +1 -0
  68. package/cjs/utils/enum.js +5 -0
  69. package/cjs/utils/index.d.ts +1 -0
  70. package/cjs/utils/index.js +1 -0
  71. package/cjs/utils/navigationRoutes.d.ts +1 -1
  72. package/components/ActiveSwaps/ActiveSwapItem.js +2 -1
  73. package/components/BottomSheet/types.d.ts +1 -1
  74. package/components/Card/Card.d.ts +2 -2
  75. package/components/Card/CardTitle.d.ts +1 -1
  76. package/components/ChainSelect/ChainSelect.js +6 -1
  77. package/components/ChainSelect/useChainSelect.d.ts +3 -1
  78. package/components/ChainSelect/useChainSelect.js +13 -4
  79. package/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  80. package/components/StepActions/StepActions.js +2 -2
  81. package/components/SwapInput/FitInputText.d.ts +3 -0
  82. package/components/SwapInput/FitInputText.js +16 -0
  83. package/components/SwapInput/FormPriceHelperText.d.ts +1 -3
  84. package/components/SwapInput/FormPriceHelperText.js +1 -1
  85. package/components/SwapInput/SwapInput.js +16 -28
  86. package/components/SwapInput/SwapInput.style.d.ts +1 -1
  87. package/components/SwapInput/SwapInputEndAdornment.d.ts +3 -0
  88. package/components/SwapInput/{SwapInputAdornment.js → SwapInputEndAdornment.js} +1 -1
  89. package/components/SwapInput/SwapInputStartAdornment.d.ts +3 -0
  90. package/components/SwapInput/SwapInputStartAdornment.js +17 -0
  91. package/components/SwapRouteCard/SwapRouteCard.style.d.ts +1 -1
  92. package/components/SwapRoutes/SwapRoutes.style.d.ts +1 -1
  93. package/components/Token/Token.style.d.ts +1 -1
  94. package/components/TokenList/useTokenSelect.js +13 -10
  95. package/config/version.d.ts +1 -1
  96. package/config/version.js +1 -1
  97. package/hooks/useGasSufficiency.js +2 -2
  98. package/hooks/useRouteExecution.js +2 -2
  99. package/hooks/useSwapRoutes.js +12 -9
  100. package/hooks/useTelemetry.js +3 -1
  101. package/hooks/useTools.d.ts +5 -2
  102. package/i18n/en.json +3 -1
  103. package/i18n/uk.json +11 -6
  104. package/package.json +13 -13
  105. package/pages/SettingsPage/RoutePrioritySelect.js +2 -1
  106. package/pages/SettingsPage/SlippageInput.js +2 -1
  107. package/pages/SwapHistoryPage/SwapHistoryItem.js +4 -2
  108. package/pages/SwapPage/StatusBottomSheet.js +64 -16
  109. package/pages/SwapPage/StatusBottomSheet.style.d.ts +4 -2
  110. package/pages/SwapPage/StatusBottomSheet.style.js +5 -2
  111. package/pages/SwapPage/SwapPage.js +8 -6
  112. package/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  113. package/providers/I18nProvider/types.d.ts +5 -5
  114. package/providers/SwapFormProvider/FormUpdater.d.ts +5 -0
  115. package/providers/{WalletProvider/WalletFormUpdate.js → SwapFormProvider/FormUpdater.js} +23 -20
  116. package/providers/SwapFormProvider/SwapFormProvider.js +12 -7
  117. package/providers/SwapFormProvider/types.d.ts +2 -2
  118. package/providers/WalletProvider/WalletProvider.d.ts +1 -1
  119. package/providers/WalletProvider/WalletProvider.js +2 -3
  120. package/providers/WalletProvider/types.d.ts +3 -3
  121. package/providers/WidgetProvider/WidgetProvider.js +5 -1
  122. package/providers/WidgetProvider/types.d.ts +1 -1
  123. package/stores/routes/types.d.ts +8 -1
  124. package/stores/routes/types.js +9 -1
  125. package/stores/routes/useExecutingRoutesIds.js +3 -1
  126. package/stores/routes/useRouteExecutionStore.js +51 -16
  127. package/stores/routes/useSwapHistory.js +4 -1
  128. package/stores/routes/utils.d.ts +3 -1
  129. package/stores/routes/utils.js +8 -2
  130. package/stores/settings/types.d.ts +6 -6
  131. package/stores/settings/useSettingsStore.d.ts +12 -9
  132. package/stores/settings/useSettingsStore.js +20 -4
  133. package/tsconfig.cjs.tsbuildinfo +1 -1
  134. package/types/events.d.ts +1 -1
  135. package/types/widget.d.ts +13 -8
  136. package/utils/enum.d.ts +1 -0
  137. package/utils/enum.js +1 -0
  138. package/utils/index.d.ts +1 -0
  139. package/utils/index.js +1 -0
  140. package/utils/navigationRoutes.d.ts +1 -1
  141. package/cjs/components/SwapInput/SwapInputAdornment.d.ts +0 -3
  142. package/cjs/providers/WalletProvider/WalletFormUpdate.d.ts +0 -5
  143. package/components/SwapInput/SwapInputAdornment.d.ts +0 -3
  144. package/providers/WalletProvider/WalletFormUpdate.d.ts +0 -5
package/types/events.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare enum WidgetEvent {
5
5
  RouteExecutionCompleted = "routeExecutionCompleted",
6
6
  RouteExecutionFailed = "routeExecutionFailed"
7
7
  }
8
- export declare type WidgetEvents = {
8
+ export type WidgetEvents = {
9
9
  routeExecutionStarted: Route;
10
10
  routeExecutionUpdated: RouteExecutionUpdate;
11
11
  routeExecutionCompleted: Route;
package/types/widget.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import type { ChainKey, ConfigUpdate, Token } from '@lifi/sdk';
1
+ import type { Signer } from '@ethersproject/abstract-signer';
2
+ import type { ChainKey, ConfigUpdate, Order, RouteOptions, Token } from '@lifi/sdk';
2
3
  import type { PaletteMode, PaletteOptions, Shape } from '@mui/material';
3
4
  import type { TypographyOptions } from '@mui/material/styles/createTypography';
4
- import type { Signer } from 'ethers';
5
5
  import type { CSSProperties, RefObject } from 'react';
6
6
  import type { LanguageKey, LanguageResources } from '../providers';
7
- export declare type WidgetVariant = 'default' | 'expandable' | 'drawer' | 'refuel';
7
+ export type WidgetVariant = 'default' | 'expandable' | 'drawer' | 'refuel';
8
8
  export declare enum DisabledUI {
9
9
  FromToken = "fromToken",
10
10
  ToToken = "toToken",
11
11
  FromAmount = "fromAmount",
12
12
  ToAddress = "toAddress"
13
13
  }
14
- export declare type DisabledUIType = `${DisabledUI}`;
15
- export declare type Appearance = PaletteMode | 'auto';
16
- export declare type ThemeConfig = {
14
+ export type DisabledUIType = `${DisabledUI}`;
15
+ export type Appearance = PaletteMode | 'auto';
16
+ export type ThemeConfig = {
17
17
  palette?: Pick<PaletteOptions, 'primary' | 'secondary'>;
18
18
  shape?: Shape;
19
19
  typography?: TypographyOptions;
@@ -26,6 +26,9 @@ export interface WidgetWalletManagement {
26
26
  addChain?(chainId: number): Promise<boolean>;
27
27
  signer?: Signer;
28
28
  }
29
+ export interface SDKConfig extends Omit<ConfigUpdate, 'defaultExecutionSettings' | 'defaultRouteOptions' | 'disableVersionCheck'> {
30
+ defaultRouteOptions?: Omit<RouteOptions, 'bridges' | 'exchanges'>;
31
+ }
29
32
  export interface WidgetConfig {
30
33
  fromChain?: `${ChainKey}` | number;
31
34
  toChain?: `${ChainKey}` | number;
@@ -34,6 +37,8 @@ export interface WidgetConfig {
34
37
  toAddress?: string;
35
38
  fromAmount?: number | string;
36
39
  integrator?: string;
40
+ slippage?: number;
41
+ routePriority?: Order;
37
42
  variant?: WidgetVariant;
38
43
  appearance?: Appearance;
39
44
  theme?: ThemeConfig;
@@ -43,7 +48,7 @@ export interface WidgetConfig {
43
48
  disabledUI?: DisabledUIType[];
44
49
  useRecommendedRoute?: boolean;
45
50
  walletManagement?: WidgetWalletManagement;
46
- sdkConfig?: ConfigUpdate;
51
+ sdkConfig?: SDKConfig;
47
52
  buildSwapUrl?: boolean;
48
53
  bridges?: {
49
54
  allow?: string[];
@@ -74,7 +79,7 @@ export interface WidgetConfig {
74
79
  /** @deprecated Use tokens.featured instead */
75
80
  featuredTokens?: Token[];
76
81
  }
77
- export declare type WidgetProps = {
82
+ export type WidgetProps = {
78
83
  elementRef?: RefObject<HTMLDivElement>;
79
84
  config?: WidgetConfig;
80
85
  open?: boolean;
@@ -0,0 +1 @@
1
+ export declare const hasEnumFlag: <T extends number | bigint>(flags: T, flag: T) => boolean;
package/utils/enum.js ADDED
@@ -0,0 +1 @@
1
+ export const hasEnumFlag = (flags, flag) => (flags & flag) === flag;
package/utils/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './colors';
2
2
  export * from './deepClone';
3
3
  export * from './deepMerge';
4
4
  export * from './elements';
5
+ export * from './enum';
5
6
  export * from './format';
6
7
  export * from './input';
7
8
  export * from './navigationRoutes';
package/utils/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './colors';
2
2
  export * from './deepClone';
3
3
  export * from './deepMerge';
4
4
  export * from './elements';
5
+ export * from './enum';
5
6
  export * from './format';
6
7
  export * from './input';
7
8
  export * from './navigationRoutes';
@@ -16,4 +16,4 @@ export declare const navigationRoutes: {
16
16
  export declare const navigationRoutesValues: string[];
17
17
  export declare const stickyHeaderRoutes: string[];
18
18
  export declare const backButtonRoutes: string[];
19
- export declare type NavigationRouteType = keyof typeof navigationRoutes;
19
+ export type NavigationRouteType = keyof typeof navigationRoutes;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { SwapFormTypeProps } from '../../providers';
3
- export declare const SwapInputAdornment: ({ formType }: SwapFormTypeProps) => JSX.Element;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import type { WalletAccount } from './types';
3
- export declare const WalletFormUpdate: React.FC<{
4
- account: WalletAccount;
5
- }>;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { SwapFormTypeProps } from '../../providers';
3
- export declare const SwapInputAdornment: ({ formType }: SwapFormTypeProps) => JSX.Element;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import type { WalletAccount } from './types';
3
- export declare const WalletFormUpdate: React.FC<{
4
- account: WalletAccount;
5
- }>;