@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,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var _templateObject;
12
+ const _excluded = ["invitation"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+ 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; }
16
+ 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; }
17
+ 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; }
18
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
+ 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); }
20
+ 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; }
21
+ 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; }
22
+ function InvitationApp(_ref) {
23
+ let {
24
+ invitation
25
+ } = _ref,
26
+ rest = _objectWithoutProperties(_ref, _excluded);
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, _objectSpread(_objectSpread({}, rest), {}, {
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
29
+ did: invitation.info.did,
30
+ src: invitation.info.logo,
31
+ style: {
32
+ flexShrink: 0
33
+ }
34
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
35
+ className: "invite-app__content",
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
+ className: "invite-app__title",
38
+ children: invitation.info.name
39
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
40
+ className: "invite-app__description",
41
+ children: invitation.info.description
42
+ })]
43
+ })]
44
+ }));
45
+ }
46
+ InvitationApp.propTypes = {
47
+ invitation: _propTypes.default.object.isRequired
48
+ };
49
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n .invite-app__content {\n flex: 1;\n margin: 0 12px;\n font-weight: 700;\n overflow: hidden;\n }\n .invite-app__title {\n line-height: 1;\n margin-bottom: 2px;\n overflow: hidden;\n }\n .invite-app__description {\n font-size: 12px;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: 1.3em;\n color: #999;\n overflow: hidden;\n }\n"])));
50
+ var _default = InvitationApp;
51
+ exports.default = _default;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _context = require("@arcblock/ux/lib/Locale/context");
10
+ var _Button = _interopRequireDefault(require("@arcblock/did-connect/lib/Button"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _templateObject;
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+ function InvitationLogin(_ref) {
16
+ let {
17
+ onLogin
18
+ } = _ref;
19
+ const {
20
+ t
21
+ } = (0, _context.useLocaleContext)();
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, {
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
24
+ size: "large",
25
+ variant: "contained",
26
+ className: "invite-receive__button",
27
+ "data-cy": "invite-receive-passport",
28
+ color: "primary",
29
+ onClick: () => onLogin(),
30
+ children: t('common.connect')
31
+ })
32
+ });
33
+ }
34
+ InvitationLogin.propTypes = {
35
+ onLogin: _propTypes.default.func
36
+ };
37
+ InvitationLogin.defaultProps = {
38
+ onLogin: () => {}
39
+ };
40
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n text-align: center;\n .invite-receive__logo-wrapper {\n display: inline-flex;\n align-items: center;\n color: #9397a1;\n font-size: 14px;\n }\n .invite-receive__logo {\n height: 16px;\n margin-left: 8px;\n }\n .invite-receive__button {\n width: 100%;\n margin: 16px 0;\n white-space: nowrap;\n }\n .invite-receive__until {\n text-align: center;\n font-size: 14px;\n }\n .invite-receive__description {\n color: #999;\n text-align: left;\n list-style: decimal;\n padding: 0;\n padding-left: 1.2em;\n margin: 40px 0;\n }\n .invite-receive__description-item {\n list-style: decimal;\n }\n .invite-receive__link {\n color: ", ";\n }\n"])), _ref2 => {
41
+ let {
42
+ theme
43
+ } = _ref2;
44
+ return theme.palette.primary.main;
45
+ });
46
+ var _default = InvitationLogin;
47
+ exports.default = _default;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _createPassportSvg = _interopRequireDefault(require("@abtnode/auth/lib/util/create-passport-svg"));
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
13
+ var _iconsMaterial = require("@mui/icons-material");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _templateObject;
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
+ function InvitationPassport(_ref) {
19
+ let {
20
+ invitation,
21
+ passportColor
22
+ } = _ref;
23
+ const [open, setOpen] = (0, _react.useState)(false);
24
+ const {
25
+ t
26
+ } = (0, _react.useContext)(_context.LocaleContext);
27
+ const roleName = (0, _react.useMemo)(() => {
28
+ const roleRaw = invitation.role.title || invitation.role.name;
29
+ return roleRaw.toUpperCase();
30
+ }, [invitation.role.title, invitation.role.name]);
31
+ const display = (0, _react.useMemo)(() => {
32
+ return (0, _createPassportSvg.default)({
33
+ title: roleName,
34
+ issuer: invitation.info.name,
35
+ issuerDid: invitation.info.appDid,
36
+ ownerName: 'Your Name',
37
+ // can't get avatar, cause user is not login
38
+ // ownerAvatarUrl: user.avatar,
39
+ isDataUrl: true,
40
+ preferredColor: invitation.info.passportColor || passportColor
41
+ });
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ }, [invitation, roleName]);
44
+ const onViewPermission = (0, _react.useCallback)(() => {
45
+ setOpen(true);
46
+ }, []);
47
+ const onClose = (0, _react.useCallback)(() => {
48
+ setOpen(false);
49
+ }, []);
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, {
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ className: "invite-passport__card",
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
55
+ src: display,
56
+ alt: "passport",
57
+ className: "invite-passport__cover"
58
+ })
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
60
+ className: "invite-passport__content",
61
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
62
+ className: "invite-passport__title",
63
+ children: roleName
64
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
65
+ className: "invite-passport__description",
66
+ title: invitation.role.description,
67
+ children: invitation.role.description
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
+ style: {
70
+ flex: 1
71
+ }
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
73
+ className: "invite-passport__view-permission",
74
+ onClick: onViewPermission,
75
+ children: t('invite.viewPermission')
76
+ })]
77
+ })]
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
79
+ open: open,
80
+ title: t('invite.viewPermission'),
81
+ PaperProps: {
82
+ style: {
83
+ minHeight: 'auto',
84
+ paddingBottom: '20px'
85
+ }
86
+ },
87
+ onClose: onClose,
88
+ children: invitation.role.permissions && invitation.role.permissions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
89
+ style: {
90
+ listStyle: 'circle',
91
+ padding: '0 20px'
92
+ },
93
+ children: invitation.role.permissions.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
94
+ style: {
95
+ listStyle: 'circle'
96
+ },
97
+ children: item.description
98
+ }, item.name))
99
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
100
+ style: {
101
+ color: '#999',
102
+ textAlign: 'center'
103
+ },
104
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_iconsMaterial.Inbox, {
105
+ style: {
106
+ width: '30px',
107
+ height: '30px'
108
+ }
109
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
110
+ children: t('invite.emptyPermission')
111
+ })]
112
+ })
113
+ })]
114
+ });
115
+ }
116
+ InvitationPassport.propTypes = {
117
+ invitation: _propTypes.default.object.isRequired,
118
+ passportColor: _propTypes.default.string
119
+ };
120
+ InvitationPassport.defaultProps = {
121
+ passportColor: 'auto'
122
+ };
123
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n max-width: 350px;\n margin: 30px auto;\n .invite-passport__card {\n margin-right: 12px;\n width: 100px;\n height: 100px;\n flex-shrink: 0;\n .invite-passport__cover {\n width: 100%;\n height: 100%;\n }\n }\n .invite-passport__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n .invite-passport__title {\n font-weight: 700;\n font-size: 16px;\n }\n .invite-passport__description {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n height: 3em;\n color: #999;\n font-size: 14px;\n }\n .invite-passport__view-permission {\n cursor: pointer;\n font-size: 14px;\n font-weight: 600;\n line-height: 18px;\n color: ", ";\n }\n"])), _ref2 => {
124
+ let {
125
+ theme
126
+ } = _ref2;
127
+ return theme.palette.primary.main;
128
+ });
129
+ var _default = InvitationPassport;
130
+ exports.default = _default;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
12
+ var _Button = _interopRequireDefault(require("@arcblock/did-connect/lib/Button"));
13
+ var _utils = require("@arcblock/did-connect/lib/utils");
14
+ var _util = require("../util");
15
+ var _usePassportId = _interopRequireDefault(require("../../lib/hooks/use-passport-id"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var _templateObject;
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
20
+ function InvitationReceive(_ref) {
21
+ let {
22
+ invitation,
23
+ checkFn,
24
+ onLogin,
25
+ onReceive
26
+ } = _ref;
27
+ const [open, setOpen] = (0, _react.useState)(false);
28
+ const {
29
+ t,
30
+ locale
31
+ } = (0, _context.useLocaleContext)();
32
+ const {
33
+ getPassportId
34
+ } = (0, _usePassportId.default)();
35
+ const extraParams = {
36
+ passportId: getPassportId(),
37
+ inviteId: invitation.inviteId
38
+ };
39
+ const onClose = (0, _react.useCallback)(() => {
40
+ setOpen(false);
41
+ }, []);
42
+ const onSuccess = (0, _react.useCallback)(function () {
43
+ setOpen(false);
44
+ onLogin(...arguments);
45
+ }, [onLogin]);
46
+ const onClickReceive = (0, _react.useCallback)(() => {
47
+ if (typeof onReceive === 'function') {
48
+ onReceive();
49
+ return;
50
+ }
51
+ setOpen(true);
52
+ // eslint-disable-next-line react-hooks/exhaustive-deps
53
+ }, []);
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, {
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
57
+ size: "large",
58
+ variant: "contained",
59
+ className: "invite-receive__button",
60
+ "data-cy": "invite-receive-passport",
61
+ color: "primary",
62
+ onClick: onClickReceive,
63
+ children: t('invite.receive')
64
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
65
+ className: "invite-receive__until",
66
+ children: [t('invite.validUntil'), (0, _util.formatDateTime)(invitation.expireDate)]
67
+ })]
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {
69
+ popup: true,
70
+ open: open,
71
+ className: "connect",
72
+ action: "invite",
73
+ checkFn: checkFn,
74
+ forceConnected: false,
75
+ autoConnect: false,
76
+ checkTimeout: 10 * 60 * 1000,
77
+ onSuccess: onSuccess,
78
+ onClose: onClose,
79
+ locale: locale,
80
+ webWalletUrl: (0, _utils.getWebWalletUrl)(),
81
+ messages: {
82
+ title: t('receive.dialog.title'),
83
+ scan: t('receive.dialog.scan'),
84
+ confirm: t('receive.dialog.confirm'),
85
+ success: t('receive.dialog.success')
86
+ },
87
+ extraParams: extraParams
88
+ })]
89
+ });
90
+ }
91
+ InvitationReceive.propTypes = {
92
+ invitation: _propTypes.default.object.isRequired,
93
+ checkFn: _propTypes.default.func.isRequired,
94
+ onLogin: _propTypes.default.func,
95
+ onReceive: _propTypes.default.func
96
+ };
97
+ InvitationReceive.defaultProps = {
98
+ onLogin: () => {},
99
+ onReceive: null
100
+ };
101
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n text-align: center;\n .invite-receive__logo-wrapper {\n display: inline-flex;\n align-items: center;\n color: #9397a1;\n font-size: 14px;\n }\n .invite-receive__logo {\n height: 16px;\n margin-left: 8px;\n }\n .invite-receive__button {\n width: 100%;\n margin: 16px 0;\n white-space: nowrap;\n }\n .invite-receive__until {\n text-align: center;\n font-size: 14px;\n }\n .invite-receive__description {\n color: #999;\n text-align: left;\n list-style: decimal;\n padding: 0;\n padding-left: 1.2em;\n margin: 40px 0;\n }\n .invite-receive__description-item {\n list-style: decimal;\n }\n .invite-receive__link {\n color: ", ";\n }\n"])), _ref2 => {
102
+ let {
103
+ theme
104
+ } = _ref2;
105
+ return theme.palette.primary.main;
106
+ });
107
+ var _default = InvitationReceive;
108
+ exports.default = _default;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _CheckCircle = _interopRequireDefault(require("@mui/icons-material/CheckCircle"));
13
+ var _util = require("../util");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _templateObject;
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
+ function InvitationSuccess(_ref) {
19
+ let {
20
+ invitation,
21
+ type
22
+ } = _ref;
23
+ const {
24
+ t
25
+ } = (0, _context.useLocaleContext)();
26
+ const message = (0, _react.useMemo)(() => {
27
+ return t('invite.success', {
28
+ dapp: '{{dapp}}'
29
+ });
30
+ }, [t]);
31
+ const accountLink = (0, _util.getExplorerLink)(invitation.info.chainHost, invitation.inviter.did, 'account');
32
+ const user = type === 'receiver' ? invitation.receiver : invitation.inviter;
33
+ const messageList = (0, _util.patchJsxToLocale)(message, {
34
+ name() {
35
+ return accountLink ? /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
36
+ target: "_blank",
37
+ href: accountLink,
38
+ className: "invite-user__link",
39
+ rel: "noreferrer",
40
+ children: user.fullName
41
+ }, "name") : user.fullName;
42
+ },
43
+ dapp() {
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
45
+ target: "_blank",
46
+ href: invitation.info.url,
47
+ className: "invite-user__link",
48
+ rel: "noreferrer",
49
+ children: invitation.info.name
50
+ }, "dapp");
51
+ }
52
+ });
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, {
54
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
55
+ pt: 1,
56
+ color: "success.main",
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckCircle.default, {
58
+ style: {
59
+ fontSize: 80
60
+ }
61
+ })
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
63
+ className: "invite-user__message",
64
+ children: messageList
65
+ })]
66
+ });
67
+ }
68
+ InvitationSuccess.propTypes = {
69
+ invitation: _propTypes.default.object.isRequired,
70
+ type: _propTypes.default.oneOf('inviter', 'receiver')
71
+ };
72
+ InvitationSuccess.defaultProps = {
73
+ type: 'inviter'
74
+ };
75
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .invite-user__name {\n font-weight: 700;\n font-size: 16px;\n margin: 8px 0 2px 0;\n }\n .invite-user__address {\n font-size: 12px;\n }\n .invite-user__message {\n margin-top: 20px;\n font-weight: 700;\n /* width: 90%; */\n text-align: center;\n font-size: 18px;\n }\n .invite-user__link {\n color: ", ";\n }\n"])), _ref2 => {
76
+ let {
77
+ theme
78
+ } = _ref2;
79
+ return theme.palette.primary.main;
80
+ });
81
+ var _default = InvitationSuccess;
82
+ exports.default = _default;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
11
+ var _context = require("@arcblock/ux/lib/Locale/context");
12
+ var _util = require("../util");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var _templateObject;
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
+ function InvitationUser(_ref) {
18
+ let {
19
+ invitation
20
+ } = _ref;
21
+ const {
22
+ t
23
+ } = (0, _context.useLocaleContext)();
24
+ const roleName = (0, _react.useMemo)(() => {
25
+ const role = invitation.role.title || invitation.role.name;
26
+ return role.toUpperCase();
27
+ }, [invitation.role.title, invitation.role.name]);
28
+ const message = (0, _react.useMemo)(() => {
29
+ return t('invite.message', {
30
+ name: '{{name}}',
31
+ role: roleName,
32
+ dapp: '{{dapp}}'
33
+ });
34
+ }, [t, roleName]);
35
+ const accountLink = (0, _util.getExplorerLink)(invitation.info.chainHost, invitation.inviter.did, 'account');
36
+ const messageList = (0, _util.patchJsxToLocale)(message, {
37
+ name() {
38
+ return accountLink ? /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
39
+ target: "_blank",
40
+ href: accountLink,
41
+ className: "invite-user__link",
42
+ rel: "noreferrer",
43
+ children: invitation.inviter.fullName
44
+ }, "name") : invitation.inviter.fullName;
45
+ },
46
+ dapp() {
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
48
+ target: "_blank",
49
+ href: invitation.info.url,
50
+ className: "invite-user__link",
51
+ rel: "noreferrer",
52
+ children: invitation.info.name
53
+ }, "dapp");
54
+ }
55
+ });
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, {
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
58
+ did: invitation.inviter.did,
59
+ src: encodeURI(invitation.inviter.avatar),
60
+ size: 80,
61
+ shape: "circle",
62
+ variant: "circle"
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
+ className: "invite-user__message",
65
+ children: messageList
66
+ })]
67
+ });
68
+ }
69
+ InvitationUser.propTypes = {
70
+ invitation: _propTypes.default.object.isRequired
71
+ };
72
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .invite-user__name {\n font-weight: 700;\n font-size: 16px;\n margin: 8px 0 2px 0;\n }\n .invite-user__address {\n font-size: 12px;\n }\n .invite-user__message {\n margin-top: 20px;\n font-weight: 700;\n /* width: 90%; */\n text-align: center;\n font-size: 18px;\n }\n .invite-user__link {\n color: ", ";\n }\n"])), _ref2 => {
73
+ let {
74
+ theme
75
+ } = _ref2;
76
+ return theme.palette.primary.main;
77
+ });
78
+ var _default = InvitationUser;
79
+ exports.default = _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _ahooks = require("ahooks");
10
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
11
+ var _Result = _interopRequireDefault(require("@arcblock/ux/lib/Result"));
12
+ var _invitationPassport = _interopRequireDefault(require("./invitation-passport"));
13
+ var _invitationReceive = _interopRequireDefault(require("./invitation-receive"));
14
+ var _invitationLogin = _interopRequireDefault(require("./invitation-login"));
15
+ var _invitationUser = _interopRequireDefault(require("./invitation-user"));
16
+ var _invitationSuccess = _interopRequireDefault(require("./invitation-success"));
17
+ var _invitationApp = _interopRequireDefault(require("./invitation-app"));
18
+ var _wrapLocale = _interopRequireDefault(require("../wrap-locale"));
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ var _templateObject;
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
+ function Invitation(_ref) {
24
+ let {
25
+ getDataFn,
26
+ passportColor,
27
+ onLoginSuccess,
28
+ checkFn,
29
+ onReceive
30
+ } = _ref;
31
+ const state = (0, _ahooks.useRequest)(getDataFn);
32
+ if (state.loading) {
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {});
34
+ }
35
+ if (state.error) {
36
+ var _state$error, _state$error$response;
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Result.default, {
38
+ status: "404",
39
+ title: (_state$error = state.error) === null || _state$error === void 0 ? void 0 : (_state$error$response = _state$error.response) === null || _state$error$response === void 0 ? void 0 : _state$error$response.data,
40
+ description: ""
41
+ });
42
+ }
43
+ const isSuccess = state.data.status === 'success';
44
+ const Section1 = isSuccess ? _invitationSuccess.default : _invitationUser.default;
45
+ const Section2 = isSuccess ? _invitationLogin.default : _invitationReceive.default;
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, {
47
+ className: "page-invite__wrapper",
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_invitationApp.default, {
49
+ invitation: state.data
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
51
+ className: "page-invite__card",
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Section1, {
53
+ invitation: state.data
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_invitationPassport.default, {
55
+ invitation: state.data,
56
+ passportColor: passportColor
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Section2, {
58
+ invitation: state.data,
59
+ onLogin: onLoginSuccess,
60
+ checkFn: checkFn,
61
+ onReceive: onReceive
62
+ })]
63
+ })]
64
+ });
65
+ }
66
+ Invitation.propTypes = {
67
+ getDataFn: _propTypes.default.func.isRequired,
68
+ checkFn: _propTypes.default.func.isRequired,
69
+ onLoginSuccess: _propTypes.default.func,
70
+ onReceive: _propTypes.default.func,
71
+ passportColor: _propTypes.default.string
72
+ };
73
+ Invitation.defaultProps = {
74
+ onLoginSuccess: () => {},
75
+ passportColor: 'auto',
76
+ onReceive: null
77
+ };
78
+ const Root = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: 460px;\n max-height: 650px;\n min-height: 450px;\n width: 90%;\n height: 80%;\n display: flex;\n flex-direction: column;\n .page-invite__card {\n background-color: #fff;\n border-radius: 4px;\n flex: 1;\n padding: 20px 30px;\n margin-top: 10px;\n }\n .page-invite__app {\n margin-top: 20px;\n }\n"])));
79
+ var _default = (0, _wrapLocale.default)(Invitation);
80
+ exports.default = _default;