@blocklet/ui-react 2.5.57 → 2.5.59

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.
@@ -4,60 +4,42 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Session = require("@arcblock/did-connect/lib/Session");
13
-
14
10
  var _context = require("@arcblock/ux/lib/Locale/context");
15
-
16
11
  var _dashboard = _interopRequireDefault(require("@arcblock/ux/lib/Layout/dashboard"));
17
-
18
12
  var _types = require("../types");
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _blocklets = require("../blocklets");
23
-
24
15
  var _headerAddons2 = _interopRequireDefault(require("../common/header-addons"));
25
-
26
16
  var _walletHiddenTopbar = require("../common/wallet-hidden-topbar");
27
-
28
17
  var _jsxRuntime = require("react/jsx-runtime");
29
-
30
18
  const _excluded = ["meta", "fallbackUrl", "invalidPathFallback", "headerAddons", "sessionManagerProps", "links"];
31
-
19
+ /* eslint-disable no-shadow */
20
+ /**
21
+ * 专门用于 (composable) blocklet 的 Dashboard 组件, 解析 blocklet meta 中 section 为 dashboard 的 navigation 数据, 渲染一个 UX Dashboard
22
+ */
23
+ // eslint-disable-next-line no-shadow
32
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
25
  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; }
35
-
36
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; }
37
-
38
- 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; }
39
-
27
+ 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; }
28
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
29
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
40
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; }
41
-
42
31
  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; }
43
-
44
- /**
45
- * 专门用于 (composable) blocklet 的 Dashboard 组件, 解析 blocklet meta 中 section 为 dashboard 的 navigation 数据, 渲染一个 UX Dashboard
46
- */
47
- // eslint-disable-next-line no-shadow
48
32
  function Dashboard(_ref) {
49
33
  var _sessionCtx$session;
50
-
51
34
  let {
52
- meta,
53
- fallbackUrl,
54
- invalidPathFallback,
55
- headerAddons,
56
- sessionManagerProps,
57
- links
58
- } = _ref,
59
- rest = _objectWithoutProperties(_ref, _excluded);
60
-
35
+ meta,
36
+ fallbackUrl,
37
+ invalidPathFallback,
38
+ headerAddons,
39
+ sessionManagerProps,
40
+ links
41
+ } = _ref,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
61
43
  (0, _walletHiddenTopbar.useWalletHiddenTopbar)();
62
44
  const sessionCtx = (0, _react.useContext)(_Session.SessionContext);
63
45
  const user = sessionCtx === null || sessionCtx === void 0 ? void 0 : (_sessionCtx$session = sessionCtx.session) === null || _sessionCtx$session === void 0 ? void 0 : _sessionCtx$session.user;
@@ -67,7 +49,6 @@ function Dashboard(_ref) {
67
49
  } = (0, _context.useLocaleContext)() || {};
