@abtnode/ux 1.16.14-beta-c308dc3b → 1.16.14-beta-963cb583

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 (213) hide show
  1. package/es/actions.js +97 -0
  2. package/es/analytics/card.js +92 -0
  3. package/es/analytics/chart.js +96 -0
  4. package/es/analytics/cpu.js +36 -0
  5. package/es/analytics/disk.js +111 -0
  6. package/es/analytics/memory.js +72 -0
  7. package/es/analytics/runtime.js +173 -0
  8. package/es/analytics/traffic.js +259 -0
  9. package/es/blocklet/access/config-access.js +307 -0
  10. package/es/blocklet/access/index.js +216 -0
  11. package/es/blocklet/actions.js +474 -0
  12. package/es/blocklet/add-cert.js +177 -0
  13. package/es/blocklet/agreement-app.js +21 -0
  14. package/es/blocklet/agreement.js +127 -0
  15. package/es/blocklet/app-avatar.js +57 -0
  16. package/es/blocklet/audit-logs.js +259 -0
  17. package/es/blocklet/blocklet-source.js +48 -0
  18. package/es/blocklet/bundle-avatar.js +64 -0
  19. package/es/blocklet/component/add.js +1313 -0
  20. package/es/blocklet/component/configuration.js +122 -0
  21. package/es/blocklet/component/delete.js +134 -0
  22. package/es/blocklet/component/environment.js +370 -0
  23. package/es/blocklet/component/index.js +975 -0
  24. package/es/blocklet/component/line.js +20 -0
  25. package/es/blocklet/component/navigation/locale-tabs.js +225 -0
  26. package/es/blocklet/component/navigation/navigation-actions.js +112 -0
  27. package/es/blocklet/component/navigation/navigation-dialog.js +607 -0
  28. package/es/blocklet/component/navigation/navigation-preview.js +101 -0
  29. package/es/blocklet/component/navigation/simple-select.js +124 -0
  30. package/es/blocklet/component/select-store.js +155 -0
  31. package/es/blocklet/component/selected/index.js +94 -0
  32. package/es/blocklet/component/setting.js +109 -0
  33. package/es/blocklet/component/sortable-tree.js +126 -0
  34. package/es/blocklet/component/space-connector.js +199 -0
  35. package/es/blocklet/component/space-selector.js +178 -0
  36. package/es/blocklet/component/start.js +101 -0
  37. package/es/blocklet/component/store-blocklet-list.js +200 -0
  38. package/es/blocklet/component/switch-control.js +57 -0
  39. package/es/blocklet/config-navigation.js +331 -0
  40. package/es/blocklet/configuration.js +603 -0
  41. package/es/blocklet/disk-info.js +75 -0
  42. package/es/blocklet/icons.js +18 -0
  43. package/es/blocklet/install-from-url.js +337 -0
  44. package/es/blocklet/log.js +90 -0
  45. package/es/blocklet/migration.js +149 -0
  46. package/es/blocklet/mode.js +19 -0
  47. package/es/blocklet/notification/email.js +257 -0
  48. package/es/blocklet/notification/index.js +49 -0
  49. package/es/blocklet/oauth/auth0.js +145 -0
  50. package/es/blocklet/oauth/common-settings.js +133 -0
  51. package/es/blocklet/oauth/federated-detail-dialog.js +175 -0
  52. package/es/blocklet/oauth/federated-invite-dialog.js +83 -0
  53. package/es/blocklet/oauth/federated-join-dialog.js +111 -0
  54. package/es/blocklet/oauth/federated-site-list.js +338 -0
  55. package/es/blocklet/oauth/federated.js +81 -0
  56. package/es/blocklet/oauth/index.js +69 -0
  57. package/es/blocklet/overview.js +293 -0
  58. package/es/blocklet/page-group.js +19 -0
  59. package/es/blocklet/preferences/app-sk.js +142 -0
  60. package/es/blocklet/preferences/index.js +305 -0
  61. package/es/blocklet/purchase/common.js +95 -0
  62. package/es/blocklet/purchase/component-purchase.js +237 -0
  63. package/es/blocklet/purchase/index.js +4 -0
  64. package/es/blocklet/router/action/add-domain-alias.js +167 -0
  65. package/es/blocklet/router/action/add-rule.js +211 -0
  66. package/es/blocklet/router/action/config-routing-rule.js +232 -0
  67. package/es/blocklet/router/action/delete-domain-alias.js +99 -0
  68. package/es/blocklet/router/action/delete-rule.js +108 -0
  69. package/es/blocklet/router/action/update-rule.js +209 -0
  70. package/es/blocklet/router/domain-actions.js +64 -0
  71. package/es/blocklet/router/domain-status.js +88 -0
  72. package/es/blocklet/router/rule-actions.js +66 -0
  73. package/es/blocklet/router/rule-list.js +190 -0
  74. package/es/blocklet/router/util.js +131 -0
  75. package/es/blocklet/runtime-info.js +68 -0
  76. package/es/blocklet/status.js +91 -0
  77. package/es/blocklet/storage/action.js +134 -0
  78. package/es/blocklet/storage/backups.js +241 -0
  79. package/es/blocklet/storage/connect-to.js +372 -0
  80. package/es/blocklet/storage/connected.js +198 -0
  81. package/es/blocklet/storage/delete.js +113 -0
  82. package/es/blocklet/storage/disconnect.js +243 -0
  83. package/es/blocklet/storage/index.js +19 -0
  84. package/es/blocklet/storage/item.js +558 -0
  85. package/es/blocklet/storage/preview-nft.js +286 -0
  86. package/es/blocklet/transfer-owner.js +198 -0
  87. package/es/blocklet/types.js +18 -0
  88. package/es/blocklet/util.js +145 -0
  89. package/es/blocklet/version.js +141 -0
  90. package/es/card-selector.js +134 -0
  91. package/es/certificate.js +105 -0
  92. package/es/chain.js +13 -0
  93. package/es/click-to-copy.js +22 -0
  94. package/es/confirm.js +149 -0
  95. package/es/contexts/audit-log.js +152 -0
  96. package/es/contexts/blocklet.js +10 -0
  97. package/es/contexts/deleting-blocklets.js +70 -0
  98. package/es/contexts/node.js +17 -0
  99. package/es/contexts/session.js +8 -0
  100. package/es/contexts/team.js +10 -0
  101. package/es/delete-confirm.js +121 -0
  102. package/es/did-address.js +46 -0
  103. package/es/dot.js +14 -0
  104. package/es/exchange-passport.js +102 -0
  105. package/es/form/form-select-input.js +184 -0
  106. package/es/form/form-text-input.js +178 -0
  107. package/es/form/form-wrapper.js +88 -0
  108. package/es/form/input-triggers.js +98 -0
  109. package/es/form/required.js +8 -0
  110. package/es/hooks/blocklet.js +229 -0
  111. package/es/hooks/confirm.js +90 -0
  112. package/es/hooks/mobile-width.js +11 -0
  113. package/es/hooks/url-evaluation.js +155 -0
  114. package/es/hooks/use-app-logo.js +16 -0
  115. package/es/hooks/use-backup-progress.js +31 -0
  116. package/es/hooks/use-blocklet-info-for-connect-did-spaces.js +50 -0
  117. package/es/hooks/use-bundle-logo.js +27 -0
  118. package/es/hooks/use-navigation.js +347 -0
  119. package/es/hooks/use-passport-id.js +14 -0
  120. package/es/hooks/use-subscription.js +22 -0
  121. package/es/icons/empty-space-nft.svg +59 -0
  122. package/es/icons/empty-spaces-nft.svg +58 -0
  123. package/es/icons/long-arrow.svg +5 -0
  124. package/es/icons/space-connected.svg +3 -0
  125. package/es/icons/space-disconnect.svg +3 -0
  126. package/es/index.js +3 -0
  127. package/es/invitation/invitation-app.js +58 -0
  128. package/es/invitation/invitation-login.js +68 -0
  129. package/es/invitation/invitation-passport.js +146 -0
  130. package/es/invitation/invitation-receive.js +138 -0
  131. package/es/invitation/invitation-success.js +93 -0
  132. package/es/invitation/invitation-user.js +90 -0
  133. package/es/invitation/invitation.js +90 -0
  134. package/es/issue-passport.js +142 -0
  135. package/es/launch-blocklet/content-layout.js +58 -0
  136. package/es/launch-blocklet/page-header.js +43 -0
  137. package/es/layout/addon.js +114 -0
  138. package/es/layout/feedback.js +55 -0
  139. package/es/locales/en.js +1541 -0
  140. package/es/locales/index.js +9 -0
  141. package/es/locales/zh.js +1544 -0
  142. package/es/logs/clock.js +11 -0
  143. package/es/logs/download.js +132 -0
  144. package/es/logs/log-terminal.js +253 -0
  145. package/es/lost-passport.js +452 -0
  146. package/es/nav-logo.js +219 -0
  147. package/es/passport-tag.js +43 -0
  148. package/es/permission.js +57 -0
  149. package/es/relative-time.js +53 -0
  150. package/es/result-message.js +11 -0
  151. package/es/schema-form/color-input.js +98 -0
  152. package/es/schema-form/common-prop-types.js +13 -0
  153. package/es/schema-form/index.js +215 -0
  154. package/es/schema-form/passport-input.js +55 -0
  155. package/es/schema-form/text-input.js +57 -0
  156. package/es/store/add.js +179 -0
  157. package/es/store/delete.js +96 -0
  158. package/es/store/item.js +76 -0
  159. package/es/subscription.js +144 -0
  160. package/es/table-icons.js +34 -0
  161. package/es/table.js +52 -0
  162. package/es/tag.js +21 -0
  163. package/es/team/members/actions.js +89 -0
  164. package/es/team/members/index.js +636 -0
  165. package/es/team/members/invitations.js +188 -0
  166. package/es/team/members/invite-member.js +208 -0
  167. package/es/team/members/issue-passport.js +152 -0
  168. package/es/team/members/member.js +408 -0
  169. package/es/team/members/passport-issuances.js +155 -0
  170. package/es/team/members/passports.js +364 -0
  171. package/es/team/members/toggle-user-approval.js +122 -0
  172. package/es/team/members/transfer-node.js +256 -0
  173. package/es/team/members/util.js +14 -0
  174. package/es/team/passports/color.js +127 -0
  175. package/es/team/passports/detail.js +312 -0
  176. package/es/team/passports/index.js +282 -0
  177. package/es/team/passports/mutate-role.js +198 -0
  178. package/es/team/passports/trusted-factories.js +221 -0
  179. package/es/team/passports/trusted-factory.js +343 -0
  180. package/es/team/passports/trusted-issuer.js +296 -0
  181. package/es/team/passports/trusted-issuers.js +226 -0
  182. package/es/team/search-input.js +46 -0
  183. package/es/team/styles/dialog.js +72 -0
  184. package/es/team/styles/list-header.js +31 -0
  185. package/es/util/api.js +6 -0
  186. package/es/util/constants.js +2 -0
  187. package/es/util/index.js +598 -0
  188. package/es/util/mode.js +4 -0
  189. package/es/util/space-gateway.js +51 -0
  190. package/es/util/spaces.js +160 -0
  191. package/es/who-can-access/config.js +38 -0
  192. package/es/wrap-locale.js +15 -0
  193. package/lib/blocklet/component/add.js +5 -0
  194. package/lib/blocklet/component/selected/index.js +47 -0
  195. package/lib/blocklet/component/space-connector.js +1 -1
  196. package/lib/blocklet/component/space-selector.js +1 -1
  197. package/lib/blocklet/storage/backups.js +1 -1
  198. package/lib/blocklet/storage/connect-to.js +6 -7
  199. package/lib/blocklet/storage/connected.js +1 -1
  200. package/lib/blocklet/storage/disconnect.js +1 -1
  201. package/lib/blocklet/storage/index.js +1 -1
  202. package/lib/blocklet/storage/item.js +1 -1
  203. package/lib/card-selector.js +14 -14
  204. package/lib/invitation/invitation-passport.js +7 -6
  205. package/lib/invitation/invitation-receive.js +1 -1
  206. package/lib/locales/en.js +12 -5
  207. package/lib/locales/zh.js +10 -3
  208. package/lib/lost-passport.js +2 -2
  209. package/lib/schema-form/passport-input.js +12 -11
  210. package/lib/team/passports/color.js +14 -14
  211. package/lib/team/passports/trusted-factory.js +1 -1
  212. package/lib/util/spaces.js +13 -1
  213. package/package.json +88 -21
