@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
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Agreement;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _reactRouterDom = require("react-router-dom");
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _serverEula = _interopRequireDefault(require("@blocklet/launcher-layout/lib/wizard/server-eula"));
12
+ var _wizardDesc = _interopRequireDefault(require("@blocklet/launcher-layout/lib/wizard/wizard-desc"));
13
+ var _agreementApp = _interopRequireDefault(require("./agreement-app"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _templateObject;
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
+ // TODO: 加载 Blocklet 定义的 Agreement
19
+ function Agreement(_ref) {
20
+ let {
21
+ meta,
22
+ onClickNext,
23
+ handleDescEle
24
+ } = _ref;
25
+ const navigate = (0, _reactRouterDom.useNavigate)();
26
+ const {
27
+ t,
28
+ locale
29
+ } = (0, _context.useLocaleContext)();
30
+ const clickNext = onClickNext || (() => {
31
+ navigate("/launch-blocklet/install".concat(window.location.search));
32
+ });
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
35
+ className: "app-content",
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
+ className: "agreement",
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
39
+ className: "agreement-content",
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_wizardDesc.default, {
41
+ blockletMeta: {
42
+ data: meta
43
+ },
44
+ locale: locale,
45
+ handleDescEle: handleDescEle
46
+ })
47
+ })
48
+ })
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
50
+ className: "button-container",
51
+ "data-cy": "agree-all",
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_serverEula.default, {
53
+ onContinue: clickNext,
54
+ description: /*#__PURE__*/(0, _jsxRuntime.jsx)(_agreementApp.default, {}),
55
+ texts: {
56
+ listenName: t('launchBlocklet.license'),
57
+ buttonNext: t('launchBlocklet.next')
58
+ }
59
+ })
60
+ })]
61
+ });
62
+ }
63
+ Agreement.propTypes = {
64
+ meta: _propTypes.default.object.isRequired,
65
+ onClickNext: _propTypes.default.func,
66
+ handleDescEle: _propTypes.default.node
67
+ };
68
+ Agreement.defaultProps = {
69
+ onClickNext: null,
70
+ handleDescEle: ''
71
+ };
72
+ 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 flex: 1;\n .app-content {\n padding: 2px 24px 24px;\n ", " {\n padding-top: 10px;\n }\n width: 100%;\n flex: 1;\n letter-spacing: normal;\n }\n .agreement {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border: 1px solid ", ";\n border-radius: 12px;\n ", " {\n margin-top: 24px;\n }\n ", " {\n margin-top: 16px;\n }\n .agreement-content {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n font-size: 14px;\n overflow-y: auto;\n ", " {\n padding: 0 24px;\n }\n ", " {\n padding: 0 16px;\n }\n &:after {\n display: block;\n content: '';\n height: 24px;\n }\n }\n }\n .button-container {\n padding-top: 24px;\n padding-bottom: 34px;\n ", " {\n padding-right: 24px;\n margin-left: auto;\n }\n ", " {\n padding-top: 0;\n padding-bottom: 16px;\n }\n }\n"])), props => props.theme.breakpoints.down('md'), props => props.theme.palette.grey['100'], props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'));
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockletAppAvatar;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
9
+ var _Avatar2 = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
10
+ var _constant = require("@blocklet/constant");
11
+ var _useAppLogo = _interopRequireDefault(require("../hooks/use-app-logo"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const _excluded = ["blocklet", "style", "size"];
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 BlockletAppAvatar(_ref) {
23
+ let {
24
+ blocklet,
25
+ style,
26
+ size
27
+ } = _ref,
28
+ rest = _objectWithoutProperties(_ref, _excluded);
29
+ const {
30
+ logoUrl
31
+ } = (0, _useAppLogo.default)({
32
+ blocklet
33
+ });
34
+ const {
35
+ variant
36
+ } = rest;
37
+ let imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
38
+ src: logoUrl,
39
+ alt: "",
40
+ style: {
41
+ width: size
42
+ }
43
+ });
44
+ if (!blocklet.meta.logo) {
45
+ var _find;
46
+ const exist = (_find = (blocklet.configs || []).find(x => x.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE)) === null || _find === void 0 ? void 0 : _find.value;
47
+ if (!exist) {
48
+ imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar2.default, {
49
+ did: blocklet.meta.did || '',
50
+ responsive: true
51
+ });
52
+ }
53
+ }
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({
55
+ variant: variant || 'square',
56
+ style: Object.assign({
57
+ backgroundColor: 'transparent',
58
+ width: size,
59
+ height: size,
60
+ borderRadius: 10
61
+ }, style)
62
+ }, rest), {}, {
63
+ children: imgEle
64
+ }));
65
+ }
66
+ BlockletAppAvatar.propTypes = {
67
+ blocklet: _propTypes.default.object.isRequired,
68
+ style: _propTypes.default.object,
69
+ size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
70
+ };
71
+ BlockletAppAvatar.defaultProps = {
72
+ style: {},
73
+ size: 40
74
+ };
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = WrappedAuditLogs;
7
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _reactRouterDom = require("react-router-dom");
9
+ var _reactMarkdownPreview = _interopRequireDefault(require("@uiw/react-markdown-preview"));
10
+ var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
11
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
12
+ var _Empty = _interopRequireDefault(require("@arcblock/ux/lib/Empty"));
13
+ var _context = require("@arcblock/ux/lib/Locale/context");
14
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
15
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
16
+ var _Pagination = _interopRequireDefault(require("@mui/lab/Pagination"));
17
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
18
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
19
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
20
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
21
+ var _auditLog = require("../contexts/audit-log");
22
+ var _node = require("../contexts/node");
23
+ var _relativeTime = _interopRequireDefault(require("../relative-time"));
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+ var _templateObject;
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
28
+ const getUserLink = _ref => {
29
+ let {
30
+ log,
31
+ info,
32
+ inService
33
+ } = _ref;
34
+ if (inService) {
35
+ // TODO
36
+ return "/members?did=".concat(log.actor.did);
37
+ }
38
+ if (log.scope === info.did) {
39
+ return "/team/members?did=".concat(log.actor.did);
40
+ }
41
+ return "/blocklets/".concat(log.scope, "/members?did=").concat(log.actor.did);
42
+ };
43
+ function AuditLog(_ref2) {
44
+ var _log$env$os, _log$env$browser;
45
+ let {
46
+ log
47
+ } = _ref2;
48
+ const {
49
+ inService,
50
+ info
51
+ } = (0, _node.useNodeContext)();
52
+ if (!log.actor.did) {
53
+ return null;
54
+ }
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
56
+ className: "log-entry",
57
+ "data-cy": "log-entry",
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
+ className: "log-author",
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
61
+ did: log.actor.did,
62
+ size: 36,
63
+ shape: "circle"
64
+ })
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
66
+ className: "log-body",
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
68
+ className: "log-header",
69
+ color: "textSecondary",
70
+ component: "p",
71
+ gutterBottom: true,
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Link, {
73
+ to: getUserLink({
74
+ log,
75
+ inService,
76
+ info
77
+ }),
78
+ target: "_blank",
79
+ children: [log.actor.fullName, log.actor.role ? "(".concat(log.actor.role, ")") : '']
80
+ }), ' ', "- ", log.action]
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
82
+ className: "log-content",
83
+ color: "textPrimary",
84
+ component: "div",
85
+ "data-color-mode": "light",
86
+ gutterBottom: true,
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactMarkdownPreview.default, {
88
+ source: log.content,
89
+ linkTarget: "_blank"
90
+ })
91
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
92
+ className: "log-meta",
93
+ variant: "body2",
94
+ children: [!!log.ip && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
95
+ component: "span",
96
+ color: "textSecondary",
97
+ children: "IP: ".concat(log.ip)
98
+ }), !!((_log$env$os = log.env.os) !== null && _log$env$os !== void 0 && _log$env$os.name) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
99
+ component: "span",
100
+ color: "textSecondary",
101
+ children: [log.env.os.name, "(", log.env.os.version, ")"]
102
+ }), !!((_log$env$browser = log.env.browser) !== null && _log$env$browser !== void 0 && _log$env$browser.name) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
103
+ component: "span",
104
+ color: "textSecondary",
105
+ children: [log.env.browser.name, "(", log.env.browser.version, ")"]
106
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
107
+ component: "span",
108
+ color: "textSecondary",
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_relativeTime.default, {
110
+ value: log.createdAt
111
+ })
112
+ })]
113
+ })]
114
+ })]
115
+ });
116
+ }
117
+ function AuditLogs() {
118
+ const {
119
+ t
120
+ } = (0, _context.useLocaleContext)();
121
+ const {
122
+ data,
123
+ loading,
124
+ paging,
125
+ filter,
126
+ categories,
127
+ setCategory,
128
+ fetch
129
+ } = (0, _auditLog.useAuditLogContext)();
130
+ if (loading) {
131
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
132
+ style: {
133
+ textAlign: 'center',
134
+ marginTop: '50px'
135
+ },
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})
137
+ });
138
+ }
139
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {
140
+ "data-cy": "audit-logs",
141
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
142
+ className: "log-controls",
143
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {
144
+ style: {
145
+ width: '240px'
146
+ },
147
+ variant: "outlined",
148
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {
149
+ children: t('common.filter')
150
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {
151
+ "data-cy": "filter-by-category-trigger",
152
+ value: filter.category,
153
+ onChange: e => setCategory(e.target.value),
154
+ fullWidth: true,
155
+ label: t('common.category'),
156
+ disabled: loading,
157
+ children: categories.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
158
+ value: x.value,
159
+ "data-cy": "filter-by-category-".concat(x.value),
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
161
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
162
+ children: x.label
163
+ })
164
+ })
165
+ }, x.label))
166
+ })]
167
+ })
168
+ }), data.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {
169
+ children: t('common.empty')
170
+ }), data.length > 0 && data.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(AuditLog, {
171
+ log: x
172
+ }, x.id)), paging.pageCount > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pagination.default, {
173
+ page: paging.page,
174
+ count: paging.pageCount,
175
+ onChange: (e, page) => fetch({
176
+ page
177
+ }),
178
+ showFirstButton: true,
179
+ showLastButton: true
180
+ })]
181
+ });
182
+ }
183
+ function WrappedAuditLogs(_ref3) {
184
+ let {
185
+ scope
186
+ } = _ref3;
187
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_auditLog.AuditLogProvider, {
188
+ scope: scope,
189
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AuditLogs, {})
190
+ });
191
+ }
192
+ const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .log-controls {\n display: flex;\n justify-content: space-between;\n }\n .log-entry {\n display: flex;\n margin: 16px 0;\n\n .log-author {\n margin-right: 8px;\n }\n\n .log-body {\n flex: 1;\n\n a {\n color: ", ";\n }\n\n .log-header {\n }\n\n .log-content {\n p {\n margin-bottom: 4px;\n }\n ul,\n ol {\n padding-left: 2rem;\n }\n li {\n list-style-type: disc;\n }\n }\n\n .log-meta {\n margin-top: 4px;\n\n span {\n font-size: 0.8rem;\n display: inline-block;\n margin-right: 8px;\n padding-right: 8px;\n border-right: 1px solid #ccc;\n\n &:last-of-type {\n border-right: none;\n }\n }\n }\n }\n }\n"])), _ref4 => {
193
+ let {
194
+ theme
195
+ } = _ref4;
196
+ return theme.palette.primary.main;
197
+ });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockletSource;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _urlJoin = _interopRequireDefault(require("url-join"));
10
+ var _toUpper = _interopRequireDefault(require("lodash/toUpper"));
11
+ var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
12
+ var _context = require("@arcblock/ux/lib/Locale/context");
13
+ var _Link = _interopRequireDefault(require("@mui/material/Link"));
14
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function BlockletSource(_ref) {
18
+ var _blocklet$meta;
19
+ let {
20
+ sourceInfo,
21
+ blocklet
22
+ } = _ref;
23
+ const {
24
+ t
25
+ } = (0, _react.useContext)(_context.LocaleContext);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
27
+ display: "flex",
28
+ alignItems: "center",
29
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
30
+ type: "success",
31
+ children: (0, _toUpper.default)(sourceInfo.source)
32
+ }, "source"), sourceInfo.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
33
+ href: (0, _urlJoin.default)(sourceInfo.deployedFrom, 'blocklets', (blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.bundleDid) || ''),
34
+ target: "_blank",
35
+ className: "page-link",
36
+ underline: "hover",
37
+ style: {
38
+ display: 'flex',
39
+ alignItems: 'center',
40
+ marginLeft: 8
41
+ },
42
+ children: t('blocklet.overview.viewInStore')
43
+ })]
44
+ });
45
+ }
46
+ BlockletSource.propTypes = {
47
+ sourceInfo: _propTypes.default.shape({
48
+ source: _propTypes.default.string,
49
+ deployedFrom: _propTypes.default.string
50
+ }),
51
+ blocklet: _propTypes.default.object
52
+ };
53
+ BlockletSource.defaultProps = {
54
+ sourceInfo: {},
55
+ blocklet: {}
56
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockletAvatar;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _Avatar = _interopRequireDefault(require("@mui/material/Avatar"));
9
+ var _Avatar2 = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
10
+ var _useBundleLogo = _interopRequireDefault(require("../hooks/use-bundle-logo"));
11
+ var _node = require("../contexts/node");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const _excluded = ["blocklet", "style", "size", "ancestors"];
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 BlockletAvatar(_ref) {
23
+ let {
24
+ blocklet,
25
+ style,
26
+ size,
27
+ ancestors
28
+ } = _ref,
29
+ rest = _objectWithoutProperties(_ref, _excluded);
30
+ const node = (0, _node.useNodeContext)();
31
+ const {
32
+ logoUrl,
33
+ inService
34
+ } = (0, _useBundleLogo.default)({
35
+ blocklet,
36
+ ancestors
37
+ });
38
+ const {
39
+ variant
40
+ } = rest;
41
+ const setFallBackUrl = inService ? () => {} : ev => {
42
+ ev.target.src = "".concat(node.imgPrefix, "/blocklet.png");
43
+ };
44
+ let imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
45
+ src: logoUrl,
46
+ onError: setFallBackUrl,
47
+ alt: blocklet.meta.name,
48
+ style: {
49
+ width: size
50
+ }
51
+ });
52
+ if (!blocklet.meta.logo) {
53
+ imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar2.default, {
54
+ did: blocklet.meta.did || '',
55
+ responsive: true
56
+ });
57
+ }
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({
59
+ variant: variant || 'square',
60
+ style: Object.assign({
61
+ backgroundColor: 'transparent',
62
+ width: size,
63
+ height: size,
64
+ borderRadius: 10
65
+ }, style)
66
+ }, rest), {}, {
67
+ children: imgEle
68
+ }));
69
+ }
70
+ BlockletAvatar.propTypes = {
71
+ blocklet: _propTypes.default.object.isRequired,
72
+ style: _propTypes.default.object,
73
+ size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
74
+ ancestors: _propTypes.default.array
75
+ };
76
+ BlockletAvatar.defaultProps = {
77
+ style: {},
78
+ size: 40,
79
+ ancestors: []
80
+ };