@abtnode/ux 1.16.19-beta-7b2db880 → 1.16.19-beta-7d3ef675
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.
- package/es/blocklet/component/add-component-core.js +14 -9
- package/es/blocklet/publish/create-project.js +1 -1
- package/es/blocklet/publish/create-release.js +29 -11
- package/es/blocklet/publish/index.js +15 -2
- package/es/blocklet/publish/project-list.js +31 -1
- package/es/blocklet/publish/resource.js +2 -13
- package/es/locales/en.js +3 -0
- package/es/locales/zh.js +3 -0
- package/es/util/constants.js +2 -1
- package/lib/blocklet/component/add-component-core.js +15 -9
- package/lib/blocklet/publish/create-project.js +1 -1
- package/lib/blocklet/publish/create-release.js +30 -11
- package/lib/blocklet/publish/index.js +18 -4
- package/lib/blocklet/publish/project-list.js +31 -1
- package/lib/blocklet/publish/resource.js +1 -12
- package/lib/locales/en.js +3 -0
- package/lib/locales/zh.js +3 -0
- package/lib/util/constants.js +4 -2
- package/package.json +17 -17
|
@@ -108,7 +108,7 @@ const StepContent = /*#__PURE__*/forwardRef(({
|
|
|
108
108
|
component: "div",
|
|
109
109
|
className: isMobile ? 'mobileStyle' : '',
|
|
110
110
|
sx: {
|
|
111
|
-
height: '100%'
|
|
111
|
+
height: 'calc(100% - 56px)'
|
|
112
112
|
},
|
|
113
113
|
children: /*#__PURE__*/_jsx(Layout, {
|
|
114
114
|
locale: locale,
|
|
@@ -138,19 +138,22 @@ StepContent.propTypes = {
|
|
|
138
138
|
StepContent.defaultProps = {
|
|
139
139
|
meta: null
|
|
140
140
|
};
|
|
141
|
-
const postInstalledMessage = componentDid => {
|
|
141
|
+
const postInstalledMessage = (componentDid, timeout = 1000) => {
|
|
142
142
|
// send event to parent window
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
setTimeout(() => {
|
|
144
|
+
window.parent.postMessage({
|
|
145
|
+
event: 'component.installed',
|
|
146
|
+
componentDid
|
|
147
|
+
}, '*');
|
|
148
|
+
}, timeout);
|
|
147
149
|
};
|
|
148
150
|
export default function AddComponentCore({
|
|
149
151
|
onClose,
|
|
150
152
|
mode,
|
|
151
153
|
stores,
|
|
152
154
|
resourceType,
|
|
153
|
-
storageKey
|
|
155
|
+
storageKey,
|
|
156
|
+
inDialog
|
|
154
157
|
}) {
|
|
155
158
|
const {
|
|
156
159
|
t,
|
|
@@ -1032,7 +1035,7 @@ export default function AddComponentCore({
|
|
|
1032
1035
|
height: window.innerHeight
|
|
1033
1036
|
} : {
|
|
1034
1037
|
width: '100%',
|
|
1035
|
-
height:
|
|
1038
|
+
height: inDialog ? '72vh' : '100vh'
|
|
1036
1039
|
},
|
|
1037
1040
|
children: [/*#__PURE__*/_jsx(StepProvider, {
|
|
1038
1041
|
steps: steps,
|
|
@@ -1092,6 +1095,7 @@ export default function AddComponentCore({
|
|
|
1092
1095
|
AddComponentCore.propTypes = {
|
|
1093
1096
|
onClose: PropTypes.func,
|
|
1094
1097
|
mode: PropTypes.oneOf(['normal', 'embed']),
|
|
1098
|
+
inDialog: PropTypes.bool,
|
|
1095
1099
|
stores: PropTypes.arrayOf(PropTypes.string),
|
|
1096
1100
|
resourceType: PropTypes.string,
|
|
1097
1101
|
storageKey: PropTypes.string
|
|
@@ -1101,7 +1105,8 @@ AddComponentCore.defaultProps = {
|
|
|
1101
1105
|
mode: 'normal',
|
|
1102
1106
|
stores: [],
|
|
1103
1107
|
resourceType: '',
|
|
1104
|
-
storageKey: ''
|
|
1108
|
+
storageKey: '',
|
|
1109
|
+
inDialog: true
|
|
1105
1110
|
};
|
|
1106
1111
|
const Wrapper = styled(Box)`
|
|
1107
1112
|
.action-bar {
|
|
@@ -53,7 +53,7 @@ export default function CreateProject({
|
|
|
53
53
|
const [blockletDid, setBlockletDid] = useState();
|
|
54
54
|
const [openConnect, setOpenConnect] = useState(false);
|
|
55
55
|
const {
|
|
56
|
-
componentDid
|
|
56
|
+
componentDid = ''
|
|
57
57
|
} = useParams();
|
|
58
58
|
const handleCreateBlockletDidError = err => {
|
|
59
59
|
Toast.error(err.message);
|
|
@@ -13,6 +13,7 @@ import Box from '@mui/material/Box';
|
|
|
13
13
|
import IconButton from '@mui/material/IconButton';
|
|
14
14
|
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
|
|
15
15
|
import InputAdornment from '@mui/material/InputAdornment';
|
|
16
|
+
import Spinner from '@mui/material/CircularProgress';
|
|
16
17
|
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
17
18
|
import Button from '@arcblock/ux/lib/Button';
|
|
18
19
|
import Toast from '@arcblock/ux/lib/Toast';
|
|
@@ -120,6 +121,7 @@ export default function CreateRelease({
|
|
|
120
121
|
const [params, setParams] = useSetState(null);
|
|
121
122
|
const [paramsErrTip, setParamsErrTip] = useState({});
|
|
122
123
|
const [loading, setLoading] = useState(false);
|
|
124
|
+
const [createLoading, setCreateLoading] = useState(false);
|
|
123
125
|
const [release, setRelease] = useState(null);
|
|
124
126
|
const {
|
|
125
127
|
api
|
|
@@ -218,6 +220,8 @@ export default function CreateRelease({
|
|
|
218
220
|
_params.blockletDescription = (_params.blockletDescription || '').trim();
|
|
219
221
|
_params.blockletIntroduction = (_params.blockletIntroduction || '').trim();
|
|
220
222
|
_params.note = (_params.note || '').trim();
|
|
223
|
+
setCreateLoading(status);
|
|
224
|
+
setLoading(true);
|
|
221
225
|
api.createRelease({
|
|
222
226
|
input: {
|
|
223
227
|
..._params,
|
|
@@ -226,21 +230,24 @@ export default function CreateRelease({
|
|
|
226
230
|
releaseId,
|
|
227
231
|
status
|
|
228
232
|
}
|
|
229
|
-
}).then(
|
|
233
|
+
}).then(res => {
|
|
234
|
+
setCreateLoading(false);
|
|
235
|
+
setLoading(false);
|
|
230
236
|
if (status === 'draft') {
|
|
231
237
|
Toast.success('Save draft success');
|
|
232
238
|
if (mode === 'create') {
|
|
233
|
-
|
|
239
|
+
const id = res?.release?.id;
|
|
240
|
+
navigate(`../${projectId}/${id}`, {
|
|
234
241
|
replace: true
|
|
235
242
|
});
|
|
236
243
|
}
|
|
237
244
|
} else {
|
|
238
245
|
Toast.success('Create Release success');
|
|
239
|
-
|
|
240
|
-
replace: true
|
|
241
|
-
});
|
|
246
|
+
getRelease();
|
|
242
247
|
}
|
|
243
248
|
}).catch(err => {
|
|
249
|
+
setCreateLoading(false);
|
|
250
|
+
setLoading(false);
|
|
244
251
|
Toast.error(formatError(err));
|
|
245
252
|
});
|
|
246
253
|
};
|
|
@@ -295,19 +302,30 @@ export default function CreateRelease({
|
|
|
295
302
|
}), /*#__PURE__*/_jsxs(Box, {
|
|
296
303
|
display: "flex",
|
|
297
304
|
children: [!isPublished && /*#__PURE__*/_jsxs(_Fragment, {
|
|
298
|
-
children: [/*#__PURE__*/
|
|
305
|
+
children: [/*#__PURE__*/_jsxs(Button, {
|
|
299
306
|
variant: "outlined",
|
|
300
|
-
disabled: loading,
|
|
307
|
+
disabled: loading || createLoading,
|
|
301
308
|
onClick: () => onRelease(PROJECT.RELEASE_STATUS.draft),
|
|
302
309
|
style: {
|
|
303
310
|
marginRight: 12
|
|
304
311
|
},
|
|
305
|
-
children:
|
|
306
|
-
|
|
312
|
+
children: [createLoading === PROJECT.RELEASE_STATUS.draft && /*#__PURE__*/_jsx(Spinner, {
|
|
313
|
+
size: 14,
|
|
314
|
+
sx: {
|
|
315
|
+
mr: 0.5
|
|
316
|
+
}
|
|
317
|
+
}), t('blocklet.publish.saveDraft')]
|
|
318
|
+
}), /*#__PURE__*/_jsxs(Button, {
|
|
307
319
|
variant: "contained",
|
|
308
|
-
disabled: loading,
|
|
320
|
+
disabled: loading || createLoading,
|
|
309
321
|
onClick: () => onRelease(PROJECT.RELEASE_STATUS.published),
|
|
310
|
-
children:
|
|
322
|
+
children: [createLoading === PROJECT.RELEASE_STATUS.published && /*#__PURE__*/_jsx(Spinner, {
|
|
323
|
+
size: 14,
|
|
324
|
+
sx: {
|
|
325
|
+
mr: 0.5
|
|
326
|
+
},
|
|
327
|
+
color: "inherit"
|
|
328
|
+
}), t('common.release')]
|
|
311
329
|
})]
|
|
312
330
|
}), isPublished && /*#__PURE__*/_jsx(Button, {
|
|
313
331
|
variant: "contained",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
2
3
|
import { Routes, Route, useLocation, useParams } from 'react-router-dom';
|
|
3
4
|
import styled from '@emotion/styled';
|
|
4
5
|
import Box from '@mui/material/Box';
|
|
@@ -9,7 +10,9 @@ import ReleasesList from './release-list';
|
|
|
9
10
|
import CreateRelease from './create-release';
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
export default function BlockletPublish(
|
|
13
|
+
export default function BlockletPublish({
|
|
14
|
+
padding
|
|
15
|
+
}) {
|
|
13
16
|
const {
|
|
14
17
|
blocklet
|
|
15
18
|
} = useBlockletContext();
|
|
@@ -33,7 +36,12 @@ export default function BlockletPublish() {
|
|
|
33
36
|
if (!blocklet) {
|
|
34
37
|
return null;
|
|
35
38
|
}
|
|
39
|
+
const style = {};
|
|
40
|
+
if (padding) {
|
|
41
|
+
style.padding = padding;
|
|
42
|
+
}
|
|
36
43
|
return /*#__PURE__*/_jsx(Main, {
|
|
44
|
+
style: style,
|
|
37
45
|
children: /*#__PURE__*/_jsxs(Routes, {
|
|
38
46
|
children: [/*#__PURE__*/_jsx(Route, {
|
|
39
47
|
path: "/",
|
|
@@ -51,7 +59,12 @@ export default function BlockletPublish() {
|
|
|
51
59
|
})
|
|
52
60
|
});
|
|
53
61
|
}
|
|
54
|
-
BlockletPublish.propTypes = {
|
|
62
|
+
BlockletPublish.propTypes = {
|
|
63
|
+
padding: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
|
64
|
+
};
|
|
65
|
+
BlockletPublish.defaultProps = {
|
|
66
|
+
padding: ''
|
|
67
|
+
};
|
|
55
68
|
const Main = styled(Box)`
|
|
56
69
|
a {
|
|
57
70
|
color: ${({
|
|
@@ -16,6 +16,7 @@ import { useNodeContext } from '../../contexts/node';
|
|
|
16
16
|
import EmptySpinner from '../../empty-spinner';
|
|
17
17
|
import DidAddress from '../../did-address';
|
|
18
18
|
import Confirm from '../../confirm';
|
|
19
|
+
import BlockletBundleAvatar from '../bundle-avatar';
|
|
19
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
22
|
export default function ProjectList() {
|
|
@@ -144,6 +145,35 @@ export default function ProjectList() {
|
|
|
144
145
|
}) : '';
|
|
145
146
|
}
|
|
146
147
|
}
|
|
148
|
+
}, componentDid ? null : {
|
|
149
|
+
label: t('common.scope'),
|
|
150
|
+
name: 'componentDid',
|
|
151
|
+
options: {
|
|
152
|
+
customBodyRender: value => {
|
|
153
|
+
const component = (blocklet.children || []).find(x => x.meta.did === value);
|
|
154
|
+
if (!component) {
|
|
155
|
+
return '';
|
|
156
|
+
}
|
|
157
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
158
|
+
display: "flex",
|
|
159
|
+
alignItems: "center",
|
|
160
|
+
justifyContent: "flex-start",
|
|
161
|
+
children: [/*#__PURE__*/_jsx(BlockletBundleAvatar, {
|
|
162
|
+
size: 14,
|
|
163
|
+
blocklet: component,
|
|
164
|
+
ancestors: [blocklet]
|
|
165
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
166
|
+
ml: 0.5,
|
|
167
|
+
sx: {
|
|
168
|
+
ml: 0.5,
|
|
169
|
+
color: 'text.primary',
|
|
170
|
+
fontSize: 14
|
|
171
|
+
},
|
|
172
|
+
children: component.meta.title
|
|
173
|
+
})]
|
|
174
|
+
}, value);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
147
177
|
}, {
|
|
148
178
|
label: t('common.updatedAt'),
|
|
149
179
|
name: 'updatedAt',
|
|
@@ -176,7 +206,7 @@ export default function ProjectList() {
|
|
|
176
206
|
});
|
|
177
207
|
}
|
|
178
208
|
}
|
|
179
|
-
}];
|
|
209
|
+
}].filter(Boolean);
|
|
180
210
|
return /*#__PURE__*/_jsxs(Main, {
|
|
181
211
|
children: [/*#__PURE__*/_jsx(Box, {
|
|
182
212
|
sx: {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { useState, useEffect
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
|
-
import difference from 'lodash/difference';
|
|
5
4
|
import joinUrl from 'url-join';
|
|
6
5
|
import Box from '@mui/material/Box';
|
|
7
6
|
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
@@ -24,12 +23,6 @@ const fillParent = (nodes, parentId) => {
|
|
|
24
23
|
});
|
|
25
24
|
return nodes;
|
|
26
25
|
};
|
|
27
|
-
const checkDiff = (a, b) => {
|
|
28
|
-
if (a.length !== b.length) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
return !!difference(a, b || []).length;
|
|
32
|
-
};
|
|
33
26
|
export default function Resource({
|
|
34
27
|
app,
|
|
35
28
|
component,
|
|
@@ -45,14 +38,12 @@ export default function Resource({
|
|
|
45
38
|
} = useNodeContext();
|
|
46
39
|
const [resources, setResources] = useState([]);
|
|
47
40
|
const [selectedResourceIds, setSelectedResourceIds] = useState([]);
|
|
48
|
-
const [savedResourceIds, setSavedResourceIds] = useState([]);
|
|
49
41
|
const [loading, setLoading] = useState(false);
|
|
50
42
|
const releaseId = release.id;
|
|
51
43
|
const readonly = release.status === 'published';
|
|
52
44
|
const {
|
|
53
45
|
resourceExportApi = '/'
|
|
54
46
|
} = component?.meta.capabilities || {};
|
|
55
|
-
const hasDiff = useMemo(() => checkDiff(savedResourceIds, selectedResourceIds), [savedResourceIds, selectedResourceIds]);
|
|
56
47
|
const urlObj = new URL(joinUrl('http://127.0.0.1', component.mountPoint, resourceExportApi || '/').replace(/\/+/g, '/'));
|
|
57
48
|
urlObj.searchParams.set('projectId', projectId);
|
|
58
49
|
urlObj.searchParams.set('releaseId', releaseId);
|
|
@@ -69,7 +60,6 @@ export default function Resource({
|
|
|
69
60
|
resources: data
|
|
70
61
|
}
|
|
71
62
|
});
|
|
72
|
-
setSavedResourceIds(data);
|
|
73
63
|
} catch (err) {
|
|
74
64
|
Toast.error(err.message);
|
|
75
65
|
}
|
|
@@ -109,7 +99,6 @@ export default function Resource({
|
|
|
109
99
|
}).then(res => {
|
|
110
100
|
const list = res?.resources || [];
|
|
111
101
|
setSelectedResourceIds(list);
|
|
112
|
-
setSavedResourceIds(list);
|
|
113
102
|
}).catch(err => {
|
|
114
103
|
Toast.error(err.message);
|
|
115
104
|
});
|
|
@@ -138,7 +127,7 @@ export default function Resource({
|
|
|
138
127
|
className: "footer",
|
|
139
128
|
children: /*#__PURE__*/_jsx(Button, {
|
|
140
129
|
variant: "contained",
|
|
141
|
-
disabled: loading
|
|
130
|
+
disabled: loading,
|
|
142
131
|
onClick: () => onSave(),
|
|
143
132
|
children: t('common.save')
|
|
144
133
|
})
|
package/es/locales/en.js
CHANGED
|
@@ -271,6 +271,7 @@ module.exports = {
|
|
|
271
271
|
saveSuccess: 'Saved successfully',
|
|
272
272
|
scheduleFailed: 'schedule failed',
|
|
273
273
|
scheduleSuccess: 'successfully scheduled',
|
|
274
|
+
scope: 'Scope',
|
|
274
275
|
screenshot: 'Screenshot',
|
|
275
276
|
search: 'Search',
|
|
276
277
|
security: 'Security',
|
|
@@ -621,6 +622,8 @@ module.exports = {
|
|
|
621
622
|
isInProgress: 'Blocklet is in progress, please wait for it to finish'
|
|
622
623
|
},
|
|
623
624
|
publish: {
|
|
625
|
+
createResource: 'Create Resource',
|
|
626
|
+
addResource: 'Add Release',
|
|
624
627
|
productTitle: 'Product',
|
|
625
628
|
versionTitle: 'Version',
|
|
626
629
|
imgTitle: 'Images',
|
package/es/locales/zh.js
CHANGED
|
@@ -276,6 +276,7 @@ module.exports = {
|
|
|
276
276
|
saveSuccess: '保存成功',
|
|
277
277
|
scheduleFailed: '加入任务队列失败',
|
|
278
278
|
scheduleSuccess: '成功加入任务队列',
|
|
279
|
+
scope: '范围',
|
|
279
280
|
screenshot: '截图',
|
|
280
281
|
search: '搜索',
|
|
281
282
|
security: '安全',
|
|
@@ -628,6 +629,8 @@ module.exports = {
|
|
|
628
629
|
isInProgress: '应用正在进行中,请等待完成'
|
|
629
630
|
},
|
|
630
631
|
publish: {
|
|
632
|
+
createResource: '创建资源',
|
|
633
|
+
addResource: '添加资源',
|
|
631
634
|
productTitle: 'Blocklet 详情',
|
|
632
635
|
versionTitle: '版本信息',
|
|
633
636
|
imgTitle: '图片资源',
|
package/es/util/constants.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export const STORAGE_KEY_STORE_BLOCKLET = 'blocklet-add-component-registry';
|
|
2
|
-
export const STORAGE_KEY_STORE_SERVER = 'server-add-registry';
|
|
2
|
+
export const STORAGE_KEY_STORE_SERVER = 'server-add-registry';
|
|
3
|
+
export const STORAGE_KEY_STORE_RESOURCE = resource => `resource-${resource}-add-registry`;
|
|
@@ -127,7 +127,7 @@ const StepContent = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
127
127
|
component: "div",
|
|
128
128
|
className: isMobile ? 'mobileStyle' : '',
|
|
129
129
|
sx: {
|
|
130
|
-
height: '100%'
|
|
130
|
+
height: 'calc(100% - 56px)'
|
|
131
131
|
},
|
|
132
132
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_launcherLayout.default, {
|
|
133
133
|
locale: locale,
|
|
@@ -156,12 +156,15 @@ StepContent.propTypes = {
|
|
|
156
156
|
StepContent.defaultProps = {
|
|
157
157
|
meta: null
|
|
158
158
|
};
|
|
159
|
-
const postInstalledMessage = componentDid
|
|
159
|
+
const postInstalledMessage = function postInstalledMessage(componentDid) {
|
|
160
|
+
let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
|
|
160
161
|
// send event to parent window
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
window.parent.postMessage({
|
|
164
|
+
event: 'component.installed',
|
|
165
|
+
componentDid
|
|
166
|
+
}, '*');
|
|
167
|
+
}, timeout);
|
|
165
168
|
};
|
|
166
169
|
function AddComponentCore(_ref3) {
|
|
167
170
|
var _blocklet$meta2, _blocklet$meta3, _blocklet$meta4, _purchaseRef$current, _purchaseRef$current$, _purchaseRef$current2, _purchaseRef$current3;
|
|
@@ -170,7 +173,8 @@ function AddComponentCore(_ref3) {
|
|
|
170
173
|
mode,
|
|
171
174
|
stores,
|
|
172
175
|
resourceType,
|
|
173
|
-
storageKey
|
|
176
|
+
storageKey,
|
|
177
|
+
inDialog
|
|
174
178
|
} = _ref3;
|
|
175
179
|
const {
|
|
176
180
|
t,
|
|
@@ -1039,7 +1043,7 @@ function AddComponentCore(_ref3) {
|
|
|
1039
1043
|
height: window.innerHeight
|
|
1040
1044
|
} : {
|
|
1041
1045
|
width: '100%',
|
|
1042
|
-
height:
|
|
1046
|
+
height: inDialog ? '72vh' : '100vh'
|
|
1043
1047
|
},
|
|
1044
1048
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_step.StepProvider, {
|
|
1045
1049
|
steps: steps,
|
|
@@ -1099,6 +1103,7 @@ function AddComponentCore(_ref3) {
|
|
|
1099
1103
|
AddComponentCore.propTypes = {
|
|
1100
1104
|
onClose: _propTypes.default.func,
|
|
1101
1105
|
mode: _propTypes.default.oneOf(['normal', 'embed']),
|
|
1106
|
+
inDialog: _propTypes.default.bool,
|
|
1102
1107
|
stores: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
1103
1108
|
resourceType: _propTypes.default.string,
|
|
1104
1109
|
storageKey: _propTypes.default.string
|
|
@@ -1108,7 +1113,8 @@ AddComponentCore.defaultProps = {
|
|
|
1108
1113
|
mode: 'normal',
|
|
1109
1114
|
stores: [],
|
|
1110
1115
|
resourceType: '',
|
|
1111
|
-
storageKey: ''
|
|
1116
|
+
storageKey: '',
|
|
1117
|
+
inDialog: true
|
|
1112
1118
|
};
|
|
1113
1119
|
const Wrapper = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .action-bar {\n display: flex;\n justify-content: flex-end;\n position: sticky;\n bottom: 0;\n padding-top: 16px;\n z-index: 100;\n width: 100%;\n background: #fff;\n border-top: 1px solid #eee;\n }\n"])));
|
|
1114
1120
|
const TypographyWrapper = (0, _styled.default)(_Typography.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n"])));
|
|
@@ -66,7 +66,7 @@ function CreateProject(_ref) {
|
|
|
66
66
|
const [blockletDid, setBlockletDid] = (0, _react.useState)();
|
|
67
67
|
const [openConnect, setOpenConnect] = (0, _react.useState)(false);
|
|
68
68
|
const {
|
|
69
|
-
componentDid
|
|
69
|
+
componentDid = ''
|
|
70
70
|
} = (0, _reactRouterDom.useParams)();
|
|
71
71
|
const handleCreateBlockletDidError = err => {
|
|
72
72
|
_Toast.default.error(err.message);
|
|
@@ -19,6 +19,7 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
|
19
19
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
20
20
|
var _DeleteOutline = _interopRequireDefault(require("@mui/icons-material/DeleteOutline"));
|
|
21
21
|
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
22
|
+
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
22
23
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
23
24
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
24
25
|
var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
@@ -136,6 +137,7 @@ function CreateRelease(_ref2) {
|
|
|
136
137
|
const [params, setParams] = (0, _useSetState.default)(null);
|
|
137
138
|
const [paramsErrTip, setParamsErrTip] = (0, _react.useState)({});
|
|
138
139
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
140
|
+
const [createLoading, setCreateLoading] = (0, _react.useState)(false);
|
|
139
141
|
const [release, setRelease] = (0, _react.useState)(null);
|
|
140
142
|
const {
|
|
141
143
|
api
|
|
@@ -231,6 +233,8 @@ function CreateRelease(_ref2) {
|
|
|
231
233
|
_params.blockletDescription = (_params.blockletDescription || '').trim();
|
|
232
234
|
_params.blockletIntroduction = (_params.blockletIntroduction || '').trim();
|
|
233
235
|
_params.note = (_params.note || '').trim();
|
|
236
|
+
setCreateLoading(status);
|
|
237
|
+
setLoading(true);
|
|
234
238
|
api.createRelease({
|
|
235
239
|
input: _objectSpread(_objectSpread({}, _params), {}, {
|
|
236
240
|
did: blocklet.meta.did,
|
|
@@ -238,21 +242,25 @@ function CreateRelease(_ref2) {
|
|
|
238
242
|
releaseId,
|
|
239
243
|
status
|
|
240
244
|
})
|
|
241
|
-
}).then(
|
|
245
|
+
}).then(res => {
|
|
246
|
+
setCreateLoading(false);
|
|
247
|
+
setLoading(false);
|
|
242
248
|
if (status === 'draft') {
|
|
243
249
|
_Toast.default.success('Save draft success');
|
|
244
250
|
if (mode === 'create') {
|
|
245
|
-
|
|
251
|
+
var _res$release;
|
|
252
|
+
const id = res === null || res === void 0 ? void 0 : (_res$release = res.release) === null || _res$release === void 0 ? void 0 : _res$release.id;
|
|
253
|
+
navigate("../".concat(projectId, "/").concat(id), {
|
|
246
254
|
replace: true
|
|
247
255
|
});
|
|
248
256
|
}
|
|
249
257
|
} else {
|
|
250
258
|
_Toast.default.success('Create Release success');
|
|
251
|
-
|
|
252
|
-
replace: true
|
|
253
|
-
});
|
|
259
|
+
getRelease();
|
|
254
260
|
}
|
|
255
261
|
}).catch(err => {
|
|
262
|
+
setCreateLoading(false);
|
|
263
|
+
setLoading(false);
|
|
256
264
|
_Toast.default.error((0, _util.formatError)(err));
|
|
257
265
|
});
|
|
258
266
|
};
|
|
@@ -305,19 +313,30 @@ function CreateRelease(_ref2) {
|
|
|
305
313
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
306
314
|
display: "flex",
|
|
307
315
|
children: [!isPublished && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
308
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
316
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
309
317
|
variant: "outlined",
|
|
310
|
-
disabled: loading,
|
|
318
|
+
disabled: loading || createLoading,
|
|
311
319
|
onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.draft),
|
|
312
320
|
style: {
|
|
313
321
|
marginRight: 12
|
|
314
322
|
},
|
|
315
|
-
children:
|
|
316
|
-
|
|
323
|
+
children: [createLoading === _constant.PROJECT.RELEASE_STATUS.draft && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
|
|
324
|
+
size: 14,
|
|
325
|
+
sx: {
|
|
326
|
+
mr: 0.5
|
|
327
|
+
}
|
|
328
|
+
}), t('blocklet.publish.saveDraft')]
|
|
329
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
317
330
|
variant: "contained",
|
|
318
|
-
disabled: loading,
|
|
331
|
+
disabled: loading || createLoading,
|
|
319
332
|
onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.published),
|
|
320
|
-
children:
|
|
333
|
+
children: [createLoading === _constant.PROJECT.RELEASE_STATUS.published && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
|
|
334
|
+
size: 14,
|
|
335
|
+
sx: {
|
|
336
|
+
mr: 0.5
|
|
337
|
+
},
|
|
338
|
+
color: "inherit"
|
|
339
|
+
}), t('common.release')]
|
|
321
340
|
})]
|
|
322
341
|
}), isPublished && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
323
342
|
variant: "contained",
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = BlockletPublish;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
9
|
var _reactRouterDom = require("react-router-dom");
|
|
9
10
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
@@ -19,7 +20,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
19
20
|
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); }
|
|
20
21
|
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; }
|
|
21
22
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
22
|
-
function BlockletPublish() {
|
|
23
|
+
function BlockletPublish(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
padding
|
|
26
|
+
} = _ref;
|
|
23
27
|
const {
|
|
24
28
|
blocklet
|
|
25
29
|
} = (0, _blocklet.useBlockletContext)();
|
|
@@ -43,7 +47,12 @@ function BlockletPublish() {
|
|
|
43
47
|
if (!blocklet) {
|
|
44
48
|
return null;
|
|
45
49
|
}
|
|
50
|
+
const style = {};
|
|
51
|
+
if (padding) {
|
|
52
|
+
style.padding = padding;
|
|
53
|
+
}
|
|
46
54
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Main, {
|
|
55
|
+
style: style,
|
|
47
56
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Routes, {
|
|
48
57
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
|
|
49
58
|
path: "/",
|
|
@@ -61,10 +70,15 @@ function BlockletPublish() {
|
|
|
61
70
|
})
|
|
62
71
|
});
|
|
63
72
|
}
|
|
64
|
-
BlockletPublish.propTypes = {
|
|
65
|
-
|
|
73
|
+
BlockletPublish.propTypes = {
|
|
74
|
+
padding: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
|
|
75
|
+
};
|
|
76
|
+
BlockletPublish.defaultProps = {
|
|
77
|
+
padding: ''
|
|
78
|
+
};
|
|
79
|
+
const Main = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n a {\n color: ", ";\n }\n"])), _ref2 => {
|
|
66
80
|
let {
|
|
67
81
|
theme
|
|
68
|
-
} =
|
|
82
|
+
} = _ref2;
|
|
69
83
|
return theme.palette.primary.main;
|
|
70
84
|
});
|
|
@@ -21,6 +21,7 @@ var _node = require("../../contexts/node");
|
|
|
21
21
|
var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
|
|
22
22
|
var _didAddress = _interopRequireDefault(require("../../did-address"));
|
|
23
23
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
24
|
+
var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
|
|
24
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
26
|
var _templateObject;
|
|
26
27
|
/* eslint-disable react/no-unstable-nested-components */
|
|
@@ -154,6 +155,35 @@ function ProjectList() {
|
|
|
154
155
|
}) : '';
|
|
155
156
|
}
|
|
156
157
|
}
|
|
158
|
+
}, componentDid ? null : {
|
|
159
|
+
label: t('common.scope'),
|
|
160
|
+
name: 'componentDid',
|
|
161
|
+
options: {
|
|
162
|
+
customBodyRender: value => {
|
|
163
|
+
const component = (blocklet.children || []).find(x => x.meta.did === value);
|
|
164
|
+
if (!component) {
|
|
165
|
+
return '';
|
|
166
|
+
}
|
|
167
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
168
|
+
display: "flex",
|
|
169
|
+
alignItems: "center",
|
|
170
|
+
justifyContent: "flex-start",
|
|
171
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {
|
|
172
|
+
size: 14,
|
|
173
|
+
blocklet: component,
|
|
174
|
+
ancestors: [blocklet]
|
|
175
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
176
|
+
ml: 0.5,
|
|
177
|
+
sx: {
|
|
178
|
+
ml: 0.5,
|
|
179
|
+
color: 'text.primary',
|
|
180
|
+
fontSize: 14
|
|
181
|
+
},
|
|
182
|
+
children: component.meta.title
|
|
183
|
+
})]
|
|
184
|
+
}, value);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
157
187
|
}, {
|
|
158
188
|
label: t('common.updatedAt'),
|
|
159
189
|
name: 'updatedAt',
|
|
@@ -186,7 +216,7 @@ function ProjectList() {
|
|
|
186
216
|
});
|
|
187
217
|
}
|
|
188
218
|
}
|
|
189
|
-
}];
|
|
219
|
+
}].filter(Boolean);
|
|
190
220
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Main, {
|
|
191
221
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
192
222
|
sx: {
|
|
@@ -7,7 +7,6 @@ exports.default = Resource;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
-
var _difference = _interopRequireDefault(require("lodash/difference"));
|
|
11
10
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
12
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
13
12
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
@@ -32,12 +31,6 @@ const fillParent = (nodes, parentId) => {
|
|
|
32
31
|
});
|
|
33
32
|
return nodes;
|
|
34
33
|
};
|
|
35
|
-
const checkDiff = (a, b) => {
|
|
36
|
-
if (a.length !== b.length) {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
return !!(0, _difference.default)(a, b || []).length;
|
|
40
|
-
};
|
|
41
34
|
function Resource(_ref) {
|
|
42
35
|
let {
|
|
43
36
|
app,
|
|
@@ -54,14 +47,12 @@ function Resource(_ref) {
|
|
|
54
47
|
} = (0, _node.useNodeContext)();
|
|
55
48
|
const [resources, setResources] = (0, _react.useState)([]);
|
|
56
49
|
const [selectedResourceIds, setSelectedResourceIds] = (0, _react.useState)([]);
|
|
57
|
-
const [savedResourceIds, setSavedResourceIds] = (0, _react.useState)([]);
|
|
58
50
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
59
51
|
const releaseId = release.id;
|
|
60
52
|
const readonly = release.status === 'published';
|
|
61
53
|
const {
|
|
62
54
|
resourceExportApi = '/'
|
|
63
55
|
} = (component === null || component === void 0 ? void 0 : component.meta.capabilities) || {};
|
|
64
|
-
const hasDiff = (0, _react.useMemo)(() => checkDiff(savedResourceIds, selectedResourceIds), [savedResourceIds, selectedResourceIds]);
|
|
65
56
|
const urlObj = new URL((0, _urlJoin.default)('http://127.0.0.1', component.mountPoint, resourceExportApi || '/').replace(/\/+/g, '/'));
|
|
66
57
|
urlObj.searchParams.set('projectId', projectId);
|
|
67
58
|
urlObj.searchParams.set('releaseId', releaseId);
|
|
@@ -78,7 +69,6 @@ function Resource(_ref) {
|
|
|
78
69
|
resources: data
|
|
79
70
|
}
|
|
80
71
|
});
|
|
81
|
-
setSavedResourceIds(data);
|
|
82
72
|
} catch (err) {
|
|
83
73
|
_Toast.default.error(err.message);
|
|
84
74
|
}
|
|
@@ -119,7 +109,6 @@ function Resource(_ref) {
|
|
|
119
109
|
}).then(res => {
|
|
120
110
|
const list = (res === null || res === void 0 ? void 0 : res.resources) || [];
|
|
121
111
|
setSelectedResourceIds(list);
|
|
122
|
-
setSavedResourceIds(list);
|
|
123
112
|
}).catch(err => {
|
|
124
113
|
_Toast.default.error(err.message);
|
|
125
114
|
});
|
|
@@ -148,7 +137,7 @@ function Resource(_ref) {
|
|
|
148
137
|
className: "footer",
|
|
149
138
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
150
139
|
variant: "contained",
|
|
151
|
-
disabled: loading
|
|
140
|
+
disabled: loading,
|
|
152
141
|
onClick: () => onSave(),
|
|
153
142
|
children: t('common.save')
|
|
154
143
|
})
|
package/lib/locales/en.js
CHANGED
|
@@ -273,6 +273,7 @@ module.exports = {
|
|
|
273
273
|
saveSuccess: 'Saved successfully',
|
|
274
274
|
scheduleFailed: 'schedule failed',
|
|
275
275
|
scheduleSuccess: 'successfully scheduled',
|
|
276
|
+
scope: 'Scope',
|
|
276
277
|
screenshot: 'Screenshot',
|
|
277
278
|
search: 'Search',
|
|
278
279
|
security: 'Security',
|
|
@@ -623,6 +624,8 @@ module.exports = {
|
|
|
623
624
|
isInProgress: 'Blocklet is in progress, please wait for it to finish'
|
|
624
625
|
},
|
|
625
626
|
publish: {
|
|
627
|
+
createResource: 'Create Resource',
|
|
628
|
+
addResource: 'Add Release',
|
|
626
629
|
productTitle: 'Product',
|
|
627
630
|
versionTitle: 'Version',
|
|
628
631
|
imgTitle: 'Images',
|
package/lib/locales/zh.js
CHANGED
|
@@ -278,6 +278,7 @@ module.exports = {
|
|
|
278
278
|
saveSuccess: '保存成功',
|
|
279
279
|
scheduleFailed: '加入任务队列失败',
|
|
280
280
|
scheduleSuccess: '成功加入任务队列',
|
|
281
|
+
scope: '范围',
|
|
281
282
|
screenshot: '截图',
|
|
282
283
|
search: '搜索',
|
|
283
284
|
security: '安全',
|
|
@@ -630,6 +631,8 @@ module.exports = {
|
|
|
630
631
|
isInProgress: '应用正在进行中,请等待完成'
|
|
631
632
|
},
|
|
632
633
|
publish: {
|
|
634
|
+
createResource: '创建资源',
|
|
635
|
+
addResource: '添加资源',
|
|
633
636
|
productTitle: 'Blocklet 详情',
|
|
634
637
|
versionTitle: '版本信息',
|
|
635
638
|
imgTitle: '图片资源',
|
package/lib/util/constants.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.STORAGE_KEY_STORE_SERVER = exports.STORAGE_KEY_STORE_BLOCKLET = void 0;
|
|
6
|
+
exports.STORAGE_KEY_STORE_SERVER = exports.STORAGE_KEY_STORE_RESOURCE = exports.STORAGE_KEY_STORE_BLOCKLET = void 0;
|
|
7
7
|
const STORAGE_KEY_STORE_BLOCKLET = 'blocklet-add-component-registry';
|
|
8
8
|
exports.STORAGE_KEY_STORE_BLOCKLET = STORAGE_KEY_STORE_BLOCKLET;
|
|
9
9
|
const STORAGE_KEY_STORE_SERVER = 'server-add-registry';
|
|
10
|
-
exports.STORAGE_KEY_STORE_SERVER = STORAGE_KEY_STORE_SERVER;
|
|
10
|
+
exports.STORAGE_KEY_STORE_SERVER = STORAGE_KEY_STORE_SERVER;
|
|
11
|
+
const STORAGE_KEY_STORE_RESOURCE = resource => "resource-".concat(resource, "-add-registry");
|
|
12
|
+
exports.STORAGE_KEY_STORE_RESOURCE = STORAGE_KEY_STORE_RESOURCE;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.16.19-beta-
|
|
3
|
+
"version": "1.16.19-beta-7d3ef675",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -27,24 +27,24 @@
|
|
|
27
27
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@abtnode/auth": "1.16.19-beta-
|
|
31
|
-
"@abtnode/constant": "1.16.19-beta-
|
|
32
|
-
"@abtnode/util": "1.16.19-beta-
|
|
30
|
+
"@abtnode/auth": "1.16.19-beta-7d3ef675",
|
|
31
|
+
"@abtnode/constant": "1.16.19-beta-7d3ef675",
|
|
32
|
+
"@abtnode/util": "1.16.19-beta-7d3ef675",
|
|
33
33
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
34
34
|
"@arcblock/did": "^1.18.95",
|
|
35
|
-
"@arcblock/did-connect": "^2.8.
|
|
35
|
+
"@arcblock/did-connect": "^2.8.16",
|
|
36
36
|
"@arcblock/did-motif": "^1.1.13",
|
|
37
|
-
"@arcblock/icons": "^2.8.
|
|
38
|
-
"@arcblock/nft-display": "2.8.
|
|
39
|
-
"@arcblock/react-hooks": "^2.8.
|
|
40
|
-
"@arcblock/terminal": "^2.8.
|
|
41
|
-
"@arcblock/ux": "^2.8.
|
|
42
|
-
"@blocklet/constant": "1.16.19-beta-
|
|
43
|
-
"@blocklet/launcher-layout": "2.2.
|
|
44
|
-
"@blocklet/list": "^0.12.
|
|
45
|
-
"@blocklet/meta": "1.16.19-beta-
|
|
46
|
-
"@blocklet/ui-react": "^2.8.
|
|
47
|
-
"@blocklet/uploader": "^0.0.
|
|
37
|
+
"@arcblock/icons": "^2.8.16",
|
|
38
|
+
"@arcblock/nft-display": "2.8.16",
|
|
39
|
+
"@arcblock/react-hooks": "^2.8.16",
|
|
40
|
+
"@arcblock/terminal": "^2.8.16",
|
|
41
|
+
"@arcblock/ux": "^2.8.16",
|
|
42
|
+
"@blocklet/constant": "1.16.19-beta-7d3ef675",
|
|
43
|
+
"@blocklet/launcher-layout": "2.2.40",
|
|
44
|
+
"@blocklet/list": "^0.12.53",
|
|
45
|
+
"@blocklet/meta": "1.16.19-beta-7d3ef675",
|
|
46
|
+
"@blocklet/ui-react": "^2.8.16",
|
|
47
|
+
"@blocklet/uploader": "^0.0.45",
|
|
48
48
|
"@emotion/react": "^11.10.4",
|
|
49
49
|
"@emotion/styled": "^11.10.4",
|
|
50
50
|
"@iconify/react": "^4.0.0",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"babel-plugin-inline-react-svg": "^1.1.2",
|
|
101
101
|
"glob": "^10.3.3"
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "af968e7bab22e67bd42d3dc93ff3ce827b9a91fe",
|
|
104
104
|
"exports": {
|
|
105
105
|
".": {
|
|
106
106
|
"import": "./es/index.js",
|