@@ -0,0 +1,226 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import styled from '@emotion/styled';
4
+ import cloneDeep from 'lodash/cloneDeep';
5
+ import Dialog from '@arcblock/ux/lib/Dialog';
6
+ import Box from '@mui/material/Box';
7
+ import AddIcon from '@mui/icons-material/Add';
8
+ import IconButton from '@mui/material/IconButton';
9
+ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
10
+ import Button from '@arcblock/ux/lib/Button';
11
+ import Empty from '@arcblock/ux/lib/Empty';
12
+ import EditIcon from '@arcblock/icons/lib/EditIcon';
13
+ import DeleteIcon from '@arcblock/icons/lib/DeleteIcon';
14
+ import Toast from '@arcblock/ux/lib/Toast';
15
+ import DidAddress from '../../did-address';
16
+ import { withPermission } from '../../permission';
17
+ import { useNodeContext } from '../../contexts/node';
18
+ import { useTeamContext } from '../../contexts/team';
19
+ import { sleep, BlockletAdminRoles } from '../../util';
20
+ import Confirm from '../../confirm';
21
+ import ListHeader from '../styles/list-header';
22
+ import SearchInput from '../search-input';
23
+ import TrustedIssuer from './trusted-issuer';
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import { jsxs as _jsxs } from "react/jsx-runtime";
26
+ function TrustedIssuers({
27
+ onCancel,
28
+ hasPermission
29
+ }) {
30
+ const {
31
+ api
32
+ } = useNodeContext();
33
+ const {
34
+ teamDid,
35
+ trustedPassports
36
+ } = useTeamContext();
37
+ const {
38
+ t
39
+ } = useLocaleContext();
40
+ const [delConfirm, setDelConfirm] = useState(null);
41
+ const [loading, setLoading] = useState(false);
42
+ const [trustedIssuer, setTrustedIssuer] = useState(false);
43
+ const [search, setSearch] = useState('');
44
+ const deleteTrustedIssuer = async did => {
45
+ if (loading) {
46
+ return;
47
+ }
48
+ const index = trustedPassports.findIndex(x => x.issuerDid === did);
49
+ if (index === -1) {
50
+ // should not be here
51
+ Toast.error('Cannot find passports');
52
+ }
53
+ const trustedList = [...trustedPassports];
54
+ trustedList.splice(index, 1);
55
+ try {
56
+ setLoading(true);
57
+ await api.configTrustedPassports({
58
+ input: {
59
+ teamDid,
60
+ trustedPassports: trustedList
61
+ }
62
+ });
63
+ await sleep(800);
64
+ setLoading(false);
65
+ Toast.success(t('common.saveSuccess'));
66
+ setDelConfirm(false);
67
+ } catch (err) {
68
+ setLoading(false);
69
+ Toast.error(err.message);
70
+ }
71
+ };
72
+ const filteredIssuers = trustedPassports.filter(x => !search || x.issuerDid.toLowerCase().includes(search.toLowerCase()));
73
+ return /*#__PURE__*/_jsxs(Dialog, {
74
+ title: t('team.passport.trustedIssuers'),
75
+ open: true,
76
+ onClose: onCancel,
77
+ fullWidth: true,
78
+ PaperProps: {
79
+ style: {
80
+ minHeight: '80vh'
81
+ }
82
+ },
83
+ children: [/*#__PURE__*/_jsx(Div, {
84
+ children: /*#__PURE__*/_jsxs("div", {
85
+ className: "dialog-content",
86
+ children: [/*#__PURE__*/_jsx("div", {
87
+ className: "dialog-h1",
88
+ children: t('team.passport.trustedPassportIssuers')
89
+ }), /*#__PURE__*/_jsxs(Box, {
90
+ component: ListHeader,
91
+ mt: 3,
92
+ children: [/*#__PURE__*/_jsx("div", {
93
+ className: "left",
94
+ children: /*#__PURE__*/_jsx(SearchInput, {
95
+ placeholder: t('team.passport.searchIssuerDid'),
96
+ value: search,
97
+ onChange: e => setSearch(e.target.value)
98
+ })
99
+ }), /*#__PURE__*/_jsx("div", {
100
+ className: "right",
101
+ children: hasPermission && /*#__PURE__*/_jsxs(Button, {
102
+ variant: "contained",
103
+ color: "primary",
104
+ "data-cy": "add-trusted-issuer",
105
+ onClick: () => setTrustedIssuer({
106
+ mode: 'add'
107
+ }),
108
+ children: [/*#__PURE__*/_jsx(AddIcon, {
109
+ style: {
110
+ fontSize: 16,
111
+ marginRight: 4
112
+ }
113
+ }), t('team.add')]
114
+ })
115
+ })]
116
+ }), /*#__PURE__*/_jsxs("div", {
117
+ className: "list",
118
+ children: [filteredIssuers.map(x => /*#__PURE__*/_jsxs(Box, {
119
+ display: "flex",
120
+ alignItems: "center",
121
+ justifyContent: "space-between",
122
+ mt: "20px",
123
+ children: [/*#__PURE__*/_jsxs(Box, {
124
+ flexShrink: 0,
125
+ children: [/*#__PURE__*/_jsx(DidAddress, {
126
+ copyable: false,
127
+ size: 16,
128
+ did: x.issuerDid,
129
+ showDidLogo: false
130
+ }), !!x.remark && /*#__PURE__*/_jsx(Box, {
131
+ pl: 3.5,
132
+ fontSize: 12,
133
+ maxWidth: "300px",
134
+ children: x.remark
135
+ })]
136
+ }), /*#__PURE__*/_jsx(Box, {
137
+ color: "gray",
138
+ ml: "28px",
139
+ flexGrow: 1,
140
+ children: x.mappings && x.mappings.length ? `${x.mappings.length} ${t('team.passport.mappingRule')}` : t('team.passport.defaultRule')
141
+ }), /*#__PURE__*/_jsxs(Box, {
142
+ flexShrink: 0,
143
+ display: "flex",
144
+ alignItems: "center",
145
+ children: [/*#__PURE__*/_jsx(IconButton, {
146
+ onClick: () => setTrustedIssuer({
147
+ mode: 'update',
148
+ data: cloneDeep(x)
149
+ }),
150
+ "data-cy": "edit-mapping-rule",
151
+ size: "large",
152
+ children: /*#__PURE__*/_jsx(EditIcon, {})
153
+ }), /*#__PURE__*/_jsx(IconButton, {
154
+ "data-cy": "delete-mapping-rule",
155
+ onClick: () => setDelConfirm({
156
+ title: t('common.delete'),
157
+ description: t('common.delConfirmDescription', {
158
+ data: x.issuerDid
159
+ }),
160
+ confirm: t('common.delConfirm'),
161
+ cancel: t('common.cancel'),
162
+ onConfirm: () => deleteTrustedIssuer(x.issuerDid),
163
+ onCancel: () => {
164
+ setLoading(false);
165
+ setDelConfirm(null);
166
+ }
167
+ }),
168
+ size: "large",
169
+ children: /*#__PURE__*/_jsx(DeleteIcon, {})
170
+ })]
171
+ })]
172
+ }, x.issuerDid)), !trustedPassports.length && /*#__PURE__*/_jsx(Empty, {
173
+ children: t('common.empty')
174
+ })]
175
+ })]
176
+ })
177
+ }), trustedIssuer && /*#__PURE__*/_jsx(TrustedIssuer, {
178
+ mode: trustedIssuer.mode,
179
+ data: trustedIssuer.data,
180
+ trustedPassports: cloneDeep(trustedPassports),
181
+ onCancel: () => setTrustedIssuer(null),
182
+ onSuccess: () => {
183
+ setTrustedIssuer(null);
184
+ }
185
+ }), delConfirm && /*#__PURE__*/_jsx(Confirm, {
186
+ title: delConfirm.title,
187
+ description: delConfirm.description,
188
+ confirm: delConfirm.confirm,
189
+ cancel: delConfirm.cancel,
190
+ params: delConfirm.params,
191
+ onConfirm: delConfirm.onConfirm,
192
+ onCancel: delConfirm.onCancel
193
+ })]
194
+ });
195
+ }
196
+ TrustedIssuers.propTypes = {
197
+ onCancel: PropTypes.func.isRequired,
198
+ hasPermission: PropTypes.bool
199
+ };
200
+ TrustedIssuers.defaultProps = {
201
+ hasPermission: false
202
+ };
203
+ const TrustedIssuersInDaemon = withPermission(TrustedIssuers, 'mutate_team');
204
+ const TrustedIssuersInService = withPermission(TrustedIssuers, '', BlockletAdminRoles);
205
+ export default function TrustedIssuersWithPermission(props) {
206
+ const {
207
+ inService
208
+ } = useNodeContext();
209
+ if (inService) {
210
+ return /*#__PURE__*/_jsx(TrustedIssuersInService, {
211
+ ...props
212
+ });
213
+ }
214
+ return /*#__PURE__*/_jsx(TrustedIssuersInDaemon, {
215
+ ...props
216
+ });
217
+ }
218
+ const Div = styled.div`
219
+ .list {
220
+ .MuiIconButton-root {
221
+ svg {
222
+ fill: #bfbfbf;
223
+ }
224
+ }
225
+ }
226
+ `;
@@ -0,0 +1,46 @@
1
+ import styled from '@emotion/styled';
2
+ import TextField from '@mui/material/TextField';
3
+ import SearchIcon from '@mui/icons-material/Search';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const SearchInput = styled(({
6
+ children,
7
+ ...props
8
+ }) => /*#__PURE__*/_jsx(TextField, {
9
+ ...props,
10
+ id: "outlined-basic",
11
+ variant: "outlined",
12
+ InputProps: {
13
+ startAdornment: /*#__PURE__*/_jsx(SearchIcon, {})
14
+ },
15
+ size: "small",
16
+ children: children
17
+ }))`
18
+ .MuiOutlinedInput-root {
19
+ color: #999;
20
+ &.MuiInputBase-adornedStart .MuiSvgIcon-root {
21
+ color: #bfbfbf;
22
+ }
23
+ opacity: 1;
24
+ border-radius: 36px;
25
+ background: #f8f8f8;
26
+ padding-left: 16px;
27
+ input {
28
+ padding-left: 8px;
29
+ font-weight: bold;
30
+ &::placeholder {
31
+ opacity: 1;
32
+ color: #bfbfbf;
33
+ }
34
+ padding-top: 8.5px;
35
+ padding-bottom: 8.5px;
36
+ }
37
+ }
38
+
39
+ .MuiOutlinedInput-notchedOutline,
40
+ .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,
41
+ .Mui-focused .MuiOutlinedInput-notchedOutline {
42
+ border-color: #eee;
43
+ border-width: 1px;
44
+ }
45
+ `;
46
+ export default SearchInput;
@@ -0,0 +1,72 @@
1
+ import styled from '@emotion/styled';
2
+ const DialogStyle = styled.div`
3
+ width: 632px;
4
+ height: 90vh;
5
+ overflow: auto;
6
+ @media (max-width: ${props => props.theme.breakpoints.values.md - 1}px) {
7
+ width: 100%;
8
+ height: 100%;
9
+ }
10
+ display: flex;
11
+ flex-direction: column;
12
+
13
+ .dialog-header {
14
+ flex-shrink: 0;
15
+ position: sticky;
16
+ top: 0;
17
+ background: #fff;
18
+ z-index: 30;
19
+ flex: 0;
20
+ box-sizing: border-box;
21
+ width: 100%;
22
+ padding: 0 12px;
23
+ min-height: 72px;
24
+ display: flex;
25
+ justify-content: space-between;
26
+ align-items: center;
27
+ border-bottom: 1px solid #f8f8f8;
28
+ .title {
29
+ color: #222;
30
+ font-size: 16px;
31
+ }
32
+ .left,
33
+ .right {
34
+ flex-shrink: 0;
35
+ flex-basis: auto;
36
+ width: 120px;
37
+ }
38
+ .right {
39
+ text-align: right;
40
+ svg {
41
+ fill: #bfbfbf;
42
+ }
43
+ }
44
+ }
45
+ .dialog-content {
46
+ flex-grow: 1;
47
+ padding: 16px 24px;
48
+ }
49
+ .dialog-actions {
50
+ flex-shrink: 0;
51
+ border-top: 1px solid #f8f8f8;
52
+ padding 24px;
53
+ position: sticky;
54
+ bottom: 0;
55
+ z-index: 20;
56
+ background: #fff;
57
+ display: flex;
58
+ justify-content: flex-end;
59
+ .MuiButton-root {
60
+ padding-left: 3em;
61
+ padding-right: 3em;
62
+ }
63
+ }
64
+ .dialog-h1 {
65
+ font-style: normal;
66
+ font-weight: 400;
67
+ font-size: 24px;
68
+ line-height: 28px;
69
+ color: #222222;
70
+ }
71
+ `;
72
+ export default DialogStyle;
@@ -0,0 +1,31 @@
1
+ import styled from '@emotion/styled';
2
+ const ListHeader = styled.div`
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ font-size: 14px;
7
+ .left,
8
+ .right {
9
+ }
10
+ .right {
11
+ display: flex;
12
+ align-items: center;
13
+ }
14
+ .tabs {
15
+ .MuiButton-root {
16
+ border: none;
17
+ color: #999;
18
+ &.active {
19
+ color: #222;
20
+ }
21
+ }
22
+ }
23
+
24
+ @media (max-width: 600px) {
25
+ display: block;
26
+ .right {
27
+ margin-top: 12px;
28
+ }
29
+ }
30
+ `;
31
+ export default ListHeader;
package/es/util/api.js ADDED
@@ -0,0 +1,6 @@
1
+ import axios from 'axios';
2
+ axios.defaults.timeout = 10 * 1000; // 超时时间设为10s
3
+
4
+ const api = axios.create();
5
+ export { axios, api };
6
+ export default api;
@@ -0,0 +1,2 @@
1
+ export const STORAGE_KEY_STORE_BLOCKLET = 'blocklet-add-component-registry';
2
+ export const STORAGE_KEY_STORE_SERVER = 'server-add-registry';