@arcblock/ux 2.5.58 → 2.5.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ActionButton/index.js +20 -39
- package/lib/ActivityIndicator/index.js +20 -41
- package/lib/Address/compact-text.js +16 -38
- package/lib/Address/did-address.js +22 -51
- package/lib/Address/index.js +6 -19
- package/lib/Address/responsive-did-address.js +20 -36
- package/lib/Alert/index.js +12 -34
- package/lib/AnimationWaiter/index.js +35 -59
- package/lib/Async/index.js +5 -19
- package/lib/Avatar/did-motif.js +12 -26
- package/lib/Avatar/etherscan-blockies.js +2 -20
- package/lib/Avatar/index.js +28 -54
- package/lib/Badge/index.js +12 -33
- package/lib/Blocklet/blocklet.js +20 -47
- package/lib/Blocklet/index.js +0 -6
- package/lib/Blocklet/utils.js +0 -6
- package/lib/BlockletNFT/index.js +37 -67
- package/lib/Button/index.js +0 -4
- package/lib/Button/wrap.js +19 -38
- package/lib/ButtonGroup/index.js +0 -5
- package/lib/CardSelector/index.js +9 -22
- package/lib/Center/index.js +2 -12
- package/lib/ClickToCopy/copy-button.js +9 -26
- package/lib/ClickToCopy/hook.js +0 -10
- package/lib/ClickToCopy/index.js +13 -41
- package/lib/CodeBlock/LightBox.js +1 -6
- package/lib/CodeBlock/index.js +12 -80
- package/lib/Colors/index.js +0 -2
- package/lib/Colors/themes/default.js +2 -3
- package/lib/ContactForm/index.js +5 -35
- package/lib/CookieConsent/index.js +10 -32
- package/lib/CountDown/index.js +10 -35
- package/lib/DID/index.js +8 -32
- package/lib/Datatable/CustomToolbar.js +9 -56
- package/lib/Datatable/DatatableContext.js +2 -5
- package/lib/Datatable/TableSearch.js +0 -21
- package/lib/Datatable/index.js +76 -152
- package/lib/Datatable/utils.js +14 -27
- package/lib/Dialog/confirm.js +18 -31
- package/lib/Dialog/dialog.js +24 -50
- package/lib/Dialog/index.js +0 -3
- package/lib/DidLogo/index.js +0 -7
- package/lib/DriftBot/index.js +1 -12
- package/lib/Earth/index.js +17 -58
- package/lib/Earth/util.js +0 -7
- package/lib/Empty/index.js +9 -23
- package/lib/ErrorBoundary/fallback.js +0 -14
- package/lib/ErrorBoundary/index.js +0 -2
- package/lib/Footer/index.js +1 -14
- package/lib/Header/auto-hidden.js +9 -23
- package/lib/Header/header.js +19 -38
- package/lib/Header/index.js +0 -3
- package/lib/Header/responsive-header.js +16 -40
- package/lib/Icon/image.js +12 -26
- package/lib/Icon/index.js +15 -34
- package/lib/Img/index.js +32 -54
- package/lib/InfoRow/index.js +11 -27
- package/lib/Layout/dashboard/external-link.js +13 -30
- package/lib/Layout/dashboard/full-page.js +8 -24
- package/lib/Layout/dashboard/index.js +28 -72
- package/lib/Layout/dashboard/sidebar.js +11 -31
- package/lib/Layout/dashboard-legacy/header.js +14 -36
- package/lib/Layout/dashboard-legacy/index.js +19 -44
- package/lib/Layout/dashboard-legacy/sidebar.js +10 -32
- package/lib/Layout/index.js +18 -52
- package/lib/Locale/browser-lang.js +6 -19
- package/lib/Locale/context.js +15 -51
- package/lib/Locale/languages.js +3 -7
- package/lib/Locale/selector.js +11 -44
- package/lib/Locale/util.js +0 -10
- package/lib/Logo/index.js +10 -33
- package/lib/Metric/index.js +1 -9
- package/lib/NFTDisplay/aspect-ratio-container.js +7 -20
- package/lib/NFTDisplay/broken.js +0 -8
- package/lib/NFTDisplay/index.js +63 -110
- package/lib/NFTDisplay/loading.js +0 -6
- package/lib/NFTDisplay/svg-embedder/img.js +9 -22
- package/lib/NFTDisplay/svg-embedder/inline-svg.js +9 -23
- package/lib/NavMenu/index.js +0 -2
- package/lib/NavMenu/nav-menu.js +40 -69
- package/lib/NavMenu/style.js +1 -5
- package/lib/PageScroller/index.js +9 -39
- package/lib/PageScroller/story/FifthComponent.js +0 -2
- package/lib/PageScroller/story/FirstComponent.js +0 -2
- package/lib/PageScroller/story/FourthComponent.js +0 -2
- package/lib/PageScroller/story/FullPage.js +1 -14
- package/lib/PageScroller/story/PageContain.js +1 -14
- package/lib/PageScroller/story/SecondComponent.js +0 -2
- package/lib/PageScroller/story/ThirdComponent.js +0 -2
- package/lib/PageScroller/usePrevValue.js +1 -2
- package/lib/PricingTable/PricingPlan.js +0 -12
- package/lib/PricingTable/index.js +0 -14
- package/lib/QRCode/index.js +14 -24
- package/lib/RelativeTime/index.js +12 -45
- package/lib/Result/common.js +43 -63
- package/lib/Result/index.js +6 -23
- package/lib/Result/result.js +9 -23
- package/lib/Screenshot/BaseScreenshot/index.js +9 -26
- package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +9 -10
- package/lib/Screenshot/BaseScreenshot/shells/Phone.js +3 -8
- package/lib/Screenshot/index.js +32 -65
- package/lib/SessionManager/federated-login-detecter.js +171 -0
- package/lib/SessionManager/index.js +189 -271
- package/lib/SessionManager/user-popper.js +83 -0
- package/lib/Sparkline/index.js +40 -42
- package/lib/Spinner/index.js +12 -23
- package/lib/SplitButton/index.js +20 -48
- package/lib/Switch/index.js +7 -22
- package/lib/Tabs/index.js +8 -22
- package/lib/Tag/index.js +13 -33
- package/lib/TextCollapse/index.js +14 -31
- package/lib/Theme/index.js +3 -13
- package/lib/Theme/theme-provider.js +1 -10
- package/lib/Theme/theme.js +15 -27
- package/lib/Toast/index.js +13 -40
- package/lib/Util/deprecate.js +3 -12
- package/lib/Util/index.js +13 -74
- package/lib/Util/wallet.js +3 -10
- package/lib/Video/index.js +3 -19
- package/lib/Wallet/Action.js +9 -28
- package/lib/Wallet/Download.js +11 -36
- package/lib/Wallet/Open.js +0 -12
- package/lib/WebWalletSWKeeper/index.js +30 -55
- package/lib/WechatPrompt/index.js +0 -16
- package/lib/index.js +0 -38
- package/lib/withTheme/index.js +3 -15
- package/lib/withTracker/error_boundary.js +3 -14
- package/lib/withTracker/index.js +3 -24
- package/package.json +5 -5
- package/src/Blocklet/blocklet.js +1 -1
- package/src/BlockletNFT/index.js +1 -1
- package/src/NFTDisplay/index.js +4 -4
- package/src/SessionManager/federated-login-detecter.jsx +138 -0
- package/src/SessionManager/index.jsx +140 -233
- package/src/SessionManager/user-popper.jsx +121 -0
@@ -5,15 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.Shell = Shell;
|
7
7
|
exports.width = exports.screenData = exports.ratio = exports.height = exports.default = void 0;
|
8
|
-
|
9
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
10
|
-
|
11
9
|
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; }
|
12
|
-
|
13
10
|
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; }
|
14
|
-
|
15
|
-
function
|
16
|
-
|
11
|
+
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; }
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
13
|
+
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); }
|
17
14
|
function Shell(_ref) {
|
18
15
|
let rest = Object.assign({}, _ref);
|
19
16
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", _objectSpread(_objectSpread({
|
@@ -35,16 +32,18 @@ function Shell(_ref) {
|
|
35
32
|
fill: "#282828"
|
36
33
|
})]
|
37
34
|
}));
|
38
|
-
}
|
39
|
-
|
35
|
+
}
|
40
36
|
|
37
|
+
// 设备截图的实际尺寸
|
41
38
|
const width = 909;
|
42
39
|
exports.width = width;
|
43
|
-
const height = 517;
|
40
|
+
const height = 517;
|
44
41
|
|
42
|
+
// 屏幕的比例
|
45
43
|
exports.height = height;
|
46
|
-
const ratio = 438 / 785;
|
44
|
+
const ratio = 438 / 785;
|
47
45
|
|
46
|
+
// 屏幕相关数据
|
48
47
|
exports.ratio = ratio;
|
49
48
|
const screenData = {
|
50
49
|
// 屏幕坐标轴相对图片的百分比
|
@@ -5,20 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.Shell = Shell;
|
7
7
|
exports.width = exports.screenData = exports.ratio = exports.height = exports.default = void 0;
|
8
|
-
|
9
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
10
|
-
|
11
9
|
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; }
|
12
|
-
|
13
10
|
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; }
|
14
|
-
|
15
|
-
function
|
16
|
-
|
11
|
+
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; }
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
13
|
+
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); }
|
17
14
|
const width = 268;
|
18
15
|
exports.width = width;
|
19
16
|
const height = 554;
|
20
17
|
exports.height = height;
|
21
|
-
|
22
18
|
function Shell(_ref) {
|
23
19
|
let rest = Object.assign({}, _ref);
|
24
20
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
|
@@ -36,7 +32,6 @@ function Shell(_ref) {
|
|
36
32
|
})
|
37
33
|
}));
|
38
34
|
}
|
39
|
-
|
40
35
|
const ratio = 798 / 386;
|
41
36
|
exports.ratio = ratio;
|
42
37
|
const screenData = {
|
package/lib/Screenshot/index.js
CHANGED
@@ -4,40 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
-
|
8
7
|
var _react = require("react");
|
9
|
-
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
11
|
-
|
12
9
|
var _Util = require("../Util");
|
13
|
-
|
14
10
|
var _Theme = require("../Theme");
|
15
|
-
|
16
11
|
var _BaseScreenshot = _interopRequireDefault(require("./BaseScreenshot"));
|
17
|
-
|
18
12
|
require("./devices.css");
|
19
|
-
|
20
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
21
|
-
|
22
14
|
var _templateObject, _templateObject2;
|
23
|
-
|
24
15
|
const _excluded = ["type", "children", "style", "className", "width", "height"],
|
25
|
-
|
26
|
-
|
16
|
+
_excluded2 = ["type", "src", "children", "style", "sx"];
|
27
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
28
|
-
|
29
18
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
30
|
-
|
31
19
|
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
|
-
|
33
20
|
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; }
|
34
|
-
|
35
|
-
function
|
36
|
-
|
21
|
+
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; }
|
22
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
23
|
+
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); }
|
37
24
|
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; }
|
38
|
-
|
39
25
|
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; }
|
40
|
-
|
41
26
|
const types = {
|
42
27
|
'iphone-x': {
|
43
28
|
borderRadius: 32,
|
@@ -109,56 +94,45 @@ const childProps = {
|
|
109
94
|
img: ['alt', 'title', 'src', 'srcSet', 'sizes', 'loading', 'key', 'children'],
|
110
95
|
video: ['alt', 'title', 'muted', 'autoplay', 'loop', 'key', 'children']
|
111
96
|
};
|
112
|
-
|
113
97
|
const createChild = child => [/*#__PURE__*/(0, _react.createElement)(child.type, childProps[child.type].reduce((acc, x) => {
|
114
98
|
acc[x] = child.props[x];
|
115
99
|
return acc;
|
116
100
|
}, {}))];
|
117
|
-
|
118
101
|
const findChildren = function findChildren(children) {
|
119
102
|
let returnArgWhenNotFound = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
120
|
-
|
121
103
|
for (let i = 0; i < children.length; i++) {
|
122
104
|
const child = children[i];
|
123
|
-
|
124
105
|
if (['img', 'video'].includes(child.type)) {
|
125
106
|
return createChild(child);
|
126
107
|
}
|
127
|
-
|
128
108
|
if (child.props && child.props.children) {
|
129
109
|
const subChildren = _react.Children.toArray(child.props.children);
|
130
|
-
|
131
110
|
const result = findChildren(subChildren, false);
|
132
|
-
|
133
111
|
if (result) {
|
134
112
|
return result;
|
135
113
|
}
|
136
114
|
}
|
137
115
|
}
|
138
|
-
|
139
116
|
if (returnArgWhenNotFound) {
|
140
117
|
return children;
|
141
118
|
}
|
142
|
-
|
143
119
|
return null;
|
144
|
-
};
|
120
|
+
};
|
121
|
+
|
122
|
+
// This component is built upon the awesome device.css lib
|
145
123
|
// By default it will find and only render img/video tags in the children
|
146
124
|
// If neither of them are found, the whole child tree is rendered
|
147
|
-
|
148
|
-
|
149
125
|
function OldScreenshot(props) {
|
150
126
|
const newProps = (0, _Util.mergeProps)(props, OldScreenshot, ['style', 'width', 'height']);
|
151
|
-
|
152
127
|
const {
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
128
|
+
type,
|
129
|
+
children,
|
130
|
+
style,
|
131
|
+
className,
|
132
|
+
width,
|
133
|
+
height
|
134
|
+
} = newProps,
|
135
|
+
rest = _objectWithoutProperties(newProps, _excluded);
|
162
136
|
const {
|
163
137
|
zIndex = 0,
|
164
138
|
borderRadius = 0
|
@@ -190,7 +164,6 @@ function OldScreenshot(props) {
|
|
190
164
|
})]
|
191
165
|
}));
|
192
166
|
}
|
193
|
-
|
194
167
|
const Div = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n @media (max-width: ", "px) {\n transform-origin: 0 0;\n transform: scale(", ");\n }\n .device-content {\n overflow: hidden;\n }\n .device-content video,\n .device-content img {\n border-radius: ", "px;\n background-color: #fff;\n background-position: center center;\n background-size: cover;\n object-fit: cover;\n width: 100.1%;\n height: 100.1%;\n }\n"])), props => types[props.type].width, props => types[props.type].scale, props => props.contentRadius);
|
195
168
|
OldScreenshot.propTypes = {
|
196
169
|
type: _propTypes.default.oneOf(Object.keys(types)),
|
@@ -207,30 +180,29 @@ OldScreenshot.defaultProps = {
|
|
207
180
|
width: 0,
|
208
181
|
height: 0
|
209
182
|
};
|
183
|
+
|
210
184
|
/**
|
211
185
|
* 用于修正旧版 Screenshot 无法匹配尺寸的问题
|
212
186
|
* @param {*} props params to OldScreenshot
|
213
187
|
* @returns <OldScreenshot />
|
214
188
|
*/
|
215
|
-
|
216
189
|
function ScreenFixer(props) {
|
217
190
|
const screenEl = (0, _react.useRef)(null);
|
218
191
|
const [height, setHeight] = (0, _react.useState)(undefined);
|
219
192
|
const [scale, setScale] = (0, _react.useState)(null);
|
220
193
|
(0, _react.useEffect)(() => {
|
221
194
|
let resizeObs;
|
222
|
-
|
223
195
|
const fixSize = () => {
|
224
196
|
const {
|
225
197
|
clientWidth
|
226
|
-
} = screenEl.current;
|
198
|
+
} = screenEl.current;
|
227
199
|
|
200
|
+
// 获取内部元素的宽高
|
228
201
|
const {
|
229
202
|
clientWidth: targetWidth,
|
230
203
|
clientHeight: targetHeight
|
231
204
|
} = screenEl.current.children[0];
|
232
205
|
const realScale = clientWidth / targetWidth;
|
233
|
-
|
234
206
|
if (realScale < 1) {
|
235
207
|
setScale(realScale);
|
236
208
|
setHeight(realScale * targetHeight);
|
@@ -239,17 +211,16 @@ function ScreenFixer(props) {
|
|
239
211
|
setHeight(undefined);
|
240
212
|
}
|
241
213
|
};
|
242
|
-
|
243
214
|
if (screenEl.current) {
|
244
215
|
resizeObs = new ResizeObserver(fixSize);
|
245
216
|
resizeObs.observe(screenEl.current);
|
246
217
|
}
|
247
|
-
|
248
218
|
return () => {
|
249
219
|
if (resizeObs) {
|
250
220
|
resizeObs.disconnect();
|
251
221
|
}
|
252
|
-
};
|
222
|
+
};
|
223
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
253
224
|
}, [screenEl.current]);
|
254
225
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ReScreen, {
|
255
226
|
ref: screenEl,
|
@@ -263,22 +234,19 @@ function ScreenFixer(props) {
|
|
263
234
|
}))
|
264
235
|
});
|
265
236
|
}
|
266
|
-
|
267
237
|
const ReScreen = (0, _Theme.styled)('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n div[type] {\n transform: scale(1);\n transform-origin: 0 0;\n }\n"])));
|
268
|
-
|
269
238
|
function Screenshot(_ref) {
|
270
239
|
let {
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
240
|
+
type,
|
241
|
+
src,
|
242
|
+
children,
|
243
|
+
style,
|
244
|
+
sx
|
245
|
+
} = _ref,
|
246
|
+
rest = _objectWithoutProperties(_ref, _excluded2);
|
247
|
+
const _type = type.toLowerCase();
|
248
|
+
|
249
|
+
// 新版采用容器采用BaseScreenshot,svg集成,更容易拓展,响应式更好
|
282
250
|
if (['phone', 'macbook'].includes(_type)) {
|
283
251
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseScreenshot.default, _objectSpread(_objectSpread({
|
284
252
|
type: _type,
|
@@ -289,9 +257,9 @@ function Screenshot(_ref) {
|
|
289
257
|
alt: "screenshot"
|
290
258
|
}) : null)
|
291
259
|
}));
|
292
|
-
}
|
293
|
-
|
260
|
+
}
|
294
261
|
|
262
|
+
// 旧版采用纯css制作,定制性欠缺,暂时保留使用
|
295
263
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ScreenFixer, _objectSpread(_objectSpread({
|
296
264
|
type: type
|
297
265
|
}, rest), {}, {
|
@@ -304,7 +272,6 @@ function Screenshot(_ref) {
|
|
304
272
|
}) : null)
|
305
273
|
}));
|
306
274
|
}
|
307
|
-
|
308
275
|
Screenshot.propTypes = {
|
309
276
|
type: _propTypes.default.string.isRequired,
|
310
277
|
src: _propTypes.default.string,
|
@@ -0,0 +1,171 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = FederatedLoginDetecter;
|
7
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
8
|
+
var _react = require("react");
|
9
|
+
var _material = require("@mui/material");
|
10
|
+
var _ShieldCheck = _interopRequireDefault(require("mdi-material-ui/ShieldCheck"));
|
11
|
+
var _userPopper = _interopRequireDefault(require("./user-popper"));
|
12
|
+
var _Avatar = _interopRequireDefault(require("../Avatar"));
|
13
|
+
var _Address = _interopRequireDefault(require("../Address"));
|
14
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
15
|
+
var _Toast = _interopRequireDefault(require("../Toast"));
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
+
const translations = {
|
19
|
+
en: {
|
20
|
+
useToConnect(_ref) {
|
21
|
+
let {
|
22
|
+
master,
|
23
|
+
member
|
24
|
+
} = _ref;
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
26
|
+
children: ["Use ", master, " account to connect ", member]
|
27
|
+
});
|
28
|
+
},
|
29
|
+
connect: 'Connect Account',
|
30
|
+
loginFederatedFailed: 'Login federated account failed'
|
31
|
+
},
|
32
|
+
zh: {
|
33
|
+
useToConnect(_ref2) {
|
34
|
+
let {
|
35
|
+
master,
|
36
|
+
member
|
37
|
+
} = _ref2;
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
39
|
+
children: ["\u4F7F\u7528 ", master, " \u8D26\u53F7\u8FDE\u63A5 ", member]
|
40
|
+
});
|
41
|
+
},
|
42
|
+
connect: '连接账号',
|
43
|
+
loginFederatedFailed: '登录统一登录账号失败'
|
44
|
+
}
|
45
|
+
};
|
46
|
+
function FederatedLoginDetecter(_ref3) {
|
47
|
+
var _session$federatedMas, _session$federatedMas2, _userInfo$role, _userInfo$role2;
|
48
|
+
let {
|
49
|
+
session,
|
50
|
+
anchorEl,
|
51
|
+
dark,
|
52
|
+
locale: _locale
|
53
|
+
} = _ref3;
|
54
|
+
const [federatedLoginOpen, setFederatedLoginOpen] = (0, _react.useState)(true);
|
55
|
+
const siteInfo = (_session$federatedMas = session.federatedMaster) === null || _session$federatedMas === void 0 ? void 0 : _session$federatedMas.site;
|
56
|
+
const userInfo = (_session$federatedMas2 = session.federatedMaster) === null || _session$federatedMas2 === void 0 ? void 0 : _session$federatedMas2.user;
|
57
|
+
const localeList = Object.keys(translations);
|
58
|
+
const locale = localeList.includes(_locale) ? _locale : localeList[0];
|
59
|
+
const onLoginFederated = (0, _react.useCallback)(() => {
|
60
|
+
session === null || session === void 0 ? void 0 : session.loginFederated(err => {
|
61
|
+
if (err) {
|
62
|
+
_Toast.default.error(err || translations[_locale].loginFederatedFailed);
|
63
|
+
} else {
|
64
|
+
setFederatedLoginOpen(false);
|
65
|
+
}
|
66
|
+
}, {
|
67
|
+
mode: userInfo ? 'auto' : 'manual'
|
68
|
+
});
|
69
|
+
}, [session, userInfo, _locale]);
|
70
|
+
return siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_userPopper.default, {
|
71
|
+
open: federatedLoginOpen,
|
72
|
+
anchorEl: anchorEl,
|
73
|
+
dark: dark,
|
74
|
+
onClose: () => setFederatedLoginOpen(false),
|
75
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
76
|
+
p: 2,
|
77
|
+
children: [siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
78
|
+
display: "flex",
|
79
|
+
alignItems: "center",
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
81
|
+
component: "img",
|
82
|
+
mr: 2,
|
83
|
+
src: "".concat(siteInfo.appUrl).concat(siteInfo.appLogo),
|
84
|
+
alt: siteInfo.appName,
|
85
|
+
width: "30px",
|
86
|
+
height: "30px"
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
88
|
+
children: translations[locale].useToConnect({
|
89
|
+
master: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
90
|
+
component: "a",
|
91
|
+
href: siteInfo.appUrl,
|
92
|
+
target: "_blank",
|
93
|
+
sx: {
|
94
|
+
textDecoration: 'none',
|
95
|
+
fontWeight: 'bold',
|
96
|
+
color: 'primary.main',
|
97
|
+
fontSize: '1.2em'
|
98
|
+
},
|
99
|
+
children: siteInfo.appName
|
100
|
+
}),
|
101
|
+
member: window.blocklet.appName
|
102
|
+
})
|
103
|
+
})]
|
104
|
+
}), siteInfo && userInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Divider, {
|
105
|
+
style: {
|
106
|
+
margin: '15px 0 10px 0'
|
107
|
+
}
|
108
|
+
}), userInfo && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
109
|
+
display: "flex",
|
110
|
+
alignItems: "center",
|
111
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
|
112
|
+
variant: "circle",
|
113
|
+
did: userInfo.did,
|
114
|
+
src: userInfo.avatar,
|
115
|
+
size: 28,
|
116
|
+
shape: "circle"
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
118
|
+
ml: 2,
|
119
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
|
120
|
+
display: "flex",
|
121
|
+
justifyContent: "space-between",
|
122
|
+
alignItems: "center",
|
123
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
124
|
+
fontSize: 18,
|
125
|
+
children: userInfo.fullName
|
126
|
+
}), ((_userInfo$role = userInfo.role) === null || _userInfo$role === void 0 ? void 0 : _userInfo$role.toUpperCase()) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {
|
127
|
+
label: (_userInfo$role2 = userInfo.role) === null || _userInfo$role2 === void 0 ? void 0 : _userInfo$role2.toUpperCase(),
|
128
|
+
size: "small",
|
129
|
+
variant: "outlined",
|
130
|
+
sx: {
|
131
|
+
height: 'auto',
|
132
|
+
marginRight: 0,
|
133
|
+
fontSize: 12
|
134
|
+
},
|
135
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.SvgIcon, {
|
136
|
+
component: _ShieldCheck.default,
|
137
|
+
style: {
|
138
|
+
fontSize: '14px'
|
139
|
+
}
|
140
|
+
})
|
141
|
+
})]
|
142
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {
|
143
|
+
responsive: false,
|
144
|
+
children: userInfo.did
|
145
|
+
})]
|
146
|
+
})]
|
147
|
+
}), siteInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
148
|
+
display: "flex",
|
149
|
+
justifyContent: "center",
|
150
|
+
mt: 2,
|
151
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
152
|
+
variant: "contained",
|
153
|
+
size: "small",
|
154
|
+
onClick: onLoginFederated,
|
155
|
+
children: translations[locale].connect
|
156
|
+
})
|
157
|
+
})]
|
158
|
+
})
|
159
|
+
});
|
160
|
+
}
|
161
|
+
FederatedLoginDetecter.propTypes = {
|
162
|
+
session: _propTypes.default.object.isRequired,
|
163
|
+
anchorEl: _propTypes.default.instanceOf(Element),
|
164
|
+
dark: _propTypes.default.bool,
|
165
|
+
locale: _propTypes.default.string
|
166
|
+
};
|
167
|
+
FederatedLoginDetecter.defaultProps = {
|
168
|
+
dark: false,
|
169
|
+
anchorEl: null,
|
170
|
+
locale: 'en'
|
171
|
+
};
|