@abtnode/ux 1.15.17 → 1.16.0-beta-b16cb035

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 (154) hide show
  1. package/lib/actions.js +111 -0
  2. package/lib/blocklet/access/config-access.js +303 -0
  3. package/lib/blocklet/access/index.js +221 -0
  4. package/lib/blocklet/actions.js +438 -0
  5. package/lib/blocklet/add-cert.js +191 -0
  6. package/lib/blocklet/agreement-app.js +30 -0
  7. package/lib/blocklet/agreement.js +72 -0
  8. package/lib/blocklet/app-avatar.js +74 -0
  9. package/lib/blocklet/audit-logs.js +197 -0
  10. package/lib/blocklet/blocklet-source.js +56 -0
  11. package/lib/blocklet/bundle-avatar.js +80 -0
  12. package/lib/blocklet/component/add.js +1063 -0
  13. package/lib/blocklet/component/configuration.js +124 -0
  14. package/lib/blocklet/component/delete.js +117 -0
  15. package/lib/blocklet/component/environment.js +289 -0
  16. package/lib/blocklet/component/expiration.js +53 -0
  17. package/lib/blocklet/component/index.js +804 -0
  18. package/lib/blocklet/component/line.js +28 -0
  19. package/lib/blocklet/component/navigation/locale-tabs.js +218 -0
  20. package/lib/blocklet/component/navigation/navigation-actions.js +120 -0
  21. package/lib/blocklet/component/navigation/navigation-dialog.js +620 -0
  22. package/lib/blocklet/component/navigation/navigation-preview.js +102 -0
  23. package/lib/blocklet/component/navigation/simple-select.js +131 -0
  24. package/lib/blocklet/component/select-store.js +153 -0
  25. package/lib/blocklet/component/setting.js +151 -0
  26. package/lib/blocklet/component/sortable-tree.js +138 -0
  27. package/lib/blocklet/component/space-gateway-selector.js +174 -0
  28. package/lib/blocklet/component/store-blocklet-list.js +205 -0
  29. package/lib/blocklet/config-navigation.js +344 -0
  30. package/lib/blocklet/configuration.js +574 -0
  31. package/lib/blocklet/disk-info.js +91 -0
  32. package/lib/blocklet/icons.js +26 -0
  33. package/lib/blocklet/install-from-url.js +347 -0
  34. package/lib/blocklet/log.js +62 -0
  35. package/lib/blocklet/migration.js +153 -0
  36. package/lib/blocklet/mode.js +35 -0
  37. package/lib/blocklet/monitor.js +186 -0
  38. package/lib/blocklet/overview.js +236 -0
  39. package/lib/blocklet/preferences/app-sk.js +131 -0
  40. package/lib/blocklet/preferences/index.js +238 -0
  41. package/lib/blocklet/preferences/wallet-type.js +107 -0
  42. package/lib/blocklet/purchase/common.js +103 -0
  43. package/lib/blocklet/purchase/component-purchase.js +253 -0
  44. package/lib/blocklet/purchase/index.js +13 -0
  45. package/lib/blocklet/router/action/add-domain-alias.js +173 -0
  46. package/lib/blocklet/router/action/add-rule.js +204 -0
  47. package/lib/blocklet/router/action/config-routing-rule.js +129 -0
  48. package/lib/blocklet/router/action/delete-domain-alias.js +107 -0
  49. package/lib/blocklet/router/action/delete-rule.js +114 -0
  50. package/lib/blocklet/router/action/update-rule.js +203 -0
  51. package/lib/blocklet/router/domain-actions.js +71 -0
  52. package/lib/blocklet/router/domain-status.js +96 -0
  53. package/lib/blocklet/router/rule-actions.js +77 -0
  54. package/lib/blocklet/router/rule-list.js +181 -0
  55. package/lib/blocklet/router/util.js +146 -0
  56. package/lib/blocklet/runtime-info.js +87 -0
  57. package/lib/blocklet/status.js +105 -0
  58. package/lib/blocklet/storage.js +322 -0
  59. package/lib/blocklet/types.js +25 -0
  60. package/lib/blocklet/util.js +213 -0
  61. package/lib/blocklet/version.js +156 -0
  62. package/lib/card-selector.js +109 -0
  63. package/lib/certificate.js +110 -0
  64. package/lib/click-to-copy.js +38 -0
  65. package/lib/confirm.js +149 -0
  66. package/lib/contexts/audit-log.js +141 -0
  67. package/lib/contexts/blocklet.js +19 -0
  68. package/lib/contexts/deleting-blocklets.js +78 -0
  69. package/lib/contexts/node.js +30 -0
  70. package/lib/contexts/session.js +20 -0
  71. package/lib/contexts/team.js +19 -0
  72. package/lib/delete-confirm.js +127 -0
  73. package/lib/did-address.js +77 -0
  74. package/lib/dot.js +18 -0
  75. package/lib/form/form-text-input.js +266 -0
  76. package/lib/form/form-wrapper.js +13 -0
  77. package/lib/form/required.js +13 -0
  78. package/lib/hooks/blocklet.js +231 -0
  79. package/lib/hooks/mobile-width.js +19 -0
  80. package/lib/hooks/url-evaluation.js +168 -0
  81. package/lib/hooks/use-app-logo.js +25 -0
  82. package/lib/hooks/use-bundle-logo.js +36 -0
  83. package/lib/hooks/use-navigation.js +355 -0
  84. package/lib/hooks/use-passport-id.js +21 -0
  85. package/lib/hooks/use-subscription.js +28 -0
  86. package/lib/icons/long-arrow.svg +5 -0
  87. package/lib/index.js +0 -3
  88. package/lib/invitation/invitation-app.js +51 -0
  89. package/lib/invitation/invitation-login.js +47 -0
  90. package/lib/invitation/invitation-passport.js +130 -0
  91. package/lib/invitation/invitation-receive.js +108 -0
  92. package/lib/invitation/invitation-success.js +82 -0
  93. package/lib/invitation/invitation-user.js +79 -0
  94. package/lib/invitation/invitation.js +80 -0
  95. package/lib/issue-passport.js +84 -84
  96. package/lib/launch-blocklet/content-layout.js +33 -0
  97. package/lib/launch-blocklet/page-header.js +38 -0
  98. package/lib/layout/addon.js +100 -0
  99. package/lib/layout/feedback.js +55 -0
  100. package/lib/locales/en.js +1221 -10
  101. package/lib/locales/index.js +3 -4
  102. package/lib/locales/zh.js +1232 -15
  103. package/lib/logs/clock.js +19 -0
  104. package/lib/logs/download.js +139 -0
  105. package/lib/logs/log-terminal.js +183 -0
  106. package/lib/lost-passport.js +191 -195
  107. package/lib/monitor/card.js +73 -0
  108. package/lib/monitor/cpu.js +109 -0
  109. package/lib/monitor/disk.js +122 -0
  110. package/lib/monitor/memory.js +144 -0
  111. package/lib/nav-logo.js +120 -0
  112. package/lib/passport-tag.js +43 -0
  113. package/lib/permission.js +70 -0
  114. package/lib/relative-time.js +61 -0
  115. package/lib/schema-form/color-input.js +105 -0
  116. package/lib/schema-form/common-prop-types.js +21 -0
  117. package/lib/schema-form/index.js +229 -0
  118. package/lib/schema-form/passport-input.js +66 -0
  119. package/lib/schema-form/text-input.js +72 -0
  120. package/lib/store/add.js +185 -0
  121. package/lib/store/delete.js +102 -0
  122. package/lib/store/item.js +84 -0
  123. package/lib/table-icons.js +42 -0
  124. package/lib/table.js +13 -0
  125. package/lib/tag.js +37 -0
  126. package/lib/team/members/actions.js +99 -0
  127. package/lib/team/members/index.js +503 -0
  128. package/lib/team/members/invitations.js +196 -0
  129. package/lib/team/members/invite-member.js +212 -0
  130. package/lib/team/members/issue-passport.js +155 -0
  131. package/lib/team/members/member.js +300 -0
  132. package/lib/team/members/passport-issuances.js +154 -0
  133. package/lib/team/members/passports.js +336 -0
  134. package/lib/team/members/toggle-user-approval.js +128 -0
  135. package/lib/team/members/transfer-node.js +262 -0
  136. package/lib/team/members/util.js +20 -0
  137. package/lib/team/passports/color.js +132 -0
  138. package/lib/team/passports/detail.js +271 -0
  139. package/lib/team/passports/index.js +233 -0
  140. package/lib/team/passports/mutate-role.js +204 -0
  141. package/lib/team/passports/trusted-issuer.js +297 -0
  142. package/lib/team/passports/trusted-issuers.js +240 -0
  143. package/lib/team/search-input.js +38 -0
  144. package/lib/team/styles/dialog.js +13 -0
  145. package/lib/team/styles/list-header.js +13 -0
  146. package/lib/toast.js +86 -0
  147. package/lib/util/api.js +21 -0
  148. package/lib/util/constants.js +10 -0
  149. package/lib/util/index.js +703 -0
  150. package/lib/util/locales.js +28 -0
  151. package/lib/util/mode.js +11 -0
  152. package/lib/who-can-access/config.js +46 -0
  153. package/lib/wrap-locale.js +12 -13
  154. package/package.json +69 -17
