@arcblock/ux 2.9.17 → 2.9.19
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/es/Avatar/did-motif.js +7 -3
- package/es/Avatar/index.js +33 -31
- package/es/Img/index.js +37 -37
- package/es/Layout/dashboard/index.js +1 -1
- package/es/Locale/selector.js +1 -1
- package/es/SessionBlocklet/index.js +1 -1
- package/lib/Avatar/did-motif.js +8 -3
- package/lib/Avatar/index.js +32 -12
- package/lib/Img/index.js +36 -37
- package/lib/Layout/dashboard/index.js +1 -1
- package/lib/Locale/selector.js +1 -1
- package/lib/SessionBlocklet/index.js +1 -1
- package/package.json +5 -5
- package/src/Avatar/did-motif.jsx +5 -4
- package/src/Avatar/index.jsx +35 -34
- package/src/Img/index.jsx +41 -39
- package/src/Layout/dashboard/index.js +1 -1
- package/src/Locale/selector.jsx +1 -1
- package/src/SessionBlocklet/index.jsx +1 -1
package/es/Avatar/did-motif.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useRef, useLayoutEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { update } from '@arcblock/did-motif';
|
|
4
|
+
import { Box } from '@mui/material';
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
function DIDMotif({
|
|
6
7
|
did,
|
|
@@ -25,13 +26,15 @@ function DIDMotif({
|
|
|
25
26
|
...rest.style,
|
|
26
27
|
width: '100%'
|
|
27
28
|
};
|
|
28
|
-
return /*#__PURE__*/_jsx(
|
|
29
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
30
|
+
component: "svg",
|
|
29
31
|
ref: svgRef,
|
|
30
32
|
...rest,
|
|
31
33
|
style: styles
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
|
-
return /*#__PURE__*/_jsx(
|
|
36
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
37
|
+
component: "span",
|
|
35
38
|
...rest,
|
|
36
39
|
style: {
|
|
37
40
|
display: 'inline-block',
|
|
@@ -39,7 +42,8 @@ function DIDMotif({
|
|
|
39
42
|
height: size,
|
|
40
43
|
...rest.style
|
|
41
44
|
},
|
|
42
|
-
children: /*#__PURE__*/_jsx(
|
|
45
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
46
|
+
component: "svg",
|
|
43
47
|
ref: svgRef,
|
|
44
48
|
style: {
|
|
45
49
|
width: '100%'
|
package/es/Avatar/index.js
CHANGED
|
@@ -6,7 +6,6 @@ import { Shape } from '@arcblock/did-motif';
|
|
|
6
6
|
import Box from '@mui/material/Box';
|
|
7
7
|
import Img from '../Img';
|
|
8
8
|
import { mergeProps, isEthereumDid } from '../Util';
|
|
9
|
-
import { styled } from '../Theme';
|
|
10
9
|
import DIDMotif from './did-motif';
|
|
11
10
|
import blockies from './etherscan-blockies';
|
|
12
11
|
|
|
@@ -59,13 +58,25 @@ function Avatar(props) {
|
|
|
59
58
|
|
|
60
59
|
// 如果显式传入 src 则直接使用 src
|
|
61
60
|
if (src && !imgError) {
|
|
62
|
-
return /*#__PURE__*/_jsx(
|
|
61
|
+
return /*#__PURE__*/_jsx(Img, {
|
|
63
62
|
width: size,
|
|
64
63
|
src: src,
|
|
65
64
|
alt: did,
|
|
66
65
|
onError: () => setImgError(true),
|
|
67
66
|
...rest,
|
|
68
|
-
|
|
67
|
+
// HACK: 这个 className 是传递给子元素的,所以下面的 sx 需要通过子元素选择器来写样式
|
|
68
|
+
className: `avatar-img--${variant} ${rest?.className || ''}`,
|
|
69
|
+
sx: {
|
|
70
|
+
'& .avatar-img--rounded': {
|
|
71
|
+
borderRadius: '4px',
|
|
72
|
+
overflow: 'hidden'
|
|
73
|
+
},
|
|
74
|
+
'& .avatar-img--circle': {
|
|
75
|
+
borderRadius: '100%',
|
|
76
|
+
overflow: 'hidden'
|
|
77
|
+
},
|
|
78
|
+
...rest.sx
|
|
79
|
+
}
|
|
69
80
|
});
|
|
70
81
|
}
|
|
71
82
|
// 对于 eth address, 渲染成 blocky icon, 形状与 account role type 的 did motif 相似都为矩形, 高宽比为 0.7
|
|
@@ -73,9 +84,25 @@ function Avatar(props) {
|
|
|
73
84
|
if (blockiesPadding) {
|
|
74
85
|
// blocky icon 要与灰色卡片矩形留有空间
|
|
75
86
|
const padding = size > 24 ? 4 : 2;
|
|
76
|
-
return /*#__PURE__*/_jsx(
|
|
77
|
-
$size: size,
|
|
87
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
78
88
|
...rest,
|
|
89
|
+
sx: {
|
|
90
|
+
display: 'flex',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
width: size,
|
|
93
|
+
height: size,
|
|
94
|
+
'.blocky-icon-inner': {
|
|
95
|
+
boxSizing: 'border-box',
|
|
96
|
+
display: 'flex',
|
|
97
|
+
justifyContent: 'center',
|
|
98
|
+
alignItems: 'center',
|
|
99
|
+
width: size,
|
|
100
|
+
height: size * 0.7,
|
|
101
|
+
borderRadius: `${Math.min(10, Math.floor(0.1 * size + 2))}px`,
|
|
102
|
+
background: '#ddd'
|
|
103
|
+
},
|
|
104
|
+
...rest.sx
|
|
105
|
+
},
|
|
79
106
|
children: /*#__PURE__*/_jsx("div", {
|
|
80
107
|
className: "blocky-icon-inner",
|
|
81
108
|
children: /*#__PURE__*/_jsx(Img, {
|
|
@@ -87,6 +114,7 @@ function Avatar(props) {
|
|
|
87
114
|
});
|
|
88
115
|
}
|
|
89
116
|
return /*#__PURE__*/_jsx(Img, {
|
|
117
|
+
...rest,
|
|
90
118
|
width: size,
|
|
91
119
|
src: blockyIcon,
|
|
92
120
|
alt: did,
|
|
@@ -127,32 +155,6 @@ Avatar.defaultProps = {
|
|
|
127
155
|
shape: '',
|
|
128
156
|
responsive: false
|
|
129
157
|
};
|
|
130
|
-
const BlockyIconContainer = styled(Box)`
|
|
131
|
-
display: flex;
|
|
132
|
-
align-items: center;
|
|
133
|
-
width: ${props => props.$size}px;
|
|
134
|
-
height: ${props => props.$size}px;
|
|
135
|
-
.blocky-icon-inner {
|
|
136
|
-
box-sizing: border-box;
|
|
137
|
-
display: flex;
|
|
138
|
-
justify-content: center;
|
|
139
|
-
align-items: center;
|
|
140
|
-
width: ${props => props.$size}px;
|
|
141
|
-
height: ${props => props.$size * 0.7}px;
|
|
142
|
-
border-radius: ${props => Math.min(10, Math.floor(0.1 * props.$size + 2))}px;
|
|
143
|
-
background: #ddd;
|
|
144
|
-
}
|
|
145
|
-
`;
|
|
146
|
-
const StyledImg = styled(Img)`
|
|
147
|
-
&.avatar-img--rounded {
|
|
148
|
-
border-radius: 4px;
|
|
149
|
-
overflow: hidden;
|
|
150
|
-
}
|
|
151
|
-
&.avatar-img--circle {
|
|
152
|
-
border-radius: 100%;
|
|
153
|
-
overflow: hidden;
|
|
154
|
-
}
|
|
155
|
-
`;
|
|
156
158
|
export default function AvatarWithErrorBoundary(props) {
|
|
157
159
|
const size = props.size || 36;
|
|
158
160
|
const borderRadius = {
|
package/es/Img/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import { useInView } from 'react-intersection-observer';
|
|
|
4
4
|
import WarningRoundedIcon from '@iconify-icons/material-symbols/warning-rounded';
|
|
5
5
|
import ImageRoundedIcon from '@iconify-icons/material-symbols/image-rounded';
|
|
6
6
|
import { Icon } from '@iconify/react';
|
|
7
|
+
import { Box } from '@mui/material';
|
|
7
8
|
import noop from 'lodash/noop';
|
|
8
|
-
import { styled } from '../Theme';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @typedef {Object} ImgExProps
|
|
@@ -36,41 +36,6 @@ const classes = {
|
|
|
36
36
|
root: `${PREFIX}-root`
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
/** @type {import('@emotion/styled').StyledComponent<import('react').ComponentPropsWithoutRef<"div">, {}, { ref?: React.Ref<any> | undefined;}>} */
|
|
40
|
-
const Root = styled('div')(() => ({
|
|
41
|
-
[`& .${classes.root}`]: {
|
|
42
|
-
position: 'relative',
|
|
43
|
-
overflow: 'hidden',
|
|
44
|
-
'& .image--state, & .image--img': {
|
|
45
|
-
minWidth: '100%',
|
|
46
|
-
minHeight: '100%',
|
|
47
|
-
position: 'absolute',
|
|
48
|
-
top: 0,
|
|
49
|
-
left: '50%',
|
|
50
|
-
transform: 'translateX(-50%)'
|
|
51
|
-
},
|
|
52
|
-
'& .image--state': {
|
|
53
|
-
display: 'flex',
|
|
54
|
-
flexDirection: 'column',
|
|
55
|
-
justifyContent: 'center',
|
|
56
|
-
alignItems: 'center',
|
|
57
|
-
color: '#999',
|
|
58
|
-
background: '#eee',
|
|
59
|
-
width: '100%',
|
|
60
|
-
height: '100%'
|
|
61
|
-
},
|
|
62
|
-
'& .image--img': {
|
|
63
|
-
opacity: 0,
|
|
64
|
-
visibility: 'hidden'
|
|
65
|
-
},
|
|
66
|
-
'& .image--icon': {
|
|
67
|
-
fontSize: 30,
|
|
68
|
-
maxWidth: '80%',
|
|
69
|
-
maxHeight: '80%'
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}));
|
|
73
|
-
|
|
74
39
|
/**
|
|
75
40
|
*
|
|
76
41
|
* @param {ImgProps} props
|
|
@@ -152,10 +117,45 @@ function Img({
|
|
|
152
117
|
return (
|
|
153
118
|
/*#__PURE__*/
|
|
154
119
|
// paddingTop 要求元素本身的宽度为 100%,所以只能加一个外层元素去限制宽度
|
|
155
|
-
_jsx(
|
|
120
|
+
_jsx(Box, {
|
|
121
|
+
"data-id": "2",
|
|
156
122
|
ref: ref,
|
|
157
123
|
style: outerStyle,
|
|
158
124
|
...rest,
|
|
125
|
+
sx: {
|
|
126
|
+
[`& .${classes.root}`]: {
|
|
127
|
+
position: 'relative',
|
|
128
|
+
overflow: 'hidden',
|
|
129
|
+
'& .image--state, & .image--img': {
|
|
130
|
+
minWidth: '100%',
|
|
131
|
+
minHeight: '100%',
|
|
132
|
+
position: 'absolute',
|
|
133
|
+
top: 0,
|
|
134
|
+
left: '50%',
|
|
135
|
+
transform: 'translateX(-50%)'
|
|
136
|
+
},
|
|
137
|
+
'& .image--state': {
|
|
138
|
+
display: 'flex',
|
|
139
|
+
flexDirection: 'column',
|
|
140
|
+
justifyContent: 'center',
|
|
141
|
+
alignItems: 'center',
|
|
142
|
+
color: '#999',
|
|
143
|
+
background: '#eee',
|
|
144
|
+
width: '100%',
|
|
145
|
+
height: '100%'
|
|
146
|
+
},
|
|
147
|
+
'& .image--img': {
|
|
148
|
+
opacity: 0,
|
|
149
|
+
visibility: 'hidden'
|
|
150
|
+
},
|
|
151
|
+
'& .image--icon': {
|
|
152
|
+
fontSize: 30,
|
|
153
|
+
maxWidth: '80%',
|
|
154
|
+
maxHeight: '80%'
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
...rest.sx
|
|
158
|
+
},
|
|
159
159
|
children: /*#__PURE__*/_jsxs("div", {
|
|
160
160
|
className: `image ${className} ${classes.root}`,
|
|
161
161
|
style: mergedStyle,
|
|
@@ -232,7 +232,7 @@ const Wrapper = styled('div', {
|
|
|
232
232
|
display: flex;
|
|
233
233
|
justify-content: center;
|
|
234
234
|
/* logo 与 sidebar 中的 icon 垂直对齐, sidebarWidth - 24 * 2 */
|
|
235
|
-
width: ${props => props.sidebarWidth - 24 * 2}px;
|
|
235
|
+
min-width: ${props => props.sidebarWidth - 24 * 2}px;
|
|
236
236
|
}
|
|
237
237
|
&.dashboard-dense {
|
|
238
238
|
.header-logo {
|
package/es/Locale/selector.js
CHANGED
package/lib/Avatar/did-motif.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _didMotif = require("@arcblock/did-motif");
|
|
10
|
+
var _material = require("@mui/material");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
const _excluded = ["did", "size", "animation", "shape", "responsive"];
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -40,19 +41,23 @@ function DIDMotif(_ref) {
|
|
|
40
41
|
const styles = _objectSpread(_objectSpread({}, rest.style), {}, {
|
|
41
42
|
width: '100%'
|
|
42
43
|
});
|
|
43
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
44
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, _objectSpread(_objectSpread({
|
|
45
|
+
component: "svg",
|
|
44
46
|
ref: svgRef
|
|
45
47
|
}, rest), {}, {
|
|
46
48
|
style: styles
|
|
47
49
|
}));
|
|
48
50
|
}
|
|
49
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
51
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, _objectSpread(_objectSpread({
|
|
52
|
+
component: "span"
|
|
53
|
+
}, rest), {}, {
|
|
50
54
|
style: _objectSpread({
|
|
51
55
|
display: 'inline-block',
|
|
52
56
|
width: size,
|
|
53
57
|
height: size
|
|
54
58
|
}, rest.style),
|
|
55
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
59
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
|
60
|
+
component: "svg",
|
|
56
61
|
ref: svgRef,
|
|
57
62
|
style: {
|
|
58
63
|
width: '100%'
|
package/lib/Avatar/index.js
CHANGED
|
@@ -11,11 +11,9 @@ var _didMotif = require("@arcblock/did-motif");
|
|
|
11
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
12
|
var _Img = _interopRequireDefault(require("../Img"));
|
|
13
13
|
var _Util = require("../Util");
|
|
14
|
-
var _Theme = require("../Theme");
|
|
15
14
|
var _didMotif2 = _interopRequireDefault(require("./did-motif"));
|
|
16
15
|
var _etherscanBlockies = _interopRequireDefault(require("./etherscan-blockies"));
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
var _templateObject, _templateObject2;
|
|
19
17
|
const _excluded = ["did", "size", "src", "variant", "animation", "shape", "blockiesPadding", "responsive"];
|
|
20
18
|
/* eslint-disable react/no-unused-prop-types */
|
|
21
19
|
/**
|
|
@@ -37,7 +35,6 @@ const _excluded = ["did", "size", "src", "variant", "animation", "shape", "block
|
|
|
37
35
|
* @returns {JSX.Element}
|
|
38
36
|
*/
|
|
39
37
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
40
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
41
38
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
42
39
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
43
40
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -74,13 +71,24 @@ function Avatar(props) {
|
|
|
74
71
|
|
|
75
72
|
// 如果显式传入 src 则直接使用 src
|
|
76
73
|
if (src && !imgError) {
|
|
77
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
74
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Img.default, _objectSpread(_objectSpread({
|
|
78
75
|
width: size,
|
|
79
76
|
src: src,
|
|
80
77
|
alt: did,
|
|
81
78
|
onError: () => setImgError(true)
|
|
82
79
|
}, rest), {}, {
|
|
83
|
-
|
|
80
|
+
// HACK: 这个 className 是传递给子元素的,所以下面的 sx 需要通过子元素选择器来写样式
|
|
81
|
+
className: "avatar-img--".concat(variant, " ").concat((rest === null || rest === void 0 ? void 0 : rest.className) || ''),
|
|
82
|
+
sx: _objectSpread({
|
|
83
|
+
'& .avatar-img--rounded': {
|
|
84
|
+
borderRadius: '4px',
|
|
85
|
+
overflow: 'hidden'
|
|
86
|
+
},
|
|
87
|
+
'& .avatar-img--circle': {
|
|
88
|
+
borderRadius: '100%',
|
|
89
|
+
overflow: 'hidden'
|
|
90
|
+
}
|
|
91
|
+
}, rest.sx)
|
|
84
92
|
}));
|
|
85
93
|
}
|
|
86
94
|
// 对于 eth address, 渲染成 blocky icon, 形状与 account role type 的 did motif 相似都为矩形, 高宽比为 0.7
|
|
@@ -88,9 +96,23 @@ function Avatar(props) {
|
|
|
88
96
|
if (blockiesPadding) {
|
|
89
97
|
// blocky icon 要与灰色卡片矩形留有空间
|
|
90
98
|
const padding = size > 24 ? 4 : 2;
|
|
91
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, _objectSpread(_objectSpread({}, rest), {}, {
|
|
100
|
+
sx: _objectSpread({
|
|
101
|
+
display: 'flex',
|
|
102
|
+
alignItems: 'center',
|
|
103
|
+
width: size,
|
|
104
|
+
height: size,
|
|
105
|
+
'.blocky-icon-inner': {
|
|
106
|
+
boxSizing: 'border-box',
|
|
107
|
+
display: 'flex',
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
alignItems: 'center',
|
|
110
|
+
width: size,
|
|
111
|
+
height: size * 0.7,
|
|
112
|
+
borderRadius: "".concat(Math.min(10, Math.floor(0.1 * size + 2)), "px"),
|
|
113
|
+
background: '#ddd'
|
|
114
|
+
}
|
|
115
|
+
}, rest.sx),
|
|
94
116
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
95
117
|
className: "blocky-icon-inner",
|
|
96
118
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Img.default, {
|
|
@@ -101,14 +123,14 @@ function Avatar(props) {
|
|
|
101
123
|
})
|
|
102
124
|
}));
|
|
103
125
|
}
|
|
104
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Img.default, {
|
|
126
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Img.default, _objectSpread(_objectSpread({}, rest), {}, {
|
|
105
127
|
width: size,
|
|
106
128
|
src: blockyIcon,
|
|
107
129
|
alt: did,
|
|
108
130
|
style: {
|
|
109
131
|
marginRight: 4
|
|
110
132
|
}
|
|
111
|
-
});
|
|
133
|
+
}));
|
|
112
134
|
}
|
|
113
135
|
if (did) {
|
|
114
136
|
// 渲染 did motif
|
|
@@ -141,8 +163,6 @@ Avatar.defaultProps = {
|
|
|
141
163
|
shape: '',
|
|
142
164
|
responsive: false
|
|
143
165
|
};
|
|
144
|
-
const BlockyIconContainer = (0, _Theme.styled)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n width: ", "px;\n height: ", "px;\n .blocky-icon-inner {\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ", "px;\n height: ", "px;\n border-radius: ", "px;\n background: #ddd;\n }\n"])), props => props.$size, props => props.$size, props => props.$size, props => props.$size * 0.7, props => Math.min(10, Math.floor(0.1 * props.$size + 2)));
|
|
145
|
-
const StyledImg = (0, _Theme.styled)(_Img.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &.avatar-img--rounded {\n border-radius: 4px;\n overflow: hidden;\n }\n &.avatar-img--circle {\n border-radius: 100%;\n overflow: hidden;\n }\n"])));
|
|
146
166
|
function AvatarWithErrorBoundary(props) {
|
|
147
167
|
const size = props.size || 36;
|
|
148
168
|
const borderRadius = {
|
package/lib/Img/index.js
CHANGED
|
@@ -10,8 +10,8 @@ var _reactIntersectionObserver = require("react-intersection-observer");
|
|
|
10
10
|
var _warningRounded = _interopRequireDefault(require("@iconify-icons/material-symbols/warning-rounded"));
|
|
11
11
|
var _imageRounded = _interopRequireDefault(require("@iconify-icons/material-symbols/image-rounded"));
|
|
12
12
|
var _react2 = require("@iconify/react");
|
|
13
|
+
var _material = require("@mui/material");
|
|
13
14
|
var _noop = _interopRequireDefault(require("lodash/noop"));
|
|
14
|
-
var _Theme = require("../Theme");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
const _excluded = ["lazy", "width", "height", "repeat", "ratio", "alt", "size", "position", "src", "placeholder", "fallback", "style", "className", "onError", "onSuccess"];
|
|
17
17
|
/**
|
|
@@ -48,41 +48,6 @@ const classes = {
|
|
|
48
48
|
root: "".concat(PREFIX, "-root")
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
/** @type {import('@emotion/styled').StyledComponent<import('react').ComponentPropsWithoutRef<"div">, {}, { ref?: React.Ref<any> | undefined;}>} */
|
|
52
|
-
const Root = (0, _Theme.styled)('div')(() => ({
|
|
53
|
-
["& .".concat(classes.root)]: {
|
|
54
|
-
position: 'relative',
|
|
55
|
-
overflow: 'hidden',
|
|
56
|
-
'& .image--state, & .image--img': {
|
|
57
|
-
minWidth: '100%',
|
|
58
|
-
minHeight: '100%',
|
|
59
|
-
position: 'absolute',
|
|
60
|
-
top: 0,
|
|
61
|
-
left: '50%',
|
|
62
|
-
transform: 'translateX(-50%)'
|
|
63
|
-
},
|
|
64
|
-
'& .image--state': {
|
|
65
|
-
display: 'flex',
|
|
66
|
-
flexDirection: 'column',
|
|
67
|
-
justifyContent: 'center',
|
|
68
|
-
alignItems: 'center',
|
|
69
|
-
color: '#999',
|
|
70
|
-
background: '#eee',
|
|
71
|
-
width: '100%',
|
|
72
|
-
height: '100%'
|
|
73
|
-
},
|
|
74
|
-
'& .image--img': {
|
|
75
|
-
opacity: 0,
|
|
76
|
-
visibility: 'hidden'
|
|
77
|
-
},
|
|
78
|
-
'& .image--icon': {
|
|
79
|
-
fontSize: 30,
|
|
80
|
-
maxWidth: '80%',
|
|
81
|
-
maxHeight: '80%'
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}));
|
|
85
|
-
|
|
86
51
|
/**
|
|
87
52
|
*
|
|
88
53
|
* @param {ImgProps} props
|
|
@@ -164,10 +129,44 @@ function Img(_ref) {
|
|
|
164
129
|
return (
|
|
165
130
|
/*#__PURE__*/
|
|
166
131
|
// paddingTop 要求元素本身的宽度为 100%,所以只能加一个外层元素去限制宽度
|
|
167
|
-
(0, _jsxRuntime.jsx)(
|
|
132
|
+
(0, _jsxRuntime.jsx)(_material.Box, _objectSpread(_objectSpread({
|
|
133
|
+
"data-id": "2",
|
|
168
134
|
ref: ref,
|
|
169
135
|
style: outerStyle
|
|
170
136
|
}, rest), {}, {
|
|
137
|
+
sx: _objectSpread({
|
|
138
|
+
["& .".concat(classes.root)]: {
|
|
139
|
+
position: 'relative',
|
|
140
|
+
overflow: 'hidden',
|
|
141
|
+
'& .image--state, & .image--img': {
|
|
142
|
+
minWidth: '100%',
|
|
143
|
+
minHeight: '100%',
|
|
144
|
+
position: 'absolute',
|
|
145
|
+
top: 0,
|
|
146
|
+
left: '50%',
|
|
147
|
+
transform: 'translateX(-50%)'
|
|
148
|
+
},
|
|
149
|
+
'& .image--state': {
|
|
150
|
+
display: 'flex',
|
|
151
|
+
flexDirection: 'column',
|
|
152
|
+
justifyContent: 'center',
|
|
153
|
+
alignItems: 'center',
|
|
154
|
+
color: '#999',
|
|
155
|
+
background: '#eee',
|
|
156
|
+
width: '100%',
|
|
157
|
+
height: '100%'
|
|
158
|
+
},
|
|
159
|
+
'& .image--img': {
|
|
160
|
+
opacity: 0,
|
|
161
|
+
visibility: 'hidden'
|
|
162
|
+
},
|
|
163
|
+
'& .image--icon': {
|
|
164
|
+
fontSize: 30,
|
|
165
|
+
maxWidth: '80%',
|
|
166
|
+
maxHeight: '80%'
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}, rest.sx),
|
|
171
170
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
172
171
|
className: "image ".concat(className, " ").concat(classes.root),
|
|
173
172
|
style: mergedStyle,
|
|
@@ -206,7 +206,7 @@ Dashboard.defaultProps = {
|
|
|
206
206
|
};
|
|
207
207
|
const Wrapper = (0, _Theme.styled)('div', {
|
|
208
208
|
shouldForwardProp: prop => prop !== 'sidebarWidth'
|
|
209
|
-
})(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &.dashboard {\n display: flex;\n flex-direction: column;\n height: 100vh;\n }\n .dashboard-body {\n overflow: hidden;\n flex: 1;\n }\n .dashboard-sidebar {\n box-sizing: border-box;\n flex: 0 0 auto;\n width: ", "px;\n overflow: hidden;\n &:hover {\n overflow-y: auto;\n }\n }\n .dashboard-main {\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n position: relative;\n }\n .dashboard-content {\n flex: 1;\n }\n &.dashboard-dense {\n .dashboard-header {\n border-bottom: 1px solid #eee;\n }\n .dashboard-sidebar {\n width: 256px;\n border-right: 1px solid #eee;\n }\n }\n ", " {\n .header-logo {\n display: flex;\n justify-content: center;\n /* logo \u4E0E sidebar \u4E2D\u7684 icon \u5782\u76F4\u5BF9\u9F50, sidebarWidth - 24 * 2 */\n width: ", "px;\n }\n &.dashboard-dense {\n .header-logo {\n /* dense = true \u65F6 logo \u4E0E sidenav icons \u4E0D\u9700\u8981\u5BF9\u9F50 */\n width: auto;\n }\n }\n }\n"])), props => props.sidebarWidth, props => props.theme.breakpoints.up('md'), props => props.sidebarWidth - 24 * 2);
|
|
209
|
+
})(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &.dashboard {\n display: flex;\n flex-direction: column;\n height: 100vh;\n }\n .dashboard-body {\n overflow: hidden;\n flex: 1;\n }\n .dashboard-sidebar {\n box-sizing: border-box;\n flex: 0 0 auto;\n width: ", "px;\n overflow: hidden;\n &:hover {\n overflow-y: auto;\n }\n }\n .dashboard-main {\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n position: relative;\n }\n .dashboard-content {\n flex: 1;\n }\n &.dashboard-dense {\n .dashboard-header {\n border-bottom: 1px solid #eee;\n }\n .dashboard-sidebar {\n width: 256px;\n border-right: 1px solid #eee;\n }\n }\n ", " {\n .header-logo {\n display: flex;\n justify-content: center;\n /* logo \u4E0E sidebar \u4E2D\u7684 icon \u5782\u76F4\u5BF9\u9F50, sidebarWidth - 24 * 2 */\n min-width: ", "px;\n }\n &.dashboard-dense {\n .header-logo {\n /* dense = true \u65F6 logo \u4E0E sidenav icons \u4E0D\u9700\u8981\u5BF9\u9F50 */\n width: auto;\n }\n }\n }\n"])), props => props.sidebarWidth, props => props.theme.breakpoints.up('md'), props => props.sidebarWidth - 24 * 2);
|
|
210
210
|
const StyledUxHeader = (0, _Theme.styled)(_Header.ResponsiveHeader)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .header-container {\n max-width: 100%;\n }\n"])));
|
|
211
211
|
|
|
212
212
|
// 兼容旧版 dashboard
|
package/lib/Locale/selector.js
CHANGED
|
@@ -83,7 +83,7 @@ function LocaleSelector(props) {
|
|
|
83
83
|
fontSize: size,
|
|
84
84
|
color: theme.palette.text.secondary,
|
|
85
85
|
style: {
|
|
86
|
-
transform: 'scale(1.
|
|
86
|
+
transform: 'scale(1.10)'
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
}, [Icon, theme === null || theme === void 0 ? void 0 : (_theme$palette2 = theme.palette) === null || _theme$palette2 === void 0 ? void 0 : (_theme$palette2$text = _theme$palette2.text) === null || _theme$palette2$text === void 0 ? void 0 : _theme$palette2$text.secondary, size]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcblock/ux",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.19",
|
|
4
4
|
"description": "Common used react components for arcblock products",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -344,12 +344,12 @@
|
|
|
344
344
|
"peerDependencies": {
|
|
345
345
|
"react": ">=18.1.0"
|
|
346
346
|
},
|
|
347
|
-
"gitHead": "
|
|
347
|
+
"gitHead": "409ab4e9bc7a641c7d3f64dfebe05d8ea3cfe2da",
|
|
348
348
|
"dependencies": {
|
|
349
349
|
"@arcblock/did-motif": "^1.1.13",
|
|
350
|
-
"@arcblock/icons": "^2.9.
|
|
351
|
-
"@arcblock/nft-display": "^2.9.
|
|
352
|
-
"@arcblock/react-hooks": "^2.9.
|
|
350
|
+
"@arcblock/icons": "^2.9.19",
|
|
351
|
+
"@arcblock/nft-display": "^2.9.19",
|
|
352
|
+
"@arcblock/react-hooks": "^2.9.19",
|
|
353
353
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
354
354
|
"@emotion/react": "^11.10.4",
|
|
355
355
|
"@emotion/styled": "^11.10.4",
|
package/src/Avatar/did-motif.jsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useRef, useLayoutEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { update } from '@arcblock/did-motif';
|
|
4
|
+
import { Box } from '@mui/material';
|
|
4
5
|
|
|
5
6
|
function DIDMotif({ did, size, animation, shape, responsive, ...rest }) {
|
|
6
7
|
const svgRef = useRef(null);
|
|
@@ -12,12 +13,12 @@ function DIDMotif({ did, size, animation, shape, responsive, ...rest }) {
|
|
|
12
13
|
if (responsive) {
|
|
13
14
|
// fix avatar 显示问题 (safari 下父容器为 flex 时 inline svg 显示不出来, 需要明确指定 width)
|
|
14
15
|
const styles = { ...rest.style, width: '100%' };
|
|
15
|
-
return <svg ref={svgRef} {...rest} style={styles} />;
|
|
16
|
+
return <Box component="svg" ref={svgRef} {...rest} style={styles} />;
|
|
16
17
|
}
|
|
17
18
|
return (
|
|
18
|
-
<span {...rest} style={{ display: 'inline-block', width: size, height: size, ...rest.style }}>
|
|
19
|
-
<svg ref={svgRef} style={{ width: '100%' }} />
|
|
20
|
-
</
|
|
19
|
+
<Box component="span" {...rest} style={{ display: 'inline-block', width: size, height: size, ...rest.style }}>
|
|
20
|
+
<Box component="svg" ref={svgRef} style={{ width: '100%' }} />
|
|
21
|
+
</Box>
|
|
21
22
|
);
|
|
22
23
|
}
|
|
23
24
|
|
package/src/Avatar/index.jsx
CHANGED
|
@@ -6,7 +6,6 @@ import { Shape } from '@arcblock/did-motif';
|
|
|
6
6
|
import Box from '@mui/material/Box';
|
|
7
7
|
import Img from '../Img';
|
|
8
8
|
import { mergeProps, isEthereumDid } from '../Util';
|
|
9
|
-
import { styled } from '../Theme';
|
|
10
9
|
import DIDMotif from './did-motif';
|
|
11
10
|
import blockies from './etherscan-blockies';
|
|
12
11
|
|
|
@@ -51,13 +50,25 @@ function Avatar(props) {
|
|
|
51
50
|
// 如果显式传入 src 则直接使用 src
|
|
52
51
|
if (src && !imgError) {
|
|
53
52
|
return (
|
|
54
|
-
<
|
|
53
|
+
<Img
|
|
55
54
|
width={size}
|
|
56
55
|
src={src}
|
|
57
56
|
alt={did}
|
|
58
57
|
onError={() => setImgError(true)}
|
|
59
58
|
{...rest}
|
|
60
|
-
className
|
|
59
|
+
// HACK: 这个 className 是传递给子元素的,所以下面的 sx 需要通过子元素选择器来写样式
|
|
60
|
+
className={`avatar-img--${variant} ${rest?.className || ''}`}
|
|
61
|
+
sx={{
|
|
62
|
+
'& .avatar-img--rounded': {
|
|
63
|
+
borderRadius: '4px',
|
|
64
|
+
overflow: 'hidden',
|
|
65
|
+
},
|
|
66
|
+
'& .avatar-img--circle': {
|
|
67
|
+
borderRadius: '100%',
|
|
68
|
+
overflow: 'hidden',
|
|
69
|
+
},
|
|
70
|
+
...rest.sx,
|
|
71
|
+
}}
|
|
61
72
|
/>
|
|
62
73
|
);
|
|
63
74
|
}
|
|
@@ -67,15 +78,33 @@ function Avatar(props) {
|
|
|
67
78
|
// blocky icon 要与灰色卡片矩形留有空间
|
|
68
79
|
const padding = size > 24 ? 4 : 2;
|
|
69
80
|
return (
|
|
70
|
-
<
|
|
81
|
+
<Box
|
|
82
|
+
{...rest}
|
|
83
|
+
sx={{
|
|
84
|
+
display: 'flex',
|
|
85
|
+
alignItems: 'center',
|
|
86
|
+
width: size,
|
|
87
|
+
height: size,
|
|
88
|
+
'.blocky-icon-inner': {
|
|
89
|
+
boxSizing: 'border-box',
|
|
90
|
+
display: 'flex',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
width: size,
|
|
94
|
+
height: size * 0.7,
|
|
95
|
+
borderRadius: `${Math.min(10, Math.floor(0.1 * size + 2))}px`,
|
|
96
|
+
background: '#ddd',
|
|
97
|
+
},
|
|
98
|
+
...rest.sx,
|
|
99
|
+
}}>
|
|
71
100
|
<div className="blocky-icon-inner">
|
|
72
101
|
<Img width={size * 0.7 - padding * 2} src={blockyIcon} alt={did} />
|
|
73
102
|
</div>
|
|
74
|
-
</
|
|
103
|
+
</Box>
|
|
75
104
|
);
|
|
76
105
|
}
|
|
77
106
|
|
|
78
|
-
return <Img width={size} src={blockyIcon} alt={did} style={{ marginRight: 4 }} />;
|
|
107
|
+
return <Img {...rest} width={size} src={blockyIcon} alt={did} style={{ marginRight: 4 }} />;
|
|
79
108
|
}
|
|
80
109
|
|
|
81
110
|
if (did) {
|
|
@@ -115,34 +144,6 @@ Avatar.defaultProps = {
|
|
|
115
144
|
responsive: false,
|
|
116
145
|
};
|
|
117
146
|
|
|
118
|
-
const BlockyIconContainer = styled(Box)`
|
|
119
|
-
display: flex;
|
|
120
|
-
align-items: center;
|
|
121
|
-
width: ${(props) => props.$size}px;
|
|
122
|
-
height: ${(props) => props.$size}px;
|
|
123
|
-
.blocky-icon-inner {
|
|
124
|
-
box-sizing: border-box;
|
|
125
|
-
display: flex;
|
|
126
|
-
justify-content: center;
|
|
127
|
-
align-items: center;
|
|
128
|
-
width: ${(props) => props.$size}px;
|
|
129
|
-
height: ${(props) => props.$size * 0.7}px;
|
|
130
|
-
border-radius: ${(props) => Math.min(10, Math.floor(0.1 * props.$size + 2))}px;
|
|
131
|
-
background: #ddd;
|
|
132
|
-
}
|
|
133
|
-
`;
|
|
134
|
-
|
|
135
|
-
const StyledImg = styled(Img)`
|
|
136
|
-
&.avatar-img--rounded {
|
|
137
|
-
border-radius: 4px;
|
|
138
|
-
overflow: hidden;
|
|
139
|
-
}
|
|
140
|
-
&.avatar-img--circle {
|
|
141
|
-
border-radius: 100%;
|
|
142
|
-
overflow: hidden;
|
|
143
|
-
}
|
|
144
|
-
`;
|
|
145
|
-
|
|
146
147
|
export default function AvatarWithErrorBoundary(props) {
|
|
147
148
|
const size = props.size || 36;
|
|
148
149
|
const borderRadius = { rounded: '4px', circle: '100%' }[props.variant] || 0;
|
package/src/Img/index.jsx
CHANGED
|
@@ -4,10 +4,9 @@ import { useInView } from 'react-intersection-observer';
|
|
|
4
4
|
import WarningRoundedIcon from '@iconify-icons/material-symbols/warning-rounded';
|
|
5
5
|
import ImageRoundedIcon from '@iconify-icons/material-symbols/image-rounded';
|
|
6
6
|
import { Icon } from '@iconify/react';
|
|
7
|
+
import { Box } from '@mui/material';
|
|
7
8
|
import noop from 'lodash/noop';
|
|
8
9
|
|
|
9
|
-
import { styled } from '../Theme';
|
|
10
|
-
|
|
11
10
|
/**
|
|
12
11
|
* @typedef {Object} ImgExProps
|
|
13
12
|
* @property {string} src - required
|
|
@@ -37,41 +36,6 @@ const classes = {
|
|
|
37
36
|
root: `${PREFIX}-root`,
|
|
38
37
|
};
|
|
39
38
|
|
|
40
|
-
/** @type {import('@emotion/styled').StyledComponent<import('react').ComponentPropsWithoutRef<"div">, {}, { ref?: React.Ref<any> | undefined;}>} */
|
|
41
|
-
const Root = styled('div')(() => ({
|
|
42
|
-
[`& .${classes.root}`]: {
|
|
43
|
-
position: 'relative',
|
|
44
|
-
overflow: 'hidden',
|
|
45
|
-
'& .image--state, & .image--img': {
|
|
46
|
-
minWidth: '100%',
|
|
47
|
-
minHeight: '100%',
|
|
48
|
-
position: 'absolute',
|
|
49
|
-
top: 0,
|
|
50
|
-
left: '50%',
|
|
51
|
-
transform: 'translateX(-50%)',
|
|
52
|
-
},
|
|
53
|
-
'& .image--state': {
|
|
54
|
-
display: 'flex',
|
|
55
|
-
flexDirection: 'column',
|
|
56
|
-
justifyContent: 'center',
|
|
57
|
-
alignItems: 'center',
|
|
58
|
-
color: '#999',
|
|
59
|
-
background: '#eee',
|
|
60
|
-
width: '100%',
|
|
61
|
-
height: '100%',
|
|
62
|
-
},
|
|
63
|
-
'& .image--img': {
|
|
64
|
-
opacity: 0,
|
|
65
|
-
visibility: 'hidden',
|
|
66
|
-
},
|
|
67
|
-
'& .image--icon': {
|
|
68
|
-
fontSize: 30,
|
|
69
|
-
maxWidth: '80%',
|
|
70
|
-
maxHeight: '80%',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
}));
|
|
74
|
-
|
|
75
39
|
/**
|
|
76
40
|
*
|
|
77
41
|
* @param {ImgProps} props
|
|
@@ -158,7 +122,45 @@ function Img({
|
|
|
158
122
|
|
|
159
123
|
return (
|
|
160
124
|
// paddingTop 要求元素本身的宽度为 100%,所以只能加一个外层元素去限制宽度
|
|
161
|
-
<
|
|
125
|
+
<Box
|
|
126
|
+
data-id="2"
|
|
127
|
+
ref={ref}
|
|
128
|
+
style={outerStyle}
|
|
129
|
+
{...rest}
|
|
130
|
+
sx={{
|
|
131
|
+
[`& .${classes.root}`]: {
|
|
132
|
+
position: 'relative',
|
|
133
|
+
overflow: 'hidden',
|
|
134
|
+
'& .image--state, & .image--img': {
|
|
135
|
+
minWidth: '100%',
|
|
136
|
+
minHeight: '100%',
|
|
137
|
+
position: 'absolute',
|
|
138
|
+
top: 0,
|
|
139
|
+
left: '50%',
|
|
140
|
+
transform: 'translateX(-50%)',
|
|
141
|
+
},
|
|
142
|
+
'& .image--state': {
|
|
143
|
+
display: 'flex',
|
|
144
|
+
flexDirection: 'column',
|
|
145
|
+
justifyContent: 'center',
|
|
146
|
+
alignItems: 'center',
|
|
147
|
+
color: '#999',
|
|
148
|
+
background: '#eee',
|
|
149
|
+
width: '100%',
|
|
150
|
+
height: '100%',
|
|
151
|
+
},
|
|
152
|
+
'& .image--img': {
|
|
153
|
+
opacity: 0,
|
|
154
|
+
visibility: 'hidden',
|
|
155
|
+
},
|
|
156
|
+
'& .image--icon': {
|
|
157
|
+
fontSize: 30,
|
|
158
|
+
maxWidth: '80%',
|
|
159
|
+
maxHeight: '80%',
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
...rest.sx,
|
|
163
|
+
}}>
|
|
162
164
|
<div className={`image ${className} ${classes.root}`} style={mergedStyle}>
|
|
163
165
|
{!fallback && imgState === 'error' && (
|
|
164
166
|
<div className="image--state" title="loading image">
|
|
@@ -172,7 +174,7 @@ function Img({
|
|
|
172
174
|
)}
|
|
173
175
|
{imgState === 'loaded' && <img className="image--img" src={src} alt={alt} />}
|
|
174
176
|
</div>
|
|
175
|
-
</
|
|
177
|
+
</Box>
|
|
176
178
|
);
|
|
177
179
|
}
|
|
178
180
|
|
|
@@ -199,7 +199,7 @@ const Wrapper = styled('div', {
|
|
|
199
199
|
display: flex;
|
|
200
200
|
justify-content: center;
|
|
201
201
|
/* logo 与 sidebar 中的 icon 垂直对齐, sidebarWidth - 24 * 2 */
|
|
202
|
-
width: ${(props) => props.sidebarWidth - 24 * 2}px;
|
|
202
|
+
min-width: ${(props) => props.sidebarWidth - 24 * 2}px;
|
|
203
203
|
}
|
|
204
204
|
&.dashboard-dense {
|
|
205
205
|
.header-logo {
|
package/src/Locale/selector.jsx
CHANGED
|
@@ -63,7 +63,7 @@ export default function LocaleSelector(props) {
|
|
|
63
63
|
icon={LanguageIcon}
|
|
64
64
|
fontSize={size}
|
|
65
65
|
color={theme.palette.text.secondary}
|
|
66
|
-
style={{ transform: 'scale(1.
|
|
66
|
+
style={{ transform: 'scale(1.10)' }}
|
|
67
67
|
/>
|
|
68
68
|
);
|
|
69
69
|
}, [Icon, theme?.palette?.text?.secondary, size]);
|
|
@@ -55,7 +55,7 @@ export default function SessionBlocklet({ session, locale, size }) {
|
|
|
55
55
|
return (
|
|
56
56
|
<>
|
|
57
57
|
<IconButton size="medium" ref={popperAnchorRef} onClick={() => onTogglePopper()}>
|
|
58
|
-
<Icon icon={DashboardOutlineRoundedIcon} fontSize={size} style={{ transform: 'scale(1.
|
|
58
|
+
<Icon icon={DashboardOutlineRoundedIcon} fontSize={size} style={{ transform: 'scale(1.08)' }} />
|
|
59
59
|
</IconButton>
|
|
60
60
|
<Popper
|
|
61
61
|
open={currentState.open}
|