@blocklet/ui-react 2.9.13 → 2.9.15

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.
Files changed (163) hide show
  1. package/build.config.ts +29 -0
  2. package/es/@types/index.d.ts +63 -0
  3. package/es/@types/index.js +0 -0
  4. package/es/@types/shims.d.ts +12 -0
  5. package/es/Dashboard/index.d.ts +41 -0
  6. package/es/Dashboard/index.js +63 -97
  7. package/es/Footer/brand.d.ts +22 -0
  8. package/es/Footer/brand.js +20 -37
  9. package/es/Footer/copyright.d.ts +18 -0
  10. package/es/Footer/copyright.js +14 -16
  11. package/es/Footer/index.d.ts +6 -0
  12. package/es/Footer/index.js +31 -57
  13. package/es/Footer/internal-footer.d.ts +29 -0
  14. package/es/Footer/internal-footer.js +67 -94
  15. package/es/Footer/layout/plain.d.ts +15 -0
  16. package/es/Footer/layout/plain.js +19 -37
  17. package/es/Footer/layout/row.d.ts +18 -0
  18. package/es/Footer/layout/row.js +9 -19
  19. package/es/Footer/layout/standard.d.ts +15 -0
  20. package/es/Footer/layout/standard.js +29 -57
  21. package/es/Footer/links.d.ts +22 -0
  22. package/es/Footer/links.js +72 -104
  23. package/es/Footer/social-media.d.ts +14 -0
  24. package/es/Footer/social-media.js +35 -35
  25. package/es/Header/index.d.ts +9 -0
  26. package/es/Header/index.js +56 -101
  27. package/es/Icon/index.d.ts +23 -0
  28. package/es/Icon/index.js +23 -58
  29. package/es/UserCenter/assets/banner.png +0 -0
  30. package/es/UserCenter/components/notification.d.ts +5 -0
  31. package/es/UserCenter/components/notification.js +276 -0
  32. package/es/UserCenter/components/passport.d.ts +6 -0
  33. package/es/UserCenter/components/passport.js +69 -0
  34. package/es/UserCenter/components/privacy.d.ts +11 -0
  35. package/es/UserCenter/components/privacy.js +99 -0
  36. package/es/UserCenter/components/settings.d.ts +10 -0
  37. package/es/UserCenter/components/settings.js +68 -0
  38. package/es/UserCenter/components/user-basic-info.d.ts +8 -0
  39. package/es/UserCenter/components/user-basic-info.js +66 -0
  40. package/es/UserCenter/components/user-center.d.ts +9 -0
  41. package/es/UserCenter/components/user-center.js +397 -0
  42. package/es/UserCenter/components/user-info-item.d.ts +10 -0
  43. package/es/UserCenter/components/user-info-item.js +54 -0
  44. package/es/UserCenter/components/user-info.d.ts +6 -0
  45. package/es/UserCenter/components/user-info.js +68 -0
  46. package/es/UserCenter/components/webhook-item.d.ts +3 -0
  47. package/es/UserCenter/components/webhook-item.js +243 -0
  48. package/es/UserCenter/index.d.ts +1 -0
  49. package/es/UserCenter/index.js +1 -0
  50. package/es/UserCenter/libs/client.d.ts +2 -0
  51. package/es/UserCenter/libs/client.js +2 -0
  52. package/es/UserCenter/libs/locales.d.ts +72 -0
  53. package/es/UserCenter/libs/locales.js +72 -0
  54. package/es/UserCenter/libs/utils.d.ts +4 -0
  55. package/es/UserCenter/libs/utils.js +14 -0
  56. package/es/blocklets.d.ts +16 -0
  57. package/es/blocklets.js +56 -45
  58. package/es/common/header-addons.d.ts +22 -0
  59. package/es/common/header-addons.js +41 -59
  60. package/es/common/link-blocker.d.ts +7 -0
  61. package/es/common/link-blocker.js +10 -17
  62. package/es/common/overridable-theme-provider.d.ts +18 -0
  63. package/es/common/overridable-theme-provider.js +6 -16
  64. package/es/common/wallet-hidden-topbar.d.ts +1 -0
  65. package/es/common/wallet-hidden-topbar.js +12 -10
  66. package/es/index.d.ts +5 -0
  67. package/es/index.js +5 -0
  68. package/es/types.d.ts +2 -0
  69. package/es/types.js +17 -11
  70. package/es/utils.d.ts +8 -0
  71. package/es/utils.js +21 -26
  72. package/lib/@types/index.d.ts +63 -0
  73. package/lib/@types/index.js +1 -0
  74. package/lib/@types/shims.d.ts +12 -0
  75. package/lib/Dashboard/index.d.ts +41 -0
  76. package/lib/Dashboard/index.js +44 -71
  77. package/lib/Footer/brand.d.ts +22 -0
  78. package/lib/Footer/brand.js +65 -30
  79. package/lib/Footer/copyright.d.ts +18 -0
  80. package/lib/Footer/copyright.js +18 -23
  81. package/lib/Footer/index.d.ts +6 -0
  82. package/lib/Footer/index.js +33 -42
  83. package/lib/Footer/internal-footer.d.ts +29 -0
  84. package/lib/Footer/internal-footer.js +43 -59
  85. package/lib/Footer/layout/plain.d.ts +15 -0
  86. package/lib/Footer/layout/plain.js +25 -30
  87. package/lib/Footer/layout/row.d.ts +18 -0
  88. package/lib/Footer/layout/row.js +34 -23
  89. package/lib/Footer/layout/standard.d.ts +15 -0
  90. package/lib/Footer/layout/standard.js +35 -41
  91. package/lib/Footer/links.d.ts +22 -0
  92. package/lib/Footer/links.js +163 -60
  93. package/lib/Footer/social-media.d.ts +14 -0
  94. package/lib/Footer/social-media.js +31 -25
  95. package/lib/Header/index.d.ts +9 -0
  96. package/lib/Header/index.js +83 -76
  97. package/lib/Icon/index.d.ts +23 -0
  98. package/lib/Icon/index.js +37 -51
  99. package/lib/UserCenter/assets/banner.png +0 -0
  100. package/lib/UserCenter/components/notification.d.ts +5 -0
  101. package/lib/UserCenter/components/notification.js +261 -0
  102. package/lib/UserCenter/components/passport.d.ts +6 -0
  103. package/lib/UserCenter/components/passport.js +86 -0
  104. package/lib/UserCenter/components/privacy.d.ts +11 -0
  105. package/lib/UserCenter/components/privacy.js +101 -0
  106. package/lib/UserCenter/components/settings.d.ts +10 -0
  107. package/lib/UserCenter/components/settings.js +81 -0
  108. package/lib/UserCenter/components/user-basic-info.d.ts +8 -0
  109. package/lib/UserCenter/components/user-basic-info.js +67 -0
  110. package/lib/UserCenter/components/user-center.d.ts +9 -0
  111. package/lib/UserCenter/components/user-center.js +376 -0
  112. package/lib/UserCenter/components/user-info-item.d.ts +10 -0
  113. package/lib/UserCenter/components/user-info-item.js +46 -0
  114. package/lib/UserCenter/components/user-info.d.ts +6 -0
  115. package/lib/UserCenter/components/user-info.js +94 -0
  116. package/lib/UserCenter/components/webhook-item.d.ts +3 -0
  117. package/lib/UserCenter/components/webhook-item.js +236 -0
  118. package/lib/UserCenter/index.d.ts +1 -0
  119. package/lib/UserCenter/index.js +13 -0
  120. package/lib/UserCenter/libs/client.d.ts +2 -0
  121. package/lib/UserCenter/libs/client.js +8 -0
  122. package/lib/UserCenter/libs/locales.d.ts +72 -0
  123. package/lib/UserCenter/libs/locales.js +78 -0
  124. package/lib/UserCenter/libs/utils.d.ts +4 -0
  125. package/lib/UserCenter/libs/utils.js +25 -0
  126. package/lib/blocklets.d.ts +16 -0
  127. package/lib/blocklets.js +28 -36
  128. package/lib/common/header-addons.d.ts +22 -0
  129. package/lib/common/header-addons.js +24 -36
  130. package/lib/common/link-blocker.d.ts +7 -0
  131. package/lib/common/link-blocker.js +10 -18
  132. package/lib/common/overridable-theme-provider.d.ts +18 -0
  133. package/lib/common/overridable-theme-provider.js +9 -14
  134. package/lib/common/wallet-hidden-topbar.d.ts +1 -0
  135. package/lib/common/wallet-hidden-topbar.js +1 -3
  136. package/lib/index.d.ts +5 -0
  137. package/lib/index.js +52 -0
  138. package/lib/types.d.ts +2 -0
  139. package/lib/types.js +3 -5
  140. package/lib/utils.d.ts +8 -0
  141. package/lib/utils.js +16 -23
  142. package/package.json +18 -11
  143. package/src/@types/index.ts +70 -0
  144. package/src/@types/shims.d.ts +12 -0
  145. package/src/Footer/index.jsx +1 -1
  146. package/src/Header/index.jsx +1 -1
  147. package/src/UserCenter/assets/banner.png +0 -0
  148. package/src/UserCenter/components/notification.tsx +275 -0
  149. package/src/UserCenter/components/passport.tsx +83 -0
  150. package/src/UserCenter/components/privacy.tsx +107 -0
  151. package/src/UserCenter/components/settings.tsx +78 -0
  152. package/src/UserCenter/components/user-basic-info.tsx +70 -0
  153. package/src/UserCenter/components/user-center.tsx +410 -0
  154. package/src/UserCenter/components/user-info-item.tsx +50 -0
  155. package/src/UserCenter/components/user-info.tsx +85 -0
  156. package/src/UserCenter/components/webhook-item.tsx +243 -0
  157. package/src/UserCenter/index.tsx +1 -0
  158. package/src/UserCenter/libs/client.ts +3 -0
  159. package/src/UserCenter/libs/locales.ts +72 -0
  160. package/src/UserCenter/libs/utils.ts +21 -0
  161. package/src/blocklets.js +2 -0
  162. package/src/index.ts +9 -0
  163. /package/src/common/{link-blocker.js → link-blocker.jsx} +0 -0
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+
7
+ var _jsxRuntime = require("react/jsx-runtime");
7
8
  require("iconify-icon");
