@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,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _Header = _interopRequireDefault(require("@blocklet/ui-react/lib/Header"));
9
+ var _Footer = _interopRequireDefault(require("@blocklet/ui-react/lib/Footer"));
10
+ var _Dashboard = _interopRequireDefault(require("@blocklet/ui-react/lib/Dashboard"));
11
+ var _linkBlocker = _interopRequireDefault(require("@blocklet/ui-react/lib/common/link-blocker"));
12
+ var _material = require("@mui/material");
13
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
14
+ var _blocklet = require("../../../contexts/blocklet");
15
+ var _useAppLogo = _interopRequireDefault(require("../../../hooks/use-app-logo"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var _templateObject;
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
20
+ function NavigationPreview(_ref) {
21
+ let {
22
+ className,
23
+ navigation
24
+ } = _ref;
25
+ const {
26
+ blocklet
27
+ } = (0, _blocklet.useBlockletContext)();
28
+ const {
29
+ logoUrl
30
+ } = (0, _useAppLogo.default)({
31
+ blocklet
32
+ });
33
+ const blockletInfo = {
34
+ appId: blocklet.appDid,
35
+ appLogo: logoUrl,
36
+ appName: blocklet.meta.title,
37
+ enableConnect: true,
38
+ enableLocale: false,
39
+ navigation
40
+ };
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_linkBlocker.default, {
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
43
+ className: className,
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.default, {
45
+ meta: blockletInfo
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dashboard.default, {
48
+ meta: blockletInfo,
49
+ invalidPathFallback: () => {},
50
+ headerProps: {
51
+ style: {
52
+ display: 'none'
53
+ }
54
+ },
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
56
+ container: true,
57
+ spacing: 2,
58
+ children: new Array(6).fill().map((item, index) => {
59
+ return (
60
+ /*#__PURE__*/
61
+ // eslint-disable-next-line react/no-array-index-key
62
+ (0, _jsxRuntime.jsxs)(_material.Grid, {
63
+ item: true,
64
+ xs: 4,
65
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {
66
+ animation: false,
67
+ variant: "rectangular",
68
+ width: "100%",
69
+ height: 120
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
71
+ sx: {
72
+ pt: 0.5
73
+ },
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {
75
+ animation: false
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {
77
+ width: "60%",
78
+ animation: false
79
+ })]
80
+ })]
81
+ }, index)
82
+ );
83
+ })
84
+ })
85
+ })
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Footer.default, {
87
+ meta: blockletInfo
88
+ })]
89
+ })
90
+ });
91
+ }
92
+ NavigationPreview.propTypes = {
93
+ className: _propTypes.default.string,
94
+ navigation: _propTypes.default.array
95
+ };
96
+ NavigationPreview.defaultProps = {
97
+ className: '',
98
+ navigation: []
99
+ };
100
+ const StyledNavigationPreview = (0, _styled.default)(NavigationPreview)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .dashboard {\n height: auto !important;\n }\n .dashboard-content + div {\n display: none;\n }\n"])));
101
+ var _default = StyledNavigationPreview;
102
+ exports.default = _default;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _material = require("@mui/material");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ const _excluded = ["fullWidth", "multiple", "required", "label", "placeholer", "options", "helperText", "error", "margin"];
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ 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; }
13
+ 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; }
14
+ 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; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ 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); }
17
+ 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; }
18
+ 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; }
19
+ function SimpleSelect(_ref) {
20
+ let {
21
+ fullWidth,
22
+ multiple,
23
+ required,
24
+ label,
25
+ placeholer,
26
+ options,
27
+ helperText,
28
+ error,
29
+ margin
30
+ } = _ref,
31
+ rest = _objectWithoutProperties(_ref, _excluded);
32
+ const defaultOption = options.find(item => item.value === rest.value);
33
+ const defaultValue = defaultOption === null || defaultOption === void 0 ? void 0 : defaultOption.title;
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.FormControl, {
35
+ margin: margin,
36
+ fullWidth: fullWidth,
37
+ error: error,
38
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputLabel, {
39
+ children: "".concat(label).concat(required ? '*' : '')
40
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Select, _objectSpread(_objectSpread({
41
+ multiple: multiple,
42
+ input: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.OutlinedInput, {
43
+ defaultValue: defaultValue,
44
+ sx: {
45
+ flex: 1
46
+ },
47
+ required: required,
48
+ label: label,
49
+ inputProps: {
50
+ margin
51
+ }
52
+ }),
53
+ renderValue: selected => {
54
+ if (multiple) {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
56
+ sx: {
57
+ display: 'flex',
58
+ flexWrap: 'wrap',
59
+ gap: 0.5
60
+ },
61
+ children: selected.map(value => {
62
+ const option = options.find(item => item.value === value);
63
+ return option && option.title && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
64
+ size: "small",
65
+ label: option.title
66
+ }, value);
67
+ })
68
+ });
69
+ }
70
+ const option = options.find(item => item.value === selected);
71
+ return option && option.title && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
73
+ component: "span",
74
+ children: option.title
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
76
+ marginLeft: 1,
77
+ component: "span",
78
+ variant: "body2",
79
+ color: "text.secondary",
80
+ children: option.description
81
+ })]
82
+ });
83
+ }
84
+ }, rest), {}, {
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
86
+ disabled: true,
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("em", {
88
+ children: placeholer
89
+ })
90
+ }), !multiple && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {
91
+ value: "",
92
+ children: "None"
93
+ }), options.map(option => option && option.value && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
94
+ value: option.value,
95
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
96
+ children: option.title
97
+ }), option.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
98
+ variant: "body2",
99
+ color: "text.secondary",
100
+ children: option.description
101
+ })]
102
+ }, option.value))]
103
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormHelperText, {
104
+ children: helperText
105
+ })]
106
+ });
107
+ }
108
+ SimpleSelect.propTypes = {
109
+ error: _propTypes.default.bool,
110
+ required: _propTypes.default.bool,
111
+ multiple: _propTypes.default.bool,
112
+ fullWidth: _propTypes.default.bool,
113
+ label: _propTypes.default.string,
114
+ placeholer: _propTypes.default.string,
115
+ options: _propTypes.default.array,
116
+ helperText: _propTypes.default.string,
117
+ margin: _propTypes.default.string
118
+ };
119
+ SimpleSelect.defaultProps = {
120
+ error: false,
121
+ required: false,
122
+ multiple: false,
123
+ fullWidth: false,
124
+ label: '',
125
+ placeholer: '',
126
+ options: [],
127
+ helperText: '',
128
+ margin: ''
129
+ };
130
+ var _default = SimpleSelect;
131
+ exports.default = _default;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SelectStore;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
12
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
13
+ var _constant = require("@abtnode/constant");
14
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
15
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
16
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
17
+ var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
18
+ var _constants = require("../../util/constants");
19
+ var _node = require("../../contexts/node");
20
+ var _blocklet = require("../../contexts/blocklet");
21
+ var _add = _interopRequireDefault(require("../../store/add"));
22
+ var _item = _interopRequireDefault(require("../../store/item"));
23
+ var _util = require("../../util");
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
+ function SelectStore(_ref) {
29
+ let {
30
+ onChange: _onChange,
31
+ loading,
32
+ children,
33
+ extra
34
+ } = _ref;
35
+ const {
36
+ t
37
+ } = (0, _context.useLocaleContext)();
38
+ const {
39
+ info: nodeInfo,
40
+ inService
41
+ } = (0, _node.useNodeContext)();
42
+ const {
43
+ blocklet
44
+ } = (0, _blocklet.useBlockletContext)();
45
+ const [open, setOpen] = (0, _react.useState)(false);
46
+ const storeSelectRef = (0, _react.useRef)(null);
47
+ const storageKey = inService ? _constants.STORAGE_KEY_STORE_BLOCKLET : _constants.STORAGE_KEY_STORE_SERVER;
48
+ const [storeUrl, setStoreUrl] = (0, _useLocalStorage.default)(storageKey);
49
+ const {
50
+ storeList,
51
+ teamDid
52
+ } = (0, _util.getStoreList)({
53
+ fromBlocklet: inService,
54
+ blocklet,
55
+ nodeInfo
56
+ });
57
+ const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];
58
+ const isServerlessMode = nodeInfo.mode === _constant.NODE_MODES.SERVERLESS;
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
61
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
62
+ ref: storeSelectRef,
63
+ color: "secondary",
64
+ "data-cy": "add-component-select-store",
65
+ endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {
66
+ color: "secondary"
67
+ }),
68
+ onClick: () => {
69
+ setOpen(true);
70
+ },
71
+ style: {
72
+ padding: '0 2px'
73
+ },
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
75
+ color: "secondary",
76
+ children: currentRegistry.name
77
+ })
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
79
+ color: "secondary",
80
+ children: extra
81
+ })]
82
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {
83
+ id: "mui-registry-select",
84
+ select: true,
85
+ autoComplete: "off",
86
+ variant: "outlined",
87
+ name: "did",
88
+ helperText: t('blocklet.component.selectRegistryTip'),
89
+ "data-cy": "component-registry-select",
90
+ fullWidth: true,
91
+ value: currentRegistry,
92
+ autoFocus: true,
93
+ onChange: e => {
94
+ const newRegistry = e.target.value;
95
+ setStoreUrl(newRegistry.url);
96
+ _onChange(newRegistry);
97
+ },
98
+ SelectProps: {
99
+ open,
100
+ MenuProps: {
101
+ anchorEl: storeSelectRef.current
102
+ },
103
+ renderValue: item => {
104
+ return item === null || item === void 0 ? void 0 : item.name;
105
+ },
106
+ onClose: () => {
107
+ setOpen(false);
108
+ }
109
+ },
110
+ style: {
111
+ display: 'none'
112
+ },
113
+ margin: "normal",
114
+ children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
116
+ value: x,
117
+ "data-cy": x.url,
118
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
119
+ teamDid: teamDid,
120
+ store: x,
121
+ onDelete: () => {
122
+ if (storeUrl === x.url) {
123
+ var _storeList$;
124
+ setStoreUrl((_storeList$ = storeList[0]) === null || _storeList$ === void 0 ? void 0 : _storeList$.url);
125
+ }
126
+ }
127
+ })
128
+ }, x.url);
129
+ }), !isServerlessMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
130
+ disabled: loading,
131
+ storeList: storeList,
132
+ teamDid: teamDid,
133
+ onAdd: url => {
134
+ setStoreUrl(url);
135
+ }
136
+ })]
137
+ }), children({
138
+ currentRegistry
139
+ })]
140
+ });
141
+ }
142
+ SelectStore.propTypes = {
143
+ onChange: _propTypes.default.func,
144
+ loading: _propTypes.default.bool,
145
+ children: _propTypes.default.any.isRequired,
146
+ extra: _propTypes.default.node
147
+ };
148
+ SelectStore.defaultProps = {
149
+ onChange: () => {},
150
+ loading: false,
151
+ extra: ''
152
+ };
153
+ const SelectStoreTitle = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n\n span {\n font-size: 16px;\n color: ", ";\n // font-weight: bold;\n }\n"])), props => props.theme.palette.common.black);
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ComponentSettingWithPermission;
7
+ var _react = require("react");
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _urlFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-friendly"));
13
+ var _toast = _interopRequireDefault(require("../../toast"));
14
+ var _formTextInput = _interopRequireDefault(require("../../form/form-text-input"));
15
+ var _node = require("../../contexts/node");
16
+ var _permission = require("../../permission");
17
+ var _util = require("../../util");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var _templateObject;
20
+ const _excluded = ["blocklet", "ancestors", "hasPermission"];
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
+ 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; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ 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; }
26
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
27
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
+ 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; }
30
+ function ComponentSetting(_ref) {
31
+ let {
32
+ blocklet,
33
+ ancestors,
34
+ hasPermission
35
+ } = _ref,
36
+ rest = _objectWithoutProperties(_ref, _excluded);
37
+ const {
38
+ t
39
+ } = (0, _context.useLocaleContext)();
40
+ const {
41
+ api
42
+ } = (0, _node.useNodeContext)();
43
+ const isRoot = !ancestors.length;
44
+ const rootDid = isRoot ? blocklet.meta.did : ancestors.map(x => x.meta.did)[0];
45
+ const [loading, setLoading] = (0, _react.useState)('');
46
+ const [mountPointHelperText, setMountPointHelperText] = (0, _react.useState)('');
47
+ const disabled = loading || !hasPermission;
48
+ if (!rootDid) {
49
+ return null;
50
+ }
51
+ if (blocklet.status === 'unknown' && (0, _util.isInstalling)(blocklet.status)) {
52
+ return null;
53
+ }
54
+ const onSubmitTitle = async value => {
55
+ setLoading(true);
56
+ try {
57
+ setLoading(false);
58
+ await api.updateComponentTitle({
59
+ input: {
60
+ rootDid,
61
+ did: blocklet.meta.did,
62
+ title: value
63
+ }
64
+ });
65
+ } catch (err) {
66
+ setLoading(false);
67
+ err.message = (0, _util.formatError)(err);
68
+ _toast.default.error(err.message);
69
+ throw err;
70
+ }
71
+ };
72
+ const onSubmitMountPoint = async value => {
73
+ setLoading(true);
74
+ try {
75
+ const input = {
76
+ rootDid,
77
+ mountPoint: (0, _urlFriendly.default)(value)
78
+ };
79
+ if (!isRoot) {
80
+ input.did = blocklet.meta.did;
81
+ }
82
+ await api.updateComponentMountPoint({
83
+ input
84
+ });
85
+ setLoading(false);
86
+ return true;
87
+ } catch (err) {
88
+ setLoading(false);
89
+ err.message = (0, _util.formatError)(err);
90
+ _toast.default.error(err.message);
91
+ throw err;
92
+ }
93
+ };
94
+ const handleMountPointChange = value => {
95
+ setMountPointHelperText(t('common.slugifyHint', {
96
+ value: (0, _util.formatMountPoint)(value)
97
+ }));
98
+ };
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({
100
+ component: "div"
101
+ }, rest), {}, {
102
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
103
+ mt: 3,
104
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {
105
+ label: t('common.title'),
106
+ style: {
107
+ marginTop: -24
108
+ },
109
+ disabled: loading || disabled,
110
+ loading: loading,
111
+ required: true,
112
+ initialValue: blocklet.meta.title,
113
+ onSubmit: onSubmitTitle
114
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {
115
+ label: t('blocklet.component.mountPoint'),
116
+ style: {
117
+ marginTop: -24
118
+ },
119
+ disabled: loading || disabled,
120
+ loading: loading,
121
+ required: true,
122
+ initialValue: blocklet.mountPoint,
123
+ onSubmit: onSubmitMountPoint,
124
+ onChange: handleMountPointChange,
125
+ helperText: mountPointHelperText,
126
+ formatterBeforeSubmit: value => (0, _urlFriendly.default)(value)
127
+ })]
128
+ })
129
+ }));
130
+ }
131
+ const ComponentSettingInDaemon = (0, _permission.withPermission)(ComponentSetting, 'mutate_blocklets');
132
+ const ComponentSettingInService = (0, _permission.withPermission)(ComponentSetting, '', _util.BlockletAdminRoles);
133
+ function ComponentSettingWithPermission(props) {
134
+ const {
135
+ inService
136
+ } = (0, _node.useNodeContext)();
137
+ if (inService) {
138
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentSettingInService, _objectSpread({}, props));
139
+ }
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentSettingInDaemon, _objectSpread({}, props));
141
+ }
142
+ ComponentSetting.propTypes = {
143
+ blocklet: _propTypes.default.object.isRequired,
144
+ ancestors: _propTypes.default.array,
145
+ hasPermission: _propTypes.default.bool
146
+ };
147
+ ComponentSetting.defaultProps = {
148
+ ancestors: [],
149
+ hasPermission: false
150
+ };
151
+ const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _reactSortableTree = require("react-sortable-tree");
10
+ var _reactSortableTreeThemeMaterialUi = _interopRequireDefault(require("react-sortable-tree-theme-material-ui"));
11
+ var _react2 = require("@iconify/react");
12
+ var _isObject = _interopRequireDefault(require("lodash/isObject"));
13
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
14
+ var _context = require("@arcblock/ux/lib/Locale/context");
15
+ var _material = require("@mui/material");
16
+ var _reactDndHtml5Backend = require("react-dnd-html5-backend");
17
+ var _reactDnd = require("react-dnd");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
+ function checkCanDrop(_ref) {
26
+ let {
27
+ prevPath,
28
+ nextPath
29
+ } = _ref;
30
+ const prevLen = prevPath.length;
31
+ const nextLen = nextPath.length;
32
+ if (prevLen === nextLen) {
33
+ if ((0, _isEqual.default)(prevPath.slice(0, prevLen - 1), nextPath.slice(0, nextLen - 1))) {
34
+ return true;
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ function TreeTitle(_ref2) {
40
+ let {
41
+ treeNode
42
+ } = _ref2;
43
+ const {
44
+ locale
45
+ } = (0, _context.useLocaleContext)();
46
+ function renderTitle() {
47
+ const {
48
+ title,
49
+ subtitle
50
+ } = treeNode;
51
+ let titleShow = title;
52
+ let subtitleShow = subtitle;
53
+ if ((0, _isObject.default)(title)) {
54
+ titleShow = title[locale];
55
+ }
56
+ if (! /*#__PURE__*/(0, _react.isValidElement)(subtitle) && (0, _isObject.default)(subtitle)) {
57
+ subtitleShow = subtitle[locale];
58
+ }
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
60
+ display: "flex",
61
+ alignItems: "center",
62
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
63
+ variant: "subtitle1",
64
+ fontSize: 16,
65
+ children: titleShow
66
+ }), subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
67
+ variant: "body2",
68
+ color: "gray",
69
+ ml: 1.5,
70
+ children: subtitleShow
71
+ })]
72
+ });
73
+ }
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
75
+ children: [treeNode.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {
76
+ style: {
77
+ marginRight: 4
78
+ },
79
+ icon: treeNode.icon
80
+ }), renderTitle()]
81
+ });
82
+ }
83
+ TreeTitle.propTypes = {
84
+ treeNode: _propTypes.default.object.isRequired
85
+ };
86
+ function SortableTree(_ref3) {
87
+ let {
88
+ treeData,
89
+ setTreeData,
90
+ renderActions
91
+ } = _ref3;
92
+ const expandedData = treeData.map(item => _objectSpread(_objectSpread({}, item), {}, {
93
+ expanded: true
94
+ }));
95
+
96
+ // HACK: 兼容 mui-datatables 中的 react-dnd 使用
97
+ const dndProps = {};
98
+ if (typeof window !== 'undefined') {
99
+ dndProps.context = window;
100
+ }
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDnd.DndProvider, _objectSpread(_objectSpread({
102
+ backend: _reactDndHtml5Backend.HTML5Backend
103
+ }, dndProps), {}, {
104
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSortableTree.SortableTreeWithoutDndContext, {
105
+ generateNodeProps: rowInfo => {
106
+ return {
107
+ buttons: renderActions({
108
+ data: rowInfo.node,
109
+ className: 'list-item-actions'
110
+ }),
111
+ icons: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {
112
+ icon: "ic:round-drag-indicator"
113
+ }),
114
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeTitle, {
115
+ treeNode: rowInfo.node
116
+ })
117
+ };
118
+ },
119
+ maxDepth: 2,
120
+ isVirtualized: false,
121
+ treeData: expandedData,
122
+ onChange: setTreeData,
123
+ canDrop: checkCanDrop,
124
+ theme: _reactSortableTreeThemeMaterialUi.default
125
+ })
126
+ }));
127
+ }
128
+ SortableTree.propTypes = {
129
+ treeData: _propTypes.default.object.isRequired,
130
+ setTreeData: _propTypes.default.func,
131
+ renderActions: _propTypes.default.func
132
+ };
133
+ SortableTree.defaultProps = {
134
+ setTreeData: () => {},
135
+ renderActions: () => {}
136
+ };
137
+ var _default = SortableTree;
138
+ exports.default = _default;