@abtnode/ux 1.8.35 → 1.8.37

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.
@@ -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');
@@ -232,7 +232,7 @@ function ComponentEnvironment(_ref) {
232
232
  severity: "info",
233
233
  children: t('blocklet.config.environment.tip')
234
234
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {
235
- permission: inService ? '' : 'mutate_blockets',
235
+ permission: inService ? '' : 'mutate_blocklets',
236
236
  role: inService ? _util2.BlockletAdminRoles : [],
237
237
  children: hasPermission => /*#__PURE__*/(0, _jsxRuntime.jsx)(_table.default, {
238
238
  className: (0, _util2.isBlockletDev)(blocklet) ? 'readonly-block config-table' : 'config-table',
@@ -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);
@@ -586,7 +586,7 @@ function BlockletComponent(_ref4) {
586
586
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
587
587
  className: "title",
588
588
  children: [t('common.components'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {
589
- permission: inService ? '' : 'mutate_blockets',
589
+ permission: inService ? '' : 'mutate_blocklets',
590
590
  role: inService ? _util2.BlockletAdminRoles : [],
591
591
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBadge, {
592
592
  top: 1.2,
@@ -617,7 +617,7 @@ function BlockletComponent(_ref4) {
617
617
  })
618
618
  })]
619
619
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {
620
- permission: inService ? '' : 'mutate_blockets',
620
+ permission: inService ? '' : 'mutate_blocklets',
621
621
  role: inService ? _util2.BlockletAdminRoles : [],
622
622
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
623
623
  display: "flex",
@@ -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);
@@ -112,7 +112,7 @@ function ComponentSetting(_ref) {
112
112
  })
113
113
  }));
114
114
  }
115
- const ComponentSettingInDaemon = (0, _permission.withPermission)(ComponentSetting, 'mutate_blockets');
115
+ const ComponentSettingInDaemon = (0, _permission.withPermission)(ComponentSetting, 'mutate_blocklets');
116
116
  const ComponentSettingInService = (0, _permission.withPermission)(ComponentSetting, '', _util.BlockletAdminRoles);
117
117
  function ComponentSettingWithPermission(props) {
118
118
  const {
@@ -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);
@@ -611,7 +611,7 @@ function BlockletEnvironment(_ref) {
611
611
  })]
612
612
  }));
613
613
  }
614
- const BlockletEnvironmentInDaemon = (0, _permission.withPermission)(BlockletEnvironment, 'mutate_blockets');
614
+ const BlockletEnvironmentInDaemon = (0, _permission.withPermission)(BlockletEnvironment, 'mutate_blocklets');
615
615
  const BlockletEnvironmentInService = (0, _permission.withPermission)(BlockletEnvironment, '', _util2.BlockletAdminRoles);
616
616
  function BlockletEnvironmentWithPermission(props) {
617
617
  const {
@@ -631,5 +631,5 @@ BlockletEnvironment.defaultProps = {
631
631
  onUpdate: () => {},
632
632
  hasPermission: false
633
633
  };
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'));
634
+ const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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
635
  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);