@lifi/widget 3.16.1-beta.0 → 3.17.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 (71) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +2 -2
  3. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  4. package/dist/esm/components/SelectChainAndToken.js +2 -1
  5. package/dist/esm/components/SelectChainAndToken.js.map +1 -1
  6. package/dist/esm/components/Step/Step.js +1 -1
  7. package/dist/esm/components/Step/Step.js.map +1 -1
  8. package/dist/esm/components/Timer/RouteTimer.d.ts +4 -0
  9. package/dist/esm/components/Timer/RouteTimer.js +14 -0
  10. package/dist/esm/components/Timer/RouteTimer.js.map +1 -0
  11. package/dist/esm/components/Timer/StepTimer.js +56 -0
  12. package/dist/esm/components/Timer/StepTimer.js.map +1 -0
  13. package/dist/esm/components/Timer/TimerContent.d.ts +2 -0
  14. package/dist/esm/components/Timer/TimerContent.js +18 -0
  15. package/dist/esm/components/Timer/TimerContent.js.map +1 -0
  16. package/dist/esm/config/version.d.ts +1 -1
  17. package/dist/esm/config/version.js +1 -1
  18. package/dist/esm/config/version.js.map +1 -1
  19. package/dist/esm/hooks/timer/useStopwatch.d.ts +16 -0
  20. package/dist/esm/hooks/timer/useStopwatch.js +41 -0
  21. package/dist/esm/hooks/timer/useStopwatch.js.map +1 -0
  22. package/dist/esm/hooks/timer/utils.d.ts +1 -0
  23. package/dist/esm/hooks/timer/utils.js +9 -0
  24. package/dist/esm/hooks/timer/utils.js.map +1 -1
  25. package/dist/esm/hooks/useListHeight.d.ts +12 -0
  26. package/dist/esm/{pages/SelectTokenPage/useTokenListHeight.js → hooks/useListHeight.js} +12 -12
  27. package/dist/esm/hooks/useListHeight.js.map +1 -0
  28. package/dist/esm/hooks/useRoutes.js +3 -1
  29. package/dist/esm/hooks/useRoutes.js.map +1 -1
  30. package/dist/esm/hooks/useSettingMonitor.d.ts +3 -1
  31. package/dist/esm/hooks/useSettingMonitor.js +6 -2
  32. package/dist/esm/hooks/useSettingMonitor.js.map +1 -1
  33. package/dist/esm/i18n/en.json +2 -1
  34. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +3 -3
  35. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  36. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +24 -17
  37. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  38. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.d.ts +1 -0
  39. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js +18 -10
  40. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  41. package/dist/esm/stores/settings/useSettingsStore.d.ts +1 -1
  42. package/dist/esm/stores/settings/useSettingsStore.js +1 -1
  43. package/dist/esm/stores/settings/useSettingsStore.js.map +1 -1
  44. package/dist/esm/types/widget.d.ts +3 -2
  45. package/dist/esm/types/widget.js +1 -0
  46. package/dist/esm/types/widget.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +2 -2
  49. package/src/components/SelectChainAndToken.tsx +2 -1
  50. package/src/components/Step/Step.tsx +1 -1
  51. package/src/components/Timer/RouteTimer.tsx +22 -0
  52. package/src/components/Timer/StepTimer.tsx +84 -0
  53. package/src/components/Timer/TimerContent.tsx +35 -0
  54. package/src/config/version.ts +1 -1
  55. package/src/hooks/timer/useStopwatch.ts +65 -0
  56. package/src/hooks/timer/utils.ts +10 -0
  57. package/src/{pages/SelectTokenPage/useTokenListHeight.ts → hooks/useListHeight.ts} +16 -16
  58. package/src/hooks/useRoutes.ts +3 -1
  59. package/src/hooks/useSettingMonitor.ts +11 -2
  60. package/src/i18n/en.json +2 -1
  61. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +3 -3
  62. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +38 -26
  63. package/src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +48 -31
  64. package/src/stores/settings/useSettingsStore.ts +1 -1
  65. package/src/types/widget.ts +2 -1
  66. package/dist/esm/components/Step/StepTimer.js +0 -86
  67. package/dist/esm/components/Step/StepTimer.js.map +0 -1
  68. package/dist/esm/pages/SelectTokenPage/useTokenListHeight.d.ts +0 -12
  69. package/dist/esm/pages/SelectTokenPage/useTokenListHeight.js.map +0 -1
  70. package/src/components/Step/StepTimer.tsx +0 -137
  71. /package/dist/esm/components/{Step → Timer}/StepTimer.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../../src/pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,2BAA2B,EAAE,CAAA;IAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAA;IAC3D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;QAC5D,aAAa;QACb,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,KAAK,GACT,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAEpB,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhB,MAAM,eAAe,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAA;IAErD,OAAO,CACL,MAAC,iBAAiB,IAAC,cAAc,mBAC/B,MAAC,GAAG,IACF,GAAG,EAAE,SAAS,EACd,EAAE,EAAE;oBACF,EAAE,EAAE,CAAC;oBACL,EAAE,EAAE,CAAC;iBACN,aAEA,CAAC,eAAe,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IACF,EAAE,EAAE;4BACF,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC7B,YAED,KAAC,gBAAgB,KAAG,GAChB,IACF,EACN,KAAC,GAAG,IACF,EAAE,EAAE;oBACF,MAAM,EAAE,aAAa;iBACtB,YAED,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,GAClB,GACE,IACY,CACrB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../../src/pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,2BAA2B,EAAE,CAAA;IAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAA;IAC3D,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;QAClD,aAAa;QACb,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,KAAK,GACT,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IAEpB,SAAS,CAAC,KAAK,CAAC,CAAA;IAEhB,MAAM,eAAe,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAA;IAErD,OAAO,CACL,MAAC,iBAAiB,IAAC,cAAc,mBAC/B,MAAC,GAAG,IACF,GAAG,EAAE,SAAS,EACd,EAAE,EAAE;oBACF,EAAE,EAAE,CAAC;oBACL,EAAE,EAAE,CAAC;iBACN,aAEA,CAAC,eAAe,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IACF,EAAE,EAAE;4BACF,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC7B,YAED,KAAC,gBAAgB,KAAG,GAChB,IACF,EACN,KAAC,GAAG,IACF,EAAE,EAAE;oBACF,MAAM,EAAE,aAAa;iBACtB,YAED,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,GAClB,GACE,IACY,CACrB,CAAA;AACH,CAAC,CAAA"}
