@blocklet/ui-react 2.1.18 → 2.1.21
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/Footer/brand.js +25 -11
- package/lib/Footer/copyright.js +11 -3
- package/lib/Footer/index.js +37 -29
- package/lib/Footer/links.js +41 -31
- package/lib/Footer/row.js +12 -5
- package/lib/Footer/social-media.js +30 -22
- package/lib/Header/index.js +47 -36
- package/lib/Icon/index.js +12 -11
- package/package.json +4 -4
- package/src/Footer/brand.js +3 -3
- package/src/Footer/copyright.js +0 -1
- package/src/Footer/index.js +4 -5
- package/src/Footer/links.js +7 -7
- package/src/Footer/row.js +2 -6
- package/src/Footer/social-media.js +0 -1
- package/src/Header/index.js +7 -14
- package/src/Icon/index.js +1 -6
- package/src/utils.js +2 -2
package/lib/Footer/brand.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = Brand;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -13,10 +13,18 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
13
13
|
|
|
14
14
|
var _useTheme = _interopRequireDefault(require("@mui/styles/useTheme"));
|
|
15
15
|
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
|
|
16
18
|
const _excluded = ["name", "logo", "description"];
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
+
|
|
26
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
+
|
|
20
28
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
29
|
|
|
22
30
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -35,19 +43,25 @@ function Brand(_ref) {
|
|
|
35
43
|
return null;
|
|
36
44
|
}
|
|
37
45
|
|
|
38
|
-
const logoElement = /*#__PURE__*/_react.
|
|
46
|
+
const logoElement = /*#__PURE__*/(0, _react.isValidElement)(logo) ? logo : /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
39
47
|
src: logo,
|
|
40
48
|
alt: name
|
|
41
49
|
});
|
|
42
|
-
return /*#__PURE__*/
|
|
43
|
-
$theme: theme
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
|
|
51
|
+
$theme: theme,
|
|
52
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
53
|
+
children: [logo && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
54
|
+
className: "footer-brand-logo",
|
|
55
|
+
children: logoElement
|
|
56
|
+
}), name && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
57
|
+
className: "footer-brand-name",
|
|
58
|
+
children: name
|
|
59
|
+
})]
|
|
60
|
+
}), description && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
61
|
+
className: "footer-brand-desc",
|
|
62
|
+
children: description
|
|
63
|
+
})]
|
|
64
|
+
}));
|
|
51
65
|
}
|
|
52
66
|
|
|
53
67
|
Brand.propTypes = {
|
package/lib/Footer/copyright.js
CHANGED
|
@@ -5,16 +5,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = Copyright;
|
|
7
7
|
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
9
|
|
|
12
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
11
|
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
|
|
14
14
|
const _excluded = ["owner", "year"];
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
+
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
+
|
|
22
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
|
|
18
24
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
19
25
|
|
|
20
26
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -26,7 +32,9 @@ function Copyright(_ref) {
|
|
|
26
32
|
} = _ref,
|
|
27
33
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
28
34
|
|
|
29
|
-
return /*#__PURE__*/
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
|
|
36
|
+
children: ["Copyright \xA9 ", year, " ", owner]
|
|
37
|
+
}));
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
Copyright.propTypes = {
|
package/lib/Footer/index.js
CHANGED
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
9
|
|
|
12
10
|
var _useTheme = _interopRequireDefault(require("@mui/styles/useTheme"));
|
|
@@ -33,6 +31,8 @@ var _utils = require("../utils");
|
|
|
33
31
|
|
|
34
32
|
var _types = require("../types");
|
|
35
33
|
|
|
34
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
|
+
|
|
36
36
|
const _excluded = ["meta"];
|
|
37
37
|
|
|
38
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -80,34 +80,42 @@ function Footer(_ref) {
|
|
|
80
80
|
label: item.title,
|
|
81
81
|
link: item.link
|
|
82
82
|
}), 'items');
|
|
83
|
-
return /*#__PURE__*/
|
|
83
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({}, rest), {}, {
|
|
84
84
|
$bgcolor: blockletTheme === null || blockletTheme === void 0 ? void 0 : blockletTheme.background,
|
|
85
|
-
$theme: theme
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
85
|
+
$theme: theme,
|
|
86
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Container.default, {
|
|
87
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_row.default, {
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
89
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_brand.default, {
|
|
90
|
+
name: appName,
|
|
91
|
+
logo: appLogo,
|
|
92
|
+
description: appDescription || description
|
|
93
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_socialMedia.default, {
|
|
94
|
+
items: socialMedia,
|
|
95
|
+
style: {
|
|
96
|
+
marginTop: 24
|
|
97
|
+
}
|
|
98
|
+
})]
|
|
99
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_links.default, {
|
|
100
|
+
links: navMenuItems
|
|
101
|
+
})]
|
|
102
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_row.default, {
|
|
103
|
+
autoCenter: true,
|
|
104
|
+
style: {
|
|
105
|
+
marginTop: 72
|
|
106
|
+
},
|
|
107
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_copyright.default, {
|
|
108
|
+
owner: copyrightOwner || appName
|
|
109
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_links.default, {
|
|
110
|
+
flowLayout: true,
|
|
111
|
+
links: footerLinks,
|
|
112
|
+
style: {
|
|
113
|
+
color: '#999'
|
|
114
|
+
}
|
|
115
|
+
})]
|
|
116
|
+
})]
|
|
117
|
+
})
|
|
118
|
+
}));
|
|
111
119
|
}
|
|
112
120
|
|
|
113
121
|
Footer.propTypes = {
|
package/lib/Footer/links.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = Links;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -15,13 +15,17 @@ var _useTheme = _interopRequireDefault(require("@mui/styles/useTheme"));
|
|
|
15
15
|
|
|
16
16
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
17
17
|
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
18
20
|
const _excluded = ["links", "flowLayout"];
|
|
19
21
|
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
|
|
22
|
-
function
|
|
24
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
|
+
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
27
|
|
|
24
|
-
function
|
|
28
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
29
|
|
|
26
30
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
27
31
|
|
|
@@ -68,44 +72,50 @@ function Links(_ref) {
|
|
|
68
72
|
props
|
|
69
73
|
});
|
|
70
74
|
} else if (link) {
|
|
71
|
-
result = /*#__PURE__*/
|
|
75
|
+
result = /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({
|
|
72
76
|
href: link
|
|
73
|
-
}, props),
|
|
77
|
+
}, props), {}, {
|
|
78
|
+
children: label
|
|
79
|
+
}));
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
return result;
|
|
77
83
|
};
|
|
78
84
|
|
|
79
|
-
return /*#__PURE__*/
|
|
85
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({}, rest), {}, {
|
|
80
86
|
className: (0, _clsx.default)(rest.className, {
|
|
81
87
|
'footer-links--grouped': isGroupMode,
|
|
82
88
|
'footer-links--flow': flowLayout
|
|
83
89
|
}),
|
|
84
|
-
$theme: theme
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
90
|
+
$theme: theme,
|
|
91
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
92
|
+
className: "footer-links-inner",
|
|
93
|
+
children: [flowLayout && links.map((item, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
94
|
+
className: "footer-links-item",
|
|
95
|
+
children: renderItem(item)
|
|
96
|
+
}, i)), !flowLayout && links.map((item, i) => {
|
|
97
|
+
const {
|
|
98
|
+
items
|
|
99
|
+
} = item;
|
|
100
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
101
|
+
className: (0, _clsx.default)('footer-links-group', {
|
|
102
|
+
'footer-links-group--active': i === activeIndex
|
|
103
|
+
}),
|
|
104
|
+
onClick: () => setActiveIndex(activeIndex === i ? -1 : i),
|
|
105
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
106
|
+
className: "footer-links-item",
|
|
107
|
+
children: renderItem(item)
|
|
108
|
+
}), !!(items !== null && items !== void 0 && items.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
109
|
+
className: "footer-links-sub",
|
|
110
|
+
children: items.map((child, j) => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
111
|
+
className: "footer-links-item",
|
|
112
|
+
children: renderItem(child)
|
|
113
|
+
}, j))
|
|
114
|
+
})]
|
|
115
|
+
}, i);
|
|
116
|
+
})]
|
|
117
|
+
})
|
|
118
|
+
}));
|
|
109
119
|
}
|
|
110
120
|
|
|
111
121
|
Links.propTypes = {
|
package/lib/Footer/row.js
CHANGED
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = Row;
|
|
7
7
|
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
9
|
|
|
12
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -15,10 +13,18 @@ var _useTheme = _interopRequireDefault(require("@mui/styles/useTheme"));
|
|
|
15
13
|
|
|
16
14
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
17
15
|
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
|
|
18
18
|
const _excluded = ["children", "autoCenter"];
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
+
|
|
26
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
+
|
|
22
28
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
29
|
|
|
24
30
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -36,12 +42,13 @@ function Row(_ref) {
|
|
|
36
42
|
return null;
|
|
37
43
|
}
|
|
38
44
|
|
|
39
|
-
return /*#__PURE__*/
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RowRoot, _objectSpread(_objectSpread({}, rest), {}, {
|
|
40
46
|
className: (0, _clsx.default)(rest.className, {
|
|
41
47
|
'footer-row-auto-center': autoCenter
|
|
42
48
|
}),
|
|
43
|
-
$theme: theme
|
|
44
|
-
|
|
49
|
+
$theme: theme,
|
|
50
|
+
children: children
|
|
51
|
+
}));
|
|
45
52
|
}
|
|
46
53
|
|
|
47
54
|
Row.propTypes = {
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = SocialMedia;
|
|
7
7
|
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
9
|
|
|
12
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -15,10 +13,18 @@ var _useTheme = _interopRequireDefault(require("@mui/styles/useTheme"));
|
|
|
15
13
|
|
|
16
14
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
17
15
|
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
|
|
18
18
|
const _excluded = ["items"];
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
+
|
|
26
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
+
|
|
22
28
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
29
|
|
|
24
30
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -35,26 +41,28 @@ function SocialMedia(_ref) {
|
|
|
35
41
|
return null;
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
return /*#__PURE__*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
44
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({}, rest), {}, {
|
|
45
|
+
children: items.map((item, i) => {
|
|
46
|
+
return (
|
|
47
|
+
/*#__PURE__*/
|
|
48
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
49
|
+
(0, _jsxRuntime.jsx)("a", {
|
|
50
|
+
href: item.link,
|
|
51
|
+
target: "_blank",
|
|
52
|
+
rel: "noreferrer",
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
54
|
+
icon: item.icon,
|
|
55
|
+
sx: {
|
|
56
|
+
bgcolor: theme.palette.grey[600],
|
|
57
|
+
color: '#fff'
|
|
58
|
+
},
|
|
59
|
+
size: 44,
|
|
60
|
+
variant: "rounded",
|
|
61
|
+
component: "span"
|
|
62
|
+
})
|
|
63
|
+
}, i)
|
|
64
|
+
);
|
|
65
|
+
})
|
|
58
66
|
}));
|
|
59
67
|
}
|
|
60
68
|
|
package/lib/Header/index.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -35,6 +35,8 @@ require("@iconify/iconify");
|
|
|
35
35
|
|
|
36
36
|
var _types = require("../types");
|
|
37
37
|
|
|
38
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
|
+
|
|
38
40
|
const _excluded = ["meta", "addons", "sessionManagerProps"];
|
|
39
41
|
|
|
40
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -43,6 +45,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
43
45
|
|
|
44
46
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
45
47
|
|
|
48
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
49
|
+
|
|
50
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
51
|
+
|
|
52
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
53
|
+
|
|
46
54
|
const muiTheme = (0, _Theme.create)();
|
|
47
55
|
|
|
48
56
|
const isLinkActive = link => {
|
|
@@ -58,7 +66,7 @@ const parseNavigation = navigation => {
|
|
|
58
66
|
const parseItem = item => {
|
|
59
67
|
var _item$link, _item$link2;
|
|
60
68
|
|
|
61
|
-
const icon = item.icon ? /*#__PURE__*/
|
|
69
|
+
const icon = item.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
62
70
|
className: "iconify",
|
|
63
71
|
"data-icon": item.icon
|
|
64
72
|
}) : null;
|
|
@@ -81,9 +89,11 @@ const parseNavigation = navigation => {
|
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
return {
|
|
84
|
-
label: /*#__PURE__*/
|
|
92
|
+
label: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({
|
|
85
93
|
href: item.link
|
|
86
|
-
}, props),
|
|
94
|
+
}, props), {}, {
|
|
95
|
+
children: item.title
|
|
96
|
+
})),
|
|
87
97
|
active: isLinkActive(item.link),
|
|
88
98
|
icon
|
|
89
99
|
};
|
|
@@ -106,8 +116,7 @@ function Header(_ref) {
|
|
|
106
116
|
} = _ref,
|
|
107
117
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
108
118
|
|
|
109
|
-
const sessionInfo = _react.
|
|
110
|
-
|
|
119
|
+
const sessionInfo = (0, _react.useContext)(_Session.SessionContext);
|
|
111
120
|
const {
|
|
112
121
|
locale
|
|
113
122
|
} = (0, _context.useLocaleContext)() || {};
|
|
@@ -136,14 +145,14 @@ function Header(_ref) {
|
|
|
136
145
|
let addonsArray = []; // 启用了多语言并且检测到了 locale context
|
|
137
146
|
|
|
138
147
|
if (enableLocale && locale) {
|
|
139
|
-
addonsArray.push( /*#__PURE__*/
|
|
148
|
+
addonsArray.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_selector.default, {
|
|
140
149
|
showText: false
|
|
141
150
|
}));
|
|
142
151
|
} // 启用了连接钱包并且检测到了 session context
|
|
143
152
|
|
|
144
153
|
|
|
145
154
|
if (enableConnect && sessionInfo) {
|
|
146
|
-
addonsArray.push( /*#__PURE__*/
|
|
155
|
+
addonsArray.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionManager.default, _objectSpread({
|
|
147
156
|
session: sessionInfo.session
|
|
148
157
|
}, sessionManagerProps)));
|
|
149
158
|
} // 在内置 addons 基础上定制 addons
|
|
@@ -153,37 +162,39 @@ function Header(_ref) {
|
|
|
153
162
|
addonsArray = addons(addonsArray) || [];
|
|
154
163
|
}
|
|
155
164
|
|
|
156
|
-
const addonsFragment = /*#__PURE__*/_react.
|
|
157
|
-
|
|
165
|
+
const addonsFragment = /*#__PURE__*/(0, _react.createElement)(_react.Fragment, null, ...addonsArray);
|
|
158
166
|
return addonsFragment;
|
|
159
167
|
};
|
|
160
168
|
|
|
161
|
-
return /*#__PURE__*/
|
|
162
|
-
theme: muiTheme
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
169
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.ThemeProvider, {
|
|
170
|
+
theme: muiTheme,
|
|
171
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledUxHeader, _objectSpread(_objectSpread({
|
|
172
|
+
logo: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
173
|
+
href: "/",
|
|
174
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
175
|
+
src: appLogo,
|
|
176
|
+
alt: "logo"
|
|
177
|
+
})
|
|
178
|
+
}),
|
|
179
|
+
brand: appName,
|
|
180
|
+
addons: renderAddons()
|
|
181
|
+
}, rest), {}, {
|
|
182
|
+
$bgcolor: theme === null || theme === void 0 ? void 0 : theme.background,
|
|
183
|
+
children: !(navItems !== null && navItems !== void 0 && navItems.length) ? null : _ref2 => {
|
|
184
|
+
let {
|
|
185
|
+
isMobile,
|
|
186
|
+
closeMenu
|
|
187
|
+
} = _ref2;
|
|
188
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavMenu.default, {
|
|
189
|
+
mode: isMobile ? 'inline' : 'horizontal',
|
|
190
|
+
items: navItems,
|
|
191
|
+
onSelected: closeMenu,
|
|
192
|
+
className: "header-nav",
|
|
193
|
+
bgColor: "transparent"
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}))
|
|
197
|
+
});
|
|
187
198
|
}
|
|
188
199
|
|
|
189
200
|
Header.propTypes = {
|
package/lib/Icon/index.js
CHANGED
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = Icon;
|
|
7
7
|
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
9
|
|
|
12
10
|
var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
|
|
@@ -15,6 +13,8 @@ require("@iconify/iconify");
|
|
|
15
13
|
|
|
16
14
|
var _utils = require("../utils");
|
|
17
15
|
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
+
|
|
18
18
|
const _excluded = ["icon", "size"];
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -47,7 +47,7 @@ function Icon(_ref) {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
if ((0, _utils.isUrl)(icon)) {
|
|
50
|
-
return /*#__PURE__*/
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({}, rest), {}, {
|
|
51
51
|
src: icon,
|
|
52
52
|
sx: sx
|
|
53
53
|
}));
|
|
@@ -56,14 +56,15 @@ function Icon(_ref) {
|
|
|
56
56
|
if (icon) {
|
|
57
57
|
// y = 0.6 * x + 4
|
|
58
58
|
const iconHeight = size ? 0.6 * size + 4 : 0;
|
|
59
|
-
return /*#__PURE__*/
|
|
60
|
-
sx: sx
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({}, rest), {}, {
|
|
60
|
+
sx: sx,
|
|
61
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", _objectSpread({
|
|
62
|
+
className: "iconify",
|
|
63
|
+
"data-icon": icon
|
|
64
|
+
}, iconHeight && {
|
|
65
|
+
'data-height': iconHeight
|
|
66
|
+
}))
|
|
67
|
+
}));
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocklet/ui-react",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.21",
|
|
4
4
|
"description": "Some useful front-end web components that can be used in Blocklets.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"url": "https://github.com/ArcBlock/ux/issues"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@arcblock/did-connect": "^2.1.
|
|
38
|
-
"@arcblock/ux": "^2.1.
|
|
37
|
+
"@arcblock/did-connect": "^2.1.21",
|
|
38
|
+
"@arcblock/ux": "^2.1.21",
|
|
39
39
|
"@iconify/iconify": "^2.2.1",
|
|
40
40
|
"@mui/material": "^5.6.4",
|
|
41
41
|
"core-js": "^3.6.4",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
58
58
|
"jest": "^24.1.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "ee49a5560e16fa5791cef6ab0cc5930c4f1c2cf5"
|
|
61
61
|
}
|
package/src/Footer/brand.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isValidElement } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import useTheme from '@mui/styles/useTheme';
|
|
@@ -9,7 +9,7 @@ export default function Brand({ name, logo, description, ...rest }) {
|
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
const logoElement =
|
|
12
|
+
const logoElement = isValidElement(logo) ? logo : <img src={logo} alt={name} />;
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
15
|
<Root {...rest} $theme={theme}>
|
|
@@ -66,7 +66,7 @@ const Root = styled.div`
|
|
|
66
66
|
margin-top: 16px;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
${props => props.$theme.breakpoints.down('sm')} {
|
|
69
|
+
${(props) => props.$theme.breakpoints.down('sm')} {
|
|
70
70
|
width: auto;
|
|
71
71
|
}
|
|
72
72
|
`;
|
package/src/Footer/copyright.js
CHANGED
package/src/Footer/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import styled from 'styled-components';
|
|
3
2
|
import useTheme from '@mui/styles/useTheme';
|
|
4
3
|
import Box from '@mui/material/Box';
|
|
@@ -39,7 +38,7 @@ function Footer({ meta, ...rest }) {
|
|
|
39
38
|
const navMenuItems = mapRecursive(
|
|
40
39
|
// TODO: 需要讨论 blocklet.yml 是否需要专门为 footer navigation 提供配置, 暂时与 header 共用 navigation 配置
|
|
41
40
|
footerNavigation || navigation,
|
|
42
|
-
item => ({
|
|
41
|
+
(item) => ({
|
|
43
42
|
...item,
|
|
44
43
|
label: item.title,
|
|
45
44
|
link: item.link,
|
|
@@ -58,8 +57,8 @@ function Footer({ meta, ...rest }) {
|
|
|
58
57
|
<Links links={navMenuItems} />
|
|
59
58
|
</Row>
|
|
60
59
|
<Row autoCenter style={{ marginTop: 72 }}>
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
<Copyright owner={copyrightOwner || appName} />
|
|
61
|
+
<Links flowLayout links={footerLinks} style={{ color: '#999' }} />
|
|
63
62
|
</Row>
|
|
64
63
|
</Container>
|
|
65
64
|
</Root>
|
|
@@ -77,7 +76,7 @@ Footer.defaultProps = {
|
|
|
77
76
|
const Root = styled.div`
|
|
78
77
|
padding: 48px 0;
|
|
79
78
|
border-top: 1px solid #eee;
|
|
80
|
-
color: ${props => props.$theme.palette.grey[600]};
|
|
79
|
+
color: ${(props) => props.$theme.palette.grey[600]};
|
|
81
80
|
${({ $bgcolor }) => $bgcolor && `background-color: ${$bgcolor};`}
|
|
82
81
|
`;
|
|
83
82
|
|
package/src/Footer/links.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable react/no-array-index-key */
|
|
2
|
-
import
|
|
2
|
+
import { useState } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import useTheme from '@mui/styles/useTheme';
|
|
@@ -16,7 +16,7 @@ export default function Links({ links, flowLayout, ...rest }) {
|
|
|
16
16
|
return null;
|
|
17
17
|
}
|
|
18
18
|
// 只要发现一项元素有子元素, 就认为是分组 (大字号突出 group title)
|
|
19
|
-
const isGroupMode = links.some(item => item.items?.length);
|
|
19
|
+
const isGroupMode = links.some((item) => item.items?.length);
|
|
20
20
|
const renderItem = ({ label, link, render, props }) => {
|
|
21
21
|
let result = label;
|
|
22
22
|
if (render) {
|
|
@@ -94,7 +94,7 @@ Links.defaultProps = {
|
|
|
94
94
|
|
|
95
95
|
const Root = styled.div`
|
|
96
96
|
overflow: hidden;
|
|
97
|
-
color: ${props => props.$theme.palette.grey[600]};
|
|
97
|
+
color: ${(props) => props.$theme.palette.grey[600]};
|
|
98
98
|
.footer-links-inner {
|
|
99
99
|
display: flex;
|
|
100
100
|
justify-content: space-between;
|
|
@@ -144,19 +144,19 @@ const Root = styled.div`
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
${props => props.$theme.breakpoints.down('lg')} {
|
|
147
|
+
${(props) => props.$theme.breakpoints.down('lg')} {
|
|
148
148
|
.footer-links-group + .footer-links-group {
|
|
149
149
|
margin-left: 56px;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
${props => props.$theme.breakpoints.down('lg')} {
|
|
153
|
+
${(props) => props.$theme.breakpoints.down('lg')} {
|
|
154
154
|
.footer-links-group + .footer-links-group {
|
|
155
155
|
margin-left: 40px;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
${props => props.$theme.breakpoints.down('sm')} {
|
|
159
|
+
${(props) => props.$theme.breakpoints.down('sm')} {
|
|
160
160
|
.footer-links-inner {
|
|
161
161
|
flex-direction: column;
|
|
162
162
|
margin: 0;
|
|
@@ -166,7 +166,7 @@ const Root = styled.div`
|
|
|
166
166
|
}
|
|
167
167
|
.footer-links-group {
|
|
168
168
|
padding: 12px 0;
|
|
169
|
-
border-top: 1px solid ${props => props.$theme.palette.grey[200]};
|
|
169
|
+
border-top: 1px solid ${(props) => props.$theme.palette.grey[200]};
|
|
170
170
|
}
|
|
171
171
|
.footer-links-group + .footer-links-group {
|
|
172
172
|
margin-left: 0;
|
package/src/Footer/row.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import PropTypes from 'prop-types';
|
|
3
2
|
import styled from 'styled-components';
|
|
4
3
|
import useTheme from '@mui/styles/useTheme';
|
|
@@ -10,10 +9,7 @@ export default function Row({ children, autoCenter, ...rest }) {
|
|
|
10
9
|
return null;
|
|
11
10
|
}
|
|
12
11
|
return (
|
|
13
|
-
<RowRoot
|
|
14
|
-
{...rest}
|
|
15
|
-
className={clsx(rest.className, { 'footer-row-auto-center': autoCenter })}
|
|
16
|
-
$theme={theme}>
|
|
12
|
+
<RowRoot {...rest} className={clsx(rest.className, { 'footer-row-auto-center': autoCenter })} $theme={theme}>
|
|
17
13
|
{children}
|
|
18
14
|
</RowRoot>
|
|
19
15
|
);
|
|
@@ -39,7 +35,7 @@ const RowRoot = styled.div`
|
|
|
39
35
|
margin: 0 auto;
|
|
40
36
|
}
|
|
41
37
|
|
|
42
|
-
${props => props.$theme.breakpoints.down('md')} {
|
|
38
|
+
${(props) => props.$theme.breakpoints.down('md')} {
|
|
43
39
|
align-items: stretch;
|
|
44
40
|
flex-direction: column;
|
|
45
41
|
gap: 16px;
|
package/src/Header/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext, createElement, Fragment } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import { ThemeProvider } from '@mui/material/styles';
|
|
@@ -17,7 +17,7 @@ import { blockletMetaProps, sessionManagerProps } from '../types';
|
|
|
17
17
|
|
|
18
18
|
const muiTheme = create();
|
|
19
19
|
|
|
20
|
-
const isLinkActive = link => {
|
|
20
|
+
const isLinkActive = (link) => {
|
|
21
21
|
if (window.location.pathname === '/') {
|
|
22
22
|
return link === '/';
|
|
23
23
|
}
|
|
@@ -25,8 +25,8 @@ const isLinkActive = link => {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
// blocklet meta 中的 navigation 数据 => NavMenu 组件的 items
|
|
28
|
-
const parseNavigation = navigation => {
|
|
29
|
-
const parseItem = item => {
|
|
28
|
+
const parseNavigation = (navigation) => {
|
|
29
|
+
const parseItem = (item) => {
|
|
30
30
|
const icon = item.icon ? <span className="iconify" data-icon={item.icon} /> : null;
|
|
31
31
|
if (item.items) {
|
|
32
32
|
return {
|
|
@@ -61,21 +61,14 @@ const parseNavigation = navigation => {
|
|
|
61
61
|
*/
|
|
62
62
|
// eslint-disable-next-line no-shadow
|
|
63
63
|
function Header({ meta, addons, sessionManagerProps, ...rest }) {
|
|
64
|
-
const sessionInfo =
|
|
64
|
+
const sessionInfo = useContext(SessionContext);
|
|
65
65
|
const { locale } = useLocaleContext() || {};
|
|
66
66
|
const blocklet = Object.assign({}, window.blocklet, meta);
|
|
67
67
|
if (!blocklet.appName) {
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
const {
|
|
72
|
-
appLogo,
|
|
73
|
-
appName,
|
|
74
|
-
theme,
|
|
75
|
-
navigation = [],
|
|
76
|
-
enableConnect = true,
|
|
77
|
-
enableLocale = true,
|
|
78
|
-
} = blocklet;
|
|
71
|
+
const { appLogo, appName, theme, navigation = [], enableConnect = true, enableLocale = true } = blocklet;
|
|
79
72
|
const navItems = parseNavigation(navigation);
|
|
80
73
|
|
|
81
74
|
const renderAddons = () => {
|
|
@@ -96,7 +89,7 @@ function Header({ meta, addons, sessionManagerProps, ...rest }) {
|
|
|
96
89
|
if (typeof addons === 'function') {
|
|
97
90
|
addonsArray = addons(addonsArray) || [];
|
|
98
91
|
}
|
|
99
|
-
const addonsFragment =
|
|
92
|
+
const addonsFragment = createElement(Fragment, null, ...addonsArray);
|
|
100
93
|
return addonsFragment;
|
|
101
94
|
};
|
|
102
95
|
|
package/src/Icon/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import PropTypes from 'prop-types';
|
|
3
2
|
import Avatar from '@mui/material/Avatar';
|
|
4
3
|
import '@iconify/iconify';
|
|
@@ -21,11 +20,7 @@ export default function Icon({ icon, size, ...rest }) {
|
|
|
21
20
|
const iconHeight = size ? 0.6 * size + 4 : 0;
|
|
22
21
|
return (
|
|
23
22
|
<Avatar {...rest} sx={sx}>
|
|
24
|
-
<span
|
|
25
|
-
className="iconify"
|
|
26
|
-
data-icon={icon}
|
|
27
|
-
{...(iconHeight && { 'data-height': iconHeight })}
|
|
28
|
-
/>
|
|
23
|
+
<span className="iconify" data-icon={icon} {...(iconHeight && { 'data-height': iconHeight })} />
|
|
29
24
|
</Avatar>
|
|
30
25
|
);
|
|
31
26
|
}
|
package/src/utils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const mapRecursive = (array, fn, childrenKey = 'children') => {
|
|
2
|
-
return array.map(item => {
|
|
2
|
+
return array.map((item) => {
|
|
3
3
|
if (Array.isArray(item[childrenKey])) {
|
|
4
4
|
return fn({
|
|
5
5
|
...item,
|
|
@@ -11,6 +11,6 @@ export const mapRecursive = (array, fn, childrenKey = 'children') => {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
// "http://", "https://", "//" 开头的 3 种情况
|
|
14
|
-
export const isUrl = str => {
|
|
14
|
+
export const isUrl = (str) => {
|
|
15
15
|
return /^(https?:)?\/\//.test(str);
|
|
16
16
|
};
|