@abtnode/ux 1.16.25 → 1.16.26-beta-a18a668e

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 (67) hide show
  1. package/es/analytics/disk.js +8 -11
  2. package/es/analytics/memory.js +1 -2
  3. package/es/analytics/runtime.js +1 -2
  4. package/es/analytics/traffic.js +1 -2
  5. package/es/blocklet/component/add-component-core.js +3 -0
  6. package/es/blocklet/component/select-store.js +8 -4
  7. package/es/blocklet/disk-info.js +1 -1
  8. package/es/blocklet/publish/connect-store-list.js +62 -0
  9. package/es/blocklet/publish/create-release.js +49 -13
  10. package/es/blocklet/publish/project-list.js +2 -2
  11. package/es/blocklet/publish/release-list.js +1 -1
  12. package/es/blocklet/publish/resource.js +14 -5
  13. package/es/blocklet/publish/select-components.js +3 -3
  14. package/es/locales/ar.js +11 -3
  15. package/es/locales/de.js +10 -2
  16. package/es/locales/en.js +9 -3
  17. package/es/locales/es.js +10 -2
  18. package/es/locales/fr.js +10 -2
  19. package/es/locales/hi.js +10 -2
  20. package/es/locales/i18n.db +0 -0
  21. package/es/locales/id.js +11 -3
  22. package/es/locales/ja.js +11 -3
  23. package/es/locales/ko.js +11 -3
  24. package/es/locales/pt.js +10 -2
  25. package/es/locales/ru.js +10 -2
  26. package/es/locales/th.js +10 -2
  27. package/es/locales/vi.js +11 -3
  28. package/es/locales/zh-tw.js +10 -2
  29. package/es/locales/zh.js +11 -3
  30. package/es/store/add.js +1 -0
  31. package/es/store/delete.js +9 -4
  32. package/es/store/item.js +233 -36
  33. package/es/util/index.js +8 -8
  34. package/lib/analytics/disk.js +7 -10
  35. package/lib/analytics/memory.js +5 -6
  36. package/lib/analytics/runtime.js +1 -2
  37. package/lib/analytics/traffic.js +2 -3
  38. package/lib/blocklet/component/add-component-core.js +3 -0
  39. package/lib/blocklet/component/select-store.js +8 -4
  40. package/lib/blocklet/disk-info.js +2 -2
  41. package/lib/blocklet/publish/connect-store-list.js +72 -0
  42. package/lib/blocklet/publish/create-release.js +47 -11
  43. package/lib/blocklet/publish/project-list.js +1 -1
  44. package/lib/blocklet/publish/release-list.js +1 -1
  45. package/lib/blocklet/publish/resource.js +14 -5
  46. package/lib/blocklet/publish/select-components.js +3 -3
  47. package/lib/locales/ar.js +11 -3
  48. package/lib/locales/de.js +10 -2
  49. package/lib/locales/en.js +9 -3
  50. package/lib/locales/es.js +10 -2
  51. package/lib/locales/fr.js +10 -2
  52. package/lib/locales/hi.js +10 -2
  53. package/lib/locales/i18n.db +0 -0
  54. package/lib/locales/id.js +11 -3
  55. package/lib/locales/ja.js +11 -3
  56. package/lib/locales/ko.js +11 -3
  57. package/lib/locales/pt.js +10 -2
  58. package/lib/locales/ru.js +10 -2
  59. package/lib/locales/th.js +10 -2
  60. package/lib/locales/vi.js +11 -3
  61. package/lib/locales/zh-tw.js +10 -2
  62. package/lib/locales/zh.js +11 -3
  63. package/lib/store/add.js +1 -0
  64. package/lib/store/delete.js +9 -4
  65. package/lib/store/item.js +233 -37
  66. package/lib/util/index.js +14 -13
  67. package/package.json +19 -19
package/es/store/item.js CHANGED
@@ -1,11 +1,17 @@
1
- /* eslint-disable react/jsx-one-expression-per-line */
2
1
  import { makeStyles } from '@mui/styles';