68
50
  const formattedBlocklet = (0, _react.useMemo)(() => {
69
51
  const blocklet = Object.assign({}, window.blocklet, meta);
70
-
71
52
  try {
72
53
  return (0, _blocklets.formatBlockletInfo)(blocklet);
73
54
  } catch (e) {
@@ -81,11 +62,10 @@ function Dashboard(_ref) {
81
62
  matchedIndex
82
63
  } = (0, _react.useMemo)(() => {
83
64
  var _formattedBlocklet$na;
84
-
85
- let localizedNav = (0, _blocklets.getLocalizedNavigation)(formattedBlocklet === null || formattedBlocklet === void 0 ? void 0 : (_formattedBlocklet$na = formattedBlocklet.navigation) === null || _formattedBlocklet$na === void 0 ? void 0 : _formattedBlocklet$na.dashboard, locale) || []; // 根据 role 筛选 nav 数据
86
-
87
- localizedNav = (0, _blocklets.filterNavByRole)(localizedNav, userRole); // 将 nav 数据处理成 ux dashboard 需要的格式
88
-
65
+ let localizedNav = (0, _blocklets.getLocalizedNavigation)(formattedBlocklet === null || formattedBlocklet === void 0 ? void 0 : (_formattedBlocklet$na = formattedBlocklet.navigation) === null || _formattedBlocklet$na === void 0 ? void 0 : _formattedBlocklet$na.dashboard, locale) || [];
66
+ // 根据 role 筛选 nav 数据
67
+ localizedNav = (0, _blocklets.filterNavByRole)(localizedNav, userRole);
68
+ // 将 nav 数据处理成 ux dashboard 需要的格式
89
69
  localizedNav = (0, _utils.mapRecursive)(localizedNav, item => ({
90
70
  title: item.title,
91
71
  url: item.link,
@@ -96,60 +76,55 @@ function Dashboard(_ref) {
96
76
  // https://github.com/ArcBlock/ux/issues/755#issuecomment-1208692620
97
77
  external: true,
98
78
  children: item.items
99
- }), 'items'); // 展平后使用 matchPaths 检测 link#active 状态
100
-
79
+ }), 'items');
80
+ // 展平后使用 matchPaths 检测 link#active 状态
101
81
  const flattened = (0, _utils.flatRecursive)(localizedNav).filter(item => !!item.url);
102
82
  const matchedIndex = (0, _utils.matchPaths)(flattened.map(item => item.url));
103
-
104
83
  if (matchedIndex !== -1) {
105
84
  flattened[matchedIndex].active = true;
106
85
  }
107
-
108
86
  return {
109
87
  localizedNav,
110
88
  flattened,
111
89
  matchedIndex
112
90
  };
113
91
  }, [formattedBlocklet, locale, userRole]);
114
- const allLinks = typeof links === 'function' ? links(localizedNav) : [...localizedNav, ...links]; // 页面初始化时, 如果当前用户没有权限访问任何导航菜单 (比如登录时未提供 VC 导致无权限), 则跳转到 fallbackUrl
115
- // 未认证 (user 为空) 时不做处理, 这种情况的页面跳转逻辑一般由应用自行处理
92
+ const allLinks = typeof links === 'function' ? links(localizedNav) : [...localizedNav, ...links];
116
93
 
94
+ // 页面初始化时, 如果当前用户没有权限访问任何导航菜单 (比如登录时未提供 VC 导致无权限), 则跳转到 fallbackUrl
95
+ // 未认证 (user 为空) 时不做处理, 这种情况的页面跳转逻辑一般由应用自行处理
117
96
  (0, _react.useLayoutEffect)(() => {
118
97
  if (!!user && !(flattened !== null && flattened !== void 0 && flattened.length) && fallbackUrl) {
119
98
  window.location.href = fallbackUrl;
120
- } // eslint-disable-next-line react-hooks/exhaustive-deps
121
-
122
- }, [fallbackUrl]); // 导航菜单变动且存在可用菜单但无匹配项时 (如切换 passport), 跳转到首个菜单项
99
+ }
100
+ // eslint-disable-next-line react-hooks/exhaustive-deps
101
+ }, [fallbackUrl]);
123
102
 
103
+ // 导航菜单变动且存在可用菜单但无匹配项时 (如切换 passport), 跳转到首个菜单项
124
104
  (0, _react.useLayoutEffect)(() => {
125
105
  if (!!user && !!(flattened !== null && flattened !== void 0 && flattened.length) && matchedIndex === -1) {
126
106
  if (invalidPathFallback) {
127
107
  invalidPathFallback();
128
108
  } else {
129
109
  var _flattened$;
130
-
131
110
  window.location.href = ((_flattened$ = flattened[0]) === null || _flattened$ === void 0 ? void 0 : _flattened$.url) || _blocklets.publicPath;
132
111
  }
133
- } // eslint-disable-next-line react-hooks/exhaustive-deps
134
-
112
+ }
113
+ // eslint-disable-next-line react-hooks/exhaustive-deps
135
114
  }, [invalidPathFallback, flattened, matchedIndex]);
136
-
137
115
  if (!formattedBlocklet.appName) {
138
116
  return null;
139
117
  }
140
-
141
118
  const {
142
119
  appLogo,
143
120
  appLogoRect,
144
121
  appName
145
122
  } = formattedBlocklet;
146
-
147
123
  const _headerAddons = /*#__PURE__*/(0, _jsxRuntime.jsx)(_headerAddons2.default, {
148
124
  formattedBlocklet: formattedBlocklet,
149
125
  addons: headerAddons,
150
126
  sessionManagerProps: sessionManagerProps
151
127
  });
152
-
153
128
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dashboard.default, _objectSpread(_objectSpread({
154
129
  title: appName,
155
130
  fullWidth: true,
@@ -167,7 +142,6 @@ function Dashboard(_ref) {
167
142
  }, rest.headerProps)
168
143
  }));
