@abtnode/ux 1.16.11-next-470e8c41 → 1.16.11

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.
@@ -17,6 +17,9 @@ var _Address = _interopRequireDefault(require("@arcblock/ux/lib/Address"));
17
17
  var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
18
18
  var _ahooks = require("ahooks");
19
19
  var _didMotif = require("@arcblock/did-motif");
20
+ var _lodash = require("lodash");
21
+ var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
22
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
20
23
  var _switchControl = _interopRequireDefault(require("../component/switch-control"));
21
24
  var _action = _interopRequireDefault(require("./action"));
22
25
  var _mode = require("../../util/mode");
@@ -26,10 +29,12 @@ var _blocklet = require("../../../lib/contexts/blocklet");
26
29
  var _useBlockletInfoForConnectDidSpaces = _interopRequireDefault(require("../../hooks/use-blocklet-info-for-connect-did-spaces"));
27
30
  var _spaces = require("../../util/spaces");
28
31
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["spaceGateway", "connected", "progress", "onDelete", "onBackupNow"];
32
+ var _templateObject;
33
+ const _excluded = ["spaceGateway", "connected", "progress", "onDelete", "onBackupNow", "refreshSpaceGateways"];
30
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
35
  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); }
32
36
  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; }
37
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
33
38
  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; }
34
39
  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; }
35
40
  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; }
@@ -108,6 +113,10 @@ SpaceDisconnected.defaultProps = {
108
113
  * @param {{
109
114
  * spaceGateway: import('./connected').SpaceGateway
110
115
  * connected: boolean,
116
+ * progress: any,
117
+ * onDelete: (spaceGateway: import('./connected').SpaceGateway) => Promise<void>,
118
+ * onBackupNow: () => Promise<void>,
119
+ * refreshSpaceGateways: () => void
111
120
  * }} { spaceGateway }
112
121
  */
113
122
  function SpaceItem(_ref) {
@@ -116,7 +125,8 @@ function SpaceItem(_ref) {
116
125
  connected,
117
126
  progress,
118
127
  onDelete,
119
- onBackupNow
128
+ onBackupNow,
129
+ refreshSpaceGateways
120
130
  } = _ref,
121
131
  rest = _objectWithoutProperties(_ref, _excluded);
122
132
  const {
@@ -126,10 +136,7 @@ function SpaceItem(_ref) {
126
136
  const [loading, setLoading] = (0, _react.useState)(false);
127
137
  /** @type {{ blocklet: import('@abtnode/client').BlockletState }} */
128
138
  const {
129
- blocklet,
130
- actions: {
131
- refreshBlocklet
132
- }
139
+ blocklet
133
140
  } = (0, _blocklet.useBlockletContext)();
134
141
  const {
135
142
  api: nodeApi,
@@ -281,7 +288,7 @@ function SpaceItem(_ref) {
281
288
  setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {
282
289
  open: false
283
290
  }));
284
- refreshBlocklet();
291
+ refreshSpaceGateways();
285
292
  };
286
293
  const _onBackupNow = async () => {
287
294
  try {
@@ -311,13 +318,17 @@ function SpaceItem(_ref) {
311
318
  }
312
319
  // eslint-disable-next-line react-hooks/exhaustive-deps
313
320
  }, [progress]);
314
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("main", {
321
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BoxContainer, {
322
+ style: {
323
+ position: 'relative'
324
+ },
315
325
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, _objectSpread(_objectSpread({
316
326
  sx: {
317
327
  backgroundColor: connected ? '#F0FDFF' : 'inherit',
318
328
  '&:hover': {
319
329
  backgroundColor: connected ? '#F0FDFF' : '#FBFBFB'
320
- }
330
+ },
331
+ borderRadius: '8px'
321
332
  },
322
333
  display: "flex",
323
334
  padding: "12px 20px"
@@ -346,7 +357,7 @@ function SpaceItem(_ref) {
346
357
  alignItems: "center",
347
358
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
348
359
  color: connected ? 'primary' : 'inherit',
349
- fontSize: "18px",
360
+ fontSize: "1rem",
350
361
  fontWeight: "bold",
351
362
  children: spaceGateway.name
352
363
  }), shouldDisplayConnected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
@@ -394,8 +405,8 @@ function SpaceItem(_ref) {
394
405
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
395
406
  fontSize: "14px",
396
407
  color: (0, _didMotif.getDIDMotifInfo)(spaceGateway.did).color,
397
- children: "DID:"
398
- }), "ABT:", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
408
+ children: "DID:ABT:"
409
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
399
410
  style: {
400
411
  display: 'inline-flex',
401
412
  marginLeft: '8px'
@@ -507,7 +518,8 @@ function SpaceItem(_ref) {
507
518
  spaceGateway: spaceGateway,
508
519
  connected: connected,
509
520
  onDelete: onDelete,
510
- onConnect: onConnect
521
+ onConnect: onConnect,
522
+ enableSwitchToSpace: (progress === null || progress === void 0 ? void 0 : progress.completed) || (0, _lodash.isEmpty)(progress === null || progress === void 0 ? void 0 : progress.message)
511
523
  })]
512
524
  })]
513
525
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
@@ -525,7 +537,12 @@ function SpaceItem(_ref) {
525
537
  extraParams: authorizeConnect.extraParams,
526
538
  messages: authorizeConnect.messages,
527
539
  locale: locale
528
- }, "get-endpoint")]
540
+ }, "get-endpoint"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
541
+ className: "selected-container ".concat(connected ? 'selected' : ''),
542
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Check.default, {
543
+ className: "selected-icon"
544
+ })
545
+ })]
529
546
  });