3
- import Typography from '@mui/material/Typography';
4
- import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';
2
+ import { Typography, Button, ButtonGroup, CircularProgress } from '@mui/material';
5
3
  import LaunchIcon from '@mui/icons-material/Launch';
6
- import IconButton from '@mui/material/IconButton';
4
+ import PublishIcon from '@mui/icons-material/BackupOutlined';
5
+ import LinkOutlinedIcon from '@mui/icons-material/LinkOutlined';
6
+ import DoneIcon from '@mui/icons-material/Done';
7
7
  import PropTypes from 'prop-types';
8
+ import { useEffect, useState } from 'react';
9
+ import joinUrl from 'url-join';
10
+ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
11
+ import Toast from '@arcblock/ux/lib/Toast';
8
12
  import DeleteStore from './delete';
13
+ import { useNodeContext } from '../contexts/node';
14
+ import { formatError } from '../util';
9
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
16
  const useStyles = makeStyles(() => ({
11
17
  buttonText: {
@@ -14,62 +20,253 @@ const useStyles = makeStyles(() => ({
14
20
  iconRoot: {
15
21
  minWidth: 24
16
22
  },
23
+ box: {
24
+ display: 'flex',
25
+ flexDirection: 'row',
26
+ justifyContent: 'space-between',
27
+ alignItems: 'center',
28
+ overflow: 'hidden',
29
+ width: '100%'
30
+ },
17
31
  menuName: {
32
+ flexShrink: 1,
18
33
  display: 'flex',
19
34
  flexDirection: 'column',
20
- marginRight: '100px',
21
- '& span': {
22
- overflow: 'hidden',
23
- textOverflow: 'ellipsis',
24
- whiteSpace: 'nowrap'
25
- }
35
+ overflow: 'hidden',
36
+ flex: 1
37
+ },
38
+ actions: {
39
+ flex: 1,
40
+ display: 'flex',
41
+ flexDirection: 'row',
42
+ justifyContent: 'flex-end',
43
+ alignItems: 'center'
44
+ },
45
+ title: {
46
+ fontSize: 16,
47
+ overflow: 'hidden',
48
+ textOverflow: 'ellipsis',
49
+ whiteSpace: 'nowrap'
50
+ },
51
+ url: {
52
+ fontSize: 14,
53
+ opacity: 0.5,
54
+ overflow: 'hidden',
55
+ textOverflow: 'ellipsis',
56
+ whiteSpace: 'nowrap'
57
+ },
58
+ buttonLine: {
59
+ height: '100%',
60
+ width: '1px',
61
+ backgroundColor: '#e0e0e0'
26
62
  }
27
63
  }));
28
64
  export default function StoreItem({
29
65
  teamDid,
66
+ projectId,
67
+ releaseId,
30
68
  store,
31
- onDelete
69
+ onDelete,
70
+ kind,
71
+ published,
72
+ connected,
73
+ releaseType,
74
+ onPublish
32
75
  }) {
33
76
  const classes = useStyles();
77
+ const {
78
+ t
79
+ } = useLocaleContext();
80
+ const {
81
+ api
82
+ } = useNodeContext();
83
+ const [loading, setLoading] = useState(false);
84
+ const isPublish = kind === 'publish';
85
+ const handleOpenUrl = e => {
86
+ e.stopPropagation();
87
+ if (isPublish) {
88
+ window.open(joinUrl(store.url, 'developer/blocklets'));
89
+ return;
90
+ }
91
+ window.open(store.url);
92
+ };
93
+ const handleConnectToStore = () => {
94
+ setLoading(true);
95
+ setTimeout(() => {
96
+ setLoading(false);
97
+ }, 10000);
98
+ api.connectToStore({
99
+ input: {
100
+ did: teamDid,
101
+ storeUrl: store.url,
102
+ storeId: store.id,
103
+ storeName: store.name
104
+ }
105
+ }).then(res => {
106
+ if (!res?.url) {
107
+ Toast.error('failed to connect to store');
108
+ return;
109
+ }
110
+ window.open(res.url);
111
+ }).catch(err => {
112
+ Toast.error(formatError(err));
113
+ });
114
+ };
115
+ const handleUploadToStore = () => {
116
+ setLoading(true);
117
+ api.publishToStore({
118
+ input: {
119
+ did: teamDid,
120
+ storeId: store.id,
121
+ storeName: store.name,
122
+ projectId,
123
+ releaseId,
124
+ type: releaseType
125
+ }
126
+ }).then(res => {
127
+ if (res.url === 'uploaded') {
128
+ Toast.success(t('blocklet.publish.uploadToStoreSuccess'));
129
+ } else if (res.url === 'published') {
130
+ Toast.success(t('blocklet.publish.publishToStoreSuccess'));
131
+ }
132
+ onPublish?.(null);
133
+ }).catch(err => {
134
+ Toast.error(formatError(err));
135
+ onPublish?.(err);
136
+ }).finally(() => {
137
+ setLoading(false);
138
+ });
139
+ };
140
+ useEffect(() => {
141
+ if (connected) {
142
+ setLoading(false);
143
+ }
144
+ }, [connected]);
34
145
  return /*#__PURE__*/_jsxs("div", {
35
- className: classes.menuName,
36
- children: [/*#__PURE__*/_jsx(Typography, {
37
- component: "span",
38
- variant: "subtitle1",
39
- style: {
40
- fontWeight: '400'
146
+ className: classes.box,
147
+ children: [loading && /*#__PURE__*/_jsx(CircularProgress, {
148
+ sx: {
149
+ marginRight: 2
41
150
  },
42
- children: store.name
43
- }), /*#__PURE__*/_jsx(Typography, {
44
- className: "url",
45
- component: "span",
46
- variant: "inherit",
47
- children: `${store.url}`
48
- }), /*#__PURE__*/_jsxs(ListItemSecondaryAction, {
49
- children: [/*#__PURE__*/_jsx(IconButton, {
50
- onClick: e => {
51
- e.stopPropagation();
52
- window.open(store.url);
151
+ size: 16
152
+ }), /*#__PURE__*/_jsxs("div", {
153
+ className: classes.menuName,
154
+ children: [/*#__PURE__*/_jsx(Typography, {
155
+ component: "span",
156
+ className: classes.title,
157
+ variant: "subtitle1",
158
+ children: store.name
159
+ }), /*#__PURE__*/_jsx(Typography, {
160
+ className: classes.url,
161
+ component: "span",
162
+ variant: "inherit",
163
+ children: `${store.url}`
164
+ })]
165
+ }), /*#__PURE__*/_jsxs("div", {
166
+ className: classes.actions,
167
+ children: [isPublish && /*#__PURE__*/_jsxs(ButtonGroup, {
168
+ disabled: loading,
169
+ variant: "outlined",
170
+ sx: {
171
+ height: 36
172
+ },
173
+ size: "small",
174
+ children: [!connected && /*#__PURE__*/_jsxs(Button, {
175
+ sx: {
176
+ paddingLeft: 2,
177
+ paddingRight: 2,
178
+ fontSize: 15
179
+ },
180
+ onClick: handleConnectToStore,
181
+ children: [/*#__PURE__*/_jsx(LinkOutlinedIcon, {
182
+ sx: {
183
+ marginRight: 1
184
+ }
185
+ }), t('common.connect')]
186
+ }), connected && published && /*#__PURE__*/_jsxs(Button, {
187
+ disabled: true,
188
+ sx: {
189
+ paddingLeft: 2,
190
+ paddingRight: 2,
191
+ fontSize: 15
192
+ },
193
+ children: [/*#__PURE__*/_jsx(DoneIcon, {
194
+ sx: {
195
+ marginRight: 1
196
+ }
197
+ }), t('common.uploaded')]
198
+ }), connected && !published && /*#__PURE__*/_jsxs(Button, {
199
+ sx: {
200
+ paddingLeft: 2,
201
+ paddingRight: 2,
202
+ fontSize: 15
203
+ },
204
+ onClick: handleUploadToStore,
205
+ children: [/*#__PURE__*/_jsx(PublishIcon, {
206
+ sx: {
207
+ marginRight: 1
208
+ }
209
+ }), t('common.upload')]
210
+ }), /*#__PURE__*/_jsx(Button, {
211
+ onClick: handleOpenUrl,
212
+ children: /*#__PURE__*/_jsx(LaunchIcon, {
213
+ sx: {
214
+ zoom: 0.9
215
+ }
216
+ })
217
+ }), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
218
+ store: store,
219
+ onDelete: onDelete,
220
+ teamDid: teamDid
221
+ })]
222
+ }), !isPublish && /*#__PURE__*/_jsxs(ButtonGroup, {
223
+ disabled: loading,
224
+ variant: "outlined",
225
+ sx: {
226
+ height: 36
53
227
  },
54
- size: "large",
55
- children: /*#__PURE__*/_jsx(LaunchIcon, {})
56
- }), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
57
- store: store,
58
- onDelete: onDelete,
59
- teamDid: teamDid
228
+ size: "small",
229
+ children: [/*#__PURE__*/_jsx(Button, {
230
+ onClick: handleOpenUrl,
231
+ children: /*#__PURE__*/_jsx(LaunchIcon, {
232
+ sx: {
233
+ zoom: 0.9
234
+ }
235
+ })
236
+ }), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
237
+ store: store,
238
+ onDelete: onDelete,
239
+ teamDid: teamDid
240
+ })]
60
241
  })]
61
242
  })]
62
243
  });
63
244
  }
64
245
  StoreItem.propTypes = {
246
+ kind: PropTypes.string,
65
247
  teamDid: PropTypes.string.isRequired,
248
+ published: PropTypes.bool,
249
+ connected: PropTypes.bool,
250
+ projectId: PropTypes.string,
251
+ releaseId: PropTypes.string,
252
+ releaseType: PropTypes.string,
66
253
  store: PropTypes.shape({
254
+ id: PropTypes.string.isRequired,
67
255
  name: PropTypes.string.isRequired,
68
256
  url: PropTypes.string.isRequired,
69
- protected: PropTypes.bool
257
+ protected: PropTypes.bool,
258
+ connected: PropTypes.bool
70
259
  }).isRequired,
71
- onDelete: PropTypes.func
260
+ onDelete: PropTypes.func,
261
+ onPublish: PropTypes.func
72
262
  };
73
263
  StoreItem.defaultProps = {
264
+ kind: 'store',
265
+ published: false,
266
+ connected: false,
267
+ releaseId: '',
268
+ projectId: '',
269
+ releaseType: '',
270
+ onPublish: () => {},
74
271
  onDelete: () => {}
75
272
  };
package/es/util/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable implicit-arrow-linebreak */
3
3
  /* eslint-disable import/prefer-default-export */
4
4
  import { BLOCKLET_STORE_API_PREFIX, DEFAULT_DID_DOMAIN, DEFAULT_IP_DOMAIN_SUFFIX, DEFAULT_SLP_DOMAIN, DOMAIN_FOR_DEFAULT_SITE, DOMAIN_FOR_INTERNAL_SITE, DOMAIN_FOR_IP_SITE, DOMAIN_FOR_IP_SITE_REGEXP, IP, ROLES, SLOT_FOR_IP_DNS_SITE, WEB_WALLET_URL, WELLKNOWN_PATH_PREFIX, WELLKNOWN_PING_PREFIX, WELLKNOWN_SERVICE_PATH_PREFIX, WELLKNOWN_BLOCKLET_HEALTH_PATH } from '@abtnode/constant';
5
- import filesize from 'filesize';
5
+ import { filesize as _filesize } from 'filesize';
6
6
  import humanizeUrl from 'humanize-url';
7
7
  import isUrl from 'is-url';
8
8
  import get from 'lodash/get';
@@ -19,6 +19,13 @@ import checkAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-b
19
19
  import { BLOCKLET_MODES } from '@blocklet/constant';
20
20
  import urlPathFriendly from '@blocklet/meta/lib/url-path-friendly';
21
21
  export { formatError };
22
+ export function filesize(size, options = {}) {
23
+ return _filesize(size, {
24
+ base: 2,
25
+ round: 2,
26
+ ...options
27
+ });
28
+ }
22
29
  export function sleep(t) {
23
30
  // eslint-disable-next-line no-promise-executor-return
24
31
  return new Promise(resolve => setTimeout(resolve, t));
@@ -204,13 +211,6 @@ export const appendParams = (url, extraParams = {}) => {
204
211
  export const isInstalling = status => ['waiting', 'downloading', 'installing', 'upgrading'].includes(status);
205
212
  export const isDownloading = status => ['waiting', 'downloading'].includes(status);
206
213
  export const isRunning = status => status === 'running';
207
- export const formatDiskSize = (size, serverPlatform = '') => {
208
- const base = serverPlatform === 'linux' ? 2 : 10;
209
- return filesize(size, {
210
- base,
211
- round: 2
212
- });
213
- };
214
214
  export const checkInputByType = (type, value) => {
215
215
  const typesMap = {
216
216
  url: isUrl
@@ -63,8 +63,7 @@ LinearProgressWithLabel.propTypes = {
63
63
  };
64
64
  function DiskMonitor(_ref) {
65
65
  let {
66
- disk,
67
- platform
66
+ disk
68
67
  } = _ref;
69
68
  const {
70
69
  t
@@ -73,21 +72,21 @@ function DiskMonitor(_ref) {
73
72
  id: 1,
74
73
  className: 'used',
75
74
  title: t('system.used'),
76
- metric: (0, _index.formatDiskSize)(disk.used, platform)
75
+ metric: (0, _index.filesize)(disk.used)
77
76
  }, {
78
77
  id: 2,
79
78
  className: 'free',
80
79
  title: t('system.free'),
81
- metric: (0, _index.formatDiskSize)(disk.free, platform)
80
+ metric: (0, _index.filesize)(disk.free)
82
81
  }, {
83
82
  id: 3,
84
83
  className: 'total',
85
84
  title: t('system.total'),
86
- metric: (0, _index.formatDiskSize)(disk.total, platform)
85
+ metric: (0, _index.filesize)(disk.total)
87
86
  }];
88
87
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {
89
88
  title: "".concat(t('common.disk'), " (").concat(disk.device, ")"),
90
- value: (0, _index.formatDiskSize)(disk.used, platform),
89
+ value: (0, _index.filesize)(disk.used),
91
90
  graph: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
92
91
  mt: 3,
93
92
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearProgressWithLabel, {
@@ -108,8 +107,7 @@ DiskMonitor.propTypes = {
108
107
  free: _propTypes.default.number,
109
108
  total: _propTypes.default.number,
110
109
  device: _propTypes.default.string
111
- }),
112
- platform: _propTypes.default.string
110
+ })
113
111
  };
114
112
  DiskMonitor.defaultProps = {
115
113
  disk: {
@@ -117,6 +115,5 @@ DiskMonitor.defaultProps = {
117
115
  free: 0,
118
116
  total: 1,
119
117
  device: ''
120
- },
121
- platform: ''
118
+ }
122
119
  };
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = MemoryMonitor;
7
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _filesize = _interopRequireDefault(require("filesize"));
9
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
9
  var _context = require("@arcblock/ux/lib/Locale/context");
11
10
  var _chart = _interopRequireDefault(require("./chart"));
@@ -38,21 +37,21 @@ function MemoryMonitor(_ref) {
38
37
  }
39
38
  memoryList.push({
40
39
  title: t('system.used'),
41
- metric: (0, _filesize.default)(used)
40
+ metric: (0, _util.filesize)(used)
42
41
  });
43
42
  if (showPercent) {
44
43
  memoryList.push({
45
44
  title: t('system.free'),
46
- metric: (0, _filesize.default)(available)
45
+ metric: (0, _util.filesize)(available)
47
46
  }, {
48
47
  title: t('system.total'),
49
- metric: (0, _filesize.default)(total)
48
+ metric: (0, _util.filesize)(total)
50
49
  });
51
50
  }
52
51
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_chart.default, {
53
52
  id: "mem-sparkline",
54
53
  title: title || t('common.memory'),
55
- current: "".concat((0, _filesize.default)(Math.floor(used || 0)), " ").concat(memoryPercent),
54
+ current: "".concat((0, _util.filesize)(Math.floor(used || 0)), " ").concat(memoryPercent),
56
55
  data: history,
57
56
  description: memoryList.map((x, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
58
57
  sx: {
@@ -61,7 +60,7 @@ function MemoryMonitor(_ref) {
61
60
  children: [x.title, ": ", x.metric]
62
61
  }, x.title)),
63
62
  dateFn: v => (0, _util.formatTime)(v, 'HH:mm:ss', locale),
64
- valueFn: _filesize.default
63
+ valueFn: _util.filesize
65
64
  });
66
65
  }
67
66
  MemoryMonitor.propTypes = {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = RuntimeInsight;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
- var _filesize = _interopRequireDefault(require("filesize"));
10
9
  var _prettyMsI18n = _interopRequireDefault(require("pretty-ms-i18n"));
11
10
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
12
11
  var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
@@ -121,7 +120,7 @@ function RuntimeInsight() {
121
120
  const {
122
121
  runtimeInfo
123
122
  } = monitList[rawIndex];
124
- return (0, _filesize.default)((runtimeInfo === null || runtimeInfo === void 0 ? void 0 : runtimeInfo.memoryUsage) || 0);
123
+ return (0, _util2.filesize)((runtimeInfo === null || runtimeInfo === void 0 ? void 0 : runtimeInfo.memoryUsage) || 0);
125
124
  }
126
125
  }
127
126
  }, {
@@ -9,7 +9,6 @@ var _react = require("react");
9
9
  var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
10
10
  var _nthArg = _interopRequireDefault(require("lodash/nthArg"));
11
11
  var _urlJoin = _interopRequireDefault(require("url-join"));
12
- var _filesize = _interopRequireDefault(require("filesize"));
13
12
  var _useAsyncRetry = _interopRequireDefault(require("react-use/lib/useAsyncRetry"));
14
13
  var _reactIframe = _interopRequireDefault(require("react-iframe"));
15
14
  var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
@@ -145,8 +144,8 @@ function TrafficInsights(_ref) {
145
144
  uniqueReferrers: noop,
146
145
  uniqueNotFound: noop,
147
146
  uniqueStaticFiles: noop,
148
- logSize: _filesize.default,
149
- bandwidth: _filesize.default
147
+ logSize: _util.filesize,
148
+ bandwidth: _util.filesize
150
149
  };
151
150
  const charts = Object.keys(metrics).map(key => ({
152
151
  id: "".concat(key, "_chart"),
@@ -695,6 +695,9 @@ function AddComponentCore(_ref3) {
695
695
  key: 'selectComponent',
696
696
  name: t('blocklet.component.selectComponent'),
697
697
  body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {
698
+ sx: {
699
+ width: 400
700
+ },
698
701
  component: "div",
699
702
  children: [params.showFromUrlDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_installFromUrl.default
700
703
  // if not set defaultUrl, the dialog will always show step 1 when the dialog is opened
@@ -71,10 +71,10 @@ function SelectStore(_ref) {
71
71
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
72
72
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
73
73
  ref: storeSelectRef,
74
- color: "secondary",
74
+ color: "primary",
75
75
  "data-cy": "add-component-select-store",
76
76
  endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {
77
- color: "secondary"
77
+ color: "primary"
78
78
  }),
79
79
  onClick: () => {
80
80
  setOpen(true);
@@ -83,11 +83,11 @@ function SelectStore(_ref) {
83
83
  padding: '0 2px'
84
84
  },
85
85
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
86
- color: "secondary",
86
+ color: "primary",
87
87
  children: currentRegistry.name
88
88
  })
89
89
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
90
- color: "secondary",
90
+ color: "primary",
91
91
  children: extra
92
92
  })]
93
93
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {
@@ -124,6 +124,10 @@ function SelectStore(_ref) {
124
124
  margin: "normal",
125
125
  children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {
126
126
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
127
+ sx: {
128
+ width: '400px',
129
+ maxWidth: '90vw'
130
+ },
127
131
  value: x,
128
132
  "data-cy": x.url,
129
133
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
@@ -7,11 +7,11 @@ exports.default = BlockletDiskInfo;
7
7
  var _react = require("react");
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _filesize = _interopRequireDefault(require("filesize"));
11
10
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
12
11
  var _Link = _interopRequireDefault(require("@mui/material/Link"));
13
12
  var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
14
13
  var _context = require("@arcblock/ux/lib/Locale/context");
14
+ var _util = require("../util");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  var _templateObject;
17
17
  const _excluded = ["blocklet"];
@@ -50,7 +50,7 @@ function BlockletDiskInfo(_ref) {
50
50
  underline: "hover",
51
51
  children: dir
52
52
  }) : dir, ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
53
- children: size ? (0, _filesize.default)(size) : 'empty'
53
+ children: size ? (0, _util.filesize)(size) : 'empty'
54
54
  })]
55
55
  });
56
56
  const env = blocklet.environments.reduce((acc, x) => {
@@ -0,0 +1,72 @@
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 _material = require("@mui/material");
10
+ var _add = _interopRequireDefault(require("../../store/add"));
11
+ var _item = _interopRequireDefault(require("../../store/item"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function ConnectStoreList(_ref) {
15
+ var _blocklet$settings, _blocklet$settings4, _blocklet$meta;
16
+ let {
17
+ blocklet,
18
+ releaseId,
19
+ projectId,
20
+ releaseType,
21
+ publishedStoreIds,
22
+ onPublish
23
+ } = _ref;
24
+ const storeList = (blocklet === null || blocklet === void 0 || (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.storeList) || [];
25
+ const connectedMap = (0, _react.useMemo)(() => {
26
+ var _blocklet$settings2, _blocklet$settings3;
27
+ if (!(blocklet !== null && blocklet !== void 0 && (_blocklet$settings2 = blocklet.settings) !== null && _blocklet$settings2 !== void 0 && _blocklet$settings2.connectedStores)) {
28
+ return {};
29
+ }
30
+ return blocklet === null || blocklet === void 0 || (_blocklet$settings3 = blocklet.settings) === null || _blocklet$settings3 === void 0 || (_blocklet$settings3 = _blocklet$settings3.connectedStores) === null || _blocklet$settings3 === void 0 ? void 0 : _blocklet$settings3.reduce((acc, x) => {
31
+ acc[x.storeUrl] = x;
32
+ return acc;
33
+ }, {});
34
+ }, [blocklet === null || blocklet === void 0 || (_blocklet$settings4 = blocklet.settings) === null || _blocklet$settings4 === void 0 ? void 0 : _blocklet$settings4.connectedStores]);
35
+ const did = blocklet === null || blocklet === void 0 || (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did;
36
+ const handleAddStore = () => {};
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.List, {
38
+ children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItem, {
39
+ "data-cy": "store-switch",
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
42
+ releaseId: releaseId,
43
+ projectId: projectId,
44
+ releaseType: releaseType,
45
+ kind: "publish",
46
+ teamDid: did,
47
+ store: x,
48
+ published: (publishedStoreIds === null || publishedStoreIds === void 0 ? void 0 : publishedStoreIds.indexOf(x.id)) > -1,
49
+ connected: !!connectedMap[x.url],
50
+ onPublish: onPublish
51
+ })
52
+ })
53
+ }, x.url)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
54
+ onAdd: handleAddStore,
55
+ teamDid: did,
56
+ blockletRegistryList: storeList
57
+ })]
58
+ });
59
+ }
60
+ ConnectStoreList.propTypes = {
61
+ blocklet: _propTypes.default.object.isRequired,
62
+ projectId: _propTypes.default.string.isRequired,
63
+ releaseId: _propTypes.default.string.isRequired,
64
+ releaseType: _propTypes.default.string.isRequired,
65
+ onPublish: _propTypes.default.func,
66
+ publishedStoreIds: _propTypes.default.arrayOf(_propTypes.default.string)
67
+ };
68
+ ConnectStoreList.defaultProps = {
69
+ publishedStoreIds: [],
70
+ onPublish: () => {}
71
+ };
72
+ var _default = exports.default = ConnectStoreList;