8
9
  var _react = require("react");
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -15,36 +16,20 @@ var _utils = require("../utils");
15
16
  var _blocklets = require("../blocklets");
16
17
  var _headerAddons2 = _interopRequireDefault(require("../common/header-addons"));
17
18
  var _walletHiddenTopbar = require("../common/wallet-hidden-topbar");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["meta", "fallbackUrl", "invalidPathFallback", "headerAddons", "sessionManagerProps", "links"];
20
- /* eslint-disable no-shadow */
21
- /**
22
- * 专门用于 (composable) blocklet 的 Dashboard 组件, 解析 blocklet meta 中 section 为 dashboard 的 navigation 数据, 渲染一个 UX Dashboard
23
- */
24
- // eslint-disable-next-line no-shadow
25
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; }
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; }
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); }
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; }
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; }
33
- function Dashboard(_ref) {
34
- var _sessionCtx$session;
35
- let {
36
- meta,
37
- fallbackUrl,
38
- invalidPathFallback,
39
- headerAddons,
40
- sessionManagerProps,
41
- links
42
- } = _ref,
43
- rest = _objectWithoutProperties(_ref, _excluded);
20
+ function Dashboard({
21
+ meta,
22
+ fallbackUrl,
23
+ invalidPathFallback,
24
+ headerAddons,
25
+ sessionManagerProps: sessionManagerProps2,
26
+ links,
27
+ ...rest
28
+ }) {
44
29
  (0, _walletHiddenTopbar.useWalletHiddenTopbar)();
45
30
  const sessionCtx = (0, _react.useContext)(_Session.SessionContext);
46
- const user = sessionCtx === null || sessionCtx === void 0 ? void 0 : (_sessionCtx$session = sessionCtx.session) === null || _sessionCtx$session === void 0 ? void 0 : _sessionCtx$session.user;
47
- const userRole = user === null || user === void 0 ? void 0 : user.role;
31
+ const user = sessionCtx?.session?.user;
32
+ const userRole = user?.role;
48
33
  const {
49
34
  locale
50
35
  } = (0, _context.useLocaleContext)() || {};
@@ -53,7 +38,7 @@ function Dashboard(_ref) {
53
38
  try {
54
39
  return (0, _blocklets.formatBlockletInfo)(blocklet);
55
40
  } catch (e) {
56
- console.error('Failed to format blocklet info', e, blocklet);
41
+ console.error("Failed to format blocklet info", e, blocklet);
57
42
  return blocklet;
58
43
  }
59
44
  }, [meta]);
@@ -62,55 +47,43 @@ function Dashboard(_ref) {
62
47
  flattened,
63
48
  matchedIndex
64
49
  } = (0, _react.useMemo)(() => {
65
- var _formattedBlocklet$na;
66
- 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) || [];
67
- // 根据 role 筛选 nav 数据
68
- localizedNav = (0, _blocklets.filterNavByRole)(localizedNav, userRole);
69
- // 将 nav 数据处理成 ux dashboard 需要的格式
70
- localizedNav = (0, _utils.mapRecursive)(localizedNav, item => ({
50
+ let localizedNav2 = (0, _blocklets.getLocalizedNavigation)(formattedBlocklet?.navigation?.dashboard, locale) || [];
51
+ localizedNav2 = (0, _blocklets.filterNavByRole)(localizedNav2, userRole);
52
+ localizedNav2 = (0, _utils.mapRecursive)(localizedNav2, item => ({
71
53
  title: item.title,
72
54
  url: item.link,
73
- icon: item.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)("iconify-icon", {
55
+ icon: item.icon ? /* @__PURE__ */(0, _jsxRuntime.jsx)("iconify-icon", {
74
56
  icon: item.icon
75
57
  }) : null,
76
58
  // https://github.com/ArcBlock/ux/issues/755#issuecomment-1208692620
77
59
  external: true,
78
60
  children: item.items
79
- }), 'items');
80
- // 展平后使用 matchPaths 检测 link#active 状态
81
- const flattened = (0, _utils.flatRecursive)(localizedNav).filter(item => !!item.url);
82
- const matchedIndex = (0, _utils.matchPaths)(flattened.map(item => item.url));
83
- if (matchedIndex !== -1) {
84
- flattened[matchedIndex].active = true;
61
+ }), "items");
62
+ const flattened2 = (0, _utils.flatRecursive)(localizedNav2).filter(item => !!item.url);
63
+ const matchedIndex2 = (0, _utils.matchPaths)(flattened2.map(item => item.url));
64
+ if (matchedIndex2 !== -1) {
65
+ flattened2[matchedIndex2].active = true;
85
66
  }
86
67
  return {
87
- localizedNav,
88
- flattened,
89
- matchedIndex
68
+ localizedNav: localizedNav2,
69
+ flattened: flattened2,
70
+ matchedIndex: matchedIndex2
90
71
  };
91
72
  }, [formattedBlocklet, locale, userRole]);
92
- const allLinks = typeof links === 'function' ? links(localizedNav) : [...localizedNav, ...links];
93
-
94
- // 页面初始化时, 如果当前用户没有权限访问任何导航菜单 (比如登录时未提供 VC 导致无权限), 则跳转到 fallbackUrl
95
- // 未认证 (user 为空) 时不做处理, 这种情况的页面跳转逻辑一般由应用自行处理
73
+ const allLinks = typeof links === "function" ? links(localizedNav) : [...localizedNav, ...links];
96
74
  (0, _react.useLayoutEffect)(() => {
97
- if (!!user && !(flattened !== null && flattened !== void 0 && flattened.length) && fallbackUrl) {
75
+ if (!!user && !flattened?.length && fallbackUrl) {
98
76
  window.location.href = fallbackUrl;
99
77
  }
100
- // eslint-disable-next-line react-hooks/exhaustive-deps
101
78
  }, [fallbackUrl]);
102
-
103
- // 导航菜单变动且存在可用菜单但无匹配项时 (如切换 passport), 跳转到首个菜单项
104
79
  (0, _react.useLayoutEffect)(() => {
105
- if (!!user && !!(flattened !== null && flattened !== void 0 && flattened.length) && matchedIndex === -1) {
80
+ if (!!user && !!flattened?.length && matchedIndex === -1) {
106
81
  if (invalidPathFallback) {
107
82
  invalidPathFallback();
108
83
  } else {
109
- var _flattened$;
110
- window.location.href = ((_flattened$ = flattened[0]) === null || _flattened$ === void 0 ? void 0 : _flattened$.url) || _blocklets.publicPath;
84
+ window.location.href = flattened[0]?.url || _blocklets.publicPath;
111
85
  }
112
86
  }
113
- // eslint-disable-next-line react-hooks/exhaustive-deps
114
87
  }, [invalidPathFallback, flattened, matchedIndex]);
115
88
  if (!formattedBlocklet.appName) {
116
89
  return null;
@@ -120,27 +93,28 @@ function Dashboard(_ref) {
120
93
  appLogoRect,
121
94
  appName
122
95
  } = formattedBlocklet;
123
- const _headerAddons = /*#__PURE__*/(0, _jsxRuntime.jsx)(_headerAddons2.default, {
124
- formattedBlocklet: formattedBlocklet,
96
+ const _headerAddons = /* @__PURE__ */(0, _jsxRuntime.jsx)(_headerAddons2.default, {
97
+ formattedBlocklet,
125
98
  addons: headerAddons,
126
- sessionManagerProps: sessionManagerProps
99
+ sessionManagerProps: sessionManagerProps2
127
100
  });
128
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dashboard.default, _objectSpread(_objectSpread({
101
+ return /* @__PURE__ */(0, _jsxRuntime.jsx)(_dashboard.default, {
129
102
  title: appName,
130
103
  fullWidth: true,
131
104
  sidebarWidth: 128,
132
105
  legacy: false,
133
- links: allLinks
134
- }, rest), {}, {
135
- headerProps: _objectSpread({
106
+ links: allLinks,
107
+ ...rest,
108
+ headerProps: {
136
109
  homeLink: _blocklets.publicPath,
137
- logo: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
110
+ logo: /* @__PURE__ */(0, _jsxRuntime.jsx)("img", {
138
111
  src: appLogoRect || appLogo,
139
112
  alt: "logo"
140
113
  }),
141
- addons: _headerAddons
142
- }, rest.headerProps)
143
- }));
114
+ addons: _headerAddons,
115
+ ...rest.headerProps
116
+ }
117
+ });
144
118
  }
145
119
  Dashboard.propTypes = {
146
120
  meta: _types.blockletMetaProps,
@@ -156,7 +130,7 @@ Dashboard.defaultProps = {
156
130
  meta: {},
157
131
  fallbackUrl: _blocklets.publicPath,
158
132
  invalidPathFallback: null,
159
- headerAddons: undefined,
133
+ headerAddons: void 0,
160
134
  sessionManagerProps: {
161
135
  showRole: true,
162
136
  // dashboard 默认退出登录行为: 跳转到 (root) blocklet 首页
@@ -166,5 +140,4 @@ Dashboard.defaultProps = {
166
140
  },
167
141
  links: []
168
142
  };
169
- var _default = Dashboard;
170
- exports.default = _default;
143
+ module.exports = Dashboard;
@@ -0,0 +1,22 @@
1
+ declare function Brand({ name, logo, description, ...rest }: {
2
+ [x: string]: any;
3
+ name: any;
4
+ logo: any;
5
+ description: any;
6
+ }): import("react").JSX.Element | null;
7
+ declare namespace Brand {
8
+ namespace propTypes {
9
+ let name: any;
10
+ let logo: any;
11
+ let description: any;
12
+ }
13
+ namespace defaultProps {
14
+ let name_1: string;
15
+ export { name_1 as name };
16
+ let logo_1: string;
17
+ export { logo_1 as logo };
18
+ let description_1: string;
19
+ export { description_1 as description };
20
+ }
21
+ }
22
+ export default Brand;
@@ -3,50 +3,40 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Brand;
6
+ module.exports = Brand;
7
+ var _jsxRuntime = require("react/jsx-runtime");
7
8
  var _react = require("react");
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _Theme = require("@arcblock/ux/lib/Theme");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- var _templateObject;
12
- const _excluded = ["name", "logo", "description"];
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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; }
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; }
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); }
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; }
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; }
22
- function Brand(_ref) {
23
- let {
24
- name,
25
- logo,
26
- description
27
- } = _ref,
28
- rest = _objectWithoutProperties(_ref, _excluded);
12
+ function Brand({
13
+ name,
14
+ logo,
15
+ description,
16
+ ...rest
17
+ }) {
29
18
  if (!name && !logo && !description) {
30
19
  return null;
31
20
  }
32
- const logoElement = /*#__PURE__*/(0, _react.isValidElement)(logo) ? logo : /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
21
+ const logoElement = (0, _react.isValidElement)(logo) ? logo : /* @__PURE__ */(0, _jsxRuntime.jsx)("img", {
33
22
  src: logo,
34
23
  alt: name
35
24
  });
36
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
37
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
38
- children: [logo && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
25
+ return /* @__PURE__ */(0, _jsxRuntime.jsxs)(Root, {
26
+ ...rest,
27
+ children: [/* @__PURE__ */(0, _jsxRuntime.jsxs)("div", {
28
+ children: [logo && /* @__PURE__ */(0, _jsxRuntime.jsx)("div", {
39
29
  className: "footer-brand-logo",
40
30
  children: logoElement
41
- }), name && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
31
+ }), name && /* @__PURE__ */(0, _jsxRuntime.jsx)("div", {
42
32
  className: "footer-brand-name",
43
33
  children: name
44
34
  })]
45
- }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
35
+ }), description && /* @__PURE__ */(0, _jsxRuntime.jsx)("div", {
46
36
  className: "footer-brand-desc",
47
37
  children: description
48
38
  })]
49
- }));
39
+ });
50
40
  }
