@abtnode/ux 1.8.36 → 1.8.38

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 (37) hide show
  1. package/lib/blocklet/access/config-access.js +299 -0
  2. package/lib/blocklet/access/index.js +220 -0
  3. package/lib/blocklet/actions.js +1 -3
  4. package/lib/blocklet/agreement-app.js +28 -0
  5. package/lib/blocklet/agreement.js +72 -0
  6. package/lib/blocklet/avatar.js +9 -18
  7. package/lib/blocklet/component/add.js +1083 -0
  8. package/lib/blocklet/component/configuration.js +1 -1
  9. package/lib/blocklet/component/environment.js +1 -1
  10. package/lib/blocklet/component/index.js +7 -9
  11. package/lib/blocklet/component/select-store.js +151 -0
  12. package/lib/blocklet/component/store-blocklet-list.js +203 -0
  13. package/lib/blocklet/configuration.js +5 -87
  14. package/lib/blocklet/install-from-url.js +362 -0
  15. package/lib/blocklet/overview.js +21 -12
  16. package/lib/blocklet/preferences/index.js +233 -0
  17. package/lib/blocklet/purchase/common.js +103 -0
  18. package/lib/blocklet/purchase/component-purchase.js +251 -0
  19. package/lib/blocklet/purchase/index.js +13 -0
  20. package/lib/blocklet/runtime-info.js +1 -0
  21. package/lib/blocklet/util.js +4 -16
  22. package/lib/blocklet/version.js +1 -1
  23. package/lib/hooks/blocklet.js +26 -10
  24. package/lib/layout/feedback.js +8 -10
  25. package/lib/locales/en.js +9 -2
  26. package/lib/locales/zh.js +9 -2
  27. package/lib/schema-form/index.js +1 -1
  28. package/lib/store/add.js +185 -0
  29. package/lib/store/delete.js +102 -0
  30. package/lib/store/item.js +84 -0
  31. package/lib/team/passports/color.js +1 -1
  32. package/lib/team/passports/detail.js +39 -31
  33. package/lib/util/api.js +21 -0
  34. package/lib/util/constants.js +10 -0
  35. package/lib/util/index.js +24 -8
  36. package/lib/who-can-access/config.js +13 -13
  37. package/package.json +11 -8
@@ -30,7 +30,7 @@ function ComponentConfiguration(_ref) {
30
30
  const [showDialog, setShowDialog] = (0, _react.useState)('');
31
31
  const {
32
32
  t
33
- } = (0, _react.useContext)(_context.LocaleContext);
33
+ } = (0, _context.useLocaleContext)();
34
34
  const isRoot = !ancestors.map(x => x.meta.did)[0];
35
35
  const isDynamic = blocklet.dynamic;
36
36
  const [tab, setTab] = (0, _react.useState)('settings');
@@ -54,7 +54,7 @@ function ComponentEnvironment(_ref) {
54
54
  _toast.default.error(t('blocklet.config.environment.keyValueRequired'));
55
55
  return;
56
56
  }
57
- if (data.key.startsWith('BLOCKLET_')) {
57
+ if (data.key.startsWith('BLOCKLET_') || data.key.startsWith('COMPONENT_')) {
58
58
  _toast.default.error(t('blocklet.config.environment.invalidKey'));
59
59
  return;
60
60
  }
@@ -48,10 +48,11 @@ var _mode = _interopRequireDefault(require("../mode"));
48
48
  var _configuration = _interopRequireDefault(require("./configuration"));
49
49
  var _delete = _interopRequireDefault(require("./delete"));
50
50
  var _line = _interopRequireDefault(require("./line"));
51
+ var _add = _interopRequireDefault(require("./add"));
51
52
  var _addRule = _interopRequireDefault(require("../router/action/add-rule"));
52
53
  var _ruleList = _interopRequireDefault(require("../router/rule-list"));
53
54
  var _jsxRuntime = require("react/jsx-runtime");
54
- const _excluded = ["blocklet", "onUpdate", "getComponentUrl", "AddComponent"];
55
+ const _excluded = ["blocklet", "onUpdate", "getComponentUrl"];
55
56
  var _templateObject, _templateObject2;
56
57
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
58
  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; }