530
547
  }
531
548
  SpaceItem.propTypes = {
@@ -538,6 +555,7 @@ SpaceItem.propTypes = {
538
555
  }).isRequired,
539
556
  connected: _propTypes.default.bool.isRequired,
540
557
  progress: _propTypes.default.any.isRequired,
558
+ refreshSpaceGateways: _propTypes.default.func.isRequired,
541
559
  onDelete: _propTypes.default.func,
542
560
  onBackupNow: _propTypes.default.func
543
561
  };
@@ -545,5 +563,6 @@ SpaceItem.defaultProps = {
545
563
  onDelete: () => undefined,
546
564
  onBackupNow: () => undefined
547
565
  };
566
+ const BoxContainer = (0, _styled.default)(_material.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .selected-container {\n position: absolute;\n right: 0px;\n bottom: 0px;\n display: flex;\n -webkit-box-pack: end;\n justify-content: flex-end;\n align-items: flex-end;\n width: 32px;\n height: 32px;\n border-radius: 0px 0px 8px;\n color: rgb(255, 255, 255);\n overflow: hidden;\n transition: all 0.4s ease 0s;\n\n &::after {\n position: absolute;\n z-index: 0;\n left: 60px;\n top: 60px;\n display: block;\n width: 0px;\n height: 0px;\n border-width: 16px;\n border-style: solid;\n border-color: transparent #1dc1c7 #1dc1c7 transparent;\n transition: all 0.1s ease 0s;\n content: '';\n }\n\n .selected-icon {\n visibility: hidden;\n width: 60%;\n height: 60%;\n position: relative;\n z-index: 2;\n margin: 0px 1px 1px 0px;\n font-size: 16px;\n transition: all 0.2s ease 0s;\n }\n }\n\n .selected-container.selected {\n &::after {\n left: 0px;\n top: 0px;\n }\n\n .selected-icon {\n visibility: visible;\n }\n }\n"])));
548
567
  var _default = SpaceItem;
549
568
  exports.default = _default;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = FormSelectInput;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
12
+ var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
13
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
14
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
15
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
16
+ var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
17
+ var _styles = require("@mui/material/styles");
18
+ var _required = _interopRequireDefault(require("./required"));
19
+ var _formWrapper = _interopRequireDefault(require("./form-wrapper"));
20
+ var _inputTriggers = _interopRequireDefault(require("./input-triggers"));
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ const _excluded = ["label", "disabled", "required", "initialValue", "onChange", "style", "onSubmit", "triggers", "options", "formatterBeforeSubmit"];
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ 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); }
25
+ 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; }
26
+ 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; }
27
+ 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; }
28
+ 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; }
29
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
30
+ 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); }
31
+ 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; }
32
+ 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; }
33
+ const ITEM_HEIGHT = 48;
34
+ const ITEM_PADDING_TOP = 8;
35
+ const MenuProps = {
36
+ PaperProps: {
37
+ style: {
38
+ maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,
39
+ width: 250
40
+ }
41
+ }
42
+ };
43
+ const getStyles = (current, selected, theme) => {
44
+ return {
45
+ fontWeight: selected.indexOf(current) === -1 ? theme.typography.fontWeightRegular : theme.typography.fontWeightMedium
46
+ };
47
+ };
48
+ function FormSelectInput(_ref) {
49
+ let {
50
+ label,
51
+ disabled,
52
+ required,
53
+ initialValue,
54
+ onChange,
55
+ style,
56
+ onSubmit,
57
+ triggers,
58
+ options,
59
+ formatterBeforeSubmit
60
+ } = _ref,
61
+ rest = _objectWithoutProperties(_ref, _excluded);
62
+ const theme = (0, _styles.useTheme)();
63
+ const [editing, setEditing] = (0, _react.useState)(false);
64
+ const [loading, setLoading] = (0, _react.useState)(false);
65
+ const [defaultValue, setDefaultValue] = (0, _react.useState)(initialValue);
66
+ const [value, setValue] = (0, _react.useState)(defaultValue);
67
+ const handleSubmit = async () => {
68
+ setLoading(true);
69
+ try {
70
+ const shouldUpdate = await onSubmit(typeof formatterBeforeSubmit === 'function' ? formatterBeforeSubmit(value) : value);
71
+ if (shouldUpdate === false) {
72
+ setValue(defaultValue);
73
+ } else {
74
+ setValue(value);
75
+ setDefaultValue(value);
76
+ }
77
+ } catch (err) {
78
+ setValue(defaultValue);
79
+ } finally {
80
+ setLoading(false);
81
+ setEditing(false);
82
+ }
83
+ };
84
+ const onInputChange = e => {
85
+ let {
86
+ value: selected
87
+ } = e.target;
88
+ selected = typeof selected === 'string' ? selected.split(',') : selected;
89
+ setValue(selected);
90
+ onChange(selected);
91
+ };
92
+ const input = editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, _objectSpread(_objectSpread({
93
+ value: value,
94
+ onChange: onInputChange,
95
+ fullWidth: true,
96
+ multiple: true,
97
+ variant: "outlined",
98
+ margin: "dense",
99
+ renderValue: selected => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
100
+ sx: {
101
+ display: 'flex',
102
+ flexWrap: 'wrap'
103
+ },
104
+ children: selected.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
105
+ label: options.find(o => o.code === x).name,
106
+ style: {
107
+ marginRight: 8
108
+ },
109
+ size: "small"
110
+ }, x))
111
+ }),
112
+ MenuProps: MenuProps
113
+ }, rest), {}, {
114
+ children: options.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
115
+ value: x.code,
116
+ style: getStyles(x.code, value, theme),
117
+ children: x.name
118
+ }, x.code))
119
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
120
+ px: 1,
121
+ className: "form-item-input slot",
122
+ style: {
123
+ whiteSpace: 'pre-wrap'
124
+ },
125
+ children: value.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {
126
+ label: options.find(o => o.code === x).name,
127
+ style: {
128
+ marginRight: 8
129
+ },
130
+ size: "small"
131
+ }, x))
132
+ });
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formWrapper.default, {
134
+ className: "form",
135
+ style: style,
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
137
+ className: "form-item",
138
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
139
+ className: "form-item-label",
140
+ children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
142
+ className: "form-item-body",
143
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
144
+ className: "form-item-input",
145
+ children: input
146
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
147
+ className: "form-item-action",
148
+ children: editing ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
149
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
150
+ "data-cy": "schema-form-item-confirm",
151
+ onClick: handleSubmit,
152
+ disabled: disabled || loading,
153
+ size: "large",
154
+ children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
155
+ size: 24
156
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Done.default, {})
157
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
158
+ "data-cy": "schema-form-item-cancel",
159
+ onClick: () => {
160
+ setValue(defaultValue);
161
+ setEditing(false);
162
+ },
163
+ disabled: disabled || loading,
164
+ size: "large",
165
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})
166
+ })]
167
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputTriggers.default, {
168
+ triggers: triggers,
169
+ onEnterEdit: () => setEditing(true),
170
+ disabled: disabled
171
+ })
172
+ })]
173
+ })]
174
+ })
175
+ });
176
+ }
177
+ FormSelectInput.propTypes = {
178
+ style: _propTypes.default.object,
179
+ onSubmit: _propTypes.default.func,
180
+ onChange: _propTypes.default.func,
181
+ label: _propTypes.default.string,
182
+ initialValue: _propTypes.default.string,
183
+ required: _propTypes.default.bool,
184
+ disabled: _propTypes.default.bool,
185
+ triggers: _propTypes.default.array,
186
+ options: _propTypes.default.array,
187
+ formatterBeforeSubmit: _propTypes.default.func
188
+ };
189
+ FormSelectInput.defaultProps = {
190
+ style: {},
191
+ onSubmit: () => {},
192
+ onChange: () => {},
193
+ label: '',
194
+ initialValue: '',
195
+ required: false,
196
+ disabled: false,
197
+ triggers: [],
198
+ options: [],
199
+ formatterBeforeSubmit: x => x.join(',')
200
+ };
@@ -9,20 +9,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
10
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
11
11
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
12
- var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
13
12
  var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