@@ -11,49 +11,56 @@ import { formatSlippage } from '../../../utils/format.js';
11
11
  import { BadgedValue } from '../SettingsCard/BadgedValue.js';
12
12
  import { SettingCardExpandable } from '../SettingsCard/SettingCardExpandable.js';
13
13
  import { SettingsFieldSet, SlippageCustomInput, SlippageDefaultButton, SlippageLimitsWarningContainer, } from './SlippageSettings.style.js';
14
+ const DEFAULT_CUSTOM_INPUT_VALUE = '0.5';
14
15
  export const SlippageSettings = () => {
15
16
  const { t } = useTranslation();
16
- const { isSlippageOutsideRecommendedLimits, isSlippageChanged } = useSettingMonitor();
17
+ const { isSlippageNotRecommended, isSlippageUnderRecommendedLimits, isSlippageOutsideRecommendedLimits, isSlippageChanged, } = useSettingMonitor();
17
18
  const { slippage } = useSettings(['slippage']);
18
19
  const { setValue } = useSettingsActions();
19
20
  const defaultValue = useRef(slippage);
20
21
  const [focused, setFocused] = useState();
21
- const customInputValue = !slippage || slippage === defaultSlippage ? '' : slippage;
22
+ const customInputValue = !slippage || slippage === defaultSlippage
23
+ ? DEFAULT_CUSTOM_INPUT_VALUE
24
+ : slippage;
22
25
  const [inputValue, setInputValue] = useState(customInputValue);
23
26
  const handleDefaultClick = () => {
24
- setValue('slippage', formatSlippage(defaultSlippage, defaultValue.current));
27
+ setValue('slippage', defaultSlippage);
25
28
  };
26
29
  const debouncedSetValue = useMemo(() => debounce(setValue, 500), [setValue]);
27
30
  const handleInputUpdate = useCallback((event) => {
28
31
  const { value } = event.target;
29
- setInputValue(formatSlippage(value, defaultValue.current, true));
30
- debouncedSetValue('slippage', formatSlippage(value || defaultSlippage, defaultValue.current, true));
32
+ const formattedValue = formatSlippage(value, defaultValue.current, true);
33
+ setInputValue(formattedValue);
34
+ debouncedSetValue('slippage', formattedValue.length ? formattedValue : defaultSlippage);
31
35
  }, [debouncedSetValue]);
32
- const handleInputBlur = (event) => {
33
- setFocused(undefined);
36
+ const handleInputFocus = (event) => {
37
+ setFocused('input');
34
38
  const { value } = event.target;
35
- const formattedValue = formatSlippage(value || defaultSlippage, defaultValue.current);
36
- setInputValue(formattedValue === defaultSlippage ? '' : formattedValue);
37
- setValue('slippage', formattedValue);
39
+ const formattedValue = formatSlippage(value, defaultValue.current);
40
+ setInputValue(formattedValue);
41
+ setValue('slippage', formattedValue.length ? formattedValue : defaultSlippage);
38
42
  };
39
- const badgeColor = isSlippageOutsideRecommendedLimits
43
+ const badgeColor = isSlippageNotRecommended
40
44
  ? 'warning'
41
45
  : isSlippageChanged
42
46
  ? 'info'
43
47
  : undefined;
44
- return (_jsx(SettingCardExpandable, { value: _jsx(BadgedValue, { badgeColor: badgeColor, showBadge: !!badgeColor, children: `${slippage}%` }), icon: _jsx(Percent, {}), title: t('settings.slippage'), children: _jsxs(Box, { sx: {
48
+ const slippageWarningText = isSlippageOutsideRecommendedLimits
49
+ ? t('warning.message.slippageOutsideRecommendedLimits')
50
+ : isSlippageUnderRecommendedLimits
51
+ ? t('warning.message.slippageUnderRecommendedLimits')
52
+ : '';
53
+ return (_jsx(SettingCardExpandable, { value: _jsx(BadgedValue, { badgeColor: badgeColor, showBadge: !!badgeColor, children: slippage ? `${slippage}%` : t('button.auto') }), icon: _jsx(Percent, {}), title: t('settings.slippage'), children: _jsxs(Box, { sx: {
45
54
  mt: 1.5,
46
55
  }, children: [_jsxs(SettingsFieldSet, { children: [_jsx(SlippageDefaultButton, { selected: defaultSlippage === slippage && focused !== 'input', onFocus: () => {
47
56
  setFocused('button');
48
57
  }, onBlur: () => {
49
58
  setFocused(undefined);
50
- }, onClick: handleDefaultClick, disableRipple: true, children: defaultSlippage }), _jsx(SlippageCustomInput, { selected: defaultSlippage !== slippage && focused !== 'button', placeholder: focused === 'input' ? '' : t('settings.custom'), inputProps: {
59
+ }, onClick: handleDefaultClick, disableRipple: true, children: t('button.auto') }), _jsx(SlippageCustomInput, { selected: defaultSlippage !== slippage && focused !== 'button', placeholder: focused === 'input' ? '' : t('settings.custom'), inputProps: {
51
60
  inputMode: 'decimal',
52
- }, onChange: handleInputUpdate, onFocus: () => {
53
- setFocused('input');
54
- }, onBlur: handleInputBlur, value: inputValue, autoComplete: "off" })] }), isSlippageOutsideRecommendedLimits && (_jsxs(SlippageLimitsWarningContainer, { children: [_jsx(WarningRounded, { color: "warning" }), _jsx(Typography, { sx: {
61
+ }, onChange: handleInputUpdate, onFocus: handleInputFocus, value: inputValue, autoComplete: "off", onBlur: () => setFocused(undefined) })] }), isSlippageNotRecommended && (_jsxs(SlippageLimitsWarningContainer, { children: [_jsx(WarningRounded, { color: "warning" }), _jsx(Typography, { sx: {
55
62
  fontSize: 13,
56
63
  fontWeight: 400,
57
- }, children: t('warning.message.slippageOutsideRecommendedLimits') })] }))] }) }));
64
+ }, children: slippageWarningText })] }))] }) }));
58
65
  };