51
41
  Brand.propTypes = {
52
42
  name: _propTypes.default.node,
@@ -54,8 +44,53 @@ Brand.propTypes = {
54
44
  description: _propTypes.default.string
55
45
  };
56
46
  Brand.defaultProps = {
57
- name: '',
58
- logo: '',
59
- description: ''
47
+ name: "",
48
+ logo: "",
49
+ description: ""
60
50
  };
61
- const Root = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n font-size: 14px;\n a {\n text-decoration: none;\n color: inherit;\n }\n > div:first-of-type {\n display: flex;\n align-items: center;\n }\n .footer-brand-logo {\n display: flex;\n align-items: center;\n margin-right: 16px;\n line-height: 1;\n img,\n svg {\n width: auto;\n height: 44px;\n max-height: 44px;\n }\n }\n .footer-brand-name {\n font-size: 16px;\n font-weight: bold;\n }\n .footer-brand-desc {\n margin-top: 16px;\n }\n\n ", " {\n width: auto;\n }\n\n ", " {\n .footer-brand-logo {\n img,\n svg {\n height: 32px;\n max-height: 32px;\n }\n }\n }\n"])), props => props.theme.breakpoints.down('sm'), props => props.theme.breakpoints.down('md'));
51
+ const Root = (0, _Theme.styled)("div")`
52
+ display: flex;
53
+ flex-direction: column;
54
+ font-size: 14px;
55
+ a {
56
+ text-decoration: none;
57
+ color: inherit;
58
+ }
59
+ > div:first-of-type {
60
+ display: flex;
61
+ align-items: center;
62
+ }
63
+ .footer-brand-logo {
64
+ display: flex;
65
+ align-items: center;
66
+ margin-right: 16px;
67
+ line-height: 1;
68
+ img,
69
+ svg {
70
+ width: auto;
71
+ height: 44px;
72
+ max-height: 44px;
73
+ }
74
+ }
75
+ .footer-brand-name {
76
+ font-size: 16px;
77
+ font-weight: bold;
78
+ }
79
+ .footer-brand-desc {
80
+ margin-top: 16px;
81
+ }
82
+
83
+ ${props => props.theme.breakpoints.down("sm")} {
84
+ width: auto;
85
+ }
86
+
87
+ ${props => props.theme.breakpoints.down("md")} {
88
+ .footer-brand-logo {
89
+ img,
90
+ svg {
91
+ height: 32px;
92
+ max-height: 32px;
93
+ }
94
+ }
95
+ }
96
+ `;
@@ -0,0 +1,18 @@
1
+ declare function Copyright({ owner, year, ...rest }: {
2
+ [x: string]: any;
3
+ owner: any;
4
+ year: any;
5
+ }): import("react").JSX.Element;
6
+ declare namespace Copyright {
7
+ namespace propTypes {
8
+ let owner: any;
9
+ let year: any;
10
+ }
11
+ namespace defaultProps {
12
+ let owner_1: string;
13
+ export { owner_1 as owner };
14
+ let year_1: string;
15
+ export { year_1 as year };
16
+ }
17
+ }
18
+ export default Copyright;
@@ -3,37 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Copyright;
6
+ module.exports = Copyright;
7
+ var _jsxRuntime = require("react/jsx-runtime");
7
8
  var _Theme = require("@arcblock/ux/lib/Theme");
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- var _templateObject;
11
- const _excluded = ["owner", "year"];
12
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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; }
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; }
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); }
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; }
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; }
21
- function Copyright(_ref) {
22
- let {
23
- owner,
24
- year
25
- } = _ref,
26
- rest = _objectWithoutProperties(_ref, _excluded);
27
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
11
+ function Copyright({
12
+ owner,
13
+ year,
14
+ ...rest
15
+ }) {
16
+ return /* @__PURE__ */(0, _jsxRuntime.jsxs)(Root, {
17
+ ...rest,
28
18
  children: ["Copyright \xA9 ", year, " ", owner]
29
- }));
19
+ });
30
20
  }
