@abtnode/ux 1.15.17 → 1.16.0-beta-b16cb035

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 (154) hide show
  1. package/lib/actions.js +111 -0
  2. package/lib/blocklet/access/config-access.js +303 -0
  3. package/lib/blocklet/access/index.js +221 -0
  4. package/lib/blocklet/actions.js +438 -0
  5. package/lib/blocklet/add-cert.js +191 -0
  6. package/lib/blocklet/agreement-app.js +30 -0
  7. package/lib/blocklet/agreement.js +72 -0
  8. package/lib/blocklet/app-avatar.js +74 -0
  9. package/lib/blocklet/audit-logs.js +197 -0
  10. package/lib/blocklet/blocklet-source.js +56 -0
  11. package/lib/blocklet/bundle-avatar.js +80 -0
  12. package/lib/blocklet/component/add.js +1063 -0
  13. package/lib/blocklet/component/configuration.js +124 -0
  14. package/lib/blocklet/component/delete.js +117 -0
  15. package/lib/blocklet/component/environment.js +289 -0
  16. package/lib/blocklet/component/expiration.js +53 -0
  17. package/lib/blocklet/component/index.js +804 -0
  18. package/lib/blocklet/component/line.js +28 -0
  19. package/lib/blocklet/component/navigation/locale-tabs.js +218 -0
  20. package/lib/blocklet/component/navigation/navigation-actions.js +120 -0
  21. package/lib/blocklet/component/navigation/navigation-dialog.js +620 -0
  22. package/lib/blocklet/component/navigation/navigation-preview.js +102 -0
  23. package/lib/blocklet/component/navigation/simple-select.js +131 -0
  24. package/lib/blocklet/component/select-store.js +153 -0
  25. package/lib/blocklet/component/setting.js +151 -0
  26. package/lib/blocklet/component/sortable-tree.js +138 -0
  27. package/lib/blocklet/component/space-gateway-selector.js +174 -0
  28. package/lib/blocklet/component/store-blocklet-list.js +205 -0
  29. package/lib/blocklet/config-navigation.js +344 -0
  30. package/lib/blocklet/configuration.js +574 -0
  31. package/lib/blocklet/disk-info.js +91 -0
  32. package/lib/blocklet/icons.js +26 -0
  33. package/lib/blocklet/install-from-url.js +347 -0
  34. package/lib/blocklet/log.js +62 -0
  35. package/lib/blocklet/migration.js +153 -0
  36. package/lib/blocklet/mode.js +35 -0
  37. package/lib/blocklet/monitor.js +186 -0
  38. package/lib/blocklet/overview.js +236 -0
  39. package/lib/blocklet/preferences/app-sk.js +131 -0
  40. package/lib/blocklet/preferences/index.js +238 -0
  41. package/lib/blocklet/preferences/wallet-type.js +107 -0
  42. package/lib/blocklet/purchase/common.js +103 -0
  43. package/lib/blocklet/purchase/component-purchase.js +253 -0
  44. package/lib/blocklet/purchase/index.js +13 -0
  45. package/lib/blocklet/router/action/add-domain-alias.js +173 -0
  46. package/lib/blocklet/router/action/add-rule.js +204 -0
  47. package/lib/blocklet/router/action/config-routing-rule.js +129 -0
  48. package/lib/blocklet/router/action/delete-domain-alias.js +107 -0
  49. package/lib/blocklet/router/action/delete-rule.js +114 -0
  50. package/lib/blocklet/router/action/update-rule.js +203 -0
  51. package/lib/blocklet/router/domain-actions.js +71 -0
  52. package/lib/blocklet/router/domain-status.js +96 -0
  53. package/lib/blocklet/router/rule-actions.js +77 -0
  54. package/lib/blocklet/router/rule-list.js +181 -0
  55. package/lib/blocklet/router/util.js +146 -0
  56. package/lib/blocklet/runtime-info.js +87 -0
  57. package/lib/blocklet/status.js +105 -0
  58. package/lib/blocklet/storage.js +322 -0
  59. package/lib/blocklet/types.js +25 -0
  60. package/lib/blocklet/util.js +213 -0
  61. package/lib/blocklet/version.js +156 -0
  62. package/lib/card-selector.js +109 -0
  63. package/lib/certificate.js +110 -0
  64. package/lib/click-to-copy.js +38 -0
  65. package/lib/confirm.js +149 -0
  66. package/lib/contexts/audit-log.js +141 -0
  67. package/lib/contexts/blocklet.js +19 -0
  68. package/lib/contexts/deleting-blocklets.js +78 -0
  69. package/lib/contexts/node.js +30 -0
  70. package/lib/contexts/session.js +20 -0
  71. package/lib/contexts/team.js +19 -0
  72. package/lib/delete-confirm.js +127 -0
  73. package/lib/did-address.js +77 -0
  74. package/lib/dot.js +18 -0
  75. package/lib/form/form-text-input.js +266 -0
  76. package/lib/form/form-wrapper.js +13 -0
  77. package/lib/form/required.js +13 -0
  78. package/lib/hooks/blocklet.js +231 -0
  79. package/lib/hooks/mobile-width.js +19 -0
  80. package/lib/hooks/url-evaluation.js +168 -0
  81. package/lib/hooks/use-app-logo.js +25 -0
  82. package/lib/hooks/use-bundle-logo.js +36 -0
  83. package/lib/hooks/use-navigation.js +355 -0
  84. package/lib/hooks/use-passport-id.js +21 -0
  85. package/lib/hooks/use-subscription.js +28 -0
  86. package/lib/icons/long-arrow.svg +5 -0
  87. package/lib/index.js +0 -3
  88. package/lib/invitation/invitation-app.js +51 -0
  89. package/lib/invitation/invitation-login.js +47 -0
  90. package/lib/invitation/invitation-passport.js +130 -0
  91. package/lib/invitation/invitation-receive.js +108 -0
  92. package/lib/invitation/invitation-success.js +82 -0
  93. package/lib/invitation/invitation-user.js +79 -0
  94. package/lib/invitation/invitation.js +80 -0
  95. package/lib/issue-passport.js +84 -84
  96. package/lib/launch-blocklet/content-layout.js +33 -0
  97. package/lib/launch-blocklet/page-header.js +38 -0
  98. package/lib/layout/addon.js +100 -0
  99. package/lib/layout/feedback.js +55 -0
  100. package/lib/locales/en.js +1221 -10
  101. package/lib/locales/index.js +3 -4
  102. package/lib/locales/zh.js +1232 -15
  103. package/lib/logs/clock.js +19 -0
  104. package/lib/logs/download.js +139 -0
  105. package/lib/logs/log-terminal.js +183 -0
  106. package/lib/lost-passport.js +191 -195
  107. package/lib/monitor/card.js +73 -0
  108. package/lib/monitor/cpu.js +109 -0
  109. package/lib/monitor/disk.js +122 -0
  110. package/lib/monitor/memory.js +144 -0
  111. package/lib/nav-logo.js +120 -0
  112. package/lib/passport-tag.js +43 -0
  113. package/lib/permission.js +70 -0
  114. package/lib/relative-time.js +61 -0
  115. package/lib/schema-form/color-input.js +105 -0
  116. package/lib/schema-form/common-prop-types.js +21 -0
  117. package/lib/schema-form/index.js +229 -0
  118. package/lib/schema-form/passport-input.js +66 -0
  119. package/lib/schema-form/text-input.js +72 -0
  120. package/lib/store/add.js +185 -0
  121. package/lib/store/delete.js +102 -0
  122. package/lib/store/item.js +84 -0
  123. package/lib/table-icons.js +42 -0
  124. package/lib/table.js +13 -0
  125. package/lib/tag.js +37 -0
  126. package/lib/team/members/actions.js +99 -0
  127. package/lib/team/members/index.js +503 -0
  128. package/lib/team/members/invitations.js +196 -0
  129. package/lib/team/members/invite-member.js +212 -0
  130. package/lib/team/members/issue-passport.js +155 -0
  131. package/lib/team/members/member.js +300 -0
  132. package/lib/team/members/passport-issuances.js +154 -0
  133. package/lib/team/members/passports.js +336 -0
  134. package/lib/team/members/toggle-user-approval.js +128 -0
  135. package/lib/team/members/transfer-node.js +262 -0
  136. package/lib/team/members/util.js +20 -0
  137. package/lib/team/passports/color.js +132 -0
  138. package/lib/team/passports/detail.js +271 -0
  139. package/lib/team/passports/index.js +233 -0
  140. package/lib/team/passports/mutate-role.js +204 -0
  141. package/lib/team/passports/trusted-issuer.js +297 -0
  142. package/lib/team/passports/trusted-issuers.js +240 -0
  143. package/lib/team/search-input.js +38 -0
  144. package/lib/team/styles/dialog.js +13 -0
  145. package/lib/team/styles/list-header.js +13 -0
  146. package/lib/toast.js +86 -0
  147. package/lib/util/api.js +21 -0
  148. package/lib/util/constants.js +10 -0
  149. package/lib/util/index.js +703 -0
  150. package/lib/util/locales.js +28 -0
  151. package/lib/util/mode.js +11 -0
  152. package/lib/who-can-access/config.js +46 -0
  153. package/lib/wrap-locale.js +12 -13
  154. package/package.json +69 -17
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = FormTextInput;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
11
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
12
+ var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
13
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
14
+ var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
15
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
16
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
17
+ var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
18
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
19
+ var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
20
+ var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
21
+ var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
22
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
23
+ var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
24
+ var _required = _interopRequireDefault(require("./required"));
25
+ var _formWrapper = _interopRequireDefault(require("./form-wrapper"));
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+ const _excluded = ["label", "disabled", "required", "initialValue", "onChange", "placeholder", "style", "onSubmit", "secure", "triggers", "formatterBeforeSubmit"];
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ 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); }
30
+ 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; }
31
+ 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; }
32
+ 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; }
33
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
34
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
35
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
36
+ 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; }
37
+ 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; }
38
+ function InputTriggers(_ref) {
39
+ let {
40
+ triggers,
41
+ onEnterEdit,
42
+ disabled
43
+ } = _ref;
44
+ const anchorRef = _react.default.useRef(null);
45
+ const [open, setOpen] = _react.default.useState(false);
46
+ const handleTriggerClick = cb => {
47
+ setOpen(false);
48
+ cb();
49
+ };
50
+ const handleToggle = () => {
51
+ setOpen(prevOpen => !prevOpen);
52
+ };
53
+ const handleClose = event => {
54
+ if (anchorRef.current && anchorRef.current.contains(event.target)) {
55
+ return;
56
+ }
57
+ setOpen(false);
58
+ };
59
+ if (triggers.length === 0) {
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
61
+ "data-cy": "schema-form-item-edit",
62
+ onClick: onEnterEdit,
63
+ disabled: disabled,
64
+ size: "large",
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
66
+ });
67
+ }
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
69
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
70
+ variant: "outlined",
71
+ ref: anchorRef,
72
+ "aria-label": "split button",
73
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
74
+ "data-cy": "schema-form-item-edit",
75
+ onClick: onEnterEdit,
76
+ disabled: disabled,
77
+ size: "large",
78
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
80
+ size: "small",
81
+ "aria-controls": open ? 'split-button-menu' : undefined,
82
+ "aria-expanded": open ? 'true' : undefined,
83
+ onClick: handleToggle,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {})
85
+ })]
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popper.default, {
87
+ sx: {
88
+ zIndex: 9999
89
+ },
90
+ open: open,
91
+ anchorEl: anchorRef.current,
92
+ role: undefined,
93
+ placement: "bottom-end",
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
96
+ onClickAway: handleClose,
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
98
+ id: "split-button-menu",
99
+ autoFocusItem: true,
100
+ children: triggers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
101
+ onClick: () => handleTriggerClick(x.handler),
102
+ children: x.title
103
+ }, x.key))
104
+ })
105
+ })
106
+ })
107
+ })]
108
+ });
109
+ }
110
+ InputTriggers.propTypes = {
111
+ triggers: _propTypes.default.arrayOf(_propTypes.default.shape({
112
+ key: _propTypes.default.string.isRequired,
113
+ title: _propTypes.default.string.isRequired,
114
+ handler: _propTypes.default.func.isRequired
115
+ })),
116
+ onEnterEdit: _propTypes.default.func.isRequired,
117
+ disabled: _propTypes.default.bool.isRequired
118
+ };
119
+ InputTriggers.defaultProps = {
120
+ triggers: []
121
+ };
122
+ function FormTextInput(_ref2) {
123
+ let {
124
+ label,
125
+ disabled,
126
+ required,
127
+ initialValue,
128
+ onChange,
129
+ placeholder,
130
+ style,
131
+ onSubmit,
132
+ secure,
133
+ triggers,
134
+ formatterBeforeSubmit
135
+ } = _ref2,
136
+ rest = _objectWithoutProperties(_ref2, _excluded);
137
+ const [editing, setEditing] = (0, _react.useState)(false);
138
+ const [loading, setLoading] = (0, _react.useState)(false);
139
+ const [defaultValue, setDefaultValue] = (0, _react.useState)(secure && initialValue === '__encrypted__' ? '' : initialValue);
140
+ const [value, setValue] = (0, _react.useState)(defaultValue);
141
+ const handleSubmit = async () => {
142
+ setLoading(true);
143
+ try {
144
+ const shouldUpdate = await onSubmit(value);
145
+ if (shouldUpdate === false) {
146
+ setValue(defaultValue);
147
+ } else {
148
+ let tmpValue = value;
149
+ if (typeof formatterBeforeSubmit === 'function') {
150
+ tmpValue = formatterBeforeSubmit(value);
151
+ }
152
+ setValue(tmpValue);
153
+ setDefaultValue(tmpValue);
154
+ }
155
+ } catch (err) {
156
+ setValue(defaultValue);
157
+ } finally {
158
+ setLoading(false);
159
+ setEditing(false);
160
+ }
161
+ };
162
+ const onInputChange = changeValue => {
163
+ setValue(changeValue);
164
+ onChange(changeValue);
165
+ };
166
+
167
+ // enter keydown
168
+ const handleKeydown = e => {
169
+ if (e.key === 'Enter') {
170
+ handleSubmit();
171
+ }
172
+ };
173
+ const input = editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, _objectSpread({
174
+ style: {
175
+ flex: 1
176
+ },
177
+ fullWidth: true,
178
+ value: value,
179
+ onChange: e => {
180
+ onInputChange(e.target.value);
181
+ },
182
+ autoFocus: true,
183
+ size: "small",
184
+ variant: "outlined",
185
+ placeholder: placeholder,
186
+ onKeyDown: handleKeydown,
187
+ disabled: disabled,
188
+ type: secure ? 'password' : 'text'
189
+ }, rest)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
190
+ px: 1,
191
+ className: "form-item-input slot",
192
+ style: {
193
+ whiteSpace: 'pre-wrap'
194
+ },
195
+ children: secure ? '******' : value
196
+ });
197
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formWrapper.default, {
198
+ className: "form",
199
+ style: style,
200
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
201
+ className: "form-item",
202
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
203
+ className: "form-item-label",
204
+ children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]
205
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
206
+ className: "form-item-body",
207
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
208
+ className: "form-item-input",
209
+ children: input
210
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
211
+ className: "form-item-action",
212
+ children: editing ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
213
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
214
+ "data-cy": "schema-form-item-confirm",
215
+ onClick: handleSubmit,
216
+ disabled: disabled || loading,
217
+ size: "large",
218
+ children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
219
+ size: 24
220
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Done.default, {})
221
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
222
+ "data-cy": "schema-form-item-cancel",
223
+ onClick: () => {
224
+ setValue(defaultValue);
225
+ setEditing(false);
226
+ },
227
+ disabled: disabled || loading,
228
+ size: "large",
229
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})
230
+ })]
231
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(InputTriggers, {
232
+ triggers: triggers,
233
+ onEnterEdit: () => setEditing(true),
234
+ disabled: disabled
235
+ })
236
+ })]
237
+ })]
238
+ })
239
+ });
240
+ }
241
+ FormTextInput.propTypes = {
242
+ style: _propTypes.default.object,
243
+ onSubmit: _propTypes.default.func,
244
+ onChange: _propTypes.default.func,
245
+ label: _propTypes.default.string,
246
+ initialValue: _propTypes.default.string,
247
+ placeholder: _propTypes.default.string,
248
+ required: _propTypes.default.bool,
249
+ disabled: _propTypes.default.bool,
250
+ secure: _propTypes.default.bool,
251
+ triggers: _propTypes.default.array,
252
+ formatterBeforeSubmit: _propTypes.default.func
253
+ };
254
+ FormTextInput.defaultProps = {
255
+ style: {},
256
+ onSubmit: () => {},
257
+ onChange: () => {},
258
+ label: '',
259
+ initialValue: '',
260
+ placeholder: '',
261
+ required: false,
262
+ disabled: false,
263
+ secure: false,
264
+ triggers: [],
265
+ formatterBeforeSubmit: null
266
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
+ var _templateObject;
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
+ var _default = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\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 .form-item {\n width: 100%;\n margin-bottom: 24px;\n position: relative;\n ", " {\n flex-wrap: wrap;\n justify-content: space-between;\n width: 100%;\n flex-shrink: 0;\n }\n }\n\n .form-item-body {\n display: flex;\n align-items: center;\n width: 100%;\n margin-top: 4px;\n }\n\n .form-item-label {\n line-height: 1.2;\n font-size: 14px;\n color: #888;\n font-weight: bold;\n\n ", " {\n text-align: left;\n width: auto;\n flex-grow: 1;\n }\n }\n\n .form-item-input {\n flex-grow: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &.slot {\n height: 40px;\n line-height: 40px;\n background: #f8f8f8;\n font-size: 16px;\n }\n }\n\n .form-item-action {\n // width: 100px;\n text-align: left;\n margin-left: 12px;\n flex-shrink: 0;\n ", " {\n width: auto;\n margin-left: 0px;\n }\n .MuiIconButton-root {\n padding: 8px;\n svg {\n fill: #888;\n }\n &.Mui-disabled {\n opacity: 0.4;\n }\n }\n }\n"])), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'));
13
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _templateObject;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ const Required = _styled.default.span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n &::before {\n content: '*';\n }\n"])), props => props.theme.palette.error.main);
12
+ var _default = Required;
13
+ exports.default = _default;
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useBlocklet = useBlocklet;
7
+ var _react = require("react");
8
+ var _merge = _interopRequireDefault(require("lodash/merge"));
9
+ var _omit = _interopRequireDefault(require("lodash/omit"));
10
+ var _constant = require("@blocklet/constant");
11
+ var _toast = _interopRequireDefault(require("../toast"));
12
+ var _util = require("../util");
13
+ var _util2 = require("../blocklet/util");
14
+ var _urlEvaluation = require("./url-evaluation");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ 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; }
17
+ 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; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ // eslint-disable-next-line import/prefer-default-export
22
+ function useBlocklet(_ref) {
23
+ var _blocklet$site, _blocklet$site$domain, _blocklet$meta, _blocklet$meta2, _blocklet$meta3, _blocklet$meta4, _blocklet$meta5, _blocklet$meta6, _blocklet$meta7, _blocklet$meta8, _blocklet$meta9;
24
+ let {
25
+ did,
26
+ client,
27
+ useSubscription,
28
+ getIP,
29
+ useLocaleContext,
30
+ disableSubscription
31
+ } = _ref;
32
+ const {
33
+ t,
34
+ locale
35
+ } = useLocaleContext();
36
+ const [error, setError] = (0, _react.useState)(null);
37
+ const [loading, setLoading] = (0, _react.useState)(false);
38
+ const [loadingRuntimeInfo, setLoadingRuntimeInfo] = (0, _react.useState)(false);
39
+ const [blocklet, setBlocklet] = (0, _react.useState)();
40
+ const [runtimeHistory, setRuntimeHistory] = (0, _react.useState)({
41
+ cpu: [],
42
+ memory: []
43
+ });
44
+ const [domainStatus, setDomainStatus] = (0, _react.useState)({});
45
+ const domainListStr = blocklet !== null && blocklet !== void 0 && (_blocklet$site = blocklet.site) !== null && _blocklet$site !== void 0 && (_blocklet$site$domain = _blocklet$site.domainAliases) !== null && _blocklet$site$domain !== void 0 && _blocklet$site$domain.length ? JSON.stringify(blocklet.site.domainAliases.map(x => x.value)) : '';
46
+ const domains = (0, _react.useMemo)(() => {
47
+ var _blocklet$site2;
48
+ return ((blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$site2 = blocklet.site) === null || _blocklet$site2 === void 0 ? void 0 : _blocklet$site2.domainAliases) || []).map(x => x.value);
49
+ }, [domainListStr]); // eslint-disable-line
50
+
51
+ const {
52
+ domainsAccessibility,
53
+ recommendedDomain
54
+ } = (0, _urlEvaluation.useDomainsAccessibility)(domains);
55
+ const refreshRuntimeInfo = async () => {
56
+ setLoadingRuntimeInfo(true);
57
+ try {
58
+ const {
59
+ blocklet: data
60
+ } = await client.getBlocklet({
61
+ input: {
62
+ did,
63
+ attachRuntimeInfo: true
64
+ }
65
+ });
66
+ await (0, _util2.fixBlocklet)(data, {
67
+ getIP
68
+ });
69
+ setBlocklet(data);
70
+ } catch (err) {
71
+ _toast.default.error(err.message);
72
+ } finally {
73
+ setLoadingRuntimeInfo(false);
74
+ }
75
+ };
76
+ const getRuntimeHistory = async () => {
77
+ try {
78
+ const data = await client.getBlockletRuntimeHistory({
79
+ input: {
80
+ did,
81
+ hours: 6
82
+ }
83
+ });
84
+ if (data) {
85
+ setRuntimeHistory({
86
+ cpu: data.history.map(x => ({
87
+ date: x.date,
88
+ value: x.cpu
89
+ })),
90
+ memory: data.history.map(x => ({
91
+ date: x.date,
92
+ value: x.mem
93
+ }))
94
+ });
95
+ }
96
+ } catch (err) {
97
+ _toast.default.error(err.message);
98
+ }
99
+ };
100
+ const refreshBlocklet = async function refreshBlocklet() {
101
+ let {
102
+ showError = true,
103
+ attachRuntimeInfo = true
104
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
105
+ if (loading) {
106
+ return;
107
+ }
108
+ try {
109
+ setLoading(true);
110
+ setError(null);
111
+ const {
112
+ blocklet: data
113
+ } = await client.getBlocklet({
114
+ input: {
115
+ did,
116
+ attachRuntimeInfo: false
117
+ }
118
+ });
119
+ if (data) {
120
+ setBlocklet(oldBlocklet => {
121
+ (0, _util2.fixBlocklet)(data, {
122
+ fixRuntime: 'merge-old',
123
+ oldBlocklet
124
+ });
125
+ return data;
126
+ });
127
+ setLoading(false);
128
+ if (attachRuntimeInfo) {
129
+ refreshRuntimeInfo();
130
+ getRuntimeHistory();
131
+ }
132
+ } else {
133
+ throw new Error(t('blocklet.notFound'));
134
+ }
135
+ } catch (err) {
136
+ setLoading(false);
137
+ setError(err);
138
+ if (showError) {
139
+ _toast.default.error(err.message);
140
+ }
141
+ }
142
+ };
143
+ const handleRefresh = data => {
144
+ var _data$meta;
145
+ if ((data === null || data === void 0 ? void 0 : (_data$meta = data.meta) === null || _data$meta === void 0 ? void 0 : _data$meta.did) === blocklet.meta.did) {
146
+ refreshBlocklet({
147
+ showError: false
148
+ });
149
+ }
150
+ };
151
+ const handleRefreshWithoutRuntime = data => {
152
+ var _data$meta2;
153
+ if ((data === null || data === void 0 ? void 0 : (_data$meta2 = data.meta) === null || _data$meta2 === void 0 ? void 0 : _data$meta2.did) === blocklet.meta.did) {
154
+ refreshBlocklet({
155
+ attachRuntimeInfo: false,
156
+ showError: false
157
+ });
158
+ }
159
+ };
160
+ const refreshDomainStatus = () => {
161
+ if (did && domainListStr) {
162
+ client.checkDomains({
163
+ input: {
164
+ did
165
+ }
166
+ }).catch(err => {
167
+ console.error(err);
168
+ });
169
+ }
170
+ };
171
+ const configNavigations = async value => {
172
+ const {
173
+ blocklet: data
174
+ } = await client.configNavigations({
175
+ input: {
176
+ did,
177
+ navigations: value
178
+ }
179
+ });
180
+ setBlocklet(data);
181
+ };
182
+ (0, _react.useEffect)(() => {
183
+ if (domainListStr && !disableSubscription) {
184
+ refreshDomainStatus();
185
+ }
186
+ }, [domainListStr, disableSubscription]); // eslint-disable-line
187
+
188
+ useSubscription(_constant.BlockletEvents.domainStatus, data => {
189
+ setDomainStatus(pre => _objectSpread(_objectSpread({}, pre), {}, {
190
+ [data.domain]: _objectSpread(_objectSpread({}, pre[data.domain]), data)
191
+ }));
192
+ }, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did, !disableSubscription]);
193
+ useSubscription(_constant.BlockletEvents.statusChange, handleRefreshWithoutRuntime, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta2 = blocklet.meta) === null || _blocklet$meta2 === void 0 ? void 0 : _blocklet$meta2.did, !disableSubscription]); // eslint-disable-line prettier/prettier
194
+ useSubscription(_constant.BlockletEvents.storeChange, handleRefreshWithoutRuntime, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta3 = blocklet.meta) === null || _blocklet$meta3 === void 0 ? void 0 : _blocklet$meta3.did, !disableSubscription]);
195
+ useSubscription(_constant.BlockletEvents.started, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta4 = blocklet.meta) === null || _blocklet$meta4 === void 0 ? void 0 : _blocklet$meta4.did, !disableSubscription]);
196
+ useSubscription(_constant.BlockletEvents.startFailed, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta5 = blocklet.meta) === null || _blocklet$meta5 === void 0 ? void 0 : _blocklet$meta5.did, !disableSubscription]);
197
+ useSubscription(_constant.BlockletEvents.installed, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta6 = blocklet.meta) === null || _blocklet$meta6 === void 0 ? void 0 : _blocklet$meta6.did, !disableSubscription]);
198
+ useSubscription(_constant.BlockletEvents.upgraded, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta7 = blocklet.meta) === null || _blocklet$meta7 === void 0 ? void 0 : _blocklet$meta7.did, !disableSubscription]);
199
+ useSubscription(_constant.BlockletEvents.downgraded, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta8 = blocklet.meta) === null || _blocklet$meta8 === void 0 ? void 0 : _blocklet$meta8.did, !disableSubscription]);
200
+ useSubscription(_constant.BlockletEvents.updated, handleRefresh, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta9 = blocklet.meta) === null || _blocklet$meta9 === void 0 ? void 0 : _blocklet$meta9.did, !disableSubscription]);
201
+ const data = blocklet ? (0, _merge.default)(blocklet, {
202
+ site: {
203
+ domainAliases: blocklet.site.domainAliases.map(x => {
204
+ const domain = x.value;
205
+ const key = (0, _util.toSlotDomain)(domain);
206
+ x.domainStatus = (0, _omit.default)(domainStatus[key], ['domain', 'meta']);
207
+ x.accessibility = (0, _omit.default)(domainsAccessibility[domain], ['domain']);
208
+ x.href = (0, _util.getBlockletUrl)({
209
+ blocklet,
210
+ domain: x,
211
+ params: (0, _util.getBlockletUrlParams)(blocklet, locale)
212
+ });
213
+ return x;
214
+ })
215
+ }
216
+ }) : null;
217
+ return {
218
+ loading,
219
+ loadingRuntimeInfo,
220
+ error,
221
+ blocklet: data,
222
+ runtimeHistory,
223
+ recommendedDomain: recommendedDomain || '',
224
+ actions: {
225
+ refreshBlocklet,
226
+ refreshDomainStatus,
227
+ setBlocklet,
228
+ configNavigations
229
+ }
230
+ };
231
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _styles = require("@mui/styles");
8
+ var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function useMobileWidth() {
11
+ const theme = (0, _styles.useTheme)();
12
+ const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));
13
+ const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;
14
+ return {
15
+ minWidth
16
+ };
17
+ }
18
+ var _default = useMobileWidth;
19
+ exports.default = _default;