59
66
  //# sourceMappingURL=SlippageSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlippageSettings.js","sourceRoot":"","sources":["../../../../../src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlippageSettings.js","sourceRoot":"","sources":["../../../../../src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ import type React from 'react';
1
2
  export declare const TransactionHistoryPage: React.FC;
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { List } from '@mui/material';
2
+ import { Box, List } from '@mui/material';
3
3
  import { useVirtualizer } from '@tanstack/react-virtual';
4
4
  import { useRef } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { PageContainer } from '../../components/PageContainer.js';
7
7
  import { useHeader } from '../../hooks/useHeader.js';
8
8
  import { useTransactionHistory } from '../../hooks/useTransactionHistory.js';
9
+ import { useListHeight } from '../../hooks/useListHeight.js';
9
10
  import { TransactionHistoryEmpty } from './TransactionHistoryEmpty.js';
10
11
  import { TransactionHistoryItem } from './TransactionHistoryItem.js';
11
12
  import { TransactionHistoryItemSkeleton } from './TransactionHistorySkeleton.js';
@@ -16,9 +17,12 @@ export const TransactionHistoryPage = () => {
16
17
  const { data: transactions, isLoading } = useTransactionHistory();
17
18
  const { t } = useTranslation();
18
19
  useHeader(t('header.transactionHistory'));
20
+ const { listHeight } = useListHeight({
21
+ listParentRef: parentRef,
22
+ });
19
23
  const { getVirtualItems, getTotalSize } = useVirtualizer({
20
24
  count: transactions.length,
21
- overscan: 10,
25
+ overscan: 5,
22
26
  paddingEnd: 12,
23
27
  getScrollElement: () => parentRef.current,
24
28
  estimateSize: () => 186,
@@ -27,13 +31,17 @@ export const TransactionHistoryPage = () => {
27
31
  if (!transactions.length && !isLoading) {
28
32
  return _jsx(TransactionHistoryEmpty, {});
29
33
  }
30
- return (_jsx(PageContainer, { ref: parentRef, style: { height: minTransactionListHeight, overflow: 'auto' }, children: isLoading ? (_jsx(List, { disablePadding: true, children: Array.from({ length: 3 }).map((_, index) => (_jsx(TransactionHistoryItemSkeleton, {}, index))) })) : (_jsx(List, { style: {
31
- height: getTotalSize(),
32
- width: '100%',
33
- position: 'relative',
34
- }, disablePadding: true, children: getVirtualItems().map((item) => {
35
- const transaction = transactions[item.index];
36
- return (_jsx(TransactionHistoryItem, { start: item.start, transaction: transaction }, item.key));
37
- }) })) }));
34
+ return (_jsx(PageContainer, { disableGutters: true, style: { minHeight: minTransactionListHeight }, children: _jsx(Box, { ref: parentRef, style: {
35
+ height: listHeight,
36
+ }, sx: {
37
+ overflow: 'auto',
38
+ paddingX: 3,
39
+ }, children: isLoading ? (_jsx(List, { disablePadding: true, children: Array.from({ length: 3 }).map((_, index) => (_jsx(TransactionHistoryItemSkeleton, {}, index))) })) : (_jsx(List, { style: {
40
+ height: getTotalSize(),
41
+ position: 'relative',
42
+ }, disablePadding: true, children: getVirtualItems().map((item) => {
43
+ const transaction = transactions[item.index];
44
+ return (_jsx(TransactionHistoryItem, { start: item.start, transaction: transaction }, item.key));
45
+ }) })) }) }));
38
46
  };
39
47
  //# sourceMappingURL=TransactionHistoryPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionHistoryPage.js","sourceRoot":"","sources":["../../../../src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAa,GAAG,EAAE;IACnD,kGAAkG;IAClG,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACrD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAEjE,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAEzC,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;QACvD,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;QACzC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG;QACvB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,GAAI,YAAY,CAAC,KAAK,CAAoB,CAAC,aAAa,IAAI,KAAK,EAAE;KACtE,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO,KAAC,uBAAuB,KAAG,CAAA;IACpC,CAAC;IAED,OAAO,CACL,KAAC,aAAa,IACZ,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAE5D,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,IAAI,IAAC,cAAc,kBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,KAAC,8BAA8B,MAAM,KAAK,CAAI,CAC/C,CAAC,GACG,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IACH,KAAK,EAAE;gBACL,MAAM,EAAE,YAAY,EAAE;gBACtB,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,UAAU;aACrB,EACD,cAAc,kBAEb,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC5C,OAAO,CACL,KAAC,sBAAsB,IAErB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,WAAW,IAFnB,IAAI,CAAC,GAAG,CAGb,CACH,CAAA;YACH,CAAC,CAAC,GACG,CACR,GACa,CACjB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"TransactionHistoryPage.js","sourceRoot":"","sources":["../../../../src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SettingsProps, SettingsState } from './types.js';
2
- export declare const defaultSlippage = "0.5";
2
+ export declare const defaultSlippage: undefined;
3
3
  export declare const defaultConfigurableSettings: Pick<SettingsState, 'routePriority' | 'slippage' | 'gasPrice'>;
4
4
  export declare const defaultSettings: SettingsProps;
5
5
  export declare const useSettingsStore: import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<SettingsState>>;
@@ -2,7 +2,7 @@ import { persist } from 'zustand/middleware';
2
2
  import { createWithEqualityFn } from 'zustand/traditional';
3
3
  import { SettingsToolTypes } from './types.js';
4
4
  import { getStateValues } from './utils/getStateValues.js';
5
- export const defaultSlippage = '0.5';
5
+ export const defaultSlippage = undefined;
6
6
  export const defaultConfigurableSettings = {
7
7
  routePriority: 'CHEAPEST',
8
8
  slippage: defaultSlippage,
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../../src/stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../../src/stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,8 @@ export declare enum HiddenUI {
48
48
  ToAddress = "toAddress",
49
49
  ToToken = "toToken",
50
50
  WalletMenu = "walletMenu",
51
- IntegratorStepDetails = "integratorStepDetails"
51
+ IntegratorStepDetails = "integratorStepDetails",
52
+ ReverseTokensButton = "reverseTokensButton"
52
53
  }
53
54
  export type HiddenUIType = `${HiddenUI}`;
54
55
  export declare enum RequiredUI {
@@ -86,7 +87,7 @@ export interface CalculateFeeParams {
86
87
  toAddress?: string;
87
88
  fromAmount?: bigint;
88
89
  toAmount?: bigint;
89
- slippage: number;
90
+ slippage?: number;
90
91
  }
91
92
  export interface WidgetFeeConfig {
92
93
  name?: string;
@@ -16,6 +16,7 @@ export var HiddenUI;
16
16
  HiddenUI["ToToken"] = "toToken";
17
17
  HiddenUI["WalletMenu"] = "walletMenu";
18
18
  HiddenUI["IntegratorStepDetails"] = "integratorStepDetails";
19
+ HiddenUI["ReverseTokensButton"] = "reverseTokensButton";
19
20
  })(HiddenUI || (HiddenUI = {}));
20
21
  export var RequiredUI;
21
22
  (function (RequiredUI) {
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;AACjD,CAAC,EAVW,QAAQ,KAAR,QAAQ,QAUnB;AAGD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,qCAAuB,CAAA;AACzB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;IAC/C,uDAA2C,CAAA;AAC7C,CAAC,EAXW,QAAQ,KAAR,QAAQ,QAWnB;AAGD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,qCAAuB,CAAA;AACzB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.16.1-beta.0",
3
+ "version": "3.17.0",
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",
@@ -7,7 +7,7 @@ import { RouteExecutionStatus } from '../../stores/routes/types.js'
7
7
  import { navigationRoutes } from '../../utils/navigationRoutes.js'
8
8
  import { TokenAvatarGroup } from '../Avatar/Avatar.style.js'
9
9
  import { TokenAvatar } from '../Avatar/TokenAvatar.js'
10
- import { StepTimer } from '../Step/StepTimer.js'
10
+ import { RouteTimer } from '../Timer/RouteTimer.js'
11
11
  import { ListItem, ListItemButton } from './ActiveTransactions.style.js'
12
12
 
13
13
  export const ActiveTransactionItem: React.FC<{
@@ -47,7 +47,7 @@ export const ActiveTransactionItem: React.FC<{
47
47
  fontWeight: 600,
48
48
  }}
49
49
  >
50
- <StepTimer step={lastActiveStep} hideInProgress />
50
+ <RouteTimer route={route} />
51
51
  </Typography>
52
52
  )
53
53
  }
@@ -24,7 +24,8 @@ export const SelectChainAndToken: React.FC<BoxProps> = (props) => {
24
24
  subvariant === 'refuel' ||
25
25
  disabledUI?.includes(DisabledUI.FromToken) ||
26
26
  disabledUI?.includes(DisabledUI.ToToken) ||
27
- hiddenUI?.includes(HiddenUI.ToToken)
27
+ hiddenUI?.includes(HiddenUI.ToToken) ||
28
+ hiddenUI?.includes(HiddenUI.ReverseTokensButton)
28
29
 
29
30
  const hiddenToToken =
30
31
  subvariant === 'custom' || hiddenUI?.includes(HiddenUI.ToToken)
@@ -8,9 +8,9 @@ import { Token } from '../../components/Token/Token.js'
8
8
  import { useExplorer } from '../../hooks/useExplorer.js'
9
9
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
10
10
  import { shortenAddress } from '../../utils/wallet.js'
11
+ import { StepTimer } from '../Timer/StepTimer.js'
11
12
  import { DestinationWalletAddress } from './DestinationWalletAddress.js'
12
13
  import { StepProcess } from './StepProcess.js'
13
- import { StepTimer } from './StepTimer.js'
14
14
 
15
15
  export const Step: React.FC<{
16
16
  step: LiFiStepExtended
@@ -0,0 +1,22 @@
1
+ import type { RouteExtended } from '@lifi/sdk'
2
+ import { useStopwatch } from '../../hooks/timer/useStopwatch.js'
3
+ import { TimerContent } from './TimerContent.js'
4
+
5
+ export const RouteTimer: React.FC<{
6
+ route: RouteExtended
7
+ }> = ({ route }) => {
8
+ const firstActiveStep = route?.steps.find((step) => step.execution)
9
+ const firstActiveProcess = firstActiveStep?.execution?.process.at(0)
10
+
11
+ const startTime = new Date(firstActiveProcess?.startedAt ?? Date.now())
12
+ const { seconds, minutes } = useStopwatch({
13
+ autoStart: true,
14
+ offsetTimestamp: startTime,
15
+ })
16
+
17
+ return (
18
+ <TimerContent>
19
+ {`${minutes}:${seconds < 10 ? `0${seconds}` : seconds}`}
20
+ </TimerContent>
21
+ )
22
+ }
@@ -0,0 +1,84 @@
1
+ import type { LiFiStepExtended } from '@lifi/sdk'
2
+ import { useEffect, useState } from 'react'
3
+ import { useTranslation } from 'react-i18next'
4
+ import { useStopwatch } from '../../hooks/timer/useStopwatch.js'
5
+ import { TimerContent } from './TimerContent.js'
6
+
7
+ const getFirstExecutionProcess = (step: LiFiStepExtended) =>
8
+ step.execution?.process.at(0)
9
+
10
+ const getExecutionProcess = (step: LiFiStepExtended) =>
11
+ step.execution?.process.at(-1)
12
+
13
+ const getStartTimestamp = (step: LiFiStepExtended) =>
14
+ new Date(getFirstExecutionProcess(step)?.startedAt ?? Date.now())
15
+
16
+ export const StepTimer: React.FC<{
17
+ step: LiFiStepExtended
18
+ hideInProgress?: boolean
19
+ }> = ({ step }) => {
20
+ const { i18n } = useTranslation()
21
+
22
+ const [isExecutionStarted, setExecutionStarted] = useState(
23
+ () => !!getExecutionProcess(step)
24
+ )
25
+
26
+ const { seconds, minutes, isRunning, pause, reset, start } = useStopwatch({
27
+ autoStart: true,
28
+ offsetTimestamp: getStartTimestamp(step),
29
+ })
30
+
31
+ useEffect(() => {
32
+ const executionProcess = getExecutionProcess(step)
33
+ if (!executionProcess) {
34
+ return
35
+ }
36
+
37
+ const shouldRestart =
38
+ executionProcess.status === 'FAILED' || executionProcess.status === 'DONE'
39
+ const shouldStart =
40
+ executionProcess.status === 'STARTED' ||
41
+ executionProcess.status === 'PENDING'
42
+ const shouldResume = executionProcess.status === 'PENDING'
43
+ if (isExecutionStarted && shouldRestart) {
44
+ setExecutionStarted(false)
45
+ pause()
46
+ return
47
+ }
48
+ if (isExecutionStarted && !isRunning && shouldResume) {
49
+ start()
50
+ return
51
+ }
52
+ if (!isExecutionStarted && shouldStart) {
53
+ setExecutionStarted(true)
54
+ reset()
55
+ return
56
+ }
57
+ }, [isExecutionStarted, isRunning, pause, reset, start, step])
58
+
59
+ if (step.execution?.status === 'DONE') {
60
+ return null
61
+ }
62
+
63
+ if (!isExecutionStarted) {
64
+ const showSeconds = step.estimate.executionDuration < 60
65
+ const duration = showSeconds
66
+ ? Math.floor(step.estimate.executionDuration)
67
+ : Math.floor(step.estimate.executionDuration / 60)
68
+ return (
69
+ <TimerContent>
70
+ {duration.toLocaleString(i18n.language, {
71
+ style: 'unit',
72
+ unit: showSeconds ? 'second' : 'minute',
73
+ unitDisplay: 'narrow',
74
+ })}
75
+ </TimerContent>
76
+ )
77
+ }
78
+
79
+ return (
80
+ <TimerContent>
81
+ {`${minutes}:${seconds < 10 ? `0${seconds}` : seconds}`}
82
+ </TimerContent>
83
+ )
84
+ }
@@ -0,0 +1,35 @@
1
+ import { AccessTimeFilled } from '@mui/icons-material'
2
+ import { Tooltip } from '@mui/material'
3
+ import { Box } from '@mui/system'
4
+ import type { FC, PropsWithChildren } from 'react'
5
+ import { useTranslation } from 'react-i18next'
6
+ import { IconTypography } from '../IconTypography.js'
7
+
8
+ export const TimerContent: FC<PropsWithChildren> = ({ children }) => {
9
+ const { t } = useTranslation()
10
+ return (
11
+ <Tooltip title={t('tooltip.estimatedTime')} sx={{ cursor: 'help' }}>
12
+ <Box
13
+ component="span"
14
+ sx={{
15
+ display: 'flex',
16
+ alignItems: 'center',
17
+ height: 14,
18
+ }}
19
+ >
20
+ <IconTypography as="span" sx={{ marginRight: 0.5, fontSize: 16 }}>
21
+ <AccessTimeFilled fontSize="inherit" />
22
+ </IconTypography>
23
+ <Box
24
+ component="span"
25
+ sx={{
26
+ fontVariantNumeric: 'tabular-nums',
27
+ cursor: 'help',
28
+ }}
29
+ >
30
+ {children}
31
+ </Box>
32
+ </Box>
33
+ </Tooltip>
34
+ )
35
+ }
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.16.1-beta.0'
2
+ export const version = '3.17.0'
@@ -0,0 +1,65 @@
1
+ import { useCallback, useState } from 'react'
2
+ import { useInterval } from './useInterval.js'
3
+ import { getSecondsFromPrevTime, getTimeFromSeconds } from './utils.js'
4
+
5
+ const DEFAULT_DELAY = 1000
6
+
7
+ interface UseStopwatchProps {
8
+ offsetTimestamp: Date
9
+ autoStart?: boolean
10
+ }
11
+
12
+ // This implementation was taken from the common js project - https://www.npmjs.com/package/react-timer-hook
13
+ // modified to work in the Widget codebase with Typescript
14
+ export function useStopwatch({
15
+ autoStart,
16
+ offsetTimestamp,
17
+ }: UseStopwatchProps) {
18
+ const [passedSeconds, setPassedSeconds] = useState(
19
+ getSecondsFromPrevTime(offsetTimestamp, true) || 0
20
+ )
21
+ const [prevTime, setPrevTime] = useState(new Date())
22
+ const [seconds, setSeconds] = useState(
23
+ passedSeconds + getSecondsFromPrevTime(prevTime, true)
24
+ )
25
+ const [isRunning, setIsRunning] = useState(autoStart)
26
+
27
+ const start = useCallback(() => {
28
+ const newPrevTime = new Date()
29
+ setPrevTime(newPrevTime)
30
+ setIsRunning(true)
31
+ setSeconds(passedSeconds + getSecondsFromPrevTime(newPrevTime, true))
32
+ }, [passedSeconds])
33
+
34
+ const pause = useCallback(() => {
35
+ setPassedSeconds(seconds)
36
+ setIsRunning(false)
37
+ }, [seconds])
38
+
39
+ const reset = useCallback(
40
+ (offset = offsetTimestamp, newAutoStart = true) => {
41
+ const newPassedSeconds = getSecondsFromPrevTime(offset, true) || 0
42
+ const newPrevTime = new Date()
43
+ setPrevTime(newPrevTime)
44
+ setPassedSeconds(newPassedSeconds)
45
+ setIsRunning(newAutoStart)
46
+ setSeconds(newPassedSeconds + getSecondsFromPrevTime(newPrevTime, true))
47
+ },
48
+ [offsetTimestamp]
49
+ )
50
+
51
+ useInterval(
52
+ () => {
53
+ setSeconds(passedSeconds + getSecondsFromPrevTime(prevTime, true))
54
+ },
55
+ isRunning ? DEFAULT_DELAY : 0
56
+ )
57
+
58
+ return {
59
+ ...getTimeFromSeconds(seconds),
60
+ start,
61
+ pause,
62
+ reset,
63
+ isRunning,
64
+ }
65
+ }
@@ -24,6 +24,16 @@ export function getSecondsFromExpiry(expiry: Date, shouldRound?: boolean) {
24
24
  return 0
25
25
  }
26
26
 
27
+ export function getSecondsFromPrevTime(prevTime: Date, shouldRound?: boolean) {
28
+ const now = new Date().getTime()
29
+ const milliSecondsDistance = now - prevTime.getTime()
30
+ if (milliSecondsDistance > 0) {
31
+ const val = milliSecondsDistance / 1000
32
+ return shouldRound ? Math.round(val) : val
33
+ }
34
+ return 0
35
+ }
36
+
27
37
  export function validateExpiryTimestamp(expiryTimestamp: Date) {
28
38
  const isValid = new Date(expiryTimestamp).getTime() > 0
29
39
  if (!isValid) {
@@ -1,17 +1,17 @@
1
1
  import { debounce, useTheme } from '@mui/material'
2
- import type { MutableRefObject } from 'react'
2
+ import type { RefObject } from 'react'
3
3
  import { useLayoutEffect, useState } from 'react'
4
- import { useDefaultElementId } from '../../hooks/useDefaultElementId.js'
5
4
  import {
6
5
  ElementId,
7
6
  getAppContainer,
8
7
  getHeaderElement,
9
8
  getScrollableContainer,
10
- } from '../../utils/elements.js'
9
+ } from '../utils/elements.js'
10
+ import { useDefaultElementId } from './useDefaultElementId.js'
11
11
 
12
12
  const getContentHeight = (
13
13
  elementId: string,
14
- listParentRef: MutableRefObject<HTMLUListElement | null>
14
+ listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>
15
15
  ) => {
16
16
  const containerElement = getScrollableContainer(elementId)
17
17
 
@@ -22,7 +22,7 @@ const getContentHeight = (
22
22
  let oldHeight: string | undefined = undefined
23
23
 
24
24
  // This covers the case where in full height flex mode when the browser height is reduced
25
- // - this allows the virtualised token list to be made smaller
25
+ // - this allows a virtualised list to be made smaller
26
26
  if (listParentElement) {
27
27
  oldHeight = listParentElement.style.height
28
28
  listParentElement.style.height = '0'
@@ -38,7 +38,7 @@ const getContentHeight = (
38
38
  const { height: headerHeight } = headerElement.getBoundingClientRect()
39
39
 
40
40
  // This covers the case where in full height flex mode when the browser height is reduced the
41
- // - this allows the virtualised token list to be set to minimum size
41
+ // - this allows a virtualised list to be set to minimum size
42
42
  if (listParentElement && oldHeight) {
43
43
  listParentElement.style.height = oldHeight
44
44
  }
@@ -47,18 +47,18 @@ const getContentHeight = (
47
47
  }
48
48
 
49
49
  interface UseContentHeightProps {
50
- listParentRef: MutableRefObject<HTMLUListElement | null>
51
- headerRef: MutableRefObject<HTMLElement | null>
50
+ listParentRef: RefObject<HTMLUListElement | HTMLDivElement | null>
51
+ headerRef?: RefObject<HTMLElement | null>
52
52
  }
53
53
 
54
- export const minTokenListHeight = 360
55
- export const minMobileTokenListHeight = 160
54
+ export const defaultMinListHeight = 360
55
+ export const minMobileListHeight = 160
56
56
 
57
57
  // NOTE: this hook is implicitly tied to the widget height functionality in the
58
58
  // AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts
59
59
  // CSS changes in those components can have implications for the functionality in this hook
60
60
 
61
- export const useTokenListHeight = ({
61
+ export const useListHeight = ({
62
62
  listParentRef,
63
63
  headerRef,
64
64
  }: UseContentHeightProps) => {
@@ -93,16 +93,16 @@ export const useTokenListHeight = ({
93
93
 
94
94
  const minListHeight =
95
95
  theme.container?.height === '100%'
96
- ? minMobileTokenListHeight
97
- : minTokenListHeight
96
+ ? minMobileListHeight
97
+ : defaultMinListHeight
98
98
 
99
- const tokenListHeight = Math.max(
100
- contentHeight - (headerRef.current?.offsetHeight ?? 0),
99
+ const listHeight = Math.max(
100
+ contentHeight - (headerRef?.current?.offsetHeight ?? 0),
101
101
  minListHeight
102
102
  )
103
103
 
104
104
  return {
105
105
  minListHeight,
106
- tokenListHeight,
106
+ listHeight,
107
107
  }
108
108
  }