31
21
  Copyright.propTypes = {
32
22
  owner: _propTypes.default.string,
33
23
  year: _propTypes.default.string
34
24
  };
35
25
  Copyright.defaultProps = {
36
- owner: 'ArcBlock',
37
- year: "".concat(new Date().getFullYear())
26
+ owner: "ArcBlock",
27
+ year: `${/* @__PURE__ */new Date().getFullYear()}`
38
28
  };
39
- const Root = (0, _Theme.styled)('p')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin: 0;\n font-size: 13px;\n"])));
29
+ const Root = (0, _Theme.styled)("p")`
30
+ display: flex;
31
+ align-items: center;
32
+ margin: 0;
33
+ font-size: 13px;
34
+ `;
@@ -0,0 +1,6 @@
1
+ declare const _default: import("react").ComponentType<{
2
+ [x: string]: any;
3
+ meta: any;
4
+ theme: any;
5
+ }>;
6
+ export default _default;
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+
7
+ var _jsxRuntime = require("react/jsx-runtime");
7
8
  var _react = require("react");
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _Theme = require("@arcblock/ux/lib/Theme");
@@ -15,28 +16,12 @@ var _internalFooter = _interopRequireDefault(require("./internal-footer"));
15
16
  var _utils = require("../utils");
16
17
  var _blocklets = require("../blocklets");