169
144
  }
170
-
171
145
  Dashboard.propTypes = {
172
146
  meta: _types.blockletMetaProps,
173
147
  // 如果当前用户没有权限访问任何导航菜单, 则自动跳转到 fallbackUrl, 默认值为 publicPath, 设置为 null 表示禁用自动跳转
@@ -4,45 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Brand;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Theme = require("@arcblock/ux/lib/Theme");
13
-
14
10
  var _jsxRuntime = require("react/jsx-runtime");
15
-
16
11
  var _templateObject;
17
-
18
12
  const _excluded = ["name", "logo", "description"];
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
-
24
15
  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
16
  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; }
27
-
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; }
29
-
17
+ 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; }
18
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
30
20
  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; }
31
-
32
21
  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; }
33
-
34
22
  function Brand(_ref) {
35
23
  let {
36
- name,
37
- logo,
38
- description
39
- } = _ref,
40
- rest = _objectWithoutProperties(_ref, _excluded);
41
-
24
+ name,
25
+ logo,
26
+ description
27
+ } = _ref,
28
+ rest = _objectWithoutProperties(_ref, _excluded);
42
29
  if (!name && !logo && !description) {
43
30
  return null;
44
31
  }
45
-
46
32
  const logoElement = /*#__PURE__*/(0, _react.isValidElement)(logo) ? logo : /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
47
33
  src: logo,
48
34
  alt: name
@@ -62,7 +48,6 @@ function Brand(_ref) {
62
48
  })]
63
49
  }));
64
50
  }
65
-
66
51
  Brand.propTypes = {
67
52
  name: _propTypes.default.node,
68
53
  logo: _propTypes.default.node,
@@ -4,43 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Copyright;
7
-
8
7
  var _Theme = require("@arcblock/ux/lib/Theme");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _jsxRuntime = require("react/jsx-runtime");
13
-
14
10
  var _templateObject;
15
-
16
11
  const _excluded = ["owner", "year"];
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
-
22
14
  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
15
  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
-
16
+ 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; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
19
  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; }
29
-
30
20
  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; }
31
-
32
21
  function Copyright(_ref) {
33
22
  let {
34
- owner,
35
- year
36
- } = _ref,
37
- rest = _objectWithoutProperties(_ref, _excluded);
38
-
23
+ owner,
24
+ year
25
+ } = _ref,
26
+ rest = _objectWithoutProperties(_ref, _excluded);
39
27
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
40
28
  children: ["Copyright \xA9 ", year, " ", owner]
41
29
  }));
42
30
  }
43
-
44
31
  Copyright.propTypes = {
45
32
  owner: _propTypes.default.string,
46
33
  year: _propTypes.default.string
@@ -4,67 +4,44 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Theme = require("@arcblock/ux/lib/Theme");
13
-
14
10
  var _reactErrorBoundary = require("react-error-boundary");
15
-
16
11
  var _context = require("@arcblock/ux/lib/Locale/context");
17
-
18
12
  var _ErrorBoundary = require("@arcblock/ux/lib/ErrorBoundary");
19
-
20
13
  var _overridableThemeProvider = _interopRequireDefault(require("../common/overridable-theme-provider"));
21
-
22
14
  var _internalFooter = _interopRequireDefault(require("./internal-footer"));
23
-
24
15
  var _utils = require("../utils");
25
-
26
16
  var _blocklets = require("../blocklets");
27
-
28
17
  var _types = require("../types");
29
-
30
18
  var _jsxRuntime = require("react/jsx-runtime");
31
-
32
19
  var _templateObject;
33
-
34
20
  const _excluded = ["meta", "theme"];
35
-
21
+ /**
22
+ * 专门用于 (composable) blocklet 的 Footer 组件, 基于 blocklet meta 中的数据渲染
23
+ */
36
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
25
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
39
-
40
26
  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; }
41
-
42
27
  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; }
43
-
44
- 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; }
45
-
28
+ 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; }
29
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
30
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
46
31
  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; }
47
-
48
32
  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; }
