@lifi/widget 3.27.6 → 3.28.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.
- package/CHANGELOG.md +14 -0
- package/dist/esm/components/Skeleton/WidgetSkeleton.js +2 -2
- package/dist/esm/components/Tools/ToolItem.d.ts +8 -0
- package/dist/esm/components/Tools/ToolItem.js +16 -0
- package/dist/esm/components/Tools/ToolItem.js.map +1 -0
- package/dist/esm/components/Tools/Tools.d.ts +8 -0
- package/dist/esm/components/Tools/Tools.js +32 -0
- package/dist/esm/components/Tools/Tools.js.map +1 -0
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useTokens.js +2 -0
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/pages/SelectEnabledToolsPage.js +25 -35
- package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
- package/dist/esm/themes/createTheme.js +10 -0
- package/dist/esm/themes/createTheme.js.map +1 -1
- package/dist/esm/themes/windows95.js +17 -1
- package/dist/esm/themes/windows95.js.map +1 -1
- package/dist/esm/types/widget.d.ts +1 -1
- package/dist/esm/types/widget.js.map +1 -1
- package/package.json +5 -5
- package/package.json.tmp +4 -4
- package/src/components/Skeleton/WidgetSkeleton.tsx +3 -3
- package/src/components/Tools/ToolItem.tsx +42 -0
- package/src/components/Tools/Tools.tsx +61 -0
- package/src/config/version.ts +1 -1
- package/src/hooks/useTokens.ts +2 -0
- package/src/pages/SelectEnabledToolsPage.tsx +75 -112
- package/src/themes/createTheme.ts +10 -0
- package/src/themes/windows95.ts +17 -1
- package/src/types/widget.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
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.28.0](https://github.com/lifinance/widget/compare/v3.27.6...v3.28.0) (2025-08-20)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add checkbox customization ([#515](https://github.com/lifinance/widget/issues/515)) ([ec4f7e3](https://github.com/lifinance/widget/commit/ec4f7e3acb831c23d77c92f70d90baed39468b36))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* adjust skeleton heights ([1dc74f1](https://github.com/lifinance/widget/commit/1dc74f1f7a1ee6f0e827d3aa4b15e271fc3c7d94))
|
|
16
|
+
* remix example ([862bcb5](https://github.com/lifinance/widget/commit/862bcb5b6b025baceff7c4747c90634470ffe299))
|
|
17
|
+
* sort tokens by volume and add limit ([#518](https://github.com/lifinance/widget/issues/518)) ([9f5546a](https://github.com/lifinance/widget/commit/9f5546aae28cd7efe7d3c05d6acdd97037bf8199))
|
|
18
|
+
|
|
5
19
|
### [3.27.6](https://github.com/lifinance/widget/compare/v3.27.5...v3.27.6) (2025-08-18)
|
|
6
20
|
|
|
7
21
|
|
|
@@ -5,7 +5,7 @@ import { createTheme } from '../../themes/createTheme.js';
|
|
|
5
5
|
import { AppExpandedContainer, FlexContainer, RelativeContainer, } from '../AppContainer.js';
|
|
6
6
|
import { SkeletonAmountContainer, SkeletonCard, SkeletonCardRow, SkeletonHeaderAppBar, SkeletonHeaderContainer, SkeletonInputCard, SkeletonPoweredByContainer, SkeletonReviewButton, SkeletonReviewButtonContainer, SkeletonSendToWalletButton, SkeletonWalletMenuButtonContainer, } from './WidgetSkeleton.style.js';
|
|
7
7
|
const SkeletonIcon = () => _jsx(Skeleton, { width: 24, height: 24, variant: "rounded" });
|
|
8
|
-
const SkeletonWalletMenuButton = () => (_jsxs(SkeletonWalletMenuButtonContainer, { children: [_jsx(Skeleton, { width: 98, height:
|
|
8
|
+
const SkeletonWalletMenuButton = () => (_jsxs(SkeletonWalletMenuButtonContainer, { children: [_jsx(Skeleton, { width: 98, height: 24, variant: "text" }), _jsx(SkeletonIcon, {})] }));
|
|
9
9
|
const SkeletonSelectCard = ({ titleWidth = 36, placeholderWidth = 195, }) => (_jsxs(SkeletonCard, { elevation: 0, children: [_jsx(Skeleton, { width: titleWidth, height: 22, variant: "text" }), _jsxs(SkeletonCardRow, { children: [_jsx(Skeleton, { width: 40, height: 40, variant: "circular" }), _jsx(Skeleton, { width: placeholderWidth, height: 27, variant: "text" })] })] }));
|
|
10
10
|
const SkeletonYouPayCard = () => (_jsxs(SkeletonInputCard, { elevation: 0, children: [_jsx(Skeleton, { width: 55, height: 22, variant: "text" }), _jsxs(SkeletonCardRow, { children: [_jsx(Skeleton, { width: 40, height: 40, variant: "circular" }), _jsxs(SkeletonAmountContainer, { children: [_jsx(Skeleton, { width: 48, height: 37, variant: "text", sx: { marginTop: -0.75 } }), _jsx(Skeleton, { width: 48, height: 12, variant: "text" })] })] })] }));
|
|
11
11
|
export const WidgetSkeleton = ({ config }) => {
|
|
@@ -20,7 +20,7 @@ export const WidgetSkeleton = ({ config }) => {
|
|
|
20
20
|
: 'light'
|
|
21
21
|
: appearance;
|
|
22
22
|
const theme = useMemo(() => createTheme(configTheme), [configTheme]);
|
|
23
|
-
return (_jsx(ThemeProvider, { theme: theme, defaultMode: appearanceMode, modeStorageKey: "li.fi-widget-mode", colorSchemeStorageKey: "li.fi-widget-color-scheme", disableTransitionOnChange: true, children: _jsx(AppExpandedContainer, { children: _jsxs(RelativeContainer, { sx: { display: 'flex', flexDirection: 'column' }, children: [_jsxs(SkeletonHeaderContainer, { children: [!hiddenUI.includes('walletMenu') ? (_jsx(SkeletonHeaderAppBar, { children: _jsx(SkeletonWalletMenuButton, {}) })) : null, _jsxs(SkeletonHeaderAppBar, { sx: { justifyContent: 'space-between', height:
|
|
23
|
+
return (_jsx(ThemeProvider, { theme: theme, defaultMode: appearanceMode, modeStorageKey: "li.fi-widget-mode", colorSchemeStorageKey: "li.fi-widget-color-scheme", disableTransitionOnChange: true, children: _jsx(AppExpandedContainer, { children: _jsxs(RelativeContainer, { sx: { display: 'flex', flexDirection: 'column' }, children: [_jsxs(SkeletonHeaderContainer, { children: [!hiddenUI.includes('walletMenu') ? (_jsx(SkeletonHeaderAppBar, { children: _jsx(SkeletonWalletMenuButton, {}) })) : null, _jsxs(SkeletonHeaderAppBar, { sx: { justifyContent: 'space-between', height: 52 }, children: [_jsx(Skeleton, { width: 124, height: 36, variant: "text" }), _jsx(SkeletonIcon, {})] })] }), _jsxs(FlexContainer, { sx: {
|
|
24
24
|
gap: 2,
|
|
25
25
|
paddingBottom: hiddenUI.includes('poweredBy') ? 3 : 2,
|
|
26
26
|
}, children: [_jsx(SkeletonSelectCard, {}), _jsx(SkeletonSelectCard, {}), _jsx(SkeletonYouPayCard, {}), requiredUI.includes('toAddress') ? (_jsx(SkeletonSelectCard, { titleWidth: 104, placeholderWidth: 175 })) : null, _jsxs(SkeletonReviewButtonContainer, { children: [_jsx(SkeletonReviewButton, { variant: "contained", fullWidth: true, children: "\u00A0" }), !requiredUI.includes('toAddress') ? (_jsx(SkeletonSendToWalletButton, { variant: "text", fullWidth: true, children: "\u00A0" })) : null] })] }), !hiddenUI.includes('poweredBy') ? (_jsx(SkeletonPoweredByContainer, { children: _jsx(Skeleton, { width: 96, height: 18, variant: "text" }) })) : null] }) }) }));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Avatar, Checkbox, ListItemAvatar } from '@mui/material';
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { ListItemText } from '../ListItemText.js';
|
|
5
|
+
import { SettingsListItemButton } from '../SettingsListItemButton.js';
|
|
6
|
+
export const ToolItem = memo(({ tool, typeKey, isEnabled, onToggle }) => {
|
|
7
|
+
const handleClick = () => {
|
|
8
|
+
onToggle(tool.key);
|
|
9
|
+
};
|
|
10
|
+
const handleCheckboxClick = (e) => {
|
|
11
|
+
e.stopPropagation();
|
|
12
|
+
onToggle(tool.key);
|
|
13
|
+
};
|
|
14
|
+
return (_jsxs(SettingsListItemButton, { onClick: handleClick, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), _jsx(Checkbox, { id: `${typeKey}-${tool.key}-checkbox`, checked: isEnabled, onChange: handleClick, onClick: handleCheckboxClick, sx: { mr: -1 } })] }));
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=ToolItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolItem.js","sourceRoot":"","sources":["../../../../src/components/Tools/ToolItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AASrE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAC1B,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzC,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,CAAmB,EAAE,EAAE;QAClD,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,OAAO,CACL,MAAC,sBAAsB,IAAC,OAAO,EAAE,WAAW,aAC1C,KAAC,cAAc,cACb,KAAC,MAAM,IAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,YACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GACN,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAI,EACpC,KAAC,QAAQ,IACP,EAAE,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,WAAW,EACrC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GACd,IACqB,CAC1B,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ToolsResponse } from '@lifi/sdk';
|
|
2
|
+
export type ToolCollectionTypes = ToolsResponse['exchanges'] | ToolsResponse['bridges'];
|
|
3
|
+
interface ToolsProps {
|
|
4
|
+
filteredTools: ToolCollectionTypes;
|
|
5
|
+
type: 'Bridges' | 'Exchanges';
|
|
6
|
+
}
|
|
7
|
+
export declare const Tools: ({ filteredTools, type }: ToolsProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useRef } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { useSettingsActions } from '../../stores/settings/useSettingsActions.js';
|
|
5
|
+
import { useSettingsStore } from '../../stores/settings/useSettingsStore.js';
|
|
6
|
+
import { SearchList } from '../Search/SearchInput.style.js';
|
|
7
|
+
import { SearchNotFound } from '../Search/SearchNotFound.js';
|
|
8
|
+
import { ToolItem } from './ToolItem.js';
|
|
9
|
+
export const Tools = ({ filteredTools, type }) => {
|
|
10
|
+
const { t } = useTranslation();
|
|
11
|
+
const typeKey = type.toLowerCase();
|
|
12
|
+
const enabledTools = useSettingsStore((state) => state[`_enabled${type}`]);
|
|
13
|
+
const { setToolValue } = useSettingsActions();
|
|
14
|
+
// Use ref to access current enabledTools without causing re-renders
|
|
15
|
+
const enabledToolsRef = useRef(enabledTools);
|
|
16
|
+
enabledToolsRef.current = enabledTools;
|
|
17
|
+
const toggleCallbacks = useMemo(() => {
|
|
18
|
+
const callbacks = {};
|
|
19
|
+
filteredTools.forEach((tool) => {
|
|
20
|
+
callbacks[tool.key] = () => {
|
|
21
|
+
// Access current state via ref to avoid dependency on enabledTools
|
|
22
|
+
setToolValue(type, tool.key, !enabledToolsRef.current[tool.key]);
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
return callbacks;
|
|
26
|
+
}, [filteredTools, setToolValue, type]);
|
|
27
|
+
if (!filteredTools.length) {
|
|
28
|
+
return (_jsx(SearchNotFound, { message: t(`info.message.empty${type}List`), adjustForStickySearchInput: true }));
|
|
29
|
+
}
|
|
30
|
+
return (_jsx(SearchList, { className: "long-list", "data-testid": `${typeKey}-list`, children: filteredTools.map((tool) => (_jsx(ToolItem, { tool: tool, typeKey: typeKey, isEnabled: enabledTools[tool.key], onToggle: toggleCallbacks[tool.key] }, tool.key))) }));
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=Tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../../../src/components/Tools/Tools.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAWxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAc,EAAE,EAAE;IAC3D,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAA;IAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7C,oEAAoE;IACpE,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;IAC5C,eAAe,CAAC,OAAO,GAAG,YAAY,CAAA;IACtC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,SAAS,GAA+B,EAAE,CAAA;QAChD,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;gBACzB,mEAAmE;gBACnE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAClE,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;IAEvC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,CAAC,CAAC,qBAAqB,IAAI,MAAM,CAAC,EAC3C,0BAA0B,SAC1B,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IAAC,SAAS,EAAC,WAAW,iBAAc,GAAG,OAAO,OAAO,YAC7D,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,KAAC,QAAQ,IAEP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EACjC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAJ9B,IAAI,CAAC,GAAG,CAKb,CACH,CAAC,GACS,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.
|
|
2
|
+
export declare const version = "3.28.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,eAAwB,EAAE,EAAE;IACpD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAC7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,EAAE,GAAG,EAAE,CACZ,SAAS,CAAC;YACR,UAAU,EAAE;gBACV,SAAS,CAAC,GAAG;gBACb,SAAS,CAAC,GAAG;gBACb,SAAS,CAAC,IAAI;gBACd,SAAS,CAAC,GAAG;aACd;
|
|
1
|
+
{"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,67 +1,57 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import CheckBoxOutlined from '@mui/icons-material/CheckBoxOutlined';
|
|
5
|
-
import IndeterminateCheckBoxOutlined from '@mui/icons-material/IndeterminateCheckBoxOutlined';
|
|
6
|
-
import { Avatar, debounce, IconButton, ListItemAvatar, Tooltip, useTheme, } from '@mui/material';
|
|
7
|
-
import { useMemo, useState } from 'react';
|
|
2
|
+
import { Checkbox, debounce, Tooltip } from '@mui/material';
|
|
3
|
+
import { memo, useCallback, useMemo, useState, } from 'react';
|
|
8
4
|
import { useTranslation } from 'react-i18next';
|
|
9
5
|
import { FullPageContainer } from '../components/FullPageContainer.js';
|
|
10
|
-
import { ListItemText } from '../components/ListItemText.js';
|
|
11
6
|
import { StickySearchInput } from '../components/Search/SearchInput.js';
|
|
12
|
-
import {
|
|
13
|
-
import { SearchNotFound } from '../components/Search/SearchNotFound.js';
|
|
14
|
-
import { SettingsListItemButton } from '../components/SettingsListItemButton.js';
|
|
7
|
+
import { Tools } from '../components/Tools/Tools.js';
|
|
15
8
|
import { useDefaultElementId } from '../hooks/useDefaultElementId.js';
|
|
16
9
|
import { useHeader } from '../hooks/useHeader.js';
|
|
17
10
|
import { useScrollableContainer } from '../hooks/useScrollableContainer.js';
|
|
18
11
|
import { useTools } from '../hooks/useTools.js';
|
|
19
12
|
import { useSettingsActions } from '../stores/settings/useSettingsActions.js';
|
|
20
13
|
import { useSettingsStore } from '../stores/settings/useSettingsStore.js';
|
|
21
|
-
const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, noCheckboxesAvailable, onClick, }) => {
|
|
14
|
+
const SelectAllCheckbox = memo(({ allCheckboxesSelected, anyCheckboxesSelected, noCheckboxesAvailable, onClick, }) => {
|
|
22
15
|
const { t } = useTranslation();
|
|
23
|
-
const theme = useTheme();
|
|
24
16
|
const tooltipTitle = noCheckboxesAvailable
|
|
25
17
|
? undefined
|
|
26
18
|
: allCheckboxesSelected
|
|
27
19
|
? t('tooltip.deselectAll')
|
|
28
20
|
: t('tooltip.selectAll');
|
|
29
|
-
return (_jsx(Tooltip, { title: tooltipTitle, children: _jsx(
|
|
30
|
-
};
|
|
21
|
+
return (_jsx(Tooltip, { title: tooltipTitle, children: _jsx(Checkbox, { id: "select-all", checked: allCheckboxesSelected, indeterminate: anyCheckboxesSelected && !allCheckboxesSelected, onChange: onClick, disabled: noCheckboxesAvailable, sx: { mr: -1.5 } }) }));
|
|
22
|
+
});
|
|
31
23
|
export const SelectEnabledToolsPage = ({ type }) => {
|
|
32
24
|
const typeKey = type.toLowerCase();
|
|
33
25
|
const { tools } = useTools();
|
|
34
|
-
const {
|
|
35
|
-
const
|
|
36
|
-
state[`_enabled${type}`],
|
|
37
|
-
state[`disabled${type}`],
|
|
38
|
-
]);
|
|
26
|
+
const { toggleToolKeys } = useSettingsActions();
|
|
27
|
+
const disabledTools = useSettingsStore((state) => state[`disabled${type}`]);
|
|
39
28
|
const { t } = useTranslation();
|
|
40
29
|
const elementId = useDefaultElementId();
|
|
41
30
|
const scrollableContainer = useScrollableContainer(elementId);
|
|
42
|
-
const [
|
|
31
|
+
const [searchValue, setSearchValue] = useState('');
|
|
32
|
+
const filteredTools = useMemo(() => {
|
|
33
|
+
const toolsList = tools?.[typeKey] ?? [];
|
|
34
|
+
if (!searchValue) {
|
|
35
|
+
return toolsList;
|
|
36
|
+
}
|
|
37
|
+
const lowerSearchValue = searchValue.toLowerCase();
|
|
38
|
+
return toolsList.filter((tool) => tool.name.toLowerCase().includes(lowerSearchValue));
|
|
39
|
+
}, [tools, typeKey, searchValue]);
|
|
40
|
+
const handleSelectAll = useCallback(() => {
|
|
41
|
+
toggleToolKeys(type, filteredTools.map((tool) => tool.key));
|
|
42
|
+
}, [toggleToolKeys, type, filteredTools]);
|
|
43
43
|
const headerAction = useMemo(() => (_jsx(SelectAllCheckbox, { allCheckboxesSelected: !!filteredTools.length &&
|
|
44
44
|
filteredTools.every((tool) => !disabledTools.includes(tool.key)), anyCheckboxesSelected: !!filteredTools.length &&
|
|
45
|
-
filteredTools.some((tool) => disabledTools.includes(tool.key)), noCheckboxesAvailable: !filteredTools.length, onClick:
|
|
45
|
+
filteredTools.some((tool) => disabledTools.includes(tool.key)), noCheckboxesAvailable: !filteredTools.length, onClick: handleSelectAll })), [disabledTools, handleSelectAll, filteredTools]);
|
|
46
46
|
useHeader(t(`settings.enabled${type}`), headerAction);
|
|
47
|
-
const
|
|
48
|
-
setToolValue(type, key, !enabledTools[key]);
|
|
49
|
-
};
|
|
50
|
-
const handleSearchInputChange = (e) => {
|
|
47
|
+
const handleSearchInputChange = useCallback((e) => {
|
|
51
48
|
const value = e.target.value;
|
|
52
|
-
|
|
53
|
-
setFilteredTools(tools?.[typeKey] ?? []);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
setFilteredTools((tools?.[typeKey]
|
|
57
|
-
? tools[typeKey].filter((tool) => tool.name.toLowerCase().includes(value.toLowerCase()))
|
|
58
|
-
: []));
|
|
59
|
-
}
|
|
49
|
+
setSearchValue(value);
|
|
60
50
|
if (scrollableContainer) {
|
|
61
51
|
scrollableContainer.scrollTop = 0;
|
|
62
52
|
}
|
|
63
|
-
};
|
|
53
|
+
}, [scrollableContainer]);
|
|
64
54
|
const debouncedSearchInputChange = debounce(handleSearchInputChange, 250);
|
|
65
|
-
return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t(`main.search${type}`) }),
|
|
55
|
+
return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t(`main.search${type}`) }), _jsx(Tools, { filteredTools: filteredTools, type: type })] }));
|
|
66
56
|
};
|
|
67
57
|
//# sourceMappingURL=SelectEnabledToolsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../../src/pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../../src/pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -417,6 +417,16 @@ export const createTheme = (widgetTheme = {}) => {
|
|
|
417
417
|
MuiNavigationTab: {
|
|
418
418
|
...widgetTheme.components?.MuiNavigationTab,
|
|
419
419
|
},
|
|
420
|
+
MuiCheckbox: {
|
|
421
|
+
styleOverrides: {
|
|
422
|
+
root: {
|
|
423
|
+
'&:hover': {
|
|
424
|
+
backgroundColor: 'transparent',
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
},
|
|
428
|
+
...widgetTheme.components?.MuiCheckbox,
|
|
429
|
+
},
|
|
420
430
|
},
|
|
421
431
|
});
|
|
422
432
|
return theme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/themes/createTheme.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/themes/createTheme.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,aAAa,EACb,WAAW,IAAI,cAAc,EAC7B,GAAG,EACH,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,WAAW,EACX,kBAAkB,GACnB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,KAAK,GAAU;IACnB,YAAY,EAAE,EAAE;IAChB,qBAAqB,EAAE,EAAE;IACzB,oBAAoB,EAAE,EAAE;CACzB,CAAA;AAED,MAAM,aAAa,GAAG,SAAS,CAAA;;;;;;;;;CAS9B,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,cAA2B,EAAE,EAAE,EAAE;IAC3D,MAAM,sBAAsB,GAC1B,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,CAAC,OAAO,CAAA;IACjE,MAAM,qBAAqB,GACzB,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,CAAC,OAAO,CAAA;IAEhE,MAAM,qBAAqB,GACxB,sBAAsB,EAAE,OAAqC,EAAE,IAAI;QACpE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IACtB,MAAM,oBAAoB,GACvB,qBAAqB,EAAE,OAAqC,EAAE,IAAI;QACnE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAEtB,MAAM,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;IACrE,MAAM,uBAAuB,GAAG,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,uBAAuB,GAC3B,qBAAqB,KAAK,oBAAoB;QAC5C,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;IACzC,MAAM,sBAAsB,GAC1B,qBAAqB,KAAK,oBAAoB;QAC5C,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAEvC,MAAM,uBAAuB,GAC1B,sBAAsB,EAAE,SAAuC,EAAE,IAAI;QACtE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAA;IACxB,MAAM,sBAAsB,GACzB,qBAAqB,EAAE,SAAuC,EAAE,IAAI;QACrE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAA;IAExB,MAAM,0BAA0B,GAAG,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;IACzE,MAAM,yBAAyB,GAAG,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IACtE,MAAM,yBAAyB,GAC7B,uBAAuB,KAAK,sBAAsB;QAChD,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;IAC3C,MAAM,wBAAwB,GAC5B,uBAAuB,KAAK,sBAAsB;QAChD,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAG,cAAc,CAAC;QAC3B,YAAY,EAAE;YACZ,YAAY,EAAE,MAAM;YACpB,mBAAmB,EAAE,OAAO;YAC5B,WAAW,EAAE,IAAI;SAClB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,GAAG,YAAY;oBACf,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;oBACpE,OAAO,EAAE;wBACP,IAAI,EAAE,qBAAqB;wBAC3B,KAAK,EAAE,wBAAwB;wBAC/B,IAAI,EAAE,uBAAuB;qBAC9B;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,0BAA0B;wBACjC,IAAI,EAAE,yBAAyB;qBAChC;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,GAAG,WAAW;oBACd,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;oBACnE,OAAO,EAAE;wBACP,IAAI,EAAE,oBAAoB;wBAC1B,KAAK,EAAE,uBAAuB;wBAC9B,IAAI,EAAE,sBAAsB;qBAC7B;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,sBAAsB;wBAC5B,KAAK,EAAE,yBAAyB;wBAChC,IAAI,EAAE,wBAAwB;qBAC/B;iBACF;aACF;SACF;QACD,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,GAAG,WAAW,CAAC,UAAU;SAC1B;QACD,UAAU,EAAE;YACV,UAAU,EAAE,8BAA8B;YAC1C,GAAG,WAAW,CAAC,UAAU;SAC1B;QACD,KAAK,EAAE;YACL,GAAG,KAAK;YACR,GAAG,WAAW,CAAC,KAAK;SACrB;QACD,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,EAAE,EAAE,GAAG;gBACP,EAAE,EAAE,GAAG;gBACP,EAAE,EAAE,GAAG;gBACP,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,IAAI;aACT;SACF;QACD,UAAU,EAAE;YACV,oBAAoB,EAAE;gBACpB,cAAc,EAAE;oBACd,IAAI,EAAE;wBACJ,UAAU,EAAE,mBAAmB;wBAC/B,GAAG,WAAW,CAAC,UAAU;wBACzB,6CAA6C,EAAE;4BAC7C,UAAU,EAAE,uBAAuB;4BACnC,GAAG,WAAW,CAAC,UAAU;yBAC1B;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBACzB,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,CAAC;wBACV,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;qBACnE,CAAC;iBACH;aACF;YACD,OAAO,EAAE;gBACP,YAAY,EAAE;oBACZ,OAAO,EAAE,UAAU;oBACnB,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY;iBACjD;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;wBAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc;4BAC1D,EAAE,IAAiB,CAAA;wBACrB,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;wBACnC,OAAO;4BACL,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;4BACpD,eAAe,EAAE,MAAM;4BACvB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;4BAC3C,QAAQ,EAAE,QAAQ;4BAClB,QAAQ,EAAE,UAAU;4BACpB,SAAS,EAAE,YAAY;4BACvB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAClC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAC9B;gCACE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc;gCACnD,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO;6BACzC,CACF;4BACD,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI;gCAC1B,SAAS,EAAE;oCACT,MAAM,EAAE,SAAS;iCAClB;6BACF,CAAC;4BACF,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;gCACtB,CAAC,UAAU,CAAC,OAAO,KAAK,UAAU;oCAChC,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI;gCACpC,SAAS,EAAE;oCACT,MAAM,EAAE,SAAS;oCACjB,eAAe,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc;oCACxF,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;wCAC3B,eAAe,EAAE,sBAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc;qCACzF,CAAC;iCACH;6BACF,CAAC;4BACJ,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;gCACtB,UAAU,CAAC,OAAO,KAAK,WAAW,IAAI;gCACpC,SAAS,EAAE;oCACT,MAAM,EAAE,SAAS;oCACjB,MAAM,EAAE,8BAA8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,WAAW;oCAC9F,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;wCAC3B,MAAM,EAAE,8BAA8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,WAAW;qCAC7F,CAAC;iCACH;6BACF,CAAC;4BACJ,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC;4BACrC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;gCACtB,CAAC,CAAC,SAAS,IAAI;gCACb,SAAS,EAAE;oCACT,GAAG,SAAS;oCACZ,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;wCAC3B,GAAG,SAAS;qCACb,CAAC;iCACH;6BACF,CAAC;4BACJ,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI;gCACzB,SAAS,EAAE,EAAE;6BACd,CAAC;yBACH,CAAA;oBACH,CAAC;iBACF;gBACD,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI;oBACrD;wBACE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;wBAC9B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;4BACrB,WAAW,EAAE,CAAC;4BACd,WAAW,EAAE,OAAO;4BACpB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;4BACzC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;gCAC3B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;6BAC1C,CAAC;yBACH,CAAC;qBACH;oBACD;wBACE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;wBAC/B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;4BACrB,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,MAAM;4BACjB,MAAM,EAAE,8BAA8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,WAAW;4BAC9F,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;gCAC3B,MAAM,EAAE,8BAA8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,WAAW;6BAC7F,CAAC;yBACH,CAAC;qBACH;oBACD;wBACE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;wBAC5B,KAAK,EAAE;4BACL,MAAM,EAAE,MAAM;yBACf;qBACF;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY;aACxC;YACD,aAAa,EAAE;gBACb,cAAc,EAAE;oBACd,uFAAuF;oBACvF,kFAAkF;oBAClF,IAAI,EAAE,GAAG,CAAA;;iBAEF,kBAAkB,CAAC,MAAM,IAAI,kBAAkB,CAAC,aAAa;;gCAE9C,aAAa;;WAElC;iBACF;aACF;YACD,SAAS,EAAE;gBACT,YAAY,EAAE;oBACZ,gBAAgB,EAAE,IAAI;oBACtB,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY;iBACnD;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAChC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB;wBACpD,aAAa,EAAE,MAAM;wBACrB,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,GAAG;wBACf,sCAAsC,EAAE;4BACtC,KAAK,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,UAAU;4BACtE,MAAM,EAAE,aAAa;4BACrB,aAAa,EAAE,MAAM;yBACtB;wBACD,CAAC,KAAK,aAAa,CAAC,OAAO,eAAe,CAAC,EAAE;4BAC3C,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;4BAChD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;4BAChE,MAAM,EAAE,MAAM;4BACd,aAAa,EAAE,MAAM;yBACtB;wBACD,CAAC,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE;4BACtC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;yBACjE;wBACD,CAAC,KAAK,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE;4BACpD,KAAK,EAAE,aAAa;yBACrB;wBACD,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;qBACnE,CAAC;oBACF,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAChC,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,UAAU;wBACzE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;wBACtC,SAAS,EAAE;4BACT,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,UAAU;yBAC1E;wBACD,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;4BAC3B,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,UAAU;4BACzE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAClC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CACxC;4BACD,SAAS,EAAE;gCACT,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,UAAU;6BAC1E;yBACF,CAAC;wBACF,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;qBACnE,CAAC;oBACF,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9B,SAAS,EAAE;4BACT,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;yBACjE;wBACD,GAAG,iBAAiB,CAClB,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,CACX;qBACF,CAAC;oBACF,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC/B,OAAO,EAAE,WAAW;wBACpB,CAAC,IAAI,oBAAoB,CAAC,IAAI,IAAI,CAAC,EAAE;4BACnC,OAAO,EAAE,UAAU;yBACpB;wBACD,GAAG,iBAAiB,CAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,CACX;qBACF,CAAC;iBACH;aACF;YACD,aAAa,EAAE;gBACb,GAAG,WAAW,CAAC,UAAU,EAAE,aAAa;gBACxC,cAAc,EAAE;oBACd,GAAG,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc;oBACxD,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBACzB,KAAK,EAAE,SAAS;wBAChB,SAAS,EAAE;4BACT,KAAK,EAAE,SAAS;yBACjB;wBACD,GAAG,iBAAiB,CAClB,eAAe,EACf,MAAM,EACN,WAAW,EACX,UAAU,CACX;qBACF,CAAC;iBACH;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,IAAI,EAAE;wBACJ,MAAM,EAAE,EAAE;wBACV,KAAK,EAAE,EAAE;qBACV;oBACD,GAAG,EAAE;wBACH,SAAS,EAAE,SAAS;qBACrB;iBACF;gBACD,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS;aACrC;YACD,eAAe,EAAE;gBACf,cAAc,EAAE;oBACd,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBACvB,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,QAAQ;wBACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;qBACvC,CAAC;oBACF,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBACzB,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;qBACzC,CAAC;iBACH;aACF;YACD,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,kBAAkB,EAAE,IAAI;oBACxB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,KAAK;iBACjB;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBACvB,eAAe,EAAE,kBAAkB;wBACnC,cAAc,EAAE,WAAW;wBAC3B,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC;qBAC/B,CAAC;oBACF,KAAK,EAAE;wBACL,KAAK,EAAE,kBAAkB;qBAC1B;iBACF;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE;oBACd,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;wBACpD,eAAe,EAAE,MAAM;qBACxB,CAAC;iBACH;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,KAAK,EAAE;wBACL,eAAe,EAAE,MAAM;qBACxB;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE;oBACd,IAAI,EAAE;wBACJ,eAAe,EAAE,MAAM;qBACxB;iBACF;aACF;YACD,OAAO,EAAE;gBACP,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO;gBAClC,cAAc,EAAE;oBACd,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc;oBAClD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;wBAC9B,MAAM,kBAAkB,GAAG,iBAAiB,CAC1C,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAA;wBACD,OAAO;4BACL,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,UAAU;4BAChF,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;gCAC3B,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,UAAU;6BACjF,CAAC;4BACF,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;4BAC3C,GAAG,kBAAkB;4BACrB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE;gCAC7B,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK;gCACpD,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;oCAC3B,eAAe,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,UAAU;iCAC/E,CAAC;gCACF,YAAY,EACV,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC;oCAC1B,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,SAAS;oCAChD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;gCACnC,SAAS,EAAE,oBAAoB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,UAAU;gCACtF,GAAG,kBAAkB,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;6BACrD;yBACF,CAAA;oBACH,CAAC;iBACF;aACF;YACD,iBAAiB,EAAE;gBACjB,GAAG,WAAW,CAAC,UAAU,EAAE,iBAAiB;aAC7C;YACD,gBAAgB,EAAE;gBAChB,GAAG,WAAW,CAAC,UAAU,EAAE,gBAAgB;aAC5C;YACD,WAAW,EAAE;gBACX,cAAc,EAAE;oBACd,IAAI,EAAE;wBACJ,SAAS,EAAE;4BACT,eAAe,EAAE,aAAa;yBAC/B;qBACF;iBACF;gBACD,GAAG,WAAW,CAAC,UAAU,EAAE,WAAW;aACvC;SACF;KACF,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tabsClasses } from '@mui/material';
|
|
1
|
+
import { checkboxClasses, tabsClasses } from '@mui/material';
|
|
2
2
|
export const windows95Theme = {
|
|
3
3
|
colorSchemes: {
|
|
4
4
|
light: {
|
|
@@ -105,6 +105,22 @@ export const windows95Theme = {
|
|
|
105
105
|
},
|
|
106
106
|
},
|
|
107
107
|
},
|
|
108
|
+
MuiCheckbox: {
|
|
109
|
+
styleOverrides: {
|
|
110
|
+
root: {
|
|
111
|
+
color: '#0a0a0a',
|
|
112
|
+
'&:hover': {
|
|
113
|
+
backgroundColor: 'transparent',
|
|
114
|
+
},
|
|
115
|
+
[`&.${checkboxClasses.checked}`]: {
|
|
116
|
+
color: '#0a0a0a',
|
|
117
|
+
},
|
|
118
|
+
[`&.${checkboxClasses.indeterminate}`]: {
|
|
119
|
+
color: '#0a0a0a',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
108
124
|
},
|
|
109
125
|
};
|
|
110
126
|
//# sourceMappingURL=windows95.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows95.js","sourceRoot":"","sources":["../../../src/themes/windows95.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"windows95.js","sourceRoot":"","sources":["../../../src/themes/windows95.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG5D,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;iBAChB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;iBAChB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;iBACrB;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,SAAS;iBACjB;gBACD,IAAI,EAAE;oBACJ,GAAG,EAAE,SAAS;iBACf;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;IACD,KAAK,EAAE;QACL,YAAY,EAAE,CAAC;QACf,qBAAqB,EAAE,CAAC;QACxB,oBAAoB,EAAE,CAAC;KACxB;IACD,SAAS,EAAE;QACT,MAAM,EAAE,mBAAmB;KAC5B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,KAAK;KACZ;IACD,UAAU,EAAE;QACV,SAAS,EAAE;YACT,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,SAAS,EACP,gGAAgG;oBAClG,SAAS,EAAE;wBACT,SAAS,EACP,gGAAgG;qBACnG;iBACF;aACF;SACF;QACD,OAAO,EAAE;YACP,YAAY,EAAE;gBACZ,OAAO,EAAE,UAAU;aACpB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,SAAS,EACP,gGAAgG;oBAClG,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE;wBACT,MAAM,EAAE,SAAS;wBACjB,eAAe,EAAE,SAAS;qBAC3B;iBACF;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC9B,KAAK,EAAE;wBACL,WAAW,EAAE,CAAC;qBACf;iBACF;aACF;SACF;QACD,YAAY,EAAE;YACZ,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,eAAe,EAAE,SAAS;oBAC1B,SAAS,EACP,gGAAgG;iBACnG;aACF;SACF;QACD,iBAAiB,EAAE;YACjB,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE;wBAC7B,eAAe,EAAE,SAAS;wBAC1B,SAAS,EACP,gGAAgG;qBACnG;iBACF;aACF;SACF;QACD,aAAa,EAAE;YACb,YAAY,EAAE;YACZ,uBAAuB;aACxB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,YAAY,EAAE,CAAC;oBACf,SAAS,EACP,gGAAgG;oBAClG,eAAe,EAAE,SAAS;oBAC1B,SAAS,EAAE;wBACT,KAAK,EAAE,SAAS;wBAChB,eAAe,EAAE,SAAS;qBAC3B;iBACF;aACF;SACF;QACD,WAAW,EAAE;YACX,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE;wBACT,eAAe,EAAE,aAAa;qBAC/B;oBACD,CAAC,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC,EAAE;wBAChC,KAAK,EAAE,SAAS;qBACjB;oBACD,CAAC,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE;wBACtC,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;SACF;KACF;CACF,CAAA"}
|
|
@@ -26,7 +26,7 @@ export interface NavigationProps {
|
|
|
26
26
|
*/
|
|
27
27
|
edge?: boolean;
|
|
28
28
|
}
|
|
29
|
-
export type WidgetThemeComponents = Partial<Pick<Components<Theme>, 'MuiAppBar' | 'MuiAvatar' | 'MuiButton' | 'MuiCard' | 'MuiIconButton' | 'MuiInputCard' | 'MuiNavigationTabs' | 'MuiNavigationTab' | 'MuiTabs'>>;
|
|
29
|
+
export type WidgetThemeComponents = Partial<Pick<Components<Theme>, 'MuiAppBar' | 'MuiAvatar' | 'MuiButton' | 'MuiCard' | 'MuiIconButton' | 'MuiInputCard' | 'MuiNavigationTabs' | 'MuiNavigationTab' | 'MuiTabs' | 'MuiCheckbox'>>;
|
|
30
30
|
export type WidgetTheme = {
|
|
31
31
|
/**
|
|
32
32
|
* @deprecated Use `colorScheme` instead.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA8FA,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,QAiBX;AAjBD,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;IAC3C,2DAA+C,CAAA;IAC/C,uCAA2B,CAAA;IAC3B,+CAAmC,CAAA;IACnC,uEAA2D,CAAA;IAC3D,6EAAiE,CAAA;IACjE,iDAAqC,CAAA;AACvC,CAAC,EAjBW,QAAQ,KAAR,QAAQ,QAiBnB;AAGD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,+DAAiD,CAAA;AACnD,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AA2QD,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.28.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",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"@bigmi/core": "^0.4.4",
|
|
35
35
|
"@emotion/react": "^11.14.0",
|
|
36
36
|
"@emotion/styled": "^11.14.1",
|
|
37
|
-
"@lifi/sdk": "^3.
|
|
37
|
+
"@lifi/sdk": "^3.10.1",
|
|
38
38
|
"@mui/icons-material": "^7.3.1",
|
|
39
39
|
"@mui/material": "^7.3.1",
|
|
40
40
|
"@mui/system": "^7.3.1",
|
|
41
|
-
"@mysten/sui": "^1.37.
|
|
41
|
+
"@mysten/sui": "^1.37.3",
|
|
42
42
|
"@solana/wallet-adapter-base": "^0.9.27",
|
|
43
43
|
"@solana/wallet-adapter-coinbase": "^0.1.23",
|
|
44
44
|
"@solana/web3.js": "^1.98.4",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"react-router-dom": "^6.30.0",
|
|
52
52
|
"react-transition-group": "^4.4.5",
|
|
53
53
|
"viem": "^2.34.0",
|
|
54
|
-
"zustand": "^5.0.
|
|
55
|
-
"@lifi/wallet-management": "^3.14.
|
|
54
|
+
"zustand": "^5.0.8",
|
|
55
|
+
"@lifi/wallet-management": "^3.14.7"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@bigmi/react": ">=0.4.0",
|
package/package.json.tmp
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.28.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": "./src/index.ts",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"@bigmi/core": "^0.4.4",
|
|
54
54
|
"@emotion/react": "^11.14.0",
|
|
55
55
|
"@emotion/styled": "^11.14.1",
|
|
56
|
-
"@lifi/sdk": "^3.
|
|
56
|
+
"@lifi/sdk": "^3.10.1",
|
|
57
57
|
"@lifi/wallet-management": "workspace:^",
|
|
58
58
|
"@mui/icons-material": "^7.3.1",
|
|
59
59
|
"@mui/material": "^7.3.1",
|
|
60
60
|
"@mui/system": "^7.3.1",
|
|
61
|
-
"@mysten/sui": "^1.37.
|
|
61
|
+
"@mysten/sui": "^1.37.3",
|
|
62
62
|
"@solana/wallet-adapter-base": "^0.9.27",
|
|
63
63
|
"@solana/wallet-adapter-coinbase": "^0.1.23",
|
|
64
64
|
"@solana/web3.js": "^1.98.4",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"react-router-dom": "^6.30.0",
|
|
72
72
|
"react-transition-group": "^4.4.5",
|
|
73
73
|
"viem": "^2.34.0",
|
|
74
|
-
"zustand": "^5.0.
|
|
74
|
+
"zustand": "^5.0.8"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@types/react-transition-group": "^4.4.12",
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
const SkeletonIcon = () => <Skeleton width={24} height={24} variant="rounded" />
|
|
25
25
|
const SkeletonWalletMenuButton = () => (
|
|
26
26
|
<SkeletonWalletMenuButtonContainer>
|
|
27
|
-
<Skeleton width={98} height={
|
|
27
|
+
<Skeleton width={98} height={24} variant="text" />
|
|
28
28
|
<SkeletonIcon />
|
|
29
29
|
</SkeletonWalletMenuButtonContainer>
|
|
30
30
|
)
|
|
@@ -96,9 +96,9 @@ export const WidgetSkeleton = ({ config }: WidgetConfigPartialProps) => {
|
|
|
96
96
|
</SkeletonHeaderAppBar>
|
|
97
97
|
) : null}
|
|
98
98
|
<SkeletonHeaderAppBar
|
|
99
|
-
sx={{ justifyContent: 'space-between', height:
|
|
99
|
+
sx={{ justifyContent: 'space-between', height: 52 }}
|
|
100
100
|
>
|
|
101
|
-
<Skeleton width={
|
|
101
|
+
<Skeleton width={124} height={36} variant="text" />
|
|
102
102
|
<SkeletonIcon />
|
|
103
103
|
</SkeletonHeaderAppBar>
|
|
104
104
|
</SkeletonHeaderContainer>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Avatar, Checkbox, ListItemAvatar } from '@mui/material'
|
|
2
|
+
import { memo } from 'react'
|
|
3
|
+
import { ListItemText } from '../ListItemText.js'
|
|
4
|
+
import { SettingsListItemButton } from '../SettingsListItemButton.js'
|
|
5
|
+
|
|
6
|
+
interface ToolItemProps {
|
|
7
|
+
tool: any
|
|
8
|
+
typeKey: string
|
|
9
|
+
isEnabled: boolean
|
|
10
|
+
onToggle: (key: string) => void
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const ToolItem = memo<ToolItemProps>(
|
|
14
|
+
({ tool, typeKey, isEnabled, onToggle }) => {
|
|
15
|
+
const handleClick = () => {
|
|
16
|
+
onToggle(tool.key)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const handleCheckboxClick = (e: React.MouseEvent) => {
|
|
20
|
+
e.stopPropagation()
|
|
21
|
+
onToggle(tool.key)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<SettingsListItemButton onClick={handleClick}>
|
|
26
|
+
<ListItemAvatar>
|
|
27
|
+
<Avatar src={tool.logoURI} alt={tool.name}>
|
|
28
|
+
{tool.name[0]}
|
|
29
|
+
</Avatar>
|
|
30
|
+
</ListItemAvatar>
|
|
31
|
+
<ListItemText primary={tool.name} />
|
|
32
|
+
<Checkbox
|
|
33
|
+
id={`${typeKey}-${tool.key}-checkbox`}
|
|
34
|
+
checked={isEnabled}
|
|
35
|
+
onChange={handleClick}
|
|
36
|
+
onClick={handleCheckboxClick}
|
|
37
|
+
sx={{ mr: -1 }}
|
|
38
|
+
/>
|
|
39
|
+
</SettingsListItemButton>
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { ToolsResponse } from '@lifi/sdk'
|
|
2
|
+
import { useMemo, useRef } from 'react'
|
|
3
|
+
import { useTranslation } from 'react-i18next'
|
|
4
|
+
import { useSettingsActions } from '../../stores/settings/useSettingsActions.js'
|
|
5
|
+
import { useSettingsStore } from '../../stores/settings/useSettingsStore.js'
|
|
6
|
+
import { SearchList } from '../Search/SearchInput.style.js'
|
|
7
|
+
import { SearchNotFound } from '../Search/SearchNotFound.js'
|
|
8
|
+
import { ToolItem } from './ToolItem.js'
|
|
9
|
+
|
|
10
|
+
export type ToolCollectionTypes =
|
|
11
|
+
| ToolsResponse['exchanges']
|
|
12
|
+
| ToolsResponse['bridges']
|
|
13
|
+
|
|
14
|
+
interface ToolsProps {
|
|
15
|
+
filteredTools: ToolCollectionTypes
|
|
16
|
+
type: 'Bridges' | 'Exchanges'
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const Tools = ({ filteredTools, type }: ToolsProps) => {
|
|
20
|
+
const { t } = useTranslation()
|
|
21
|
+
const typeKey = type.toLowerCase() as 'bridges' | 'exchanges'
|
|
22
|
+
const enabledTools = useSettingsStore((state) => state[`_enabled${type}`])
|
|
23
|
+
const { setToolValue } = useSettingsActions()
|
|
24
|
+
|
|
25
|
+
// Use ref to access current enabledTools without causing re-renders
|
|
26
|
+
const enabledToolsRef = useRef(enabledTools)
|
|
27
|
+
enabledToolsRef.current = enabledTools
|
|
28
|
+
const toggleCallbacks = useMemo(() => {
|
|
29
|
+
const callbacks: Record<string, () => void> = {}
|
|
30
|
+
filteredTools.forEach((tool) => {
|
|
31
|
+
callbacks[tool.key] = () => {
|
|
32
|
+
// Access current state via ref to avoid dependency on enabledTools
|
|
33
|
+
setToolValue(type, tool.key, !enabledToolsRef.current[tool.key])
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
return callbacks
|
|
37
|
+
}, [filteredTools, setToolValue, type])
|
|
38
|
+
|
|
39
|
+
if (!filteredTools.length) {
|
|
40
|
+
return (
|
|
41
|
+
<SearchNotFound
|
|
42
|
+
message={t(`info.message.empty${type}List`)}
|
|
43
|
+
adjustForStickySearchInput
|
|
44
|
+
/>
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<SearchList className="long-list" data-testid={`${typeKey}-list`}>
|
|
50
|
+
{filteredTools.map((tool) => (
|
|
51
|
+
<ToolItem
|
|
52
|
+
key={tool.key}
|
|
53
|
+
tool={tool}
|
|
54
|
+
typeKey={typeKey}
|
|
55
|
+
isEnabled={enabledTools[tool.key]}
|
|
56
|
+
onToggle={toggleCallbacks[tool.key]}
|
|
57
|
+
/>
|
|
58
|
+
))}
|
|
59
|
+
</SearchList>
|
|
60
|
+
)
|
|
61
|
+
}
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.
|
|
2
|
+
export const version = '3.28.0'
|
package/src/hooks/useTokens.ts
CHANGED
|
@@ -1,25 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import CheckBoxOutlineBlankOutlined from '@mui/icons-material/CheckBoxOutlineBlankOutlined'
|
|
4
|
-
import CheckBoxOutlined from '@mui/icons-material/CheckBoxOutlined'
|
|
5
|
-
import IndeterminateCheckBoxOutlined from '@mui/icons-material/IndeterminateCheckBoxOutlined'
|
|
1
|
+
import { Checkbox, debounce, Tooltip } from '@mui/material'
|
|
2
|
+
import type { ChangeEvent } from 'react'
|
|
6
3
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} from '@mui/material'
|
|
14
|
-
import type { MouseEventHandler } from 'react'
|
|
15
|
-
import { type FormEventHandler, useMemo, useState } from 'react'
|
|
4
|
+
type FormEventHandler,
|
|
5
|
+
memo,
|
|
6
|
+
useCallback,
|
|
7
|
+
useMemo,
|
|
8
|
+
useState,
|
|
9
|
+
} from 'react'
|
|
16
10
|
import { useTranslation } from 'react-i18next'
|
|
17
11
|
import { FullPageContainer } from '../components/FullPageContainer.js'
|
|
18
|
-
import { ListItemText } from '../components/ListItemText.js'
|
|
19
12
|
import { StickySearchInput } from '../components/Search/SearchInput.js'
|
|
20
|
-
import {
|
|
21
|
-
import { SearchNotFound } from '../components/Search/SearchNotFound.js'
|
|
22
|
-
import { SettingsListItemButton } from '../components/SettingsListItemButton.js'
|
|
13
|
+
import { type ToolCollectionTypes, Tools } from '../components/Tools/Tools.js'
|
|
23
14
|
import { useDefaultElementId } from '../hooks/useDefaultElementId.js'
|
|
24
15
|
import { useHeader } from '../hooks/useHeader.js'
|
|
25
16
|
import { useScrollableContainer } from '../hooks/useScrollableContainer.js'
|
|
@@ -29,63 +20,73 @@ import { useSettingsStore } from '../stores/settings/useSettingsStore.js'
|
|
|
29
20
|
|
|
30
21
|
interface SelectAllCheckboxProps {
|
|
31
22
|
allCheckboxesSelected: boolean
|
|
32
|
-
onClick:
|
|
23
|
+
onClick: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void
|
|
33
24
|
anyCheckboxesSelected: boolean
|
|
34
25
|
noCheckboxesAvailable: boolean
|
|
35
26
|
}
|
|
36
27
|
|
|
37
|
-
const SelectAllCheckbox
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<Tooltip title={tooltipTitle}>
|
|
53
|
-
<IconButton
|
|
54
|
-
size="medium"
|
|
55
|
-
edge={theme?.navigation?.edge ? 'end' : false}
|
|
56
|
-
onClick={onClick}
|
|
57
|
-
>
|
|
58
|
-
{allCheckboxesSelected ? (
|
|
59
|
-
<CheckBoxOutlined />
|
|
60
|
-
) : anyCheckboxesSelected ? (
|
|
61
|
-
<IndeterminateCheckBoxOutlined />
|
|
62
|
-
) : (
|
|
63
|
-
<CheckBoxOutlineBlankOutlined />
|
|
64
|
-
)}
|
|
65
|
-
</IconButton>
|
|
66
|
-
</Tooltip>
|
|
67
|
-
)
|
|
68
|
-
}
|
|
28
|
+
const SelectAllCheckbox = memo<SelectAllCheckboxProps>(
|
|
29
|
+
({
|
|
30
|
+
allCheckboxesSelected,
|
|
31
|
+
anyCheckboxesSelected,
|
|
32
|
+
noCheckboxesAvailable,
|
|
33
|
+
onClick,
|
|
34
|
+
}) => {
|
|
35
|
+
const { t } = useTranslation()
|
|
36
|
+
const tooltipTitle = noCheckboxesAvailable
|
|
37
|
+
? undefined
|
|
38
|
+
: allCheckboxesSelected
|
|
39
|
+
? t('tooltip.deselectAll')
|
|
40
|
+
: t('tooltip.selectAll')
|
|
69
41
|
|
|
70
|
-
|
|
42
|
+
return (
|
|
43
|
+
<Tooltip title={tooltipTitle}>
|
|
44
|
+
<Checkbox
|
|
45
|
+
id="select-all"
|
|
46
|
+
checked={allCheckboxesSelected}
|
|
47
|
+
indeterminate={anyCheckboxesSelected && !allCheckboxesSelected}
|
|
48
|
+
onChange={onClick}
|
|
49
|
+
disabled={noCheckboxesAvailable}
|
|
50
|
+
sx={{ mr: -1.5 }}
|
|
51
|
+
/>
|
|
52
|
+
</Tooltip>
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
)
|
|
71
56
|
|
|
72
57
|
export const SelectEnabledToolsPage: React.FC<{
|
|
73
58
|
type: 'Bridges' | 'Exchanges'
|
|
74
59
|
}> = ({ type }) => {
|
|
75
60
|
const typeKey = type.toLowerCase() as 'bridges' | 'exchanges'
|
|
76
61
|
const { tools } = useTools()
|
|
77
|
-
const {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
state[`disabled${type}`],
|
|
81
|
-
])
|
|
62
|
+
const { toggleToolKeys } = useSettingsActions()
|
|
63
|
+
|
|
64
|
+
const disabledTools = useSettingsStore((state) => state[`disabled${type}`])
|
|
82
65
|
|
|
83
66
|
const { t } = useTranslation()
|
|
84
67
|
const elementId = useDefaultElementId()
|
|
85
68
|
const scrollableContainer = useScrollableContainer(elementId)
|
|
86
|
-
const [
|
|
87
|
-
|
|
88
|
-
)
|
|
69
|
+
const [searchValue, setSearchValue] = useState('')
|
|
70
|
+
|
|
71
|
+
const filteredTools = useMemo(() => {
|
|
72
|
+
const toolsList = tools?.[typeKey] ?? []
|
|
73
|
+
|
|
74
|
+
if (!searchValue) {
|
|
75
|
+
return toolsList
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const lowerSearchValue = searchValue.toLowerCase()
|
|
79
|
+
return toolsList.filter((tool) =>
|
|
80
|
+
tool.name.toLowerCase().includes(lowerSearchValue)
|
|
81
|
+
) as ToolCollectionTypes
|
|
82
|
+
}, [tools, typeKey, searchValue])
|
|
83
|
+
|
|
84
|
+
const handleSelectAll = useCallback(() => {
|
|
85
|
+
toggleToolKeys(
|
|
86
|
+
type,
|
|
87
|
+
filteredTools.map((tool) => tool.key)
|
|
88
|
+
)
|
|
89
|
+
}, [toggleToolKeys, type, filteredTools])
|
|
89
90
|
|
|
90
91
|
const headerAction = useMemo(
|
|
91
92
|
() => (
|
|
@@ -99,42 +100,26 @@ export const SelectEnabledToolsPage: React.FC<{
|
|
|
99
100
|
filteredTools.some((tool) => disabledTools.includes(tool.key))
|
|
100
101
|
}
|
|
101
102
|
noCheckboxesAvailable={!filteredTools.length}
|
|
102
|
-
onClick={
|
|
103
|
-
toggleToolKeys(
|
|
104
|
-
type,
|
|
105
|
-
filteredTools.map((tool) => tool.key)
|
|
106
|
-
)
|
|
107
|
-
}
|
|
103
|
+
onClick={handleSelectAll}
|
|
108
104
|
/>
|
|
109
105
|
),
|
|
110
|
-
[disabledTools,
|
|
106
|
+
[disabledTools, handleSelectAll, filteredTools]
|
|
111
107
|
)
|
|
112
108
|
|
|
113
109
|
useHeader(t(`settings.enabled${type}`), headerAction)
|
|
114
110
|
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
111
|
+
const handleSearchInputChange: FormEventHandler<HTMLInputElement> =
|
|
112
|
+
useCallback(
|
|
113
|
+
(e) => {
|
|
114
|
+
const value = (e.target as HTMLInputElement).value
|
|
115
|
+
setSearchValue(value)
|
|
118
116
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
setFilteredTools(
|
|
126
|
-
(tools?.[typeKey]
|
|
127
|
-
? tools[typeKey].filter((tool) =>
|
|
128
|
-
tool.name.toLowerCase().includes(value.toLowerCase())
|
|
129
|
-
)
|
|
130
|
-
: []) as ToolCollectionTypes
|
|
131
|
-
)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if (scrollableContainer) {
|
|
135
|
-
scrollableContainer.scrollTop = 0
|
|
136
|
-
}
|
|
137
|
-
}
|
|
117
|
+
if (scrollableContainer) {
|
|
118
|
+
scrollableContainer.scrollTop = 0
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
[scrollableContainer]
|
|
122
|
+
)
|
|
138
123
|
|
|
139
124
|
const debouncedSearchInputChange = debounce(handleSearchInputChange, 250)
|
|
140
125
|
|
|
@@ -144,29 +129,7 @@ export const SelectEnabledToolsPage: React.FC<{
|
|
|
144
129
|
onChange={debouncedSearchInputChange}
|
|
145
130
|
placeholder={t(`main.search${type}`)}
|
|
146
131
|
/>
|
|
147
|
-
{filteredTools
|
|
148
|
-
<SearchList className="long-list" data-testid={`${typeKey}-list`}>
|
|
149
|
-
{filteredTools.map((tool) => (
|
|
150
|
-
<SettingsListItemButton
|
|
151
|
-
key={tool.name}
|
|
152
|
-
onClick={() => handleClick(tool.key)}
|
|
153
|
-
>
|
|
154
|
-
<ListItemAvatar>
|
|
155
|
-
<Avatar src={tool.logoURI} alt={tool.name}>
|
|
156
|
-
{tool.name[0]}
|
|
157
|
-
</Avatar>
|
|
158
|
-
</ListItemAvatar>
|
|
159
|
-
<ListItemText primary={tool.name} />
|
|
160
|
-
{enabledTools[tool.key] && <Check color="primary" />}
|
|
161
|
-
</SettingsListItemButton>
|
|
162
|
-
))}
|
|
163
|
-
</SearchList>
|
|
164
|
-
) : (
|
|
165
|
-
<SearchNotFound
|
|
166
|
-
message={t(`info.message.empty${type}List`)}
|
|
167
|
-
adjustForStickySearchInput
|
|
168
|
-
/>
|
|
169
|
-
)}
|
|
132
|
+
<Tools filteredTools={filteredTools} type={type} />
|
|
170
133
|
</FullPageContainer>
|
|
171
134
|
)
|
|
172
135
|
}
|
|
@@ -475,6 +475,16 @@ export const createTheme = (widgetTheme: WidgetTheme = {}) => {
|
|
|
475
475
|
MuiNavigationTab: {
|
|
476
476
|
...widgetTheme.components?.MuiNavigationTab,
|
|
477
477
|
},
|
|
478
|
+
MuiCheckbox: {
|
|
479
|
+
styleOverrides: {
|
|
480
|
+
root: {
|
|
481
|
+
'&:hover': {
|
|
482
|
+
backgroundColor: 'transparent',
|
|
483
|
+
},
|
|
484
|
+
},
|
|
485
|
+
},
|
|
486
|
+
...widgetTheme.components?.MuiCheckbox,
|
|
487
|
+
},
|
|
478
488
|
},
|
|
479
489
|
})
|
|
480
490
|
|
package/src/themes/windows95.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tabsClasses } from '@mui/material'
|
|
1
|
+
import { checkboxClasses, tabsClasses } from '@mui/material'
|
|
2
2
|
import type { WidgetTheme } from '../types/widget.js'
|
|
3
3
|
|
|
4
4
|
export const windows95Theme: WidgetTheme = {
|
|
@@ -113,5 +113,21 @@ export const windows95Theme: WidgetTheme = {
|
|
|
113
113
|
},
|
|
114
114
|
},
|
|
115
115
|
},
|
|
116
|
+
MuiCheckbox: {
|
|
117
|
+
styleOverrides: {
|
|
118
|
+
root: {
|
|
119
|
+
color: '#0a0a0a',
|
|
120
|
+
'&:hover': {
|
|
121
|
+
backgroundColor: 'transparent',
|
|
122
|
+
},
|
|
123
|
+
[`&.${checkboxClasses.checked}`]: {
|
|
124
|
+
color: '#0a0a0a',
|
|
125
|
+
},
|
|
126
|
+
[`&.${checkboxClasses.indeterminate}`]: {
|
|
127
|
+
color: '#0a0a0a',
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
116
132
|
},
|
|
117
133
|
}
|