@arcblock/ux 2.9.91 → 2.10.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/ActionButton/index.js +36 -48
- package/lib/ActivityIndicator/index.js +122 -75
- package/lib/Address/compact-text.js +48 -66
- package/lib/Address/did-address.js +114 -87
- package/lib/Address/index.js +15 -27
- package/lib/Address/responsive-did-address.js +48 -50
- package/lib/Alert/index.js +58 -52
- package/lib/AnimationWaiter/index.js +123 -69
- package/lib/Async/index.js +8 -22
- package/lib/Avatar/did-motif.js +38 -52
- package/lib/Avatar/etherscan-blockies.js +4 -10
- package/lib/Avatar/index.js +71 -77
- package/lib/Badge/index.js +49 -56
- package/lib/Blocklet/blocklet.js +181 -97
- package/lib/Blocklet/index.js +4 -24
- package/lib/Blocklet/utils.js +50 -13
- package/lib/BlockletContext/index.js +21 -31
- package/lib/BlockletNFT/index.js +255 -115
- package/lib/Button/index.js +5 -11
- package/lib/Button/wrap.js +45 -56
- package/lib/ButtonGroup/index.js +3 -9
- package/lib/CardSelector/index.js +67 -43
- package/lib/Center/index.js +19 -20
- package/lib/ClickToCopy/copy-button.js +37 -50
- package/lib/ClickToCopy/hook.js +10 -18
- package/lib/ClickToCopy/index.js +54 -66
- package/lib/CodeBlock/LightBox.js +84 -11
- package/lib/CodeBlock/index.js +175 -101
- package/lib/Colors/index.js +3 -20
- package/lib/Colors/themes/default.js +1 -7
- package/lib/Colors/themes/temp.js +1 -7
- package/lib/ContactForm/index.js +95 -60
- package/lib/CookieConsent/index.js +58 -52
- package/lib/CountDown/index.js +90 -59
- package/lib/DID/index.js +80 -96
- package/lib/Datatable/CustomToolbar.js +188 -137
- package/lib/Datatable/DatatableContext.js +14 -21
- package/lib/Datatable/TableSearch.js +99 -58
- package/lib/Datatable/index.js +312 -139
- package/lib/Datatable/utils.js +9 -17
- package/lib/Dialog/confirm.js +46 -58
- package/lib/Dialog/dialog.js +110 -66
- package/lib/Dialog/index.js +4 -27
- package/lib/Dialog/use-confirm.js +40 -65
- package/lib/DidLogo/index.js +14 -22
- package/lib/DriftBot/index.js +34 -19
- package/lib/Earth/index.js +214 -110
- package/lib/Earth/util.js +6 -19
- package/lib/Empty/index.js +33 -38
- package/lib/ErrorBoundary/fallback.js +45 -43
- package/lib/ErrorBoundary/index.js +1 -16
- package/lib/Footer/index.js +96 -48
- package/lib/Header/auto-hidden.js +28 -31
- package/lib/Header/header.js +151 -69
- package/lib/Header/index.js +2 -20
- package/lib/Header/responsive-header.js +67 -60
- package/lib/Icon/image.js +41 -45
- package/lib/Icon/index.js +51 -53
- package/lib/Img/index.js +77 -88
- package/lib/InfoRow/index.js +66 -48
- package/lib/Layout/dashboard/external-link.js +38 -53
- package/lib/Layout/dashboard/full-page.js +27 -41
- package/lib/Layout/dashboard/index.js +177 -132
- package/lib/Layout/dashboard/sidebar.js +164 -61
- package/lib/Layout/dashboard-legacy/header.js +119 -66
- package/lib/Layout/dashboard-legacy/index.js +90 -79
- package/lib/Layout/dashboard-legacy/sidebar.js +95 -62
- package/lib/Layout/index.js +200 -106
- package/lib/LoadingMask/index.js +31 -38
- package/lib/Locale/browser-lang.js +2 -8
- package/lib/Locale/context.js +46 -69
- package/lib/Locale/languages.js +6 -15
- package/lib/Locale/selector.js +116 -92
- package/lib/Locale/util.js +7 -16
- package/lib/Logo/index.js +54 -57
- package/lib/Metric/index.js +103 -40
- package/lib/NFTDisplay/aspect-ratio-container.js +33 -40
- package/lib/NFTDisplay/broken.js +68 -52
- package/lib/NFTDisplay/index.js +140 -129
- package/lib/NFTDisplay/loading.js +14 -13
- package/lib/NFTDisplay/svg-embedder/img.js +18 -33
- package/lib/NFTDisplay/svg-embedder/inline-svg.js +28 -32
- package/lib/NavMenu/index.js +2 -13
- package/lib/NavMenu/nav-menu.js +133 -148
- package/lib/NavMenu/style.js +179 -12
- package/lib/PageScroller/index.js +82 -93
- package/lib/PageScroller/story/FifthComponent.js +4 -10
- package/lib/PageScroller/story/FirstComponent.js +4 -10
- package/lib/PageScroller/story/FourthComponent.js +4 -10
- package/lib/PageScroller/story/FullPage.js +21 -28
- package/lib/PageScroller/story/PageContain.js +23 -30
- package/lib/PageScroller/story/SecondComponent.js +4 -10
- package/lib/PageScroller/story/ThirdComponent.js +4 -10
- package/lib/PageScroller/usePrevValue.js +4 -11
- package/lib/Passport/index.js +2 -9
- package/lib/Passport/passport.js +38 -51
- package/lib/PoweredByArcBlock/index.js +19 -33
- package/lib/PricingTable/PricingPlan.js +90 -34
- package/lib/PricingTable/index.js +28 -26
- package/lib/QRCode/index.js +38 -50
- package/lib/RelativeTime/index.js +44 -59
- package/lib/Result/common.js +85 -107
- package/lib/Result/index.js +22 -34
- package/lib/Result/result.js +35 -41
- package/lib/Result/translations.js +1 -7
- package/lib/Screenshot/BaseScreenshot/index.js +65 -43
- package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +17 -27
- package/lib/Screenshot/BaseScreenshot/shells/Phone.js +14 -25
- package/lib/Screenshot/index.js +103 -92
- package/lib/SessionBlocklet/index.js +125 -143
- package/lib/SessionManager/index.js +2 -9
- package/lib/SessionPermission/index.js +13 -23
- package/lib/SessionUser/components/logged-in.js +139 -158
- package/lib/SessionUser/components/session-user-item.js +44 -58
- package/lib/SessionUser/components/session-user-switch.js +133 -152
- package/lib/SessionUser/components/un-login.js +27 -35
- package/lib/SessionUser/components/user-info.js +62 -74
- package/lib/SessionUser/index.js +26 -34
- package/lib/SessionUser/libs/translation.js +1 -7
- package/lib/SessionUser/libs/utils.js +13 -34
- package/lib/Sparkline/index.js +4 -10
- package/lib/Spinner/index.js +11 -17
- package/lib/SplitButton/index.js +72 -68
- package/lib/Success/index.js +28 -34
- package/lib/Switch/index.js +64 -75
- package/lib/Tabs/index.js +84 -103
- package/lib/Tag/index.js +52 -56
- package/lib/TextCollapse/index.js +57 -50
- package/lib/Theme/index.js +8 -47
- package/lib/Theme/theme-provider.js +19 -26
- package/lib/Theme/theme.js +49 -62
- package/lib/Toast/index.js +41 -73
- package/lib/Typography/index.js +44 -55
- package/lib/Util/constant.js +16 -22
- package/lib/Util/deprecate.js +14 -26
- package/lib/Util/federated.js +16 -38
- package/lib/Util/index.js +63 -113
- package/lib/Util/passport.js +23 -33
- package/lib/Util/wallet.js +5 -14
- package/lib/Video/index.js +34 -34
- package/lib/Wallet/Action.js +72 -49
- package/lib/Wallet/Download.js +132 -115
- package/lib/Wallet/Open.js +26 -25
- package/lib/WalletOSIcon/index.js +33 -42
- package/lib/WebWalletSWKeeper/index.js +42 -55
- package/lib/WechatPrompt/index.js +53 -33
- package/lib/index.js +38 -265
- package/lib/withTheme/index.js +53 -33
- package/lib/withTracker/error_boundary.js +7 -18
- package/lib/withTracker/index.js +25 -34
- package/package.json +9 -316
- package/src/WalletOSIcon/index.jsx +1 -1
- package/es/ActionButton/index.js +0 -99
- package/es/ActivityIndicator/index.js +0 -180
- package/es/Address/compact-text.js +0 -105
- package/es/Address/did-address.js +0 -222
- package/es/Address/index.js +0 -23
- package/es/Address/responsive-did-address.js +0 -87
- package/es/Alert/index.js +0 -134
- package/es/AnimationWaiter/default-animation.json +0 -1
- package/es/AnimationWaiter/index.js +0 -240
- package/es/Async/index.js +0 -38
- package/es/Avatar/did-motif.js +0 -68
- package/es/Avatar/etherscan-blockies.js +0 -83
- package/es/Avatar/index.js +0 -179
- package/es/Badge/index.js +0 -98
- package/es/Blocklet/blocklet.js +0 -298
- package/es/Blocklet/index.js +0 -4
- package/es/Blocklet/utils.js +0 -52
- package/es/BlockletContext/index.js +0 -65
- package/es/BlockletNFT/index.js +0 -412
- package/es/Button/index.js +0 -8
- package/es/Button/wrap.js +0 -140
- package/es/ButtonGroup/index.js +0 -6
- package/es/CardSelector/index.js +0 -149
- package/es/Center/index.js +0 -41
- package/es/ClickToCopy/copy-button.js +0 -72
- package/es/ClickToCopy/hook.js +0 -39
- package/es/ClickToCopy/index.js +0 -92
- package/es/CodeBlock/LightBox.js +0 -85
- package/es/CodeBlock/index.js +0 -222
- package/es/Colors/index.js +0 -3
- package/es/Colors/themes/default.js +0 -77
- package/es/Colors/themes/temp.js +0 -41
- package/es/ContactForm/index.js +0 -230
- package/es/CookieConsent/index.js +0 -113
- package/es/CountDown/index.js +0 -178
- package/es/DID/index.js +0 -249
- package/es/Datatable/CustomToolbar.js +0 -396
- package/es/Datatable/DatatableContext.js +0 -34
- package/es/Datatable/TableSearch.js +0 -166
- package/es/Datatable/index.js +0 -629
- package/es/Datatable/utils.js +0 -132
- package/es/Dialog/confirm.js +0 -123
- package/es/Dialog/dialog.js +0 -201
- package/es/Dialog/index.js +0 -4
- package/es/Dialog/types.d.ts +0 -17
- package/es/Dialog/use-confirm.js +0 -133
- package/es/DidLogo/index.js +0 -31
- package/es/DriftBot/index.js +0 -70
- package/es/Earth/countries.json +0 -8057
- package/es/Earth/index.js +0 -521
- package/es/Earth/util.js +0 -51
- package/es/Empty/index.js +0 -65
- package/es/ErrorBoundary/fallback.js +0 -73
- package/es/ErrorBoundary/index.js +0 -1
- package/es/Footer/index.js +0 -172
- package/es/Header/auto-hidden.js +0 -35
- package/es/Header/header.js +0 -223
- package/es/Header/index.js +0 -2
- package/es/Header/responsive-header.js +0 -146
- package/es/Icon/image.js +0 -65
- package/es/Icon/index.js +0 -84
- package/es/Img/index.js +0 -218
- package/es/InfoRow/index.js +0 -87
- package/es/Layout/dashboard/external-link.js +0 -58
- package/es/Layout/dashboard/full-page.js +0 -53
- package/es/Layout/dashboard/index.js +0 -282
- package/es/Layout/dashboard/sidebar.js +0 -209
- package/es/Layout/dashboard-legacy/header.js +0 -174
- package/es/Layout/dashboard-legacy/index.js +0 -148
- package/es/Layout/dashboard-legacy/sidebar.js +0 -129
- package/es/Layout/index.js +0 -335
- package/es/LoadingMask/index.js +0 -102
- package/es/Locale/browser-lang.js +0 -52
- package/es/Locale/context.js +0 -139
- package/es/Locale/languages.js +0 -60
- package/es/Locale/selector.js +0 -186
- package/es/Locale/util.js +0 -21
- package/es/Logo/images/logo-dark-text.svg +0 -3
- package/es/Logo/images/logo-dark-top.svg +0 -6
- package/es/Logo/images/logo-light-text.svg +0 -3
- package/es/Logo/images/logo-light-top.svg +0 -6
- package/es/Logo/index.js +0 -136
- package/es/Metric/index.js +0 -132
- package/es/NFTDisplay/NFTBroken.svg +0 -34
- package/es/NFTDisplay/README.md +0 -59
- package/es/NFTDisplay/aspect-ratio-container.js +0 -39
- package/es/NFTDisplay/broken.js +0 -132
- package/es/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
- package/es/NFTDisplay/demo/data/asset-state-svg.json +0 -29
- package/es/NFTDisplay/demo/data/asset-state-url.json +0 -10
- package/es/NFTDisplay/index.js +0 -328
- package/es/NFTDisplay/loading.js +0 -18
- package/es/NFTDisplay/svg-embedder/img.js +0 -45
- package/es/NFTDisplay/svg-embedder/inline-svg.js +0 -39
- package/es/NavMenu/index.js +0 -2
- package/es/NavMenu/nav-menu.js +0 -358
- package/es/NavMenu/style.js +0 -181
- package/es/PageScroller/index.js +0 -286
- package/es/PageScroller/story/FifthComponent.js +0 -9
- package/es/PageScroller/story/FirstComponent.js +0 -9
- package/es/PageScroller/story/FourthComponent.js +0 -12
- package/es/PageScroller/story/FullPage.js +0 -47
- package/es/PageScroller/story/PageContain.js +0 -59
- package/es/PageScroller/story/SecondComponent.js +0 -9
- package/es/PageScroller/story/ThirdComponent.js +0 -9
- package/es/PageScroller/story/index.css +0 -115
- package/es/PageScroller/usePrevValue.js +0 -9
- package/es/Passport/index.js +0 -2
- package/es/Passport/passport.js +0 -103
- package/es/PoweredByArcBlock/index.js +0 -31
- package/es/PricingTable/PricingPlan.js +0 -124
- package/es/PricingTable/index.js +0 -53
- package/es/QRCode/index.js +0 -73
- package/es/RelativeTime/index.js +0 -107
- package/es/Result/common.js +0 -140
- package/es/Result/demo/fixtures/result-image-404.svg +0 -1
- package/es/Result/index.js +0 -33
- package/es/Result/result.js +0 -59
- package/es/Result/translations.js +0 -54
- package/es/Screenshot/BaseScreenshot/index.js +0 -91
- package/es/Screenshot/BaseScreenshot/shells/Macbook.js +0 -51
- package/es/Screenshot/BaseScreenshot/shells/Phone.js +0 -36
- package/es/Screenshot/demo/images/bg-00.jpg +0 -0
- package/es/Screenshot/demo/images/bg-01.jpg +0 -0
- package/es/Screenshot/demo/images/bg-02.jpg +0 -0
- package/es/Screenshot/demo/images/bg-03.jpg +0 -0
- package/es/Screenshot/demo/images/bg-04.jpg +0 -0
- package/es/Screenshot/demo/images/bg-05.jpg +0 -0
- package/es/Screenshot/demo/images/bg-06.jpg +0 -0
- package/es/Screenshot/demo/images/bg-07.jpg +0 -0
- package/es/Screenshot/demo/images/bg-08.jpg +0 -0
- package/es/Screenshot/demo/images/bg-09.jpg +0 -0
- package/es/Screenshot/devices.css +0 -1366
- package/es/Screenshot/index.js +0 -299
- package/es/SessionBlocklet/index.js +0 -173
- package/es/SessionManager/index.js +0 -2
- package/es/SessionPermission/index.js +0 -28
- package/es/SessionUser/components/logged-in.js +0 -229
- package/es/SessionUser/components/session-user-item.js +0 -102
- package/es/SessionUser/components/session-user-switch.js +0 -223
- package/es/SessionUser/components/un-login.js +0 -64
- package/es/SessionUser/components/user-info.js +0 -167
- package/es/SessionUser/index.js +0 -49
- package/es/SessionUser/libs/translation.js +0 -19
- package/es/SessionUser/libs/utils.js +0 -29
- package/es/Sparkline/index.js +0 -193
- package/es/Spinner/index.js +0 -28
- package/es/SplitButton/index.js +0 -145
- package/es/Success/index.js +0 -175
- package/es/Switch/index.js +0 -96
- package/es/Tabs/index.js +0 -214
- package/es/Tag/index.js +0 -108
- package/es/TextCollapse/index.js +0 -92
- package/es/Theme/index.js +0 -16
- package/es/Theme/theme-provider.js +0 -39
- package/es/Theme/theme.js +0 -145
- package/es/Toast/index.js +0 -97
- package/es/Typography/index.js +0 -95
- package/es/Util/constant.js +0 -42
- package/es/Util/deprecate.js +0 -28
- package/es/Util/federated.js +0 -91
- package/es/Util/index.js +0 -363
- package/es/Util/passport.js +0 -62
- package/es/Util/wallet.js +0 -32
- package/es/Video/index.js +0 -89
- package/es/Wallet/Action.js +0 -119
- package/es/Wallet/Download.js +0 -331
- package/es/Wallet/Open.js +0 -45
- package/es/Wallet/images/abtwallet.png +0 -0
- package/es/Wallet/images/android_download.svg +0 -23
- package/es/Wallet/images/app-store.svg +0 -20
- package/es/Wallet/images/google-play.svg +0 -70
- package/es/WalletOSIcon/index.js +0 -82
- package/es/WebWalletSWKeeper/index.js +0 -117
- package/es/WechatPrompt/images/android.png +0 -0
- package/es/WechatPrompt/images/ios.png +0 -0
- package/es/WechatPrompt/index.js +0 -88
- package/es/index.js +0 -38
- package/es/withTheme/index.js +0 -69
- package/es/withTracker/README.md +0 -34
- package/es/withTracker/error_boundary.js +0 -34
- package/es/withTracker/index.js +0 -55
@@ -1,167 +0,0 @@
|
|
1
|
-
import PropTypes from 'prop-types';
|
2
|
-
import { Box, Chip, Typography } from '@mui/material';
|
3
|
-
import { Icon } from '@iconify/react';
|
4
|
-
import SwapHorizRoundedIcon from '@iconify-icons/material-symbols/swap-horiz-rounded';
|
5
|
-
import ArrowRightAltRoundedIcon from '@iconify-icons/material-symbols/arrow-right-alt-rounded';
|
6
|
-
import { useCreation, useMemoizedFn } from 'ahooks';
|
7
|
-
import noop from 'lodash/noop';
|
8
|
-
import DidAvatar from '../../Avatar';
|
9
|
-
import { getUserAvatar } from '../../Util';
|
10
|
-
import SessionUserSwitch from './session-user-switch';
|
11
|
-
import { temp as colors } from '../../Colors';
|
12
|
-
import { getWallet } from '../libs/utils';
|
13
|
-
import { translations } from '../libs/translation';
|
14
|
-
import { translate } from '../../Locale/util';
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
17
|
-
export default function UserInfo({
|
18
|
-
session,
|
19
|
-
onSwitchPassport,
|
20
|
-
onSwitchAccount,
|
21
|
-
onBindWallet,
|
22
|
-
onSwitchProfile,
|
23
|
-
locale,
|
24
|
-
isBlocklet
|
25
|
-
}) {
|
26
|
-
const t = useMemoizedFn((key, data = {}) => {
|
27
|
-
return translate(translations, key, locale, 'en', data);
|
28
|
-
});
|
29
|
-
const avatar = getUserAvatar(session.user?.avatar?.replace(/\s/g, encodeURIComponent(' ')), 64);
|
30
|
-
const currentRole = useCreation(() => session.user?.passports?.find(item => item.name === session.user.role), [session?.user?.passports, session?.user?.role]);
|
31
|
-
const hasBindWallet = useCreation(() => {
|
32
|
-
return getWallet(session?.user);
|
33
|
-
}, [session?.user]);
|
34
|
-
return /*#__PURE__*/_jsxs(Box, {
|
35
|
-
sx: {
|
36
|
-
py: 2,
|
37
|
-
px: 0.5,
|
38
|
-
pb: 1,
|
39
|
-
display: 'flex',
|
40
|
-
flexDirection: 'column',
|
41
|
-
gap: 1.5
|
42
|
-
},
|
43
|
-
children: [/*#__PURE__*/_jsxs(Box, {
|
44
|
-
sx: {
|
45
|
-
display: 'flex',
|
46
|
-
justifyContent: 'space-between',
|
47
|
-
alignItems: 'center',
|
48
|
-
gap: 1,
|
49
|
-
px: 2
|
50
|
-
},
|
51
|
-
children: [/*#__PURE__*/_jsxs(Box, {
|
52
|
-
sx: {
|
53
|
-
display: 'flex',
|
54
|
-
alignItems: 'center',
|
55
|
-
gap: 1.5
|
56
|
-
},
|
57
|
-
children: [/*#__PURE__*/_jsx(Box, {
|
58
|
-
onClick: isBlocklet ? noop : onSwitchProfile,
|
59
|
-
"data-cy": "sessionManager-switch-profile-trigger",
|
60
|
-
sx: {
|
61
|
-
cursor: isBlocklet ? 'default' : 'pointer',
|
62
|
-
position: 'relative',
|
63
|
-
borderRadius: '100%',
|
64
|
-
overflow: 'hidden',
|
65
|
-
fontSize: 0,
|
66
|
-
flexShrink: 0,
|
67
|
-
'&:hover': isBlocklet ? {} : {
|
68
|
-
'&::after': {
|
69
|
-
content: `"${t('switch')}"`,
|
70
|
-
position: 'absolute',
|
71
|
-
bottom: 0,
|
72
|
-
background: 'rgba(0, 0, 0, 0.2)',
|
73
|
-
left: 0,
|
74
|
-
right: 0,
|
75
|
-
height: '2.2em',
|
76
|
-
color: 'white',
|
77
|
-
textAlign: 'center',
|
78
|
-
fontSize: '12px',
|
79
|
-
lineHeight: '2em'
|
80
|
-
}
|
81
|
-
}
|
82
|
-
},
|
83
|
-
children: /*#__PURE__*/_jsx(DidAvatar, {
|
84
|
-
variant: "circle",
|
85
|
-
did: session.user.did,
|
86
|
-
src: avatar,
|
87
|
-
size: 48,
|
88
|
-
shape: "circle",
|
89
|
-
sx: {
|
90
|
-
cursor: isBlocklet ? 'unset' : 'pointer'
|
91
|
-
}
|
92
|
-
})
|
93
|
-
}), /*#__PURE__*/_jsx(Typography, {
|
94
|
-
variant: "h6",
|
95
|
-
sx: {
|
96
|
-
wordBreak: 'break-word'
|
97
|
-
},
|
98
|
-
children: session.user.fullName
|
99
|
-
})]
|
100
|
-
}), /*#__PURE__*/_jsx(Chip, {
|
101
|
-
label: currentRole?.title || session.user?.role.toUpperCase(),
|
102
|
-
size: "small",
|
103
|
-
variant: "outlined",
|
104
|
-
clickable: true,
|
105
|
-
sx: {
|
106
|
-
flexShrink: 0,
|
107
|
-
fontWeight: 'bold',
|
108
|
-
fontSize: '12px',
|
109
|
-
color: colors.textBase,
|
110
|
-
borderColor: colors.borderBase,
|
111
|
-
pr: 1,
|
112
|
-
pl: 0.5,
|
113
|
-
'&:active': {
|
114
|
-
boxShadow: 'none'
|
115
|
-
}
|
116
|
-
},
|
117
|
-
deleteIcon: /*#__PURE__*/_jsx(Icon, {
|
118
|
-
icon: SwapHorizRoundedIcon,
|
119
|
-
color: colors.textBase
|
120
|
-
}),
|
121
|
-
onDelete: onSwitchPassport,
|
122
|
-
onClick: onSwitchPassport,
|
123
|
-
"data-cy": "sessionManager-switch-passport-trigger"
|
124
|
-
})]
|
125
|
-
}), /*#__PURE__*/_jsx(SessionUserSwitch, {
|
126
|
-
session: session,
|
127
|
-
onSwitch: onSwitchAccount,
|
128
|
-
isBlocklet: isBlocklet,
|
129
|
-
locale: locale
|
130
|
-
}), !hasBindWallet ? /*#__PURE__*/_jsxs(Box, {
|
131
|
-
sx: {
|
132
|
-
color: colors.primaryBase,
|
133
|
-
backgroundColor: colors.surfacePrimarySubtitle,
|
134
|
-
borderRadius: 1,
|
135
|
-
display: 'flex',
|
136
|
-
justifyContent: 'space-between',
|
137
|
-
alignItems: 'center',
|
138
|
-
fontSize: 12,
|
139
|
-
py: 0.75,
|
140
|
-
px: 1.5,
|
141
|
-
cursor: 'pointer',
|
142
|
-
mt: -0.75
|
143
|
-
},
|
144
|
-
onClick: onBindWallet,
|
145
|
-
"data-cy": "sessionManager-bind-trigger",
|
146
|
-
children: [t('connectDIDWallet'), /*#__PURE__*/_jsx(Icon, {
|
147
|
-
icon: ArrowRightAltRoundedIcon,
|
148
|
-
color: colors.primaryBase,
|
149
|
-
fontSize: 16
|
150
|
-
})]
|
151
|
-
}) : null]
|
152
|
-
});
|
153
|
-
}
|
154
|
-
UserInfo.propTypes = {
|
155
|
-
session: PropTypes.object.isRequired,
|
156
|
-
onSwitchPassport: PropTypes.func.isRequired,
|
157
|
-
onSwitchAccount: PropTypes.func.isRequired,
|
158
|
-
onBindWallet: PropTypes.func.isRequired,
|
159
|
-
onSwitchProfile: PropTypes.func,
|
160
|
-
locale: PropTypes.string,
|
161
|
-
isBlocklet: PropTypes.bool
|
162
|
-
};
|
163
|
-
UserInfo.defaultProps = {
|
164
|
-
locale: 'en',
|
165
|
-
isBlocklet: true,
|
166
|
-
onSwitchProfile: noop
|
167
|
-
};
|
package/es/SessionUser/index.js
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
import PropTypes from 'prop-types';
|
2
|
-
import noop from 'lodash/noop';
|
3
|
-
import { useCreation } from 'ahooks';
|
4
|
-
import LoggedIn from './components/logged-in';
|
5
|
-
import UnLogin from './components/un-login';
|
6
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
7
|
-
export default function SessionUser({
|
8
|
-
session,
|
9
|
-
onBindWallet,
|
10
|
-
locale,
|
11
|
-
size
|
12
|
-
}) {
|
13
|
-
const isBlocklet = useCreation(() => {
|
14
|
-
return !!globalThis?.blocklet;
|
15
|
-
});
|
16
|
-
if (session.user) {
|
17
|
-
return /*#__PURE__*/_jsx(LoggedIn, {
|
18
|
-
isBlocklet: isBlocklet,
|
19
|
-
session: session,
|
20
|
-
onBindWallet: onBindWallet,
|
21
|
-
locale: locale,
|
22
|
-
size: size
|
23
|
-
});
|
24
|
-
}
|
25
|
-
return /*#__PURE__*/_jsx(UnLogin, {
|
26
|
-
session: session,
|
27
|
-
isBlocklet: isBlocklet,
|
28
|
-
locale: locale,
|
29
|
-
size: size
|
30
|
-
});
|
31
|
-
}
|
32
|
-
SessionUser.propTypes = {
|
33
|
-
session: PropTypes.shape({
|
34
|
-
user: PropTypes.shape({
|
35
|
-
did: PropTypes.string.isRequired,
|
36
|
-
fullName: PropTypes.string.isRequired,
|
37
|
-
avatar: PropTypes.string.isRequired,
|
38
|
-
email: PropTypes.string
|
39
|
-
})
|
40
|
-
}).isRequired,
|
41
|
-
onBindWallet: PropTypes.func,
|
42
|
-
locale: PropTypes.string,
|
43
|
-
size: PropTypes.number
|
44
|
-
};
|
45
|
-
SessionUser.defaultProps = {
|
46
|
-
onBindWallet: noop,
|
47
|
-
locale: 'en',
|
48
|
-
size: 24
|
49
|
-
};
|
@@ -1,19 +0,0 @@
|
|
1
|
-
/* eslint-disable import/prefer-default-export */
|
2
|
-
export const translations = {
|
3
|
-
en: {
|
4
|
-
connectDIDWallet: 'Connect your DID Wallet for enhanced security',
|
5
|
-
switch: 'Switch',
|
6
|
-
profile: 'Profile',
|
7
|
-
dashboard: 'Dashboard',
|
8
|
-
logout: 'Sign Out',
|
9
|
-
addAnotherAccount: 'Add another account'
|
10
|
-
},
|
11
|
-
zh: {
|
12
|
-
connectDIDWallet: '连接你的 DID Wallet 获得更高的安全性',
|
13
|
-
switch: '切换',
|
14
|
-
profile: '个人中心',
|
15
|
-
dashboard: '控制台',
|
16
|
-
logout: '退出登录',
|
17
|
-
addAnotherAccount: '添加账户'
|
18
|
-
}
|
19
|
-
};
|
@@ -1,29 +0,0 @@
|
|
1
|
-
export const getSourceAppPid = user => user?.sourceAppPid;
|
2
|
-
export const getCurrentAppPid = user => user?.sourceAppPid || window?.blocklet?.appPid;
|
3
|
-
export function getPermanentDid(user) {
|
4
|
-
return user?.did;
|
5
|
-
}
|
6
|
-
export function getConnectedAccounts(user) {
|
7
|
-
return user?.connectedAccounts || user?.extraConfigs?.connectedAccounts || [];
|
8
|
-
}
|
9
|
-
export function getSourceProvider(user) {
|
10
|
-
return user?.sourceProvider || user?.extraConfigs?.sourceProvider || 'wallet';
|
11
|
-
}
|
12
|
-
export function getSourceProviders(user) {
|
13
|
-
const connectedAccounts = getConnectedAccounts(user);
|
14
|
-
return connectedAccounts.map(item => item.provider);
|
15
|
-
}
|
16
|
-
export function getConnectedDids(user) {
|
17
|
-
const connectedAccounts = getConnectedAccounts(user);
|
18
|
-
const didList = connectedAccounts.map(item => item.did);
|
19
|
-
return didList;
|
20
|
-
}
|
21
|
-
export function getWallet(user) {
|
22
|
-
const connectedAccounts = getConnectedAccounts(user);
|
23
|
-
const walletAccount = connectedAccounts.find(item => item.provider === 'wallet');
|
24
|
-
return walletAccount;
|
25
|
-
}
|
26
|
-
export function getWalletDid(user) {
|
27
|
-
const walletAccount = getWallet(user);
|
28
|
-
return walletAccount?.did;
|
29
|
-
}
|
package/es/Sparkline/index.js
DELETED
@@ -1,193 +0,0 @@
|
|
1
|
-
/* eslint-disable guard-for-in */
|
2
|
-
/* eslint-disable no-restricted-syntax */
|
3
|
-
// origin: https://github.com/fnando/sparkline
|
4
|
-
function getY(max, height, diff, value) {
|
5
|
-
return parseFloat((height - value * height / max + diff).toFixed(2));
|
6
|
-
}
|
7
|
-
function removeChildren(svg) {
|
8
|
-
[...svg.querySelectorAll('*')].forEach(element => svg.removeChild(element));
|
9
|
-
}
|
10
|
-
function defaultFetch(entry) {
|
11
|
-
return entry.value;
|
12
|
-
}
|
13
|
-
function buildElement(tag, attrs) {
|
14
|
-
const element = document.createElementNS('http://www.w3.org/2000/svg', tag);
|
15
|
-
for (const name in attrs) {
|
16
|
-
element.setAttribute(name, attrs[name]);
|
17
|
-
}
|
18
|
-
return element;
|
19
|
-
}
|
20
|
-
export default function sparkline(svg, entries, options) {
|
21
|
-
removeChildren(svg);
|
22
|
-
if (entries.length <= 1) {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
|
26
|
-
// eslint-disable-next-line no-param-reassign
|
27
|
-
options = options || {};
|
28
|
-
if (typeof entries[0] === 'number') {
|
29
|
-
// eslint-disable-next-line no-param-reassign
|
30
|
-
entries = entries.map(entry => {
|
31
|
-
return {
|
32
|
-
value: entry
|
33
|
-
};
|
34
|
-
});
|
35
|
-
}
|
36
|
-
|
37
|
-
// This function will be called whenever the mouse moves
|
38
|
-
// over the SVG. You can use it to render something like a
|
39
|
-
// tooltip.
|
40
|
-
const {
|
41
|
-
onmousemove
|
42
|
-
} = options;
|
43
|
-
|
44
|
-
// This function will be called whenever the mouse leaves
|
45
|
-
// the SVG area. You can use it to hide the tooltip.
|
46
|
-
const {
|
47
|
-
onmouseout
|
48
|
-
} = options;
|
49
|
-
|
50
|
-
// Should we run in interactive mode? If yes, this will handle the
|
51
|
-
// cursor and spot position when moving the mouse.
|
52
|
-
const interactive = 'interactive' in options ? options.interactive : !!onmousemove;
|
53
|
-
|
54
|
-
// Define how big should be the spot area.
|
55
|
-
const spotRadius = options.spotRadius || 2;
|
56
|
-
const spotDiameter = spotRadius * 2;
|
57
|
-
|
58
|
-
// Define how wide should be the cursor area.
|
59
|
-
const cursorWidth = options.cursorWidth || 2;
|
60
|
-
|
61
|
-
// Get the stroke width; this is used to compute the
|
62
|
-
// rendering offset.
|
63
|
-
const strokeWidth = parseFloat(svg.attributes['stroke-width'].value);
|
64
|
-
|
65
|
-
// By default, data must be formatted as an array of numbers or
|
66
|
-
// an array of objects with the value key (like `[{value: 1}]`).
|
67
|
-
// You can set a custom function to return data for a different
|
68
|
-
// data structure.
|
69
|
-
const fetch = options.fetch || defaultFetch;
|
70
|
-
|
71
|
-
// Retrieve only values, easing the find for the maximum value.
|
72
|
-
const values = entries.map(entry => fetch(entry));
|
73
|
-
|
74
|
-
// The rendering width will account for the spot size.
|
75
|
-
const width = parseFloat(svg.attributes.width.value) - spotDiameter * 2;
|
76
|
-
|
77
|
-
// Get the SVG element's full height.
|
78
|
-
// This is used
|
79
|
-
const fullHeight = parseFloat(svg.attributes.height.value);
|
80
|
-
|
81
|
-
// The rendering height accounts for stroke width and spot size.
|
82
|
-
const height = fullHeight - strokeWidth * 2 - spotDiameter;
|
83
|
-
|
84
|
-
// The maximum value. This is used to calculate the Y coord of
|
85
|
-
// each sparkline datapoint.
|
86
|
-
const max = Math.max(...values) === 0 ? 1 : Math.max(...values);
|
87
|
-
|
88
|
-
// Some arbitrary value to remove the cursor and spot out of
|
89
|
-
// the viewing canvas.
|
90
|
-
const offscreen = -1000;
|
91
|
-
|
92
|
-
// Cache the last item index.
|
93
|
-
const lastItemIndex = values.length - 1;
|
94
|
-
|
95
|
-
// Calculate the X coord base step.
|
96
|
-
const offset = width / lastItemIndex;
|
97
|
-
|
98
|
-
// Hold all datapoints, which is whatever we got as the entry plus
|
99
|
-
// x/y coords and the index.
|
100
|
-
const datapoints = [];
|
101
|
-
|
102
|
-
// Hold the line coordinates.
|
103
|
-
const pathY = getY(max, height, strokeWidth + spotRadius, values[0]);
|
104
|
-
let pathCoords = `M${spotDiameter} ${pathY}`;
|
105
|
-
values.forEach((value, index) => {
|
106
|
-
const x = index * offset + spotDiameter;
|
107
|
-
const y = getY(max, height, strokeWidth + spotRadius, value);
|
108
|
-
datapoints.push(Object.assign({}, entries[index], {
|
109
|
-
index,
|
110
|
-
x,
|
111
|
-
y
|
112
|
-
}));
|
113
|
-
pathCoords += ` L ${x} ${y}`;
|
114
|
-
});
|
115
|
-
const path = buildElement('path', {
|
116
|
-
class: 'sparkline--line',
|
117
|
-
d: pathCoords,
|
118
|
-
fill: 'none'
|
119
|
-
});
|
120
|
-
const fillCoords = `${pathCoords} V ${fullHeight} L ${spotDiameter} ${fullHeight} Z`;
|
121
|
-
const fill = buildElement('path', {
|
122
|
-
class: 'sparkline--fill',
|
123
|
-
d: fillCoords,
|
124
|
-
stroke: 'none'
|
125
|
-
});
|
126
|
-
svg.appendChild(fill);
|
127
|
-
svg.appendChild(path);
|
128
|
-
if (!interactive) {
|
129
|
-
return;
|
130
|
-
}
|
131
|
-
const cursor = buildElement('line', {
|
132
|
-
class: 'sparkline--cursor',
|
133
|
-
x1: offscreen,
|
134
|
-
x2: offscreen,
|
135
|
-
y1: 0,
|
136
|
-
y2: fullHeight,
|
137
|
-
'stroke-width': cursorWidth
|
138
|
-
});
|
139
|
-
const spot = buildElement('circle', {
|
140
|
-
class: 'sparkline--spot',
|
141
|
-
cx: offscreen,
|
142
|
-
cy: offscreen,
|
143
|
-
r: spotRadius
|
144
|
-
});
|
145
|
-
svg.appendChild(cursor);
|
146
|
-
svg.appendChild(spot);
|
147
|
-
const interactionLayer = buildElement('rect', {
|
148
|
-
width: svg.attributes.width.value,
|
149
|
-
height: svg.attributes.height.value,
|
150
|
-
style: 'fill: transparent; stroke: transparent',
|
151
|
-
class: 'sparkline--interaction-layer'
|
152
|
-
});
|
153
|
-
svg.appendChild(interactionLayer);
|
154
|
-
interactionLayer.addEventListener('mouseout', event => {
|
155
|
-
cursor.setAttribute('x1', offscreen);
|
156
|
-
cursor.setAttribute('x2', offscreen);
|
157
|
-
spot.setAttribute('cx', offscreen);
|
158
|
-
if (onmouseout) {
|
159
|
-
onmouseout(event);
|
160
|
-
}
|
161
|
-
});
|
162
|
-
interactionLayer.addEventListener('mousemove', event => {
|
163
|
-
const mouseX = event.offsetX;
|
164
|
-
let nextDataPoint = datapoints.find(entry => {
|
165
|
-
return entry.x >= mouseX;
|
166
|
-
});
|
167
|
-
if (!nextDataPoint) {
|
168
|
-
nextDataPoint = datapoints[lastItemIndex];
|
169
|
-
}
|
170
|
-
const previousDataPoint = datapoints[datapoints.indexOf(nextDataPoint) - 1];
|
171
|
-
let currentDataPoint;
|
172
|
-
let halfway;
|
173
|
-
if (previousDataPoint) {
|
174
|
-
halfway = previousDataPoint.x + (nextDataPoint.x - previousDataPoint.x) / 2;
|
175
|
-
currentDataPoint = mouseX >= halfway ? nextDataPoint : previousDataPoint;
|
176
|
-
} else {
|
177
|
-
currentDataPoint = nextDataPoint;
|
178
|
-
}
|
179
|
-
const {
|
180
|
-
x
|
181
|
-
} = currentDataPoint;
|
182
|
-
const {
|
183
|
-
y
|
184
|
-
} = currentDataPoint;
|
185
|
-
spot.setAttribute('cx', x);
|
186
|
-
spot.setAttribute('cy', y);
|
187
|
-
cursor.setAttribute('x1', x);
|
188
|
-
cursor.setAttribute('x2', x);
|
189
|
-
if (onmousemove) {
|
190
|
-
onmousemove(event, currentDataPoint);
|
191
|
-
}
|
192
|
-
});
|
193
|
-
}
|
package/es/Spinner/index.js
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
import CircularProgress from '@mui/material/CircularProgress';
|
2
|
-
import { withDeprecated } from '../Util/deprecate';
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Spinner
|
6
|
-
*
|
7
|
-
* 之前的 Spinner 实现由内外 2 个环构成, 现在改为基于 @mui/material/CircularProgress 的实现
|
8
|
-
*
|
9
|
-
* - 之前 size prop 是 array 类型, 需要与 CircularProgress#size 兼容
|
10
|
-
* - color 默认使用 #4598fa, 如果调用方传入了 color prop 或 style#color, 则默认 color 被覆盖
|
11
|
-
*/
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
13
|
-
function Spinner(props) {
|
14
|
-
const _props = {
|
15
|
-
...props
|
16
|
-
};
|
17
|
-
// 兼容之前的 size prop (设置外圈/内圈的尺寸)
|
18
|
-
if (_props.size && Array.isArray(_props.size)) {
|
19
|
-
[_props.size] = _props.size;
|
20
|
-
}
|
21
|
-
return /*#__PURE__*/_jsx(CircularProgress, {
|
22
|
-
..._props
|
23
|
-
});
|
24
|
-
}
|
25
|
-
export default withDeprecated(Spinner, {
|
26
|
-
name: 'Spinner',
|
27
|
-
alternative: '@mui/material/CircularProgress'
|
28
|
-
});
|
package/es/SplitButton/index.js
DELETED
@@ -1,145 +0,0 @@
|
|
1
|
-
import { useState, useRef, isValidElement } from 'react';
|
2
|
-
import PropTypes from 'prop-types';
|
3
|
-
import ExpandMore from '@mui/icons-material/ExpandMore';
|
4
|
-
import Popper from '@mui/material/Popper';
|
5
|
-
import Paper from '@mui/material/Paper';
|
6
|
-
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
7
|
-
import MenuList from '@mui/material/MenuList';
|
8
|
-
import MenuItem from '@mui/material/MenuItem';
|
9
|
-
import ButtonGroup from '@mui/material/ButtonGroup';
|
10
|
-
import Button from '@mui/material/Button';
|
11
|
-
import noop from 'lodash/noop';
|
12
|
-
import { styled } from '../Theme';
|
13
|
-
|
14
|
-
/**
|
15
|
-
* SplitButton 组件 Props
|
16
|
-
* @typedef {{
|
17
|
-
* size?: 'small' | 'medium' | 'large';
|
18
|
-
* color?: 'primary' | 'secondary' | 'inherit';
|
19
|
-
* menu?: Array<import('@mui/material').MenuItem> | import('@mui/material').MenuItem;
|
20
|
-
* children?: JSX.Element | (() => JSX.Element);
|
21
|
-
* variant?: 'outlined' | 'contained';
|
22
|
-
* onClick?: () => void;
|
23
|
-
* menuButtonProps?: import('@mui/material').ButtonProps;
|
24
|
-
* } & import('@mui/material').ButtonGroupProps } SplitButtonProps
|
25
|
-
*/
|
26
|
-
|
27
|
-
/**
|
28
|
-
* @description SplitButton allows the user to execute a default action which is bound to a Button or to choose a predefined action from a drop-down list.
|
29
|
-
* @export
|
30
|
-
* @param {SplitButtonProps} props
|
31
|
-
* @return {JSX.Element}
|
32
|
-
*/
|
33
|
-
import { createElement as _createElement } from "react";
|
34
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
35
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
36
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
37
|
-
export default function SplitButton(props) {
|
38
|
-
const {
|
39
|
-
size,
|
40
|
-
color,
|
41
|
-
menu,
|
42
|
-
children,
|
43
|
-
variant,
|
44
|
-
onClick,
|
45
|
-
menuButtonProps,
|
46
|
-
...rest
|
47
|
-
} = props;
|
48
|
-
const [open, setOpen] = useState(false);
|
49
|
-
const anchorRef = useRef(null);
|
50
|
-
const menuItems = Array.isArray(menu) ? menu.map((item, index) => /*#__PURE__*/isValidElement(item) ? item : /*#__PURE__*/_createElement(MenuItem, {
|
51
|
-
...item,
|
52
|
-
key: index
|
53
|
-
})) // eslint-disable-line react/no-array-index-key
|
54
|
-
: menu;
|
55
|
-
const onToggle = () => {
|
56
|
-
setOpen(prevOpen => !prevOpen);
|
57
|
-
};
|
58
|
-
const handleClose = e => {
|
59
|
-
if (anchorRef.current && anchorRef.current.contains(e.target)) {
|
60
|
-
return;
|
61
|
-
}
|
62
|
-
setOpen(false);
|
63
|
-
};
|
64
|
-
|
65
|
-
// 点击 item 后收起下拉菜单, 如果想要点击 action 后不收起下拉菜单, 可以在 item#onClick 时调用 e.stopPropagation()
|
66
|
-
const handleItemClick = e => {
|
67
|
-
if (e.target.closest('.MuiMenuItem-root')) {
|
68
|
-
setOpen(false);
|
69
|
-
}
|
70
|
-
};
|
71
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
72
|
-
children: [/*#__PURE__*/_jsxs(StyledButtonGroup, {
|
73
|
-
variant: variant,
|
74
|
-
size: size,
|
75
|
-
color: color,
|
76
|
-
ref: anchorRef,
|
77
|
-
...rest,
|
78
|
-
children: [typeof children === 'function' ? children() : /*#__PURE__*/_jsx(Button, {
|
79
|
-
onClick: onClick,
|
80
|
-
color: color,
|
81
|
-
children: children
|
82
|
-
}), /*#__PURE__*/_jsx(Button, {
|
83
|
-
onClick: onToggle,
|
84
|
-
color: color,
|
85
|
-
...menuButtonProps,
|
86
|
-
"aria-label": "more functions",
|
87
|
-
children: /*#__PURE__*/_jsx(ExpandMore, {})
|
88
|
-
})]
|
89
|
-
}), /*#__PURE__*/_jsx(StyledPopper, {
|
90
|
-
open: open,
|
91
|
-
anchorEl: anchorRef.current,
|
92
|
-
placement: "bottom-end",
|
93
|
-
disablePortal: false,
|
94
|
-
children: /*#__PURE__*/_jsx(Paper, {
|
95
|
-
children: /*#__PURE__*/_jsx(ClickAwayListener, {
|
96
|
-
onClickAway: handleClose,
|
97
|
-
children: /*#__PURE__*/_jsx(MenuList, {
|
98
|
-
onClick: handleItemClick,
|
99
|
-
children: menuItems
|
100
|
-
})
|
101
|
-
})
|
102
|
-
})
|
103
|
-
})]
|
104
|
-
});
|
105
|
-
}
|
106
|
-
SplitButton.propTypes = {
|
107
|
-
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
108
|
-
color: PropTypes.oneOf(['primary', 'secondary', 'inherit']),
|
109
|
-
menu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
110
|
-
// 也可以是用于渲染主按钮的 function
|
111
|
-
children: PropTypes.node,
|
112
|
-
variant: PropTypes.oneOf(['outlined', 'contained']),
|
113
|
-
onClick: PropTypes.func,
|
114
|
-
menuButtonProps: PropTypes.object
|
115
|
-
};
|
116
|
-
SplitButton.defaultProps = {
|
117
|
-
size: 'medium',
|
118
|
-
color: 'primary',
|
119
|
-
menu: [],
|
120
|
-
children: null,
|
121
|
-
variant: 'contained',
|
122
|
-
onClick: noop,
|
123
|
-
menuButtonProps: {}
|
124
|
-
};
|
125
|
-
/**
|
126
|
-
* @type {import('@mui/material').MenuItem}
|
127
|
-
*/
|
128
|
-
SplitButton.Item = MenuItem;
|
129
|
-
const StyledButtonGroup = styled(ButtonGroup)`
|
130
|
-
> .MuiButtonBase-root:last-of-type {
|
131
|
-
min-width: 2em;
|
132
|
-
padding-left: 0;
|
133
|
-
padding-right: 0;
|
134
|
-
}
|
135
|
-
`;
|
136
|
-
const StyledPopper = styled(Popper)`
|
137
|
-
z-index: ${props => props.theme.zIndex.tooltip};
|
138
|
-
.MuiList-root {
|
139
|
-
padding: 4px 0;
|
140
|
-
}
|
141
|
-
.MuiListItem-root {
|
142
|
-
padding-top: 4px;
|
143
|
-
padding-bottom: 4px;
|
144
|
-
}
|
145
|
-
`;
|