@arcblock/ux 2.11.36 → 2.11.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Avatar/did-motif.js +3 -1
- package/lib/Header/addon-button.d.ts +7 -0
- package/lib/Header/addon-button.js +33 -0
- package/lib/Header/header.js +28 -1
- package/lib/SessionUser/components/logged-in.js +1 -0
- package/lib/SessionUser/components/un-login.js +3 -2
- package/lib/Tabs/index.js +4 -2
- package/package.json +5 -5
- package/src/Avatar/did-motif.jsx +6 -2
- package/src/Header/addon-button.tsx +36 -0
- package/src/Header/header.tsx +31 -1
- package/src/SessionUser/components/logged-in.tsx +1 -0
- package/src/SessionUser/components/un-login.tsx +3 -2
- package/src/Tabs/index.tsx +3 -1
package/lib/Avatar/did-motif.js
CHANGED
@@ -30,7 +30,8 @@ function DIDMotif({
|
|
30
30
|
component: "svg",
|
31
31
|
ref: svgRef,
|
32
32
|
...rest,
|
33
|
-
style: styles
|
33
|
+
style: styles,
|
34
|
+
className: "arc-avatar-did-motif"
|
34
35
|
});
|
35
36
|
}
|
36
37
|
return /*#__PURE__*/_jsx(Box, {
|
@@ -42,6 +43,7 @@ function DIDMotif({
|
|
42
43
|
height: size,
|
43
44
|
...rest.style
|
44
45
|
},
|
46
|
+
className: "arc-avatar-did-motif",
|
45
47
|
children: /*#__PURE__*/_jsx(Box, {
|
46
48
|
component: "svg",
|
47
49
|
ref: svgRef,
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ButtonProps } from '@mui/material';
|
2
|
+
type Props<D extends React.ElementType, P = {}> = {
|
3
|
+
icon?: React.ReactNode;
|
4
|
+
children?: React.ReactNode;
|
5
|
+
} & ButtonProps<D, P>;
|
6
|
+
export declare function AddonButton<D extends React.ElementType, P = {}>({ icon, children, sx, ...rest }: Props<D, P>): import("react/jsx-runtime").JSX.Element;
|
7
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { Button } from '@mui/material';
|
3
|
+
// eslint-disable-next-line import/prefer-default-export
|
4
|
+
export function AddonButton({
|
5
|
+
icon,
|
6
|
+
children,
|
7
|
+
sx,
|
8
|
+
...rest
|
9
|
+
}) {
|
10
|
+
const mergedSx = [{
|
11
|
+
height: 32,
|
12
|
+
minWidth: 32,
|
13
|
+
borderColor: 'divider',
|
14
|
+
borderRadius: '100vh',
|
15
|
+
fontSize: 14,
|
16
|
+
color: 'text.secondary',
|
17
|
+
...(!children && {
|
18
|
+
padding: 0,
|
19
|
+
height: 32,
|
20
|
+
'.MuiButton-startIcon': {
|
21
|
+
margin: 0
|
22
|
+
}
|
23
|
+
})
|
24
|
+
}, ...(Array.isArray(sx) ? sx : [sx])];
|
25
|
+
return /*#__PURE__*/_jsx(Button, {
|
26
|
+
startIcon: icon,
|
27
|
+
color: "inherit",
|
28
|
+
variant: "outlined",
|
29
|
+
sx: mergedSx,
|
30
|
+
...rest,
|
31
|
+
children: children
|
32
|
+
});
|
33
|
+
}
|
package/lib/Header/header.js
CHANGED
@@ -89,8 +89,35 @@ function Header({
|
|
89
89
|
}), children, align === 'left' && /*#__PURE__*/_jsx(Box, {
|
90
90
|
display: "inline-block",
|
91
91
|
flexGrow: 1
|
92
|
-
}), /*#__PURE__*/_jsx(
|
92
|
+
}), /*#__PURE__*/_jsx(Box, {
|
93
93
|
className: "header-addons",
|
94
|
+
sx: {
|
95
|
+
display: 'flex',
|
96
|
+
alignItems: 'center',
|
97
|
+
gap: 1.5,
|
98
|
+
'> *': {
|
99
|
+
m: '0px!important'
|
100
|
+
},
|
101
|
+
'.MuiIconButton-root': {
|
102
|
+
width: 32,
|
103
|
+
height: 32,
|
104
|
+
p: 0,
|
105
|
+
border: 1,
|
106
|
+
borderColor: 'divider'
|
107
|
+
},
|
108
|
+
'.MuiIconButton-root svg, .MuiButton-root svg': {
|
109
|
+
fontSize: 18,
|
110
|
+
width: '1em!important',
|
111
|
+
height: '1em!important'
|
112
|
+
},
|
113
|
+
'.arc-session-user-logged-in > *, .arc-session-user-logged-in svg': {
|
114
|
+
width: '100%!important',
|
115
|
+
height: '100%!important'
|
116
|
+
},
|
117
|
+
'.arc-session-user-unlogin svg': {
|
118
|
+
transform: 'scale(1)!important'
|
119
|
+
}
|
120
|
+
},
|
94
121
|
children: addons
|
95
122
|
})]
|
96
123
|
})
|
@@ -103,6 +103,7 @@ export default function LoggedIn({
|
|
103
103
|
onClick: () => onTogglePopper(),
|
104
104
|
size: "medium",
|
105
105
|
"data-cy": "sessionManager-logout-popup",
|
106
|
+
className: "arc-session-user-logged-in",
|
106
107
|
"aria-label": "User info button",
|
107
108
|
children: /*#__PURE__*/_jsx(DidAvatar, {
|
108
109
|
variant: "circle",
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import { Box, CircularProgress, IconButton } from '@mui/material';
|
3
3
|
import { Icon } from '@iconify/react';
|
4
|
-
import
|
4
|
+
import UserIcon from '@iconify-icons/tabler/user';
|
5
5
|
import { useRef } from 'react';
|
6
6
|
import { useMemoizedFn } from 'ahooks';
|
7
7
|
import noop from 'lodash/noop';
|
@@ -24,6 +24,7 @@ export default function UnLogin({
|
|
24
24
|
ref: userAnchorRef,
|
25
25
|
onClick: _onLogin,
|
26
26
|
"data-cy": "sessionManager-login",
|
27
|
+
className: "arc-session-user-unlogin",
|
27
28
|
size: "medium",
|
28
29
|
"aria-label": "Login button",
|
29
30
|
children: isFirstLoading ? /*#__PURE__*/_jsx(Box, {
|
@@ -40,7 +41,7 @@ export default function UnLogin({
|
|
40
41
|
}
|
41
42
|
})
|
42
43
|
}) : /*#__PURE__*/_jsx(Icon, {
|
43
|
-
icon:
|
44
|
+
icon: UserIcon,
|
44
45
|
fontSize: size,
|
45
46
|
color: dark ? '#fff' : 'inherit',
|
46
47
|
style: {
|
package/lib/Tabs/index.js
CHANGED
@@ -102,10 +102,12 @@ function LineTabs({
|
|
102
102
|
'&::after': {
|
103
103
|
content: '""',
|
104
104
|
display: 'block',
|
105
|
+
position: 'sticky',
|
106
|
+
left: 0,
|
107
|
+
zIndex: -1,
|
105
108
|
width: '100%',
|
106
109
|
height: '1px',
|
107
|
-
backgroundColor: colors.strokeBorderStrong
|
108
|
-
bottom: 0
|
110
|
+
backgroundColor: colors.strokeBorderStrong
|
109
111
|
}
|
110
112
|
} : {},
|
111
113
|
'.MuiTabs-flexContainer': {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@arcblock/ux",
|
3
|
-
"version": "2.11.
|
3
|
+
"version": "2.11.38",
|
4
4
|
"description": "Common used react components for arcblock products",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -68,12 +68,12 @@
|
|
68
68
|
"react": ">=18.2.0",
|
69
69
|
"react-router-dom": ">=6.22.3"
|
70
70
|
},
|
71
|
-
"gitHead": "
|
71
|
+
"gitHead": "76405cf15e46ac61b8fb61111579449a7f1ccd0f",
|
72
72
|
"dependencies": {
|
73
73
|
"@arcblock/did-motif": "^1.1.13",
|
74
|
-
"@arcblock/icons": "^2.11.
|
75
|
-
"@arcblock/nft-display": "^2.11.
|
76
|
-
"@arcblock/react-hooks": "^2.11.
|
74
|
+
"@arcblock/icons": "^2.11.38",
|
75
|
+
"@arcblock/nft-display": "^2.11.38",
|
76
|
+
"@arcblock/react-hooks": "^2.11.38",
|
77
77
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
78
78
|
"@fontsource/inter": "^5.0.16",
|
79
79
|
"@fontsource/ubuntu-mono": "^5.0.18",
|
package/src/Avatar/did-motif.jsx
CHANGED
@@ -13,10 +13,14 @@ function DIDMotif({ did, size, animation, shape, responsive, ...rest }) {
|
|
13
13
|
if (responsive) {
|
14
14
|
// fix avatar 显示问题 (safari 下父容器为 flex 时 inline svg 显示不出来, 需要明确指定 width)
|
15
15
|
const styles = { ...rest.style, width: '100%' };
|
16
|
-
return <Box component="svg" ref={svgRef} {...rest} style={styles} />;
|
16
|
+
return <Box component="svg" ref={svgRef} {...rest} style={styles} className="arc-avatar-did-motif" />;
|
17
17
|
}
|
18
18
|
return (
|
19
|
-
<Box
|
19
|
+
<Box
|
20
|
+
component="span"
|
21
|
+
{...rest}
|
22
|
+
style={{ display: 'inline-block', width: size, height: size, ...rest.style }}
|
23
|
+
className="arc-avatar-did-motif">
|
20
24
|
<Box component="svg" ref={svgRef} style={{ width: '100%' }} />
|
21
25
|
</Box>
|
22
26
|
);
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { Button, ButtonProps } from '@mui/material';
|
2
|
+
|
3
|
+
type Props<D extends React.ElementType, P = {}> = {
|
4
|
+
icon?: React.ReactNode;
|
5
|
+
children?: React.ReactNode;
|
6
|
+
} & ButtonProps<D, P>;
|
7
|
+
|
8
|
+
// eslint-disable-next-line import/prefer-default-export
|
9
|
+
export function AddonButton<D extends React.ElementType, P = {}>({ icon, children, sx, ...rest }: Props<D, P>) {
|
10
|
+
const mergedSx = [
|
11
|
+
{
|
12
|
+
height: 32,
|
13
|
+
minWidth: 32,
|
14
|
+
borderColor: 'divider',
|
15
|
+
borderRadius: '100vh',
|
16
|
+
fontSize: 14,
|
17
|
+
color: 'text.secondary',
|
18
|
+
|
19
|
+
...(!children && {
|
20
|
+
padding: 0,
|
21
|
+
height: 32,
|
22
|
+
|
23
|
+
'.MuiButton-startIcon': {
|
24
|
+
margin: 0,
|
25
|
+
},
|
26
|
+
}),
|
27
|
+
},
|
28
|
+
...(Array.isArray(sx) ? sx : [sx]),
|
29
|
+
];
|
30
|
+
|
31
|
+
return (
|
32
|
+
<Button startIcon={icon} color="inherit" variant="outlined" sx={mergedSx} {...rest}>
|
33
|
+
{children}
|
34
|
+
</Button>
|
35
|
+
);
|
36
|
+
}
|
package/src/Header/header.tsx
CHANGED
@@ -89,7 +89,37 @@ function Header({
|
|
89
89
|
{align === 'right' && <Box display="inline-block" flexGrow={1} />}
|
90
90
|
{children}
|
91
91
|
{align === 'left' && <Box display="inline-block" flexGrow={1} />}
|
92
|
-
<
|
92
|
+
<Box
|
93
|
+
className="header-addons"
|
94
|
+
sx={{
|
95
|
+
display: 'flex',
|
96
|
+
alignItems: 'center',
|
97
|
+
gap: 1.5,
|
98
|
+
'> *': {
|
99
|
+
m: '0px!important',
|
100
|
+
},
|
101
|
+
'.MuiIconButton-root': {
|
102
|
+
width: 32,
|
103
|
+
height: 32,
|
104
|
+
p: 0,
|
105
|
+
border: 1,
|
106
|
+
borderColor: 'divider',
|
107
|
+
},
|
108
|
+
'.MuiIconButton-root svg, .MuiButton-root svg': {
|
109
|
+
fontSize: 18,
|
110
|
+
width: '1em!important',
|
111
|
+
height: '1em!important',
|
112
|
+
},
|
113
|
+
'.arc-session-user-logged-in > *, .arc-session-user-logged-in svg': {
|
114
|
+
width: '100%!important',
|
115
|
+
height: '100%!important',
|
116
|
+
},
|
117
|
+
'.arc-session-user-unlogin svg': {
|
118
|
+
transform: 'scale(1)!important',
|
119
|
+
},
|
120
|
+
}}>
|
121
|
+
{addons}
|
122
|
+
</Box>
|
93
123
|
</Container>
|
94
124
|
</Root>
|
95
125
|
);
|
@@ -134,6 +134,7 @@ export default function LoggedIn({
|
|
134
134
|
onClick={() => onTogglePopper()}
|
135
135
|
size="medium"
|
136
136
|
data-cy="sessionManager-logout-popup"
|
137
|
+
className="arc-session-user-logged-in"
|
137
138
|
aria-label="User info button">
|
138
139
|
<DidAvatar variant="circle" did={session.user.did} src={avatar} size={size} shape="circle" />
|
139
140
|
</IconButton>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Box, CircularProgress, IconButton } from '@mui/material';
|
2
2
|
import { Icon } from '@iconify/react';
|
3
|
-
import
|
3
|
+
import UserIcon from '@iconify-icons/tabler/user';
|
4
4
|
import { useRef } from 'react';
|
5
5
|
import { useMemoizedFn } from 'ahooks';
|
6
6
|
import noop from 'lodash/noop';
|
@@ -30,6 +30,7 @@ export default function UnLogin({ session, onLogin = noop, size = 24, dark = fal
|
|
30
30
|
ref={userAnchorRef}
|
31
31
|
onClick={_onLogin}
|
32
32
|
data-cy="sessionManager-login"
|
33
|
+
className="arc-session-user-unlogin"
|
33
34
|
size="medium"
|
34
35
|
aria-label="Login button">
|
35
36
|
{isFirstLoading ? (
|
@@ -38,7 +39,7 @@ export default function UnLogin({ session, onLogin = noop, size = 24, dark = fal
|
|
38
39
|
</Box>
|
39
40
|
) : (
|
40
41
|
<Icon
|
41
|
-
icon={
|
42
|
+
icon={UserIcon}
|
42
43
|
fontSize={size}
|
43
44
|
color={dark ? '#fff' : 'inherit'}
|
44
45
|
style={{ transform: 'scale(1.25)' }}
|
package/src/Tabs/index.tsx
CHANGED
@@ -110,10 +110,12 @@ function LineTabs({ tabs, current, onChange, ...rest }: LineTabsProps) {
|
|
110
110
|
'&::after': {
|
111
111
|
content: '""',
|
112
112
|
display: 'block',
|
113
|
+
position: 'sticky',
|
114
|
+
left: 0,
|
115
|
+
zIndex: -1,
|
113
116
|
width: '100%',
|
114
117
|
height: '1px',
|
115
118
|
backgroundColor: colors.strokeBorderStrong,
|
116
|
-
bottom: 0,
|
117
119
|
},
|
118
120
|
}
|
119
121
|
: {},
|