@lifi/widget 3.0.0-alpha.37 → 3.0.0-alpha.38

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 (112) hide show
  1. package/_esm/components/Header/Header.style.d.ts +0 -3
  2. package/_esm/components/Header/Header.style.js +1 -7
  3. package/_esm/components/Header/Header.style.js.map +1 -1
  4. package/_esm/components/Header/NavigationHeader.js +1 -66
  5. package/_esm/components/Header/NavigationHeader.js.map +1 -1
  6. package/_esm/components/Header/NavigationTabs.js +3 -3
  7. package/_esm/components/Header/NavigationTabs.js.map +1 -1
  8. package/_esm/components/Tabs/Tabs.style.d.ts +3 -0
  9. package/_esm/components/Tabs/Tabs.style.js +17 -9
  10. package/_esm/components/Tabs/Tabs.style.js.map +1 -1
  11. package/_esm/config/version.d.ts +1 -1
  12. package/_esm/config/version.js +1 -1
  13. package/_esm/hooks/useAddressValidation.d.ts +1 -1
  14. package/_esm/hooks/useAddressValidation.js.map +1 -1
  15. package/_esm/hooks/useHeader.d.ts +2 -0
  16. package/_esm/hooks/useHeader.js +16 -0
  17. package/_esm/hooks/useHeader.js.map +1 -0
  18. package/_esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +4 -10
  19. package/_esm/pages/ActiveTransactionsPage/ActiveTransactionsPage.js.map +1 -1
  20. package/_esm/pages/LanguagesPage.js +3 -1
  21. package/_esm/pages/LanguagesPage.js.map +1 -1
  22. package/_esm/pages/MainPage/MainPage.js +9 -0
  23. package/_esm/pages/MainPage/MainPage.js.map +1 -1
  24. package/_esm/pages/RoutesPage/RoutesPage.js +6 -8
  25. package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  26. package/_esm/pages/SelectChainPage/SelectChainPage.js +4 -0
  27. package/_esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  28. package/_esm/pages/SelectEnabledToolsPage.js +5 -8
  29. package/_esm/pages/SelectEnabledToolsPage.js.map +1 -1
  30. package/_esm/pages/SelectTokenPage/SelectTokenPage.js +11 -0
  31. package/_esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  32. package/_esm/pages/SelectWalletPage/SelectWalletPage.js +2 -0
  33. package/_esm/pages/SelectWalletPage/SelectWalletPage.js.map +1 -1
  34. package/_esm/pages/SendToWallet/BookmarksPage.js +2 -0
  35. package/_esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  36. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js +2 -0
  37. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  38. package/_esm/pages/SendToWallet/RecentWalletsPage.js +2 -0
  39. package/_esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  40. package/_esm/pages/SendToWallet/SendToConfiguredWalletPage.js +2 -0
  41. package/_esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  42. package/_esm/pages/SendToWallet/SendToWalletPage.js +2 -0
  43. package/_esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  44. package/_esm/pages/SettingsPage/GasPriceSettings.js +2 -2
  45. package/_esm/pages/SettingsPage/GasPriceSettings.js.map +1 -1
  46. package/_esm/pages/SettingsPage/RoutePrioritySettings.js +2 -2
  47. package/_esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -1
  48. package/_esm/pages/SettingsPage/SettingsPage.js +4 -0
  49. package/_esm/pages/SettingsPage/SettingsPage.js.map +1 -1
  50. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +8 -5
  51. package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -1
  52. package/_esm/pages/SettingsPage/ThemeSettings.js +2 -2
  53. package/_esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  54. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +5 -0
  55. package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  56. package/_esm/pages/TransactionHistoryPage/TransactionHistoryPage.js +4 -0
  57. package/_esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  58. package/_esm/pages/TransactionPage/StatusBottomSheet.js +4 -3
  59. package/_esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  60. package/_esm/pages/TransactionPage/StatusBottomSheet.style.d.ts +3 -0
  61. package/_esm/pages/TransactionPage/StatusBottomSheet.style.js +7 -0
  62. package/_esm/pages/TransactionPage/StatusBottomSheet.style.js.map +1 -1
  63. package/_esm/pages/TransactionPage/TransactionPage.js +16 -11
  64. package/_esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  65. package/_esm/stores/header/useHeaderStore.js.map +1 -1
  66. package/_esm/themes/azureLight.js +12 -0
  67. package/_esm/themes/azureLight.js.map +1 -1
  68. package/_esm/themes/createTheme.js +28 -2
  69. package/_esm/themes/createTheme.js.map +1 -1
  70. package/_esm/themes/watermelonLight.js.map +1 -1
  71. package/_esm/types/widget.d.ts +1 -1
  72. package/_esm/types/widget.js.map +1 -1
  73. package/_esm/utils/colors.d.ts +0 -1
  74. package/_esm/utils/colors.js +0 -3
  75. package/_esm/utils/colors.js.map +1 -1
  76. package/components/Header/Header.style.ts +0 -9
  77. package/components/Header/NavigationHeader.tsx +1 -67
  78. package/components/Header/NavigationTabs.tsx +4 -4
  79. package/components/Tabs/Tabs.style.tsx +20 -9
  80. package/config/version.ts +1 -1
  81. package/hooks/useAddressValidation.ts +2 -1
  82. package/hooks/useHeader.ts +18 -0
  83. package/package.json +10 -11
  84. package/pages/ActiveTransactionsPage/ActiveTransactionsPage.tsx +11 -10
  85. package/pages/LanguagesPage.tsx +3 -1
  86. package/pages/MainPage/MainPage.tsx +11 -0
  87. package/pages/RoutesPage/RoutesPage.tsx +21 -18
  88. package/pages/SelectChainPage/SelectChainPage.tsx +5 -0
  89. package/pages/SelectEnabledToolsPage.tsx +17 -15
  90. package/pages/SelectTokenPage/SelectTokenPage.tsx +14 -0
  91. package/pages/SelectWalletPage/SelectWalletPage.tsx +3 -0
  92. package/pages/SendToWallet/BookmarksPage.tsx +3 -0
  93. package/pages/SendToWallet/ConnectedWalletsPage.tsx +2 -0
  94. package/pages/SendToWallet/RecentWalletsPage.tsx +3 -0
  95. package/pages/SendToWallet/SendToConfiguredWalletPage.tsx +3 -0
  96. package/pages/SendToWallet/SendToWalletPage.tsx +3 -0
  97. package/pages/SettingsPage/GasPriceSettings.tsx +3 -3
  98. package/pages/SettingsPage/RoutePrioritySettings.tsx +3 -3
  99. package/pages/SettingsPage/SettingsPage.tsx +5 -0
  100. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +10 -8
  101. package/pages/SettingsPage/ThemeSettings.tsx +3 -3
  102. package/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +7 -0
  103. package/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +5 -0
  104. package/pages/TransactionPage/StatusBottomSheet.style.tsx +8 -0
  105. package/pages/TransactionPage/StatusBottomSheet.tsx +18 -3
  106. package/pages/TransactionPage/TransactionPage.tsx +20 -14
  107. package/stores/header/useHeaderStore.tsx +0 -1
  108. package/themes/azureLight.ts +12 -0
  109. package/themes/createTheme.ts +36 -1
  110. package/themes/watermelonLight.ts +0 -2
  111. package/types/widget.ts +1 -0
  112. package/utils/colors.ts +0 -5
