@arcblock/ux 2.7.10 → 2.7.12

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.
@@ -52,13 +52,14 @@ export default function FederatedLoginDetecter({
52
52
  const localeList = Object.keys(translations);
53
53
  const locale = localeList.includes(_locale) ? _locale : localeList[0];
54
54
  const onLoginFederated = useCallback(() => {
55
- session?.loginFederated(err => {
55
+ session?.login(err => {
56
56
  if (err) {
57
57
  Toast.error(err || translations[_locale].loginFederatedFailed);
58
58
  } else {
59
59
  setFederatedLoginOpen(false);
60
60
  }
61
61
  }, {
62
+ provider: 'federated',
62
63
  mode: userInfo ? 'auto' : 'manual'
63
64
  });
64
65
  }, [session, userInfo, _locale]);
@@ -66,6 +67,7 @@ export default function FederatedLoginDetecter({
66
67
  open: federatedLoginOpen,
67
68
  anchorEl: anchorEl,
68
69
  dark: dark,
70
+ autoClose: false,
69
71
  onClose: () => setFederatedLoginOpen(false),
70
72
  children: /*#__PURE__*/_jsxs(Box, {
71
73
  p: 2,
@@ -80,6 +82,9 @@ export default function FederatedLoginDetecter({
80
82
  width: "30px",
81
83
  height: "30px"
82
84
  }), /*#__PURE__*/_jsx(Box, {
85
+ sx: {
86
+ maxWidth: '260px'
87
+ },
83
88
  children: translations[locale].useToConnect({
84
89
  master: /*#__PURE__*/_jsx(Box, {
85
90
  component: "a",
@@ -1,15 +1,17 @@
1
1
  import PropTypes from 'prop-types';
2
- import ClickAwayListener from '@mui/material/ClickAwayListener';
3
- import Paper from '@mui/material/Paper';
4
- import Popper from '@mui/material/Popper';
2
+ import { IconButton, Paper, Popper, ClickAwayListener } from '@mui/material';
3
+ import { Close as CloseIcon } from '@mui/icons-material';
5
4
  import { styled } from '../Theme';
6
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { Fragment as _Fragment } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
8
  export default function UserPopper({
8
9
  anchorEl,
9
10
  dark,
10
11
  children,
11
12
  open,
12
- onClose
13
+ onClose,
14
+ autoClose
13
15
  }) {
14
16
  return anchorEl && /*#__PURE__*/_jsx(StyledPopper, {
15
17
  open: open,
@@ -42,9 +44,22 @@ export default function UserPopper({
42
44
  }
43
45
  }],
44
46
  variant: "outlined",
45
- children: /*#__PURE__*/_jsx(ClickAwayListener, {
47
+ children: autoClose ? /*#__PURE__*/_jsx(ClickAwayListener, {
46
48
  onClickAway: onClose,
47
49
  children: children
50
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
51
+ children: [/*#__PURE__*/_jsx(IconButton, {
52
+ size: "small",
53
+ sx: {
54
+ cursor: 'pointer',
55
+ position: 'absolute',
56
+ right: 0,
57
+ top: 0,
58
+ zIndex: 1
59
+ },
60
+ onClick: onClose,
61
+ children: /*#__PURE__*/_jsx(CloseIcon, {})
62
+ }), children]
48
63
  })
49
64
  })
50
65
  });
@@ -54,13 +69,15 @@ UserPopper.propTypes = {
54
69
  dark: PropTypes.bool,
55
70
  open: PropTypes.bool,
56
71
  children: PropTypes.any.isRequired,
57
- onClose: PropTypes.func
72
+ onClose: PropTypes.func,
73
+ autoClose: PropTypes.bool
58
74
  };
59
75
  UserPopper.defaultProps = {
60
76
  anchorEl: null,
61
77
  dark: false,
62
78
  open: false,
63
- onClose: () => {}
79
+ onClose: () => {},
80
+ autoClose: true
64
81
  };
65
82
  const StyledPopper = styled(Popper)`
66
83
  z-index: ${({
@@ -61,13 +61,14 @@ function FederatedLoginDetecter(_ref3) {
61
61
  const localeList = Object.keys(translations);
62
62
  const locale = localeList.includes(_locale) ? _locale : localeList[0];
63
63
  const onLoginFederated = (0, _react.useCallback)(() => {
64
- session === null || session === void 0 ? void 0 : session.loginFederated(err => {
64
+ session === null || session === void 0 ? void 0 : session.login(err => {
65
65
  if (err) {
66
66
  _Toast.default.error(err || translations[_locale].loginFederatedFailed);
67
67
  } else {
68
68
  setFederatedLoginOpen(false);
69
69
  }
70
70
  }, {
71
+ provider: 'federated',
71
72
  mode: userInfo ? 'auto' : 'manual'
72
73
  });
73
74
  }, [session, userInfo, _locale]);
@@ -75,6 +76,7 @@ function FederatedLoginDetecter(_ref3) {
75
76
  open: federatedLoginOpen,
76
77
  anchorEl: anchorEl,
77
78
  dark: dark,
79
+ autoClose: false,
78
80
  onClose: () => setFederatedLoginOpen(false),
79
81
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
80
82
  p: 2,
@@ -89,6 +91,9 @@ function FederatedLoginDetecter(_ref3) {
89
91
  width: "30px",
90
92
  height: "30px"
91
93
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
94
+ sx: {
95
+ maxWidth: '260px'
96
+ },
92
97
  children: translations[locale].useToConnect({
93
98
  master: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
94
99
  component: "a",
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = UserPopper;
7
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
9
- var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
10
- var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
8
+ var _material = require("@mui/material");
9
+ var _iconsMaterial = require("@mui/icons-material");
11
10
  var _Theme = require("../Theme");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  var _templateObject;
@@ -19,7 +18,8 @@ function UserPopper(_ref) {
19
18
  dark,
20
19
  children,
21
20
  open,
22
- onClose
21
+ onClose,
22
+ autoClose
23
23
  } = _ref;
24
24
  return anchorEl && /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPopper, {
25
25
  open: open,
@@ -27,7 +27,7 @@ function UserPopper(_ref) {
27
27
  anchorEl: anchorEl,
28
28
  placement: "bottom-end",
29
29
  $dark: dark,
30
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
30
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {
31
31
  sx: [theme => ({
32
32
  borderColor: '#F0F0F0',
33
33
  boxShadow: '0px 8px 12px rgba(92, 92, 92, 0.04)',
@@ -52,9 +52,22 @@ function UserPopper(_ref) {
52
52
  }
53
53
  }],
54
54
  variant: "outlined",
55
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
55
+ children: autoClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ClickAwayListener, {
56
56
  onClickAway: onClose,
57
57
  children: children
58
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
60
+ size: "small",
61
+ sx: {
62
+ cursor: 'pointer',
63
+ position: 'absolute',
64
+ right: 0,
65
+ top: 0,
66
+ zIndex: 1
67
+ },
68
+ onClick: onClose,
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconsMaterial.Close, {})
70
+ }), children]
58
71
  })
59
72
  })
60
73
  });
@@ -64,15 +77,17 @@ UserPopper.propTypes = {
64
77
  dark: _propTypes.default.bool,
65
78
  open: _propTypes.default.bool,
66
79
  children: _propTypes.default.any.isRequired,
67
- onClose: _propTypes.default.func
80
+ onClose: _propTypes.default.func,
81
+ autoClose: _propTypes.default.bool
68
82
  };
69
83
  UserPopper.defaultProps = {
70
84
  anchorEl: null,
71
85
  dark: false,
72
86
  open: false,
73
- onClose: () => {}
87
+ onClose: () => {},
88
+ autoClose: true
74
89
  };
75
- const StyledPopper = (0, _Theme.styled)(_Popper.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n z-index: ", ";\n .MuiList-root {\n /* HACK: \u9700\u8981288px \u624D\u80FD\u5C06 did \u5C55\u793A\u5B8C\u6574 */\n width: 290px;\n }\n .session-manager-user {\n font-size: 12px;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 24px 10px;\n }\n .session-manager-user-name {\n font-size: 20px;\n color: ", ";\n font-weight: bold;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .session-manager-id-item {\n position: relative;\n padding-left: 8px;\n /* HACK: \u5F53\u524D\u5143\u7D20\u65E2\u662F\u7B2C\u4E00\u4E2A\uFF0C\u4E5F\u662F\u6700\u540E\u4E00\u4E2A\uFF0C\u5373\u53EA\u6709\u4E00\u4E2A\u540C\u7EA7\u5143\u7D20 */\n &:first-of-type:last-of-type {\n padding-left: 0;\n &:before,\n &:after {\n content: unset;\n }\n }\n &:before {\n position: absolute;\n content: '';\n left: 0px;\n top: 50%;\n width: 6px;\n height: 1px;\n background-color: #aeaeae;\n }\n &:not(:last-of-type):after {\n position: absolute;\n content: '';\n left: 0px;\n top: 50%;\n height: 100%;\n width: 1px;\n background-color: #aeaeae;\n }\n }\n .session-manager-menu-item {\n padding: 18.5px 24px;\n color: #777;\n font-size: 16px;\n &:hover {\n background-color: #fbfbfb;\n }\n }\n .session-manager-menu-icon {\n color: #999;\n margin-right: 16px;\n }\n"])), _ref2 => {
90
+ const StyledPopper = (0, _Theme.styled)(_material.Popper)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n z-index: ", ";\n .MuiList-root {\n /* HACK: \u9700\u8981288px \u624D\u80FD\u5C06 did \u5C55\u793A\u5B8C\u6574 */\n width: 290px;\n }\n .session-manager-user {\n font-size: 12px;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 24px 10px;\n }\n .session-manager-user-name {\n font-size: 20px;\n color: ", ";\n font-weight: bold;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .session-manager-id-item {\n position: relative;\n padding-left: 8px;\n /* HACK: \u5F53\u524D\u5143\u7D20\u65E2\u662F\u7B2C\u4E00\u4E2A\uFF0C\u4E5F\u662F\u6700\u540E\u4E00\u4E2A\uFF0C\u5373\u53EA\u6709\u4E00\u4E2A\u540C\u7EA7\u5143\u7D20 */\n &:first-of-type:last-of-type {\n padding-left: 0;\n &:before,\n &:after {\n content: unset;\n }\n }\n &:before {\n position: absolute;\n content: '';\n left: 0px;\n top: 50%;\n width: 6px;\n height: 1px;\n background-color: #aeaeae;\n }\n &:not(:last-of-type):after {\n position: absolute;\n content: '';\n left: 0px;\n top: 50%;\n height: 100%;\n width: 1px;\n background-color: #aeaeae;\n }\n }\n .session-manager-menu-item {\n padding: 18.5px 24px;\n color: #777;\n font-size: 16px;\n &:hover {\n background-color: #fbfbfb;\n }\n }\n .session-manager-menu-icon {\n color: #999;\n margin-right: 16px;\n }\n"])), _ref2 => {
76
91
  let {
77
92
  theme
78
93
  } = _ref2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcblock/ux",
3
- "version": "2.7.10",
3
+ "version": "2.7.12",
4
4
  "description": "Common used react components for arcblock products",
5
5
  "keywords": [
6
6
  "react",
@@ -318,11 +318,11 @@
318
318
  "peerDependencies": {
319
319
  "react": ">=18.1.0"
320
320
  },
321
- "gitHead": "4e9fabd1bc24b2a85e5201d4aaa2fc6baf528c34",
321
+ "gitHead": "d092d3768f75f169c051e49f438e67a60842f357",
322
322
  "dependencies": {
323
323
  "@arcblock/did-motif": "^1.1.13",
324
- "@arcblock/icons": "^2.7.10",
325
- "@arcblock/react-hooks": "^2.7.10",
324
+ "@arcblock/icons": "^2.7.12",
325
+ "@arcblock/react-hooks": "^2.7.12",
326
326
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
327
327
  "@emotion/react": "^11.10.4",
328
328
  "@emotion/styled": "^11.10.4",
@@ -347,6 +347,7 @@
347
347
  "mdi-material-ui": "^7.5.0",
348
348
  "mui-datatables": "^4.2.2",
349
349
  "notistack": "^2.0.5",
350
+ "pako": "^2.1.0",
350
351
  "react-cookie-consent": "^6.4.1",
351
352
  "react-error-boundary": "^3.1.4",
352
353
  "react-helmet": "^6.1.0",
@@ -48,7 +48,7 @@ export default function FederatedLoginDetecter({ session, anchorEl, dark, locale
48
48
  const locale = localeList.includes(_locale) ? _locale : localeList[0];
49
49
 
50
50
  const onLoginFederated = useCallback(() => {
51
- session?.loginFederated(
51
+ session?.login(
52
52
  (err) => {
53
53
  if (err) {
54
54
  Toast.error(err || translations[_locale].loginFederatedFailed);
@@ -56,7 +56,10 @@ export default function FederatedLoginDetecter({ session, anchorEl, dark, locale
56
56
  setFederatedLoginOpen(false);
57
57
  }
58
58
  },
59
- { mode: userInfo ? 'auto' : 'manual' }
59
+ {
60
+ provider: 'federated',
61
+ mode: userInfo ? 'auto' : 'manual',
62
+ }
60
63
  );
61
64
  }, [session, userInfo, _locale]);
62
65
 
@@ -66,6 +69,7 @@ export default function FederatedLoginDetecter({ session, anchorEl, dark, locale
66
69
  open={federatedLoginOpen}
67
70
  anchorEl={anchorEl}
68
71
  dark={dark}
72
+ autoClose={false}
69
73
  onClose={() => setFederatedLoginOpen(false)}>
70
74
  <Box p={2}>
71
75
  {siteInfo && (
@@ -78,7 +82,7 @@ export default function FederatedLoginDetecter({ session, anchorEl, dark, locale
78
82
  width="30px"
79
83
  height="30px"
80
84
  />
81
- <Box>
85
+ <Box sx={{ maxWidth: '260px' }}>
82
86
  {translations[locale].useToConnect({
83
87
  master: (
84
88
  <Box
@@ -1,10 +1,9 @@
1
1
  import PropTypes from 'prop-types';
2
- import ClickAwayListener from '@mui/material/ClickAwayListener';
3
- import Paper from '@mui/material/Paper';
4
- import Popper from '@mui/material/Popper';
2
+ import { IconButton, Paper, Popper, ClickAwayListener } from '@mui/material';
3
+ import { Close as CloseIcon } from '@mui/icons-material';
5
4
  import { styled } from '../Theme';
6
5
 
7
- export default function UserPopper({ anchorEl, dark, children, open, onClose }) {
6
+ export default function UserPopper({ anchorEl, dark, children, open, onClose, autoClose }) {
8
7
  return (
9
8
  anchorEl && (
10
9
  <StyledPopper open={open} disablePortal anchorEl={anchorEl} placement="bottom-end" $dark={dark}>
@@ -36,7 +35,19 @@ export default function UserPopper({ anchorEl, dark, children, open, onClose })
36
35
  },
37
36
  ]}
38
37
  variant="outlined">
39
- <ClickAwayListener onClickAway={onClose}>{children}</ClickAwayListener>
38
+ {autoClose ? (
39
+ <ClickAwayListener onClickAway={onClose}>{children}</ClickAwayListener>
40
+ ) : (
41
+ <>
42
+ <IconButton
43
+ size="small"
44
+ sx={{ cursor: 'pointer', position: 'absolute', right: 0, top: 0, zIndex: 1 }}
45
+ onClick={onClose}>
46
+ <CloseIcon />
47
+ </IconButton>
48
+ {children}
49
+ </>
50
+ )}
40
51
  </Paper>
41
52
  </StyledPopper>
42
53
  )
@@ -49,12 +60,14 @@ UserPopper.propTypes = {
49
60
  open: PropTypes.bool,
50
61
  children: PropTypes.any.isRequired,
51
62
  onClose: PropTypes.func,
63
+ autoClose: PropTypes.bool,
52
64
  };
53
65
  UserPopper.defaultProps = {
54
66
  anchorEl: null,
55
67
  dark: false,
56
68
  open: false,
57
69
  onClose: () => {},
70
+ autoClose: true,
58
71
  };
59
72
 
60
73
  const StyledPopper = styled(Popper)`