49
-
50
- /**
51
- * 专门用于 (composable) blocklet 的 Footer 组件, 基于 blocklet meta 中的数据渲染
52
- */
53
33
  function Footer(_ref) {
54
34
  var _formattedBlocklet$na, _formattedBlocklet$na2, _formattedBlocklet$na3, _theme$background;
55
-
56
35
  let {
57
- meta,
58
- theme: themeOverrides
59
- } = _ref,
60
- rest = _objectWithoutProperties(_ref, _excluded);
61
-
36
+ meta,
37
+ theme: themeOverrides
38
+ } = _ref,
39
+ rest = _objectWithoutProperties(_ref, _excluded);
62
40
  const {
63
41
  locale
64
42
  } = (0, _context.useLocaleContext)() || {};
65
43
  const formattedBlocklet = (0, _react.useMemo)(() => {
66
44
  const blocklet = Object.assign({}, window.blocklet, meta);
67
-
68
45
  try {
69
46
  return (0, _blocklets.formatBlockletInfo)(blocklet);
70
47
  } catch (e) {
@@ -72,11 +49,9 @@ function Footer(_ref) {
72
49
  return blocklet;
73
50
  }
74
51
  }, [meta]);
75
-
76
52
  if (!formattedBlocklet.appName) {
77
53
  return null;
78
54
  }
79
-
80
55
  const {
81
56
  appLogo,
82
57
  appLogoRect,
@@ -114,7 +89,6 @@ function Footer(_ref) {
114
89
  }))
115
90
  });
116
91
  }
117
-
118
92
  Footer.propTypes = {
119
93
  meta: _types.blockletMetaProps,
120
94
  // 允许覆盖 footer 内置的 theme
@@ -130,9 +104,7 @@ const StyledInternalFooter = (0, _Theme.styled)(_internalFooter.default)(_templa
130
104
  } = _ref2;
131
105
  return $bgcolor && "background-color: ".concat($bgcolor, ";");
132
106
  });
133
-
134
107
  var _default = (0, _reactErrorBoundary.withErrorBoundary)(Footer, {
135
108
  FallbackComponent: _ErrorBoundary.ErrorFallback
136
109
  });
137
-
138
110
  exports.default = _default;
@@ -4,45 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
-
12
9
  var _brand = _interopRequireDefault(require("./brand"));
13
-
14
10
  var _links = _interopRequireDefault(require("./links"));
15
-
16
11
  var _socialMedia = _interopRequireDefault(require("./social-media"));
17
-
18
12
  var _copyright = _interopRequireDefault(require("./copyright"));
19
-
20
13
  var _standard = _interopRequireDefault(require("./layout/standard"));
21
-
22
14
  var _plain = _interopRequireDefault(require("./layout/plain"));
23
-
24
15
  var _jsxRuntime = require("react/jsx-runtime");
25
-
26
16
  const _excluded = ["brand", "navigation", "socialMedia", "copyright", "links", "layout"];
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
18
  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; }
31
-
32
19
  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; }
33
-
34
20
  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; }
35
-
36
21
  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; }
37
-
38
- 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; }
39
-
22
+ 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; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
40
25
  const layouts = [{
41
26
  name: 'plain',
42
27
  // navigation 数据为空时, 使用简单布局
43
28
  support: (_, data) => {
44
29
  var _data$navigation, _data$socialMedia;
45
-
46
30
  return !((_data$navigation = data.navigation) !== null && _data$navigation !== void 0 && _data$navigation.length) && !((_data$socialMedia = data.socialMedia) !== null && _data$socialMedia !== void 0 && _data$socialMedia.length);
47
31
  },
48
32
  component: _plain.default
@@ -55,60 +39,51 @@ const layouts = [{
55
39
  const layoutsKeyByName = layouts.reduce((acc, cur) => _objectSpread(_objectSpread({}, acc), {}, {
56
40
  [cur.name]: cur
57
41
  }), {});
42
+
58
43
  /**
59
44
  * 通用的内部 footer 组件, 定义并渲染常见的几种 footer 元素: brand/navigation/social medial 等
60
45
  */
61
-
62
46
  function InternalFooter(props) {
63
47
  var _window, _window$blocklet;
64
-
65
48
  const {
66
- brand,
67
- navigation,
68
- socialMedia,
69
- copyright,
70
- links,
71
- layout
72
- } = props,
73
- rest = _objectWithoutProperties(props, _excluded);
74
-
49
+ brand,
50
+ navigation,
51
+ socialMedia,
52
+ copyright,
53
+ links,
54
+ layout
55
+ } = props,
56
+ rest = _objectWithoutProperties(props, _excluded);
75
57
  const renderBrand = () => {
76
58
  return brand ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_brand.default, _objectSpread({}, brand)) : null;
77
59
  };
78
-
79
60
  const renderNavigation = () => {
80
61
  return navigation !== null && navigation !== void 0 && navigation.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_links.default, {
81
62
  links: navigation
82
63
  }) : null;
83
64
  };
84
-
85
65
  const renderSocialMedia = () => {
86
66
  return socialMedia !== null && socialMedia !== void 0 && socialMedia.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_socialMedia.default, {
87
67
  items: socialMedia
88
68
  }) : null;
89
69
  };
90
-
91
70
  const renderCopyright = () => {
92
71
  // 如果 copyright.owner 不存在, 则使用 brand.name, 如果 brand.name 也不存在, copyright 元素为空
93
72
  const copyrightOwner = (copyright === null || copyright === void 0 ? void 0 : copyright.owner) || (brand === null || brand === void 0 ? void 0 : brand.name);
94
-
95
73
  if (!copyrightOwner) {
96
74
  return null;
97
75
  }
98
-
99
76
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copyright.default, {
100
77
  owner: copyrightOwner,
101
78
  year: (copyright === null || copyright === void 0 ? void 0 : copyright.year) || undefined
102
79
  });
103
80
  };