14
13
  var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
15
14
  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
15
  var _required = _interopRequireDefault(require("./required"));
25
16
  var _formWrapper = _interopRequireDefault(require("./form-wrapper"));
17
+ var _inputTriggers = _interopRequireDefault(require("./input-triggers"));
26
18
  var _jsxRuntime = require("react/jsx-runtime");
27
19
  const _excluded = ["label", "disabled", "required", "initialValue", "onChange", "placeholder", "style", "onSubmit", "secure", "triggers", "formatterBeforeSubmit"];
28
20
  /**
@@ -51,91 +43,7 @@ const getDisplayValue = (value, secure, initialValue) => {
51
43
  }
52
44
  return value;
53
45
  };
54
- function InputTriggers(_ref) {
55
- let {
56
- triggers,
57
- onEnterEdit,
58
- disabled
59
- } = _ref;
60
- const anchorRef = _react.default.useRef(null);
61
- const [open, setOpen] = _react.default.useState(false);
62
- const handleTriggerClick = cb => {
63
- setOpen(false);
64
- cb();
65
- };
66
- const handleToggle = () => {
67
- setOpen(prevOpen => !prevOpen);
68
- };
69
- const handleClose = event => {
70
- if (anchorRef.current && anchorRef.current.contains(event.target)) {
71
- return;
72
- }
73
- setOpen(false);
74
- };
75
- if (triggers.length === 0) {
76
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
77
- "data-cy": "schema-form-item-edit",
78
- onClick: onEnterEdit,
79
- disabled: disabled,
80
- size: "large",
81
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
82
- });
83
- }
84
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
85
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
86
- variant: "outlined",
87
- ref: anchorRef,
88
- "aria-label": "split button",
89
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
90
- "data-cy": "schema-form-item-edit",
91
- onClick: onEnterEdit,
92
- disabled: disabled,
93
- size: "large",
94
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
95
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
96
- size: "small",
97
- "aria-controls": open ? 'split-button-menu' : undefined,
98
- "aria-expanded": open ? 'true' : undefined,
99
- onClick: handleToggle,
100
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {})
101
- })]
102
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popper.default, {
103
- sx: {
104
- zIndex: 9999
105
- },
106
- open: open,
107
- anchorEl: anchorRef.current,
108
- role: undefined,
109
- placement: "bottom-end",
110
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
111
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
112
- onClickAway: handleClose,
113
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
114
- id: "split-button-menu",
115
- autoFocusItem: true,
116
- children: triggers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
117
- onClick: () => handleTriggerClick(x.handler),
118
- children: x.title
119
- }, x.key))
120
- })
121
- })
122
- })
123
- })]
124
- });
125
- }
126
- InputTriggers.propTypes = {
127
- triggers: _propTypes.default.arrayOf(_propTypes.default.shape({
128
- key: _propTypes.default.string.isRequired,
129
- title: _propTypes.default.string.isRequired,
130
- handler: _propTypes.default.func.isRequired
131
- })),
132
- onEnterEdit: _propTypes.default.func.isRequired,
133
- disabled: _propTypes.default.bool.isRequired
134
- };
135
- InputTriggers.defaultProps = {
136
- triggers: []
137
- };
138
- function FormTextInput(_ref2) {
46
+ function FormTextInput(_ref) {
139
47
  let {
140
48
  label,
141
49
  disabled,
@@ -148,8 +56,8 @@ function FormTextInput(_ref2) {
148
56
  secure,
149
57
  triggers,
150
58
  formatterBeforeSubmit
151
- } = _ref2,
152
- rest = _objectWithoutProperties(_ref2, _excluded);
59
+ } = _ref,
60
+ rest = _objectWithoutProperties(_ref, _excluded);
153
61
  const [editing, setEditing] = (0, _react.useState)(false);
154
62
  const [loading, setLoading] = (0, _react.useState)(false);
155
63
 
@@ -246,7 +154,7 @@ function FormTextInput(_ref2) {
246
154
  size: "large",
247
155
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})
248
156
  })]
249
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(InputTriggers, {
157
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputTriggers.default, {
250
158
  triggers: triggers,
251
159
  onEnterEdit: () => setEditing(true),
252
160
  disabled: disabled
@@ -9,5 +9,5 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
9
  var _templateObject;
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
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'));
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 .MuiChip-root {\n margin-top: -4px;\n }\n }\n\n .MuiSelect-select {\n padding: 8px;\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
13
  exports.default = _default;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = InputTriggers;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _EditIcon = _interopRequireDefault(require("@arcblock/icons/lib/EditIcon"));
10
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
12
+ var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
13
+ var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
14
+ var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
15
+ var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
16
+ var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
17
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
18
+ var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+ function InputTriggers(_ref) {
22
+ let {
23
+ triggers,
24
+ onEnterEdit,
25
+ disabled
26
+ } = _ref;
27
+ const anchorRef = _react.default.useRef(null);
28
+ const [open, setOpen] = _react.default.useState(false);
29
+ const handleTriggerClick = cb => {
30
+ setOpen(false);
31
+ cb();
32
+ };
33
+ const handleToggle = () => {
34
+ setOpen(prevOpen => !prevOpen);
35
+ };
36
+ const handleClose = event => {
37
+ if (anchorRef.current && anchorRef.current.contains(event.target)) {
38
+ return;
39
+ }
40
+ setOpen(false);
41
+ };
42
+ if (triggers.length === 0) {
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
44
+ "data-cy": "schema-form-item-edit",
45
+ onClick: onEnterEdit,
46
+ disabled: disabled,
47
+ size: "large",
48
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
49
+ });
50
+ }
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
53
+ variant: "outlined",
54
+ ref: anchorRef,
55
+ "aria-label": "split button",
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
57
+ "data-cy": "schema-form-item-edit",
58
+ onClick: onEnterEdit,
59
+ disabled: disabled,
60
+ size: "large",
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
63
+ size: "small",
64
+ "aria-controls": open ? 'split-button-menu' : undefined,
65
+ "aria-expanded": open ? 'true' : undefined,
66
+ onClick: handleToggle,
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {})
68
+ })]
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popper.default, {
70
+ sx: {
71
+ zIndex: 9999
72
+ },
73
+ open: open,
74
+ anchorEl: anchorRef.current,
75
+ role: undefined,
76
+ placement: "bottom-end",
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Paper.default, {
78
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
79
+ onClickAway: handleClose,
80
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuList.default, {
81
+ id: "split-button-menu",
82
+ autoFocusItem: true,
83
+ children: triggers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
84
+ onClick: () => handleTriggerClick(x.handler),
85
+ children: x.title
86
+ }, x.key))
87
+ })
88
+ })
89
+ })
90
+ })]
91
+ });
92
+ }
93
+ InputTriggers.propTypes = {
94
+ triggers: _propTypes.default.arrayOf(_propTypes.default.shape({
95
+ key: _propTypes.default.string.isRequired,
96
+ title: _propTypes.default.string.isRequired,
97
+ handler: _propTypes.default.func.isRequired
98
+ })),
99
+ onEnterEdit: _propTypes.default.func.isRequired,
100
+ disabled: _propTypes.default.bool.isRequired
101
+ };
102
+ InputTriggers.defaultProps = {
103
+ triggers: []
104
+ };
package/lib/locales/en.js CHANGED
@@ -390,6 +390,7 @@ module.exports = {
390
390
  name: 'Wallet Type',
391
391
  description: 'Blocklet instance wallet type, will change the derived DID'
392
392
  },
393
+ languages: 'Supported Languages',
393
394
  passportColor: 'Passport Color',
394
395
  appUrl: 'Blocklet URL',
395
396
  access: {
@@ -1346,6 +1347,11 @@ module.exports = {
1346
1347
  scan: 'Use your DID Wallet to scan the QR code below to allow the app {appName} to connect to DID Spaces',
1347
1348
  success: 'Connected successfully'
1348
1349
  },
1350
+ provideNFT: {
1351
+ title: 'Please show the DID Spaces NFT for {appName}',
1352
+ scan: 'Use your DID Wallet to scan the QR code below to allow the app {appName} show DID space NFT',
1353
+ success: 'Operation successfully'
1354
+ },
1349
1355
  backup: {
1350
1356
  title: 'Backup',
1351
1357
  records: 'Backup Records'
@@ -1360,7 +1366,7 @@ module.exports = {
1360
1366
  title: 'Add DID Spaces',
1361
1367
  label: 'Enter the url of the DID Spaces',
1362
1368
  failed: 'Add DID Spaces failed',
1363
- invalidUrl: 'Invalid DID Spaces url',
1369
+ invalidUrl: 'Invalid DID Spaces gateway url',
1364
1370
  duplicate: 'DID Space({name}) already exist'
1365
1371
  },
1366
1372
  delete: {
@@ -1397,6 +1403,7 @@ module.exports = {
1397
1403
  },
1398
1404
  notYet: "You don't have a backup in progress yet...",
1399
1405
  connect: {
1406
+ now: 'Connect',
1400
1407
  title: 'Connect DID Spaces',
1401
1408
  provider: 'Provide your DID Spaces to start backups',
1402
1409
  useWallet: 'Connect DID Spaces',
package/lib/locales/zh.js CHANGED
@@ -394,6 +394,7 @@ module.exports = {
394
394
  name: '钱包类型',
395
395
  description: '应用钱包类型,会影响派生出来的 DID'
396
396
  },
397
+ languages: '支持的语言',
397
398
  passportColor: '通行证颜色',
398
399
  appUrl: '应用访问地址',
399
400
  access: {
@@ -1368,7 +1369,7 @@ module.exports = {
1368
1369
  title: '添加 DID Spaces',
1369
1370
  label: '输入 DID Spaces 的地址',
1370
1371
  failed: '添加 DID Spaces 失败',
1371
- invalidUrl: '无效的 DID Spaces 地址',
1372
+ invalidUrl: '无效的 DID Spaces 网关地址',
1372
1373
  duplicate: 'DID Space({name}) 已存在'
1373
1374
  },
1374
1375
  delete: {
@@ -1405,6 +1406,7 @@ module.exports = {
1405
1406
  },
1406
1407
  notYet: '你还没有正在进行中的备份...',
1407
1408
  connect: {
1409
+ now: '立即连接',
1408
1410
  title: '使用 DID Wallet 连接',
1409
1411
  provider: '提供您的 DID Spaces 开始备份',
1410
1412
  useWallet: '使用 DID Wallet 连接',