@@ -407,8 +408,7 @@ function BlockletComponent(_ref4) {
407
408
  let {
408
409
  blocklet,
409
410
  onUpdate,
410
- getComponentUrl,
411
- AddComponent
411
+ getComponentUrl
412
412
  } = _ref4,
413
413
  rest = _objectWithoutProperties(_ref4, _excluded);
414
414
  const {
@@ -538,7 +538,7 @@ function BlockletComponent(_ref4) {
538
538
  input = {
539
539
  did: blocklet.meta.did,
540
540
  version: updateConfirm.params.version,
541
- registryUrl: updateConfirm.params.registryUrl || ''
541
+ storeUrl: updateConfirm.params.registryUrl || ''
542
542
  };
543
543
  } else {
544
544
  fn = api.upgradeComponents.bind(api);
@@ -641,7 +641,7 @@ function BlockletComponent(_ref4) {
641
641
  }), t('router.rule.add.title')]
642
642
  });
643
643
  }
644
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(AddComponent, {
644
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
645
645
  blocklet: blocklet,
646
646
  children: _ref7 => {
647
647
  let {
@@ -761,12 +761,10 @@ function BlockletComponent(_ref4) {
761
761
  BlockletComponent.propTypes = {
762
762
  blocklet: _propTypes.default.object.isRequired,
763
763
  onUpdate: _propTypes.default.func,
764
- getComponentUrl: _propTypes.default.func,
765
- AddComponent: _propTypes.default.element
764
+ getComponentUrl: _propTypes.default.func
766
765
  };
767
766
  BlockletComponent.defaultProps = {
768
767
  onUpdate: () => {},
769
- getComponentUrl: () => window.location.origin,
770
- AddComponent: () => {}
768
+ getComponentUrl: () => window.location.origin
771
769
  };
772
770
  const Div = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .title {\n font-size: 1.2rem;\n font-weight: bold;\n margin-bottom: ", ";\n }\n\n @keyframes showDelay {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .component-item {\n animation: showDelay 0.75s ease 1;\n }\n"])), props => props.theme.spacing(1));
@@ -0,0 +1,151 @@
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 _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
14
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
15
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
16
+ var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
17
+ var _constants = require("../../util/constants");
18
+ var _node = require("../../contexts/node");
19
+ var _blocklet = require("../../contexts/blocklet");
20
+ var _add = _interopRequireDefault(require("../../store/add"));
21
+ var _item = _interopRequireDefault(require("../../store/item"));
22
+ var _util = require("../../util");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ var _templateObject;
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
27
+ function SelectStore(_ref) {
28
+ let {
29
+ onChange: _onChange,
30
+ loading,
31
+ children,
32
+ extra
33
+ } = _ref;
34
+ const {
35
+ t
36
+ } = (0, _context.useLocaleContext)();
37
+ const {
38
+ info: nodeInfo,
39
+ inService
40
+ } = (0, _node.useNodeContext)();
41
+ const {
42
+ blocklet
43
+ } = (0, _blocklet.useBlockletContext)();
44
+ const [open, setOpen] = (0, _react.useState)(false);
45
+ const storeSelectRef = (0, _react.useRef)(null);
46
+ const storageKey = inService ? _constants.STORAGE_KEY_STORE_BLOCKLET : _constants.STORAGE_KEY_STORE_SERVER;
47
+ const [storeUrl, setStoreUrl] = (0, _useLocalStorage.default)(storageKey);
48
+ const {
49
+ storeList,
50
+ teamDid
51
+ } = (0, _util.getStoreList)({
52
+ fromBlocklet: inService,
53
+ blocklet,
54
+ nodeInfo
55
+ });
56
+ const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
60
+ ref: storeSelectRef,
61
+ color: "secondary",
62
+ "data-cy": "add-component-select-store",
63
+ endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {
64
+ color: "secondary"
65
+ }),
66
+ onClick: () => {
67
+ setOpen(true);
68
+ },
69
+ style: {
70
+ padding: '0 2px'
71
+ },
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
73
+ color: "secondary",
74
+ children: currentRegistry.name
75
+ })
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
77
+ color: "secondary",
78
+ children: extra
79
+ })]
80
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {
81
+ id: "mui-registry-select",
82
+ select: true,
83
+ autoComplete: "off",
84
+ variant: "outlined",
85
+ name: "did",
86
+ helperText: t('blocklet.component.selectRegistryTip'),
87
+ "data-cy": "component-registry-select",
88
+ fullWidth: true,
89
+ value: currentRegistry,
90
+ autoFocus: true,
91
+ onChange: e => {
92
+ const newRegistry = e.target.value;
93
+ setStoreUrl(newRegistry.url);
94
+ _onChange(newRegistry);
95
+ },
96
+ SelectProps: {
97
+ open,
98
+ MenuProps: {
99
+ anchorEl: storeSelectRef.current
100
+ },
101
+ renderValue: item => {
102
+ return item === null || item === void 0 ? void 0 : item.name;
103
+ },
104
+ onClose: () => {
105
+ setOpen(false);
106
+ }
107
+ },
108
+ style: {
109
+ display: 'none'
110
+ },
111
+ margin: "normal",
112
+ children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
114
+ value: x,
115
+ "data-cy": x.url,
116
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
117
+ teamDid: teamDid,
118
+ store: x,
119
+ onDelete: () => {
120
+ if (storeUrl === x.url) {
121
+ var _storeList$;
122
+ setStoreUrl((_storeList$ = storeList[0]) === null || _storeList$ === void 0 ? void 0 : _storeList$.url);
123
+ }
124
+ }
125
+ })
126
+ }, x.url);
127
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
128
+ disabled: loading,
129
+ storeList: storeList,
130
+ teamDid: teamDid,
131
+ onAdd: url => {
132
+ setStoreUrl(url);
133
+ }
134
+ })]
135
+ }), children({
136
+ currentRegistry
137
+ })]
138
+ });
139
+ }
140
+ SelectStore.propTypes = {
141
+ onChange: _propTypes.default.func,
142
+ loading: _propTypes.default.bool,
143
+ children: _propTypes.default.any.isRequired,
144
+ extra: _propTypes.default.node
145
+ };
146
+ SelectStore.defaultProps = {
147
+ onChange: () => {},
148
+ loading: false,
149
+ extra: ''
150
+ };
151
+ 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,203 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockletList;
7
+ var _react = require("react");
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _urlJoin = _interopRequireDefault(require("url-join"));
11
+ var _Link = _interopRequireDefault(require("@mui/material/Link"));
12
+ var _ErrorBoundary = require("@arcblock/ux/lib/ErrorBoundary");
13
+ var _reactErrorBoundary = require("react-error-boundary");
14
+ var _list = _interopRequireDefault(require("@blocklet/list"));
15
+ var _context = require("@arcblock/ux/lib/Locale/context");
16
+ var _Blocklet = _interopRequireWildcard(require("@arcblock/ux/lib/Blocklet"));
17
+ var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
18
+ var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
19
+ var _util = require("@blocklet/meta/lib/util");
20
+ var _toast = _interopRequireDefault(require("../../toast"));
21
+ var _util2 = require("../../util");
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+ var _templateObject;
24
+ const _excluded = ["handleButtonClick", "handleSearchSelect", "storeUrl", "handleBlockletRender", "extraFilter"];
25
+ 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); }
26
+ 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; }
27
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
29
+ 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; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
+ 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; }
33
+ 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; }
34
+ const getStoreDetail = (meta, endpoint) => {
35
+ return (0, _urlJoin.default)(endpoint, "/blocklets/".concat(meta.did));
36
+ };
37
+ const displayAttributes = _ref => {
38
+ let {
39
+ blocklet,
40
+ attribute,
41
+ value
42
+ } = _ref;
43
+ if (blocklet._formatted) {
44
+ return blocklet._formatted[attribute];
45
+ }
46
+ return value;
47
+ };
48
+ const requirePurchase = meta => meta.inStore && (0, _util.isFreeBlocklet)(meta) === false;
49
+ function BlockletItem(_ref2) {
50
+ let {
51
+ blocklet,
52
+ blocklets,
53
+ handleButtonClick,
54
+ endpoint
55
+ } = _ref2;
56
+ const {
57
+ t
58
+ } = (0, _context.useLocaleContext)();
59
+ const logoUrl = (0, _urlJoin.default)(endpoint, (0, _util2.formatRegistryLogoPath)(blocklet.did, blocklet.logo || ''));
60
+ const [loading, setLoading] = (0, _react.useState)(false);
61
+ const onClickLink = e => {
62
+ if (!e.currentTarget.contains(e.target)) {
63
+ e.preventDefault();
64
+ return false;
65
+ }
66
+ return true;
67
+ };
68
+ const btnTxt = requirePurchase(blocklet) ? t('common.purchase') : t('blocklet.component.choose');
69
+ const onAction = async e => {
70
+ e.preventDefault();
71
+ e.stopPropagation();
72
+ try {
73
+ setLoading(true);
74
+ await handleButtonClick({
75
+ meta: blocklet,
76
+ registryUrl: endpoint,
77
+ blocklets
78
+ });
79
+ } catch (err) {
80
+ _toast.default.error(err.message);
81
+ } finally {
82
+ setLoading(false);
83
+ }
84
+ };
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
86
+ href: getStoreDetail(blocklet, endpoint),
87
+ style: {
88
+ color: 'initial',
89
+ textDecoration: 'none'
90
+ },
91
+ onClick: onClickLink,
92
+ target: "_blank",
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBlocklet, {
94
+ title: displayAttributes({
95
+ blocklet,
96
+ attribute: 'title',
97
+ value: blocklet.title || blocklet.name
98
+ }),
99
+ did: blocklet.did,
100
+ description: displayAttributes({
101
+ blocklet,
102
+ attribute: 'description',
103
+ value: blocklet.description
104
+ }),
105
+ cover: blocklet.logo ? logoUrl : '',
106
+ version: blocklet.version,
107
+ button: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
108
+ style: {
109
+ display: 'flex',
110
+ alignItems: 'center'
111
+ },
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Blocklet.ActionButton, {
113
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
114
+ onClick: onAction,
115
+ size: "small",
116
+ disabled: loading,
117
+ variant: "outlined",
118
+ color: "primary",
119
+ "data-cy": "install-blocklet",
120
+ children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
121
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
122
+ size: [16, 10],
123
+ style: {
124
+ marginRight: 3
125
+ }
126
+ }), btnTxt]
127
+ }) : btnTxt
128
+ }, blocklet.did)
129
+ })
130
+ })
131
+ })
132
+ });
133
+ }
134
+ BlockletItem.propTypes = {
135
+ blocklet: _propTypes.default.object.isRequired,
136
+ blocklets: _propTypes.default.array,
137
+ handleButtonClick: _propTypes.default.func,
138
+ endpoint: _propTypes.default.string
139
+ };
140
+ BlockletItem.defaultProps = {
141
+ handleButtonClick: null,
142
+ endpoint: '',
143
+ blocklets: []
144
+ };
145
+ function BlockletList(_ref3) {
146
+ let {
147
+ handleButtonClick,
148
+ handleSearchSelect,
149
+ storeUrl,
150
+ handleBlockletRender,
151
+ extraFilter
152
+ } = _ref3,
153
+ rest = _objectWithoutProperties(_ref3, _excluded);
154
+ const {
155
+ locale
156
+ } = (0, _context.useLocaleContext)();
157
+ const [filters, setFilters] = (0, _react.useState)({});
158
+ const handleChange = changeData => {
159
+ setFilters(changeData);
160
+ };
161
+ const endpoint = storeUrl;
162
+ (0, _react.useEffect)(() => {
163
+ setFilters({});
164
+ }, [endpoint]);
165
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
166
+ FallbackComponent: _ErrorBoundary.ErrorFallback,
167
+ resetKeys: [endpoint],
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
169
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.default, {
170
+ blockletRender: blockletRenderProps => {
171
+ const defaultProps = _objectSpread(_objectSpread({}, blockletRenderProps), {}, {
172
+ handleButtonClick,
173
+ endpoint
174
+ });
175
+ return handleBlockletRender(_objectSpread(_objectSpread({}, blockletRenderProps), {}, {
176
+ defaultRender: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletItem, _objectSpread({}, defaultProps))
177
+ }));
178
+ },
179
+ baseSearch: true,
180
+ endpoint: endpoint,
181
+ locale: locale,
182
+ onFilterChange: handleChange,
183
+ onSearchSelect: handleSearchSelect,
184
+ filters: filters,
185
+ extraFilter: extraFilter
186
+ })
187
+ }))
188
+ });
189
+ }
190
+ BlockletList.propTypes = {
191
+ storeUrl: _propTypes.default.string.isRequired,
192
+ handleButtonClick: _propTypes.default.func,
193
+ handleSearchSelect: _propTypes.default.func,
194
+ handleBlockletRender: _propTypes.default.func,
195
+ extraFilter: _propTypes.default.func
196
+ };
197
+ BlockletList.defaultProps = {
198
+ handleButtonClick: null,
199
+ handleSearchSelect: null,
200
+ handleBlockletRender: null,
201
+ extraFilter: undefined
202
+ };
203
+ const StyledBlocklet = (0, _styled.default)(_Blocklet.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ms-highlight {\n color: ", ";\n }\n"])), props => props.theme.palette.primary.main);
@@ -28,7 +28,6 @@ var _util = require("@blocklet/meta/lib/util");
28
28
  var _toast = _interopRequireDefault(require("../toast"));
29
29
  var _schemaForm = _interopRequireDefault(require("../schema-form"));
30
30
  var _formTextInput = _interopRequireDefault(require("../form/form-text-input"));
31
- var _config = _interopRequireDefault(require("../who-can-access/config"));
32
31
  var _node = require("../contexts/node");
33
32
  var _util2 = require("../util");
34
33
  var _permission = require("../permission");
@@ -56,8 +55,7 @@ function BlockletEnvironment(_ref) {
56
55
  rest = _objectWithoutProperties(_ref, _excluded);
57
56
  const node = (0, _node.useNodeContext)();
58
57
  const {
59
- t,
60
- locale
58
+ t
61
59
  } = (0, _react.useContext)(_context.LocaleContext);
62
60
  const [cpuCores, setCpuCores] = (0, _react.useState)('');
63
61
  const [loading, setLoading] = (0, _react.useState)('');
@@ -145,30 +143,6 @@ function BlockletEnvironment(_ref) {
145
143
  defaultValue[item.key] = value;
146
144
  return _objectSpread({}, props);
147
145
  });
148
- const onWhoCanAccessChange = async e => {
149
- if (loading) {
150
- return;
151
- }
152
- setLoading(true);
153
- try {
154
- const {
155
- value
156
- } = e.target;
157
- const {
158
- blocklet: data
159
- } = await node.api.updateWhoCanAccess({
160
- input: {
161
- did: blocklet.meta.did,
162
- whoCanAccess: value
163
- }
164
- });
165
- onUpdate(data);
166
- } catch (err) {
167
- _toast.default.error(err.message);
168
- } finally {
169
- setLoading(false);
170
- }
171
- };
172
146
  const onPublicToStoreChange = async e => {
173
147
  if (loading) {
174
148
  return;
@@ -193,12 +167,6 @@ function BlockletEnvironment(_ref) {
193
167
  setLoading(false);
194
168
  }
195
169
  };
196
- const iconStyle = {
197
- marginRight: 4,
198
- fontSize: 18,
199
- verticalAlign: 'text-bottom',
200
- color: theme.palette.text.secondary
201
- };
202
170
  const onSubmitConfig = async value => {
203
171
  if (value.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE) {
204
172
  const errMessage = (0, _util2.isValidClusterSize)(value);
@@ -208,8 +176,7 @@ function BlockletEnvironment(_ref) {
208
176
  }
209
177
  }
210
178
  const params = [_objectSpread(_objectSpread({}, (0, _omit.default)(editingItem, ['childDid', 'componentType', 'componentProps'])), {}, {
211
- value,
212
- custom: true
179
+ value
213
180
  })];
214
181
  try {
215
182
  setLoading(true);
@@ -244,8 +211,7 @@ function BlockletEnvironment(_ref) {
244
211
  did: blocklet.meta.did,
245
212
  configs: [{
246
213
  key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_DELETABLE,
247
- value: checked ? 'no' : 'yes',
248
- custom: true
214
+ value: checked ? 'no' : 'yes'
249
215
  }]
250
216
  }
251
217
  });
@@ -333,54 +299,7 @@ function BlockletEnvironment(_ref) {
333
299
  }
334
300
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
335
301
  className: "config-form",
336
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
337
- className: "config-item",
338
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
339
- className: "config-label",
340
- children: [t('blocklet.config.access.title'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
341
- className: "config-desc",
342
- children: t('blocklet.config.access.description')
343
- })]
344
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
345
- disabled: disabled,
346
- select: true,
347
- size: "small",
348
- value: whoCanAccess,
349
- onChange: onWhoCanAccessChange,
350
- SelectProps: {
351
- renderValue: selected => {
352
- const d = _config.default.find(x => x.value === selected);
353
- return d ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
354
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(d.icon, {
355
- style: iconStyle
356
- }), d.title[locale]]
357
- }) : null;
358
- }
359
- },
360
- children: _config.default.map(d => {
361
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMenuItem, {
362
- value: d.value,
363
- sx: {
364
- display: 'block'
365
- },
366
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
367
- display: "flex",
368
- alignItems: "center",
369
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(d.icon, {
370
- style: iconStyle
371
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
372
- children: d.title[locale]
373
- })]
374
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
375
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
376
- className: "tip",
377
- children: d.description[locale]
378
- })
379
- })]
380
- });
381
- })
382
- })]
383
- }), whoCanAccess === 'all' && blocklet.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
302
+ children: [whoCanAccess === 'all' && blocklet.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
384
303
  className: "config-item",
385
304
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
386
305
  className: "config-label",
@@ -588,7 +507,6 @@ function BlockletEnvironment(_ref) {
588
507
  key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SK,
589
508
  description: t('blocklet.config.sk'),
590
509
  value: blocklet.environments.find(x => x.key === 'BLOCKLET_APP_SK').value,
591
- custom: true,
592
510
  secure: true
593
511
  }],