104
-
105
81
  const renderLinks = () => {
106
82
  return links !== null && links !== void 0 && links.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_links.default, {
107
83
  flowLayout: true,
108
84
  links: links
109
85
  }) : null;
110
86
  };
111
-
112
87
  const elements = {
113
88
  brand: renderBrand(),
114
89
  navigation: renderNavigation(),
@@ -117,19 +92,15 @@ function InternalFooter(props) {
117
92
  links: renderLinks()
118
93
  };
119
94
  let LayoutComponent = null;
120
-
121
95
  if (layout === 'auto') {
122
96
  LayoutComponent = layouts.find(item => item.support(elements, props)).component;
123
97
  } else {
124
98
  var _layoutsKeyByName$lay;
125
-
126
99
  LayoutComponent = (_layoutsKeyByName$lay = layoutsKeyByName[layout]) === null || _layoutsKeyByName$lay === void 0 ? void 0 : _layoutsKeyByName$lay.component;
127
100
  }
128
-
129
101
  if (!LayoutComponent) {
130
102
  throw new Error("layout ".concat(layout, " is not supported."));
131
103
  }
132
-
133
104
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, _objectSpread(_objectSpread({
134
105
  position: "relative"
135
106
  }, rest), {}, {
@@ -152,7 +123,6 @@ function InternalFooter(props) {
152
123
  })]
153
124
  }));
154
125
  }
155
-
156
126
  InternalFooter.propTypes = {
157
127
  brand: _propTypes.default.shape({
158
128
  name: _propTypes.default.node,
@@ -4,47 +4,32 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Container = _interopRequireDefault(require("@mui/material/Container"));
13
-
14
10
  var _Theme = require("@arcblock/ux/lib/Theme");
15
-
16
11
  var _row = _interopRequireDefault(require("./row"));
17
-
18
12
  var _jsxRuntime = require("react/jsx-runtime");
19
-
20
13
  var _templateObject;
21
-
22
14
  const _excluded = ["elements", "data"];
23
-
15
+ /**
16
+ * footer plain layout
17
+ */
24
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
19
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
27
-
28
20
  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; }
29
-
30
21
  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; }
31
-
32
- 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; }
33
-
22
+ 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; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
34
25
  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; }
35
-
36
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; }
37
-
38
- /**
39
- * footer plain layout
40
- */
41
27
  function PlainLayout(_ref) {
42
28
  let {
43
- elements,
44
- data
45
- } = _ref,
46
- rest = _objectWithoutProperties(_ref, _excluded);
47
-
29
+ elements,
30
+ data
31
+ } = _ref,
32
+ rest = _objectWithoutProperties(_ref, _excluded);
48
33
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({}, rest), {}, {
49
34
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Container.default, {
50
35
  className: "plain-layout-container",
@@ -63,7 +48,6 @@ function PlainLayout(_ref) {
63
48
  })
64
49
  }));
65
50
  }
66
-
67
51
  PlainLayout.propTypes = {
68
52
  elements: _propTypes.default.shape({
69
53
  brand: _propTypes.default.element,