@@ -4,36 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
7
+ var _react = require("react");
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
12
9
  var _reactRouterDom = require("react-router-dom");
13
-
14
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
15
-
16
- var _CheckCircle = _interopRequireDefault(require("@material-ui/icons/CheckCircle"));
17
-
18
- var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
19
-
10
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
11
+ var _CheckCircle = _interopRequireDefault(require("@mui/icons-material/CheckCircle"));
12
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
20
13
  var _Center = _interopRequireDefault(require("@arcblock/ux/lib/Center"));
21
-
22
14
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
23
-
24
15
  var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
25
-
26
16
  var _context = require("@arcblock/ux/lib/Locale/context");
27
-
17
+ var _constant = require("@abtnode/constant");
28
18
  var _wrapLocale = _interopRequireDefault(require("./wrap-locale"));
29
-
19
+ var _usePassportId = _interopRequireDefault(require("./hooks/use-passport-id"));
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ var _templateObject;
30
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
- /* eslint-disable react/jsx-one-expression-per-line, no-undef */
23
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
37
24
  // eslint-disable-next-line react/prop-types
38
25
  function IssuePassport(_ref) {
39
26
  let {
@@ -49,81 +36,94 @@ function IssuePassport(_ref) {
49
36
  locale
50
37
  } = (0, _react.useContext)(_context.LocaleContext);
51
38
  const [success, setSuccess] = (0, _react.useState)(false);
52
- const history = (0, _reactRouterDom.useHistory)();
53
-
54
- const onSuccess = () => {
39
+ const navigate = (0, _reactRouterDom.useNavigate)();
40
+ const {
41
+ setPassportId
42
+ } = (0, _usePassportId.default)();
43
+ const onReceivePassport = result => {
44
+ if (result !== null && result !== void 0 && result.passportId) {
45
+ setPassportId(result.passportId);
46
+ }
55
47
  setSuccess(true);
56
48
  };
57
-
58
49
  const extraParams = {};
59
50
  const {
60
51
  searchParams
61
52
  } = new URL(window.location.href);
62
53
  const id = searchParams.get('id');
63
-
64
54
  if (id) {
65
55
  extraParams.id = id;
66
56
  }
67
-
68
- const onLogin = () => {
57
+ const onUsePassport = () => {
58
+ var _window$env;
69
59
  try {
70
60
  session.logout();
71
- } catch (err) {// Do nothing
61
+ } catch (err) {
62
+ // Do nothing
72
63
  }
73
-
74
- history.replace('/');
75
- };
76
-
77
- return /*#__PURE__*/_react.default.createElement(Div, null, success ? /*#__PURE__*/_react.default.createElement("div", {
78
- className: "login"
79
- }, /*#__PURE__*/_react.default.createElement("div", {
80
- className: "connect"
81
- }, /*#__PURE__*/_react.default.createElement(_Box.default, {
82
- textAlign: "center"
83
- }, /*#__PURE__*/_react.default.createElement(_Box.default, {
84
- mb: 3,
85
- color: "success.main"
86
- }, /*#__PURE__*/_react.default.createElement(_CheckCircle.default, {
87
- style: {
88
- fontSize: 60
64
+ if ((((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.apiPrefix) || '').startsWith(_constant.WELLKNOWN_SERVICE_PATH_PREFIX)) {
65
+ navigate("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/login"), {
66
+ replace: true
67
+ });
68
+ return;
89
69
  }
90
- })), /*#__PURE__*/_react.default.createElement(_Typography.default, {
91
- component: "p",
92
- variant: "body1",
93
- className: "subheader"
94
- }, t('issuePassport.dialog.success')), /*#__PURE__*/_react.default.createElement(_Box.default, {
95
- mt: 3
96
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
97
- rounded: true,
98
- variant: "contained",
99
- color: "primary",
100
- onClick: onLogin
101
- }, t('issuePassport.dialog.loginWithPassport')))))) : /*#__PURE__*/_react.default.createElement(_Connect.default, {
102
- className: "connect",
103
- action: "issue-passport",
104
- checkFn: api.get,
105
- checkTimeout: 10 * 60 * 1000,
106
- socketUrl: api.socketUrl,
107
- webWalletUrl: webWalletUrl,
108
- onSuccess: onSuccess,
109
- locale: locale,
110
- messages: {
111
- title: t('issuePassport.title'),
112
- scan: t('issuePassport.description', {
113
- name: window.env.appName
114
- }),
115
- confirm: t('issuePassport.dialog.confirm'),
116
- success: t('issuePassport.dialog.success')
117
- },
118
- extraParams: extraParams
119
- }));
70
+ navigate('/', {
71
+ replace: true
72
+ });
73
+ };
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, {
75
+ children: success ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
76
+ className: "login",
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
78
+ className: "connect",
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
80
+ textAlign: "center",
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
82
+ mb: 3,
83
+ color: "success.main",
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckCircle.default, {
85
+ style: {
86
+ fontSize: 60
87
+ }
88
+ })
89
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
90
+ component: "p",
91
+ variant: "body1",
92
+ className: "subheader",
93
+ children: t('issuePassport.dialog.success')
94
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
95
+ mt: 3,
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
97
+ variant: "contained",
98
+ color: "primary",
99
+ onClick: onUsePassport,
100
+ children: t('issuePassport.dialog.loginWithPassport')
101
+ })
102
+ })]
103
+ })
104
+ })
105
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
106
+ className: "connect",
107
+ action: "issue-passport",
108
+ forceConnected: false,
109
+ autoConnect: false,
110
+ checkFn: api.get,
111
+ checkTimeout: 10 * 60 * 1000,
112
+ webWalletUrl: webWalletUrl,
113
+ onSuccess: onReceivePassport,
114
+ locale: locale,
115
+ messages: {
116
+ title: t('issuePassport.title'),
117
+ scan: t('issuePassport.description', {
118
+ name: window.env.appName
119
+ }),
120
+ confirm: t('issuePassport.dialog.confirm'),
121
+ success: t('issuePassport.dialog.success')
122
+ },
123
+ extraParams: extraParams
124
+ })
125
+ });
120
126
  }