17
18
  var _types = require("../types");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- var _templateObject;
20
- const _excluded = ["meta", "theme"];
21
- /**
22
- * 专门用于 (composable) blocklet 的 Footer 组件, 基于 blocklet meta 中的数据渲染
23
- */
24
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
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; }
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; }
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); }
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; }
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; }
33
- function Footer(_ref) {
34
- var _formattedBlocklet$na, _formattedBlocklet$na2, _formattedBlocklet$na3, _theme$background;
35
- let {
36
- meta,
37
- theme: themeOverrides
38
- } = _ref,
39
- rest = _objectWithoutProperties(_ref, _excluded);
20
+ function Footer({
21
+ meta,
22
+ theme: themeOverrides,
23
+ ...rest
24
+ }) {
40
25
  const {
41
26
  locale
42
27
  } = (0, _context.useLocaleContext)() || {};
@@ -45,7 +30,7 @@ function Footer(_ref) {
45
30
  try {
46
31
  return (0, _blocklets.formatBlockletInfo)(blocklet);
47
32
  } catch (e) {
48
- console.error('Failed to format blocklet info', e, blocklet);
33
+ console.error("Failed to format blocklet info", e, blocklet);
49
34
  return blocklet;
50
35
  }
51
36
  }, [meta]);
@@ -62,9 +47,9 @@ function Footer(_ref) {
62
47
  copyright
63
48
  } = formattedBlocklet;
64
49
  const localized = {
65
- footerNav: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet === null || formattedBlocklet === void 0 ? void 0 : (_formattedBlocklet$na = formattedBlocklet.navigation) === null || _formattedBlocklet$na === void 0 ? void 0 : _formattedBlocklet$na.footer, locale) || [],
66
- socialMedia: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet === null || formattedBlocklet === void 0 ? void 0 : (_formattedBlocklet$na2 = formattedBlocklet.navigation) === null || _formattedBlocklet$na2 === void 0 ? void 0 : _formattedBlocklet$na2.social, locale) || [],
67
- links: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet === null || formattedBlocklet === void 0 ? void 0 : (_formattedBlocklet$na3 = formattedBlocklet.navigation) === null || _formattedBlocklet$na3 === void 0 ? void 0 : _formattedBlocklet$na3.bottom, locale) || []
50
+ footerNav: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet?.navigation?.footer, locale) || [],
51
+ socialMedia: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet?.navigation?.social, locale) || [],
52
+ links: (0, _blocklets.getLocalizedNavigation)(formattedBlocklet?.navigation?.bottom, locale) || []
68
53
  };