@@ -15,7 +15,7 @@ import { useRouteExecution } from '../../hooks/useRouteExecution.js';
15
15
  import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
16
16
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js';
17
17
  import { useFieldActions } from '../../stores/form/useFieldActions.js';
18
- import { useHeaderStoreContext } from '../../stores/header/useHeaderStore.js';
18
+ import { useHeader } from '../../hooks/useHeader.js';
19
19
  import { RouteExecutionStatus } from '../../stores/routes/types.js';
20
20
  import { WidgetEvent } from '../../types/events.js';
21
21
  import { formatTokenAmount } from '../../utils/format.js';
@@ -40,7 +40,6 @@ export const TransactionPage: React.FC = () => {
40
40
  const { subvariant, insurance, contractSecondaryComponent } =
41
41
  useWidgetConfig();
42
42
  const { state }: any = useLocation();
43
- const headerStoreContext = useHeaderStoreContext();
44
43
  const stateRouteId = state?.routeId;
45
44
  const [routeId, setRouteId] = useState<string>(stateRouteId);
46
45
 
@@ -60,19 +59,26 @@ export const TransactionPage: React.FC = () => {
60
59
  onAcceptExchangeRateUpdate,
61
60
  });
62
61
 
63
- useEffect(() => {
64
- if (route && subvariant !== 'custom') {
65
- const transactionType =
66
- route.fromChainId === route.toChainId ? 'Swap' : 'Bridge';
67
- return headerStoreContext
68
- .getState()
69
- .setTitle(
70
- status === RouteExecutionStatus.Idle
71
- ? t(`button.review${transactionType}`)
72
- : t(`header.${transactionType.toLowerCase() as 'swap' | 'bridge'}`),
73
- );
62
+ const getHeaderTitle = () => {
63
+ if (subvariant === 'custom') {
64
+ return t(`header.purchase`);
65
+ } else {
66
+ if (route) {
67
+ const transactionType =
68
+ route.fromChainId === route.toChainId ? 'Swap' : 'Bridge';
69
+
70
+ return status === RouteExecutionStatus.Idle
71
+ ? t(`button.review${transactionType}`)
72
+ : t(`header.${transactionType.toLowerCase() as 'swap' | 'bridge'}`);
73
+ }
74
74
  }
75
- }, [headerStoreContext, route, status, subvariant, t]);
75
+
76
+ return t(`header.exchange`);
77
+ };
78
+
79
+ const title = getHeaderTitle();
80
+
81
+ useHeader(title);
76
82
 
77
83
  useEffect(() => {
78
84
  if (status === RouteExecutionStatus.Idle) {
@@ -34,7 +34,6 @@ export function useHeaderStore<T>(selector: (state: HeaderState) => T): T {
34
34
  const useStore = useHeaderStoreContext();
35
35
  return useStore(selector);
36
36
  }
37
-
38
37
  export const createHeaderStore = ({ namePrefix }: PersistStoreProps) =>
39
38
  createWithEqualityFn<HeaderState>(
40
39
  (set, get) => ({
@@ -1,3 +1,4 @@
1
+ import { tabsClasses } from '@mui/material';
1
2
  import type { WidgetTheme } from '../types/widget.js';
2
3
 
3
4
  export const azureLightTheme: WidgetTheme = {
@@ -42,5 +43,16 @@ export const azureLightTheme: WidgetTheme = {
42
43
  MuiCard: {
43
44
  defaultProps: { variant: 'filled' },
44
45
  },
46
+ // Used only for 'split' subvariant and can be safely removed if not used
47
+ MuiTabs: {
48
+ styleOverrides: {
49
+ root: {
50
+ backgroundColor: '#f8f8fa',
51
+ [`.${tabsClasses.indicator}`]: {
52
+ backgroundColor: '#ffffff',
53
+ },
54
+ },
55
+ },
56
+ },
45
57
  },
46
58
  };
@@ -15,12 +15,13 @@ import {
15
15
  getContrastRatio,
16
16
  keyframes,
17
17
  lighten,
18
+ tabsClasses,
18
19
  touchRippleClasses,
19
20
  } from '@mui/material';
20
21
  import type { WidgetTheme } from '../types/widget.js';
22
+ import { palette, paletteDark, paletteLight } from './palettes.js';
21
23
  import type {} from './types.js';
22
24
  import { getStyleOverrides } from './utils.js';
23
- import { palette, paletteLight, paletteDark } from './palettes.js';
24
25
 
25
26
  const shape: Shape = {
26
27
  borderRadius: 12,
@@ -365,6 +366,40 @@ export const createTheme = (
365
366
  }),
366
367
  },
367
368
  },
369
+ MuiTabs: {
370
+ ...widgetTheme.components?.MuiTabs,
371
+ styleOverrides: {
372
+ ...widgetTheme.components?.MuiTabs?.styleOverrides,
373
+ root: ({ theme, ownerState }) => {
374
+ const rootStyleOverrides = getStyleOverrides(
375
+ 'MuiTabs',
376
+ 'root',
377
+ widgetTheme,
378
+ ownerState,
379
+ );
380
+ return {
381
+ backgroundColor:
382
+ theme.palette.mode === 'light'
383
+ ? alpha(theme.palette.common.black, 0.04)
384
+ : alpha(theme.palette.common.white, 0.08),
385
+ borderRadius: theme.shape.borderRadius,
386
+ ...rootStyleOverrides,
387
+ [`.${tabsClasses.indicator}`]: {
388
+ backgroundColor:
389
+ theme.palette.mode === 'light'
390
+ ? theme.palette.background.paper
391
+ : alpha(theme.palette.common.black, 0.56),
392
+ borderRadius:
393
+ theme.shape.borderRadius > 0
394
+ ? theme.shape.borderRadius - 4
395
+ : theme.shape.borderRadius,
396
+ boxShadow: `0px 2px 4px ${alpha(theme.palette.common.black, 0.04)}`,
397
+ ...rootStyleOverrides?.[`.${tabsClasses.indicator}`],
398
+ },
399
+ };
400
+ },
401
+ },
402
+ },
368
403
  },
369
404
  });
370
405
  };
@@ -1,6 +1,4 @@
1
1
  import type { WidgetTheme } from '../types/widget.js';
2
- import { alpha } from '@mui/material';
3
- import { palette } from '@lifi/widget';
4
2
 
5
3
  export const watermelonLightTheme: WidgetTheme = {
6
4
  palette: {
package/types/widget.ts CHANGED
@@ -51,6 +51,7 @@ export type WidgetThemeComponents = Pick<
51
51
  | 'MuiCard'
52
52
  | 'MuiIconButton'
53
53
  | 'MuiInputCard'
54
+ | 'MuiTabs'
54
55
  >;
55
56
  export type WidgetTheme = {
56
57
  palette?: Pick<
package/utils/colors.ts CHANGED
@@ -16,11 +16,6 @@ export const getInfoBackgroundColor = (theme: Theme) =>
16
16
  ? alpha(theme.palette.info.main, 0.12)
17
17
  : alpha(theme.palette.info.main, 0.16);
18
18
 
19
- export const getCardFieldsetBackgroundColor = (theme: Theme) =>
20
- theme.palette.mode === 'light'
21
- ? alpha(theme.palette.common.black, 0.04)
22
- : theme.palette.grey[800];
23
-
24
19
  /**
25
20
  * https://github.com/mui/material-ui/blob/next/packages/mui-system/src/colorManipulator/colorManipulator.js
26
21
  * Blend a transparent overlay color with a background color, resulting in a single