594
512
  defaultValue: {
@@ -631,5 +549,5 @@ BlockletEnvironment.defaultProps = {
631
549
  onUpdate: () => {},
632
550
  hasPermission: false
633
551
  };
634
- const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .config-form {\n width: 80%;\n flex-grow: 1;\n overflow-y: auto;\n ", " {\n width: 100%;\n flex-shrink: 0;\n padding: 0 24px;\n transform: translate(0, 0);\n max-height: 60vh;\n }\n }\n\n .config-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 16px 0;\n }\n\n .config-label {\n font-weight: bold;\n }\n\n .config-desc {\n font-weight: normal;\n font-size: 12px;\n color: #666;\n }\n\n .form-item {\n margin-top: 0;\n }\n"])), props => props.theme.breakpoints.down('md'));
552
+ const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-top: 24px;\n .config-form {\n flex-grow: 1;\n overflow-y: auto;\n ", " {\n width: 100%;\n flex-shrink: 0;\n padding: 0 24px;\n transform: translate(0, 0);\n max-height: 60vh;\n }\n }\n\n .config-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 16px 0;\n }\n\n .config-label {\n font-weight: bold;\n }\n\n .config-desc {\n font-weight: normal;\n font-size: 12px;\n color: #666;\n }\n\n .form-item {\n margin-top: 0;\n }\n"])), props => props.theme.breakpoints.down('md'));
635
553
  const StyledMenuItem = (0, _styled.default)(_MenuItem.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .tip {\n font-size: 12px;\n color: ", ";\n }\n"])), props => props.theme.palette.text.secondary);