69
54
  const props = {
70
55
  brand: {
@@ -72,21 +57,25 @@ function Footer(_ref) {
72
57
  description: appDescription || description,
73
58
  logo: appLogoRect || appLogo
74
59
  },
75
- navigation: (0, _utils.mapRecursive)(localized.footerNav, item => _objectSpread(_objectSpread({}, item), {}, {
60
+ navigation: (0, _utils.mapRecursive)(localized.footerNav, item => ({
61
+ ...item,
76
62
  label: item.title,
77
63
  link: item.link
78
- }), 'items'),
64
+ }), "items"),
79
65
  copyright,
80
66
  socialMedia: localized.socialMedia,
81
- links: localized.links.map(item => _objectSpread(_objectSpread({}, item), {}, {
67
+ links: localized.links.map(item => ({
68
+ ...item,
82
69
  label: item.title
83
70
  }))
84
71
  };
85
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_overridableThemeProvider.default, {
72
+ return /* @__PURE__ */(0, _jsxRuntime.jsx)(_overridableThemeProvider.default, {
86
73
  theme: themeOverrides,
87
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledInternalFooter, _objectSpread(_objectSpread(_objectSpread({}, props), rest), {}, {
88
- $bgcolor: theme === null || theme === void 0 ? void 0 : (_theme$background = theme.background) === null || _theme$background === void 0 ? void 0 : _theme$background.footer
89
- }))
74
+ children: /* @__PURE__ */(0, _jsxRuntime.jsx)(StyledInternalFooter, {
75
+ ...props,
76
+ ...rest,
77
+ $bgcolor: theme?.background?.footer
78
+ })
90
79
  });
91
80
  }
92
81
  Footer.propTypes = {
@@ -98,13 +87,15 @@ Footer.defaultProps = {
98
87
  meta: {},
99
88
  theme: null
100
89
  };
101
- const StyledInternalFooter = (0, _Theme.styled)(_internalFooter.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-top: 1px solid #eee;\n color: ", ";\n ", "\n font-family: Lato, Avenir, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n"])), props => props.theme.palette.grey[600], _ref2 => {
102
- let {
103
- $bgcolor
104
- } = _ref2;
105
- return $bgcolor && "background-color: ".concat($bgcolor, ";");
106
- });
107
- var _default = (0, _reactErrorBoundary.withErrorBoundary)(Footer, {
90
+ const StyledInternalFooter = (0, _Theme.styled)(_internalFooter.default)`
91
+ border-top: 1px solid #eee;
92
+ color: ${props => props.theme.palette.grey[600]};
93
+ ${({
94
+ $bgcolor
95
+ }) => $bgcolor && `background-color: ${$bgcolor};`}
96
+ font-family: Inter, Avenir, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif,
97
+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
98
+ `;
99
+ module.exports = (0, _reactErrorBoundary.withErrorBoundary)(Footer, {
108
100
  FallbackComponent: _ErrorBoundary.ErrorFallback
109
- });
110
- exports.default = _default;
101
+ });
@@ -0,0 +1,29 @@
1
+ export default InternalFooter;
2
+ /**
3
+ * 通用的内部 footer 组件, 定义并渲染常见的几种 footer 元素: brand/navigation/social medial 等
4
+ */
5
+ declare function InternalFooter(props: any): import("react").JSX.Element;
6
+ declare namespace InternalFooter {
7
+ namespace propTypes {
8
+ let brand: any;
9
+ let navigation: any;
10
+ let socialMedia: any;
11
+ let copyright: any;
12
+ let links: any;
13
+ let layout: any;
14
+ }
15
+ namespace defaultProps {
16
+ let brand_1: null;
17
+ export { brand_1 as brand };
18
+ let navigation_1: null;
19
+ export { navigation_1 as navigation };
20
+ let copyright_1: null;
21
+ export { copyright_1 as copyright };
22
+ let socialMedia_1: null;
23
+ export { socialMedia_1 as socialMedia };
24
+ let links_1: null;
25
+ export { links_1 as links };
26
+ let layout_1: string;
27
+ export { layout_1 as layout };
28
+ }
29
+ }