121
-
122
- const Div = (0, _styledComponents.default)(_Center.default).withConfig({
123
- displayName: "issue-passport__Div",
124
- componentId: "sc-ovfail-0"
125
- })([".header{text-align:center;margin-bottom:8px;}.subheader{text-align:center;margin-bottom:24px;}.login{padding:24px;height:auto;min-height:480px;display:flex;flex-direction:column;}.connect{background:#fafafa;}"]);
126
-
127
+ const Div = (0, _styled.default)(_Center.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .header {\n text-align: center;\n margin-bottom: 8px;\n }\n\n .subheader {\n text-align: center;\n margin-bottom: 24px;\n }\n\n .login {\n padding: 24px;\n height: auto;\n min-height: 480px;\n display: flex;\n flex-direction: column;\n }\n\n .connect {\n background: #fafafa;\n }\n"])));
127
128
  var _default = (0, _wrapLocale.default)(IssuePassport);
128
-
129
129
  exports.default = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ContentLayout;
7
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ var _templateObject;
11
+ const _excluded = ["children"];
12
+ 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 ContentLayout(_ref) {
22
+ let {
23
+ children
24
+ } = _ref,
25
+ props = _objectWithoutProperties(_ref, _excluded);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, _objectSpread(_objectSpread({}, props), {}, {
27
+ children: children
28
+ }));
29
+ }
30
+ ContentLayout.propTypes = {
31
+ children: _propTypes.default.any.isRequired
32
+ };
33
+ const Container = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n\n .header {\n text-align: center;\n }\n\n .body {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 30px;\n width: 100%;\n min-height: 200px;\n flex: 1;\n\n ", " {\n padding: 24px;\n }\n\n ", " {\n padding: 0 16px 16px;\n }\n }\n\n .footer {\n display: flex;\n justify-content: center;\n\n ", " {\n padding-bottom: 34px;\n }\n\n ", " {\n margin-top: auto;\n padding-bottom: 10px;\n }\n }\n"])), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('sm'), props => props.theme.breakpoints.down('md'));
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ var _templateObject;
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
13
+ function PageHeader(_ref) {
14
+ let {
15
+ title,
16
+ subTitle
17
+ } = _ref;
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Content, {
19
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
20
+ className: "title",
21
+ children: title
22
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
+ className: "sub-title",
24
+ children: subTitle
25
+ })]
26
+ });
27
+ }
28
+ const Content = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n text-align: center;\n\n .title {\n font-size: 24px;\n font-weight: 400;\n color: ", ";\n }\n\n .sub-title {\n margin: 0 auto;\n max-width: 90%;\n font-size: 14px;\n color: ", ";\n }\n"])), props => props.theme.palette.common.black, props => props.theme.palette.grey[600]);
29
+ var _default = PageHeader;
30
+ exports.default = _default;
31
+ PageHeader.propTypes = {
32
+ title: _propTypes.default.string,
33
+ subTitle: _propTypes.default.string
34
+ };
35
+ PageHeader.defaultProps = {
36
+ title: '',
37
+ subTitle: ''
38
+ };
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = HeaderAddon;
7
+ var _react = require("react");
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
+ var _reactRouterDom = require("react-router-dom");
12
+ var _SessionManager = _interopRequireDefault(require("@arcblock/did-connect/lib/SessionManager"));
13
+ var _selector = _interopRequireDefault(require("@arcblock/ux/lib/Locale/selector"));
14
+ var _context = require("@arcblock/ux/lib/Locale/context");
15
+ var _Globe = _interopRequireDefault(require("@arcblock/icons/lib/Globe"));
16
+ var _QuestionMarkCircle = _interopRequireDefault(require("@arcblock/icons/lib/QuestionMarkCircle"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var _templateObject;
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
21
+ 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; }
22
+ 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
+ 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; }
24
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
25
+ 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); }
26
+ function HeaderAddon(_ref) {
27
+ let {
28
+ SessionContext,
29
+ extraItems,
30
+ showLocale,
31
+ showHelper,
32
+ showSessionManager,
33
+ sessionManagerProps
34
+ } = _ref;
35
+ const {
36
+ session
37
+ } = (0, _react.useContext)(SessionContext);
38
+ const {
39
+ locale
40
+ } = (0, _react.useContext)(_context.LocaleContext);
41
+ const location = (0, _reactRouterDom.useLocation)();
42
+ const defaultEndpoint = 'https://developer.blocklet.io/docs';
43
+ const docMap = {
44
+ '/store': {
45
+ endpoint: 'https://store.blocklet.io'
46
+ },
47
+ '/dashboard': {
48
+ path: '/conceptual/overview'
49
+ },
50
+ '/settings/router': {
51
+ path: '/conceptual/server-architecture'
52
+ }
53
+ };
54
+ const onHelpClick = () => {
55
+ const pathName = location.pathname;
56
+ let doc = {};
57
+ if (pathName.indexOf('/store') > -1) {
58
+ doc = docMap['/store'];
59
+ } else if (docMap[pathName]) {
60
+ doc = docMap[pathName];
61
+ }
62
+ window.open("".concat(doc.endpoint || defaultEndpoint, "/").concat(locale).concat(doc.path || ''), '_blank');
63
+ };
64
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
65
+ children: [extraItems.map((x, index) => /*#__PURE__*/(0, _react.cloneElement)(x, {
66
+ key: index
67
+ })), showLocale && /*#__PURE__*/(0, _jsxRuntime.jsx)(_selector.default, {
68
+ "data-cy": "locale-addon",
69
+ icon: _Globe.default,
70
+ size: 23,
71
+ showText: false,
72
+ className: "locale-addon"
73
+ }), showHelper && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
74
+ onClick: onHelpClick,
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuestionMarkCircle.default, {})
76
+ }), showSessionManager && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionManager.default, _objectSpread({
77
+ session: session,
78
+ size: 24,
79
+ showRole: true
80
+ }, sessionManagerProps))]
81
+ });
82
+ }
83
+ HeaderAddon.propTypes = {
84
+ SessionContext: _propTypes.default.object.isRequired,
85
+ webWalletUrl: _propTypes.default.string,
86
+ extraItems: _propTypes.default.array,
87
+ showLocale: _propTypes.default.bool,
88
+ showSessionManager: _propTypes.default.bool,
89
+ showHelper: _propTypes.default.bool,
90
+ sessionManagerProps: _propTypes.default.object
91
+ };
92
+ HeaderAddon.defaultProps = {
93
+ webWalletUrl: '',
94
+ extraItems: [],
95
+ showLocale: true,
96
+ showSessionManager: true,
97
+ showHelper: true,
98
+ sessionManagerProps: {}
99
+ };
100
+ const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n\n .MuiIconButton-root svg {\n width: 26px;\n height: 26px;\n }\n\n .user-addon {\n .user-avatar {\n width: 28px;\n border-radius: 14px;\n height: auto;\n }\n }\n\n ", " {\n > button,\n > a {\n padding-left: 8px;\n padding-right: 8px;\n }\n }\n"])), props => props.theme.breakpoints.down('md'));
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Feedback;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _material = require("@mui/material");
9
+ var _Link = _interopRequireDefault(require("@mui/material/Link"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _jsxRuntime = require("@emotion/react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /** @jsxImportSource @emotion/react */
14
+
15
+ function Feedback(_ref) {
16
+ let {
17
+ infos
18
+ } = _ref;
19
+ const {
20
+ t
21
+ } = (0, _context.useLocaleContext)();
22
+ const infoStr = infos.map(x => "* ".concat(x.label, ": ").concat(x.value)).join('\n');
23
+ const feedbackUrl = new URL('https://github.com/blocklet/blocklet-site/issues/new');
24
+ feedbackUrl.searchParams.set('title', '[Feedback]');
25
+ feedbackUrl.searchParams.set('body', "<!-- [Enter feedback here] -->\n\n\n\n<!--\nDocument Details\n".concat(infoStr, "\n* Page: ").concat(window.location.href, "\n-->\n"));
26
+ return (0, _jsxRuntime.jsx)(_material.Box, {
27
+ sx: {
28
+ mx: {
29
+ xs: 0,
30
+ md: 2
31
+ }
32
+ },
33
+ children: (0, _jsxRuntime.jsx)(_Link.default, {
34
+ sx: {
35
+ color: 'text.primary'
36
+ },
37
+ target: "_blank",
38
+ href: feedbackUrl.href,
39
+ rel: "noreferrer",
40
+ style: {
41
+ textDecoration: 'underline'
42
+ },
43
+ children: t('common.reportIssue')
44
+ })
45
+ });
46
+ }
47
+ Feedback.propTypes = {
48
+ infos: _propTypes.default.arrayOf(_propTypes.default.shape({
49
+ label: _propTypes.default.string,
50
+ value: _propTypes.default.string
51
+ }))
52
+ };
53
+ Feedback.defaultProps = {
54
+ infos: []
55
+ };