@arcblock/ux 2.10.67 → 2.10.69

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 (294) hide show
  1. package/lib/Address/did-address.d.ts +6 -5
  2. package/lib/Address/index.d.ts +1 -1
  3. package/lib/Avatar/index.d.ts +10 -8
  4. package/lib/Avatar/index.js +6 -4
  5. package/lib/Blocklet/blocklet.d.ts +4 -4
  6. package/lib/Blocklet/blocklet.js +2 -2
  7. package/lib/BlockletContext/index.d.ts +3 -3
  8. package/lib/BlockletNFT/index.d.ts +6 -6
  9. package/lib/BlockletNFT/index.js +3 -3
  10. package/lib/BlockletV2/blocklet.d.ts +2 -2
  11. package/lib/Button/wrap.d.ts +4 -4
  12. package/lib/Button/wrap.js +2 -2
  13. package/lib/CardSelector/index.js +0 -1
  14. package/lib/Center/index.d.ts +1 -1
  15. package/lib/ClickToCopy/copy-button.d.ts +5 -4
  16. package/lib/ClickToCopy/copy-button.js +0 -1
  17. package/lib/ClickToCopy/hook.d.ts +3 -8
  18. package/lib/ClickToCopy/index.d.ts +6 -4
  19. package/lib/CodeBlock/index.d.ts +3 -1
  20. package/lib/CookieConsent/index.d.ts +8 -29
  21. package/lib/CookieConsent/index.js +3 -17
  22. package/lib/CountDown/index.d.ts +21 -25
  23. package/lib/CountDown/index.js +12 -11
  24. package/lib/DID/index.d.ts +9 -8
  25. package/lib/Datatable/index.d.ts +5 -5
  26. package/lib/Datatable/index.js +5 -5
  27. package/lib/Dialog/confirm.d.ts +6 -6
  28. package/lib/Dialog/confirm.js +3 -3
  29. package/lib/Dialog/types.d.ts +1 -1
  30. package/lib/DidLogo/index.d.ts +5 -25
  31. package/lib/DidLogo/index.js +4 -15
  32. package/lib/DriftBot/index.d.ts +13 -19
  33. package/lib/DriftBot/index.js +5 -6
  34. package/lib/Earth/index.d.ts +28 -10
  35. package/lib/Earth/index.js +12 -52
  36. package/lib/Earth/util.d.ts +10 -5
  37. package/lib/Earth/util.js +1 -0
  38. package/lib/ErrorBoundary/fallback.d.ts +12 -19
  39. package/lib/ErrorBoundary/fallback.js +2 -19
  40. package/lib/ErrorBoundary/index.d.ts +1 -1
  41. package/lib/Footer/index.d.ts +17 -24
  42. package/lib/Footer/index.js +2 -11
  43. package/lib/Header/header.d.ts +2 -2
  44. package/lib/Icon/image.d.ts +3 -2
  45. package/lib/Icon/index.d.ts +6 -4
  46. package/lib/Img/index.d.ts +1 -1
  47. package/lib/Img/index.js +1 -1
  48. package/lib/InfoRow/index.d.ts +9 -32
  49. package/lib/InfoRow/index.js +10 -23
  50. package/lib/Layout/dashboard/external-link.d.ts +13 -14
  51. package/lib/Layout/dashboard/external-link.js +5 -22
  52. package/lib/Layout/dashboard/full-page.d.ts +19 -11
  53. package/lib/Layout/dashboard/full-page.js +2 -6
  54. package/lib/Layout/dashboard/index.d.ts +20 -39
  55. package/lib/Layout/dashboard/index.js +10 -38
  56. package/lib/Layout/dashboard/sidebar.d.ts +17 -20
  57. package/lib/Layout/dashboard/sidebar.js +3 -16
  58. package/lib/Layout/dashboard-legacy/header.d.ts +10 -36
  59. package/lib/Layout/dashboard-legacy/header.js +5 -24
  60. package/lib/Layout/dashboard-legacy/index.d.ts +17 -56
  61. package/lib/Layout/dashboard-legacy/index.js +12 -41
  62. package/lib/Layout/dashboard-legacy/sidebar.d.ts +15 -26
  63. package/lib/Layout/dashboard-legacy/sidebar.js +5 -15
  64. package/lib/Layout/index.d.ts +17 -56
  65. package/lib/Layout/index.js +24 -50
  66. package/lib/LoadingMask/index.d.ts +8 -31
  67. package/lib/LoadingMask/index.js +3 -19
  68. package/lib/Locale/browser-lang.d.ts +4 -1
  69. package/lib/Locale/browser-lang.js +8 -3
  70. package/lib/Locale/context.d.ts +18 -8
  71. package/lib/Locale/context.js +1 -1
  72. package/lib/Locale/languages.d.ts +9 -55
  73. package/lib/Locale/selector.d.ts +10 -26
  74. package/lib/Locale/selector.js +8 -25
  75. package/lib/Locale/util.d.ts +4 -3
  76. package/lib/Locale/util.js +0 -1
  77. package/lib/Logo/index.d.ts +9 -40
  78. package/lib/Logo/index.js +88 -46
  79. package/lib/Metric/index.d.ts +9 -31
  80. package/lib/Metric/index.js +5 -20
  81. package/lib/NFTDisplay/aspect-ratio-container.d.ts +5 -12
  82. package/lib/NFTDisplay/aspect-ratio-container.js +0 -5
  83. package/lib/NFTDisplay/broken.d.ts +3 -13
  84. package/lib/NFTDisplay/broken.js +80 -10
  85. package/lib/NFTDisplay/displayApi.d.ts +1 -1
  86. package/lib/NFTDisplay/index.d.ts +28 -6
  87. package/lib/NFTDisplay/index.js +17 -51
  88. package/lib/NFTDisplay/svg-embedder/img.d.ts +8 -23
  89. package/lib/NFTDisplay/svg-embedder/img.js +3 -17
  90. package/lib/NFTDisplay/svg-embedder/inline-svg.d.ts +7 -13
  91. package/lib/NFTDisplay/svg-embedder/inline-svg.js +1 -8
  92. package/lib/NavMenu/nav-menu.d.ts +2 -0
  93. package/lib/NavMenu/nav-menu.js +0 -1
  94. package/lib/PageScroller/index.d.ts +14 -13
  95. package/lib/PageScroller/index.js +12 -37
  96. package/lib/PageScroller/usePrevValue.d.ts +1 -1
  97. package/lib/PageScroller/usePrevValue.js +1 -2
  98. package/lib/Passport/index.d.ts +1 -1
  99. package/lib/Passport/passport.d.ts +10 -30
  100. package/lib/Passport/passport.js +5 -19
  101. package/lib/PoweredByArcBlock/index.d.ts +4 -14
  102. package/lib/PoweredByArcBlock/index.js +1 -8
  103. package/lib/PricingTable/PricingPlan.d.ts +11 -9
  104. package/lib/PricingTable/PricingPlan.js +0 -4
  105. package/lib/PricingTable/index.d.ts +5 -3
  106. package/lib/PricingTable/index.js +1 -5
  107. package/lib/QRCode/index.d.ts +11 -22
  108. package/lib/QRCode/index.js +2 -17
  109. package/lib/RelativeTime/index.d.ts +12 -40
  110. package/lib/RelativeTime/index.js +7 -27
  111. package/lib/Result/common.d.ts +26 -45
  112. package/lib/Result/common.js +2 -4
  113. package/lib/Result/index.d.ts +5 -18
  114. package/lib/Result/index.js +1 -9
  115. package/lib/Result/result.d.ts +7 -29
  116. package/lib/Result/result.js +2 -17
  117. package/lib/Result/translations.d.ts +2 -54
  118. package/lib/Screenshot/BaseScreenshot/index.d.ts +7 -24
  119. package/lib/Screenshot/BaseScreenshot/index.js +2 -15
  120. package/lib/Screenshot/BaseScreenshot/shells/Macbook.d.ts +25 -19
  121. package/lib/Screenshot/BaseScreenshot/shells/Phone.d.ts +25 -19
  122. package/lib/Screenshot/index.d.ts +84 -28
  123. package/lib/Screenshot/index.js +14 -43
  124. package/lib/SessionBlocklet/index.d.ts +6 -19
  125. package/lib/SessionBlocklet/index.js +5 -15
  126. package/lib/SessionManager/index.d.ts +1 -1
  127. package/lib/SessionPermission/index.d.ts +9 -17
  128. package/lib/SessionPermission/index.js +3 -11
  129. package/lib/SessionUser/components/logged-in.d.ts +9 -31
  130. package/lib/SessionUser/components/logged-in.js +13 -29
  131. package/lib/SessionUser/components/session-user-item.d.ts +8 -1
  132. package/lib/SessionUser/components/session-user-item.js +2 -12
  133. package/lib/SessionUser/components/session-user-switch.d.ts +9 -21
  134. package/lib/SessionUser/components/session-user-switch.js +3 -15
  135. package/lib/SessionUser/components/un-login.d.ts +7 -23
  136. package/lib/SessionUser/components/un-login.js +4 -16
  137. package/lib/SessionUser/components/user-info.d.ts +12 -29
  138. package/lib/SessionUser/components/user-info.js +4 -19
  139. package/lib/SessionUser/index.d.ts +7 -30
  140. package/lib/SessionUser/index.js +5 -26
  141. package/lib/SessionUser/libs/translation.d.ts +2 -31
  142. package/lib/SessionUser/libs/translation.js +1 -0
  143. package/lib/SessionUser/libs/utils.d.ts +10 -9
  144. package/lib/Sparkline/index.d.ts +22 -1
  145. package/lib/Sparkline/index.js +25 -17
  146. package/lib/Spinner/index.d.ts +6 -1
  147. package/lib/Spinner/index.js +4 -11
  148. package/lib/Success/index.d.ts +5 -21
  149. package/lib/Success/index.js +10 -19
  150. package/lib/Tabs/index.d.ts +12 -26
  151. package/lib/Tabs/index.js +7 -37
  152. package/lib/TextCollapse/index.d.ts +10 -10
  153. package/lib/TextCollapse/index.js +4 -21
  154. package/lib/Theme/index.js +0 -2
  155. package/lib/Theme/theme-provider.d.ts +1 -1
  156. package/lib/Theme/theme.d.ts +4 -1
  157. package/lib/Theme/theme.js +1 -2
  158. package/lib/Typography/index.d.ts +5 -24
  159. package/lib/Typography/index.js +5 -17
  160. package/lib/Util/index.d.ts +17 -8
  161. package/lib/Util/index.js +22 -3
  162. package/lib/Video/index.d.ts +12 -16
  163. package/lib/Video/index.js +0 -14
  164. package/lib/Wallet/Action.d.ts +13 -18
  165. package/lib/Wallet/Action.js +0 -7
  166. package/lib/Wallet/Download.d.ts +24 -30
  167. package/lib/Wallet/Download.js +201 -18
  168. package/lib/Wallet/Open.d.ts +5 -15
  169. package/lib/Wallet/Open.js +5 -11
  170. package/lib/WalletOSIcon/index.d.ts +6 -25
  171. package/lib/WalletOSIcon/index.js +3 -16
  172. package/lib/WebWalletSWKeeper/index.d.ts +8 -20
  173. package/lib/WebWalletSWKeeper/index.js +14 -19
  174. package/lib/WechatPrompt/index.js +2 -0
  175. package/lib/global.d.ts +15 -0
  176. package/lib/type.d.ts +12 -3
  177. package/lib/withTheme/index.d.ts +8 -6
  178. package/lib/withTracker/index.d.ts +1 -1
  179. package/lib/withTracker/index.js +3 -0
  180. package/package.json +9 -5
  181. package/src/Address/did-address.tsx +7 -6
  182. package/src/Address/index.tsx +1 -1
  183. package/src/Avatar/index.jsx +6 -4
  184. package/src/Blocklet/blocklet.jsx +2 -2
  185. package/src/BlockletContext/index.tsx +3 -3
  186. package/src/BlockletNFT/index.jsx +3 -3
  187. package/src/BlockletV2/blocklet.tsx +2 -2
  188. package/src/Button/wrap.jsx +2 -2
  189. package/src/CardSelector/index.tsx +0 -1
  190. package/src/Center/index.tsx +1 -1
  191. package/src/ClickToCopy/copy-button.tsx +4 -4
  192. package/src/ClickToCopy/hook.ts +3 -2
  193. package/src/ClickToCopy/index.tsx +6 -5
  194. package/src/CodeBlock/index.tsx +3 -1
  195. package/src/CookieConsent/{index.jsx → index.tsx} +16 -19
  196. package/src/CountDown/{index.jsx → index.tsx} +30 -16
  197. package/src/DID/index.tsx +9 -8
  198. package/src/Datatable/index.jsx +5 -5
  199. package/src/Dialog/confirm.jsx +3 -3
  200. package/src/Dialog/types.d.ts +1 -1
  201. package/src/DidLogo/{index.jsx → index.tsx} +7 -14
  202. package/src/DriftBot/{index.jsx → index.tsx} +13 -11
  203. package/src/Earth/{index.jsx → index.tsx} +94 -66
  204. package/src/Earth/{util.js → util.ts} +20 -17
  205. package/src/ErrorBoundary/{fallback.jsx → fallback.tsx} +20 -21
  206. package/src/Footer/{index.jsx → index.tsx} +17 -14
  207. package/src/Header/header.tsx +2 -3
  208. package/src/Header/responsive-header.tsx +0 -1
  209. package/src/Icon/image.tsx +3 -3
  210. package/src/Icon/index.tsx +7 -4
  211. package/src/Img/index.jsx +1 -1
  212. package/src/InfoRow/{index.jsx → index.tsx} +32 -25
  213. package/src/Layout/dashboard/external-link.tsx +46 -0
  214. package/src/Layout/dashboard/{full-page.jsx → full-page.tsx} +20 -9
  215. package/src/Layout/dashboard/{index.jsx → index.tsx} +42 -44
  216. package/src/Layout/dashboard/{sidebar.jsx → sidebar.tsx} +23 -20
  217. package/src/Layout/dashboard-legacy/{header.jsx → header.tsx} +16 -26
  218. package/src/Layout/dashboard-legacy/{index.jsx → index.tsx} +32 -46
  219. package/src/Layout/dashboard-legacy/{sidebar.jsx → sidebar.tsx} +27 -19
  220. package/src/Layout/{index.jsx → index.tsx} +41 -47
  221. package/src/LoadingMask/{index.jsx → index.tsx} +18 -20
  222. package/src/Locale/{browser-lang.js → browser-lang.ts} +9 -7
  223. package/src/Locale/context.tsx +18 -11
  224. package/src/Locale/{languages.js → languages.ts} +1 -1
  225. package/src/Locale/{selector.jsx → selector.tsx} +32 -29
  226. package/src/Locale/{util.js → util.ts} +9 -2
  227. package/src/Logo/index.tsx +58 -0
  228. package/src/Metric/{index.jsx → index.tsx} +23 -18
  229. package/src/NFTDisplay/{aspect-ratio-container.jsx → aspect-ratio-container.tsx} +9 -7
  230. package/src/NFTDisplay/{broken.jsx → broken.tsx} +7 -12
  231. package/src/NFTDisplay/{displayApi.js → displayApi.ts} +4 -4
  232. package/src/NFTDisplay/{index.jsx → index.tsx} +59 -64
  233. package/src/NFTDisplay/svg-embedder/{img.jsx → img.tsx} +10 -18
  234. package/src/NFTDisplay/svg-embedder/{inline-svg.jsx → inline-svg.tsx} +8 -9
  235. package/src/NavMenu/nav-menu.tsx +2 -3
  236. package/src/PageScroller/{index.jsx → index.tsx} +40 -53
  237. package/src/PageScroller/{usePrevValue.js → usePrevValue.ts} +2 -3
  238. package/src/Passport/{passport.jsx → passport.tsx} +22 -19
  239. package/src/PoweredByArcBlock/{index.jsx → index.tsx} +6 -11
  240. package/src/PricingTable/{PricingPlan.jsx → PricingPlan.tsx} +15 -5
  241. package/src/PricingTable/{index.jsx → index.tsx} +9 -6
  242. package/src/QRCode/{index.jsx → index.tsx} +14 -19
  243. package/src/RelativeTime/{index.jsx → index.tsx} +24 -24
  244. package/src/Result/{common.jsx → common.tsx} +17 -13
  245. package/src/Result/index.tsx +30 -0
  246. package/src/Result/{result.jsx → result.tsx} +8 -17
  247. package/src/Result/{translations.js → translations.ts} +3 -1
  248. package/src/Screenshot/BaseScreenshot/{index.jsx → index.tsx} +9 -15
  249. package/src/Screenshot/BaseScreenshot/shells/{Macbook.jsx → Macbook.tsx} +3 -1
  250. package/src/Screenshot/BaseScreenshot/shells/{Phone.jsx → Phone.tsx} +3 -1
  251. package/src/Screenshot/{index.jsx → index.tsx} +60 -54
  252. package/src/SessionBlocklet/{index.jsx → index.tsx} +9 -14
  253. package/src/SessionPermission/index.tsx +25 -0
  254. package/src/SessionUser/components/{logged-in.jsx → logged-in.tsx} +49 -31
  255. package/src/SessionUser/components/session-user-item.tsx +97 -0
  256. package/src/SessionUser/components/{session-user-switch.jsx → session-user-switch.tsx} +16 -21
  257. package/src/SessionUser/components/{un-login.jsx → un-login.tsx} +10 -15
  258. package/src/SessionUser/components/{user-info.jsx → user-info.tsx} +16 -22
  259. package/src/SessionUser/index.tsx +26 -0
  260. package/src/SessionUser/libs/{translation.js → translation.ts} +3 -1
  261. package/src/SessionUser/libs/utils.ts +39 -0
  262. package/src/Sparkline/{index.jsx → index.tsx} +38 -22
  263. package/src/Spinner/index.tsx +20 -0
  264. package/src/Success/{index.jsx → index.tsx} +13 -16
  265. package/src/Tabs/{index.jsx → index.tsx} +26 -40
  266. package/src/TextCollapse/{index.jsx → index.tsx} +26 -21
  267. package/src/Theme/index.ts +0 -1
  268. package/src/Theme/theme-provider.tsx +1 -1
  269. package/src/Theme/theme.ts +6 -3
  270. package/src/Typography/{index.jsx → index.tsx} +19 -22
  271. package/src/Util/index.ts +26 -9
  272. package/src/Video/{index.jsx → index.tsx} +7 -10
  273. package/src/Wallet/{Action.jsx → Action.tsx} +16 -12
  274. package/src/Wallet/{Download.jsx → Download.tsx} +25 -21
  275. package/src/Wallet/{Open.jsx → Open.tsx} +8 -11
  276. package/src/WalletOSIcon/{index.jsx → index.tsx} +8 -16
  277. package/src/WebWalletSWKeeper/{index.jsx → index.tsx} +21 -24
  278. package/src/WechatPrompt/{index.jsx → index.tsx} +1 -0
  279. package/src/global.d.ts +15 -0
  280. package/src/type.d.ts +12 -3
  281. package/src/withTheme/{index.jsx → index.tsx} +12 -2
  282. package/src/withTracker/{index.jsx → index.tsx} +6 -4
  283. package/src/Layout/dashboard/external-link.jsx +0 -47
  284. package/src/Logo/index.jsx +0 -66
  285. package/src/Result/index.jsx +0 -33
  286. package/src/SessionPermission/index.jsx +0 -28
  287. package/src/SessionUser/components/session-user-item.jsx +0 -93
  288. package/src/SessionUser/index.jsx +0 -38
  289. package/src/SessionUser/libs/utils.js +0 -37
  290. package/src/Spinner/index.jsx +0 -21
  291. /package/src/ErrorBoundary/{index.jsx → index.ts} +0 -0
  292. /package/src/NFTDisplay/{loading.jsx → loading.tsx} +0 -0
  293. /package/src/Passport/{index.jsx → index.ts} +0 -0
  294. /package/src/SessionManager/{index.jsx → index.tsx} +0 -0
@@ -1,47 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { Link as RouterLink, NavLink as RouterNavLink } from 'react-router-dom';
3
-
4
- // 包裹 router Link/NavLink 组件, 支持 external link (external 为 true 时渲染为 a 标签)
5
- function ExternalLink({ children, routerLinkComponent: RouterLinkComponent, to, external, ...rest }) {
6
- if (external) {
7
- return (
8
- <a href={to} {...rest}>
9
- {children}
10
- </a>
11
- );
12
- }
13
- return (
14
- <RouterLinkComponent to={to} {...rest}>
15
- {children}
16
- </RouterLinkComponent>
17
- );
18
- }
19
-
20
- ExternalLink.propTypes = {
21
- children: PropTypes.any.isRequired,
22
- routerLinkComponent: PropTypes.elementType.isRequired,
23
- external: PropTypes.bool,
24
- to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,
25
- };
26
-
27
- ExternalLink.defaultProps = {
28
- external: false,
29
- };
30
-
31
- export function Link(props) {
32
- return <ExternalLink routerLinkComponent={RouterLink} {...props} />;
33
- }
34
-
35
- export function NavLink({ className, ...rest }) {
36
- // NavLink#className 支持 function
37
- const classes = rest.external && typeof className === 'function' ? className({}) : className;
38
- return <ExternalLink routerLinkComponent={RouterNavLink} className={classes} {...rest} />;
39
- }
40
-
41
- NavLink.propTypes = {
42
- className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
43
- };
44
-
45
- NavLink.defaultProps = {
46
- className: '',
47
- };
@@ -1,66 +0,0 @@
1
- import PropTypes from 'prop-types';
2
-
3
- import { styled } from '../Theme';
4
-
5
- // eslint-disable-next-line import/no-unresolved
6
- import LightLogo from './images/logo-light-top.svg?react';
7
- // eslint-disable-next-line import/no-unresolved
8
- import LightText from './images/logo-light-text.svg?react';
9
- // eslint-disable-next-line import/no-unresolved
10
- import DarkLogo from './images/logo-dark-top.svg?react';
11
- // eslint-disable-next-line import/no-unresolved
12
- import DarkText from './images/logo-dark-text.svg?react';
13
-
14
- /**
15
- @typedef {import('react').HTMLAttributes<HTMLSpanElement> & {
16
- mode?: 'light' | 'dark',
17
- layout?: 'vertical' | 'horizontal',
18
- showText?: boolean,
19
- showLogo?: boolean,
20
- }} LogoProps
21
- */
22
-
23
- /**
24
- * @description
25
- * @export
26
- * @param {LogoProps} props
27
- * @return {React.ReactComponentElement}
28
- */
29
- export default function Logo({ showText, showLogo, mode, layout, ...rest }) {
30
- const logo = mode === 'light' ? <LightLogo /> : <DarkLogo />;
31
- const text = mode === 'light' ? <LightText className="logo-text" /> : <DarkText className="logo-text" />;
32
-
33
- return (
34
- <Container layout={layout} {...rest}>
35
- {showLogo && logo}
36
- {showText && text}
37
- </Container>
38
- );
39
- }
40
-
41
- Logo.propTypes = {
42
- mode: PropTypes.oneOf(['light', 'dark']),
43
- layout: PropTypes.oneOf(['vertical', 'horizontal']),
44
- showText: PropTypes.bool,
45
- showLogo: PropTypes.bool,
46
- };
47
-
48
- Logo.defaultProps = {
49
- mode: 'dark',
50
- layout: 'vertical',
51
- showText: true,
52
- showLogo: true,
53
- };
54
-
55
- /** @type {import('@emotion/styled').StyledComponent<HTMLSpanElement, {}, { ref?: React.Ref<any> | undefined;}>} */
56
- const Container = styled('span')`
57
- display: inline-flex;
58
- flex-direction: ${(props) => (props.layout === 'horizontal' ? 'row' : 'column')};
59
- justify-content: center;
60
- align-items: center;
61
-
62
- .logo-text {
63
- ${(props) => (props.layout === 'vertical' ? 'margin-top: 8px;' : '')}
64
- ${(props) => (props.layout === 'vertical' ? '' : 'margin-left: 8px;')};
65
- }
66
- `;
@@ -1,33 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Result from './result';
3
- import * as common from './common';
4
-
5
- const componentsKeyByStatus = Object.keys(common).reduce(
6
- (acc, cur) => ({ ...acc, [common[cur].status || cur]: common[cur] }),
7
- {}
8
- );
9
-
10
- function ResultWrapper({ status, ...rest }) {
11
- if (status) {
12
- if (componentsKeyByStatus[status]) {
13
- const Component = componentsKeyByStatus[status];
14
- return <Component {...rest} />;
15
- }
16
- throw new Error(
17
- `Please provide a valid status for Result.status. Valid values are: ${Object.keys(componentsKeyByStatus).join(
18
- ', '
19
- )}`
20
- );
21
- }
22
- return <Result {...rest} />;
23
- }
24
-
25
- ResultWrapper.propTypes = {
26
- status: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
27
- ...Result.propTypes,
28
- };
29
- ResultWrapper.defaultProps = {
30
- status: '',
31
- };
32
-
33
- export default ResultWrapper;
@@ -1,28 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { useCreation } from 'ahooks';
3
-
4
- const roleList = ['owner', 'admin', 'member', 'guest'];
5
-
6
- export default function SessionPermission({ session, roles, children }) {
7
- const hasPermission = useCreation(() => {
8
- return roles.includes(session?.user?.role || 'guest');
9
- }, [session?.user?.role, roles]);
10
-
11
- if (typeof children === 'function') {
12
- return children({ hasPermission });
13
- }
14
-
15
- if (hasPermission) {
16
- return children;
17
- }
18
- }
19
-
20
- SessionPermission.propTypes = {
21
- children: PropTypes.any.isRequired,
22
- session: PropTypes.object.isRequired,
23
- roles: PropTypes.arrayOf(PropTypes.oneOf(roleList)),
24
- };
25
-
26
- SessionPermission.defaultProps = {
27
- roles: ['owner', 'admin'],
28
- };
@@ -1,93 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { forwardRef } from 'react';
3
- import { Box, IconButton, Tooltip, Typography } from '@mui/material';
4
- import { Icon } from '@iconify/react';
5
- import LensIcon from '@iconify-icons/material-symbols/lens';
6
-
7
- import WalletOSIcon from '../../WalletOSIcon';
8
- import Avatar from '../../Avatar';
9
- import DID from '../../DID';
10
- import { temp as colors } from '../../Colors';
11
- import { getSourceProvider } from '../libs/utils';
12
-
13
- const SessionUserItem = forwardRef(({ sessionItem, statusContent, active, ...rest }, ref) => {
14
- const isRawWalletAccount = getSourceProvider(sessionItem?.user) === 'wallet';
15
-
16
- return (
17
- <Box
18
- {...rest}
19
- ref={ref}
20
- sx={{
21
- display: 'flex',
22
- alignItems: 'center',
23
- justifyContent: 'space-between',
24
- py: 0.75,
25
- px: 1,
26
- width: '100%',
27
- ...rest?.sx,
28
- }}>
29
- <Box
30
- sx={{
31
- display: 'flex',
32
- alignItems: 'center',
33
- gap: 0.5,
34
- overflow: 'hidden',
35
- '& .did-address-avatar': {
36
- display: 'none !important',
37
- },
38
- '& .did-address-text': {
39
- color: `${colors.textBase} !important`,
40
- },
41
- }}>
42
- <Box sx={{ mr: 0.5, fontSize: 0 }}>
43
- <Avatar did={sessionItem.userDid} size={36} />
44
- </Box>
45
- <WalletOSIcon
46
- loading={sessionItem.__isDefault}
47
- provider={sessionItem?.extra?.provider}
48
- walletOS={sessionItem?.extra?.walletOS}
49
- />
50
- {isRawWalletAccount ? (
51
- <DID did={sessionItem.userDid} copyable={false} size={14} responsive={false} compact sx={{ lineHeight: 1 }} />
52
- ) : (
53
- sessionItem.user.email && (
54
- <Tooltip
55
- title={sessionItem.user.email}
56
- sx={{
57
- zIndex: 1600,
58
- }}
59
- placement="top">
60
- <Typography
61
- sx={{
62
- fontSize: 14,
63
- overflow: 'hidden',
64
- textOverflow: 'ellipsis',
65
- }}>
66
- {sessionItem.user.email}
67
- </Typography>
68
- </Tooltip>
69
- )
70
- )}
71
- </Box>
72
- {statusContent ||
73
- (active && (
74
- <IconButton size="small" disableRipple>
75
- <Icon icon={LensIcon} fontSize={6} color={colors.surfaceSuccess} />
76
- </IconButton>
77
- ))}
78
- </Box>
79
- );
80
- });
81
-
82
- SessionUserItem.propTypes = {
83
- sessionItem: PropTypes.object.isRequired,
84
- statusContent: PropTypes.node,
85
- active: PropTypes.bool,
86
- };
87
-
88
- SessionUserItem.defaultProps = {
89
- statusContent: null,
90
- active: false,
91
- };
92
-
93
- export default SessionUserItem;
@@ -1,38 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import noop from 'lodash/noop';
3
- import { useCreation } from 'ahooks';
4
-
5
- import LoggedIn from './components/logged-in';
6
- import UnLogin from './components/un-login';
7
-
8
- export default function SessionUser({ session, onBindWallet, locale, size }) {
9
- const isBlocklet = useCreation(() => {
10
- return !!globalThis?.blocklet;
11
- });
12
- if (session.user) {
13
- return (
14
- <LoggedIn isBlocklet={isBlocklet} session={session} onBindWallet={onBindWallet} locale={locale} size={size} />
15
- );
16
- }
17
- return <UnLogin session={session} isBlocklet={isBlocklet} locale={locale} size={size} />;
18
- }
19
-
20
- SessionUser.propTypes = {
21
- session: PropTypes.shape({
22
- user: PropTypes.shape({
23
- did: PropTypes.string.isRequired,
24
- fullName: PropTypes.string.isRequired,
25
- avatar: PropTypes.string.isRequired,
26
- email: PropTypes.string,
27
- }),
28
- }).isRequired,
29
- onBindWallet: PropTypes.func,
30
- locale: PropTypes.string,
31
- size: PropTypes.number,
32
- };
33
-
34
- SessionUser.defaultProps = {
35
- onBindWallet: noop,
36
- locale: 'en',
37
- size: 24,
38
- };
@@ -1,37 +0,0 @@
1
- export const getSourceAppPid = (user) => user?.sourceAppPid;
2
-
3
- export const getCurrentAppPid = (user) => user?.sourceAppPid || window?.blocklet?.appPid;
4
-
5
- export function getPermanentDid(user) {
6
- return user?.did;
7
- }
8
-
9
- export function getConnectedAccounts(user) {
10
- return user?.connectedAccounts || user?.extraConfigs?.connectedAccounts || [];
11
- }
12
-
13
- export function getSourceProvider(user) {
14
- return user?.sourceProvider || user?.extraConfigs?.sourceProvider || 'wallet';
15
- }
16
-
17
- export function getSourceProviders(user) {
18
- const connectedAccounts = getConnectedAccounts(user);
19
- return connectedAccounts.map((item) => item.provider);
20
- }
21
-
22
- export function getConnectedDids(user) {
23
- const connectedAccounts = getConnectedAccounts(user);
24
- const didList = connectedAccounts.map((item) => item.did);
25
- return didList;
26
- }
27
-
28
- export function getWallet(user) {
29
- const connectedAccounts = getConnectedAccounts(user);
30
- const walletAccount = connectedAccounts.find((item) => item.provider === 'wallet');
31
- return walletAccount;
32
- }
33
-
34
- export function getWalletDid(user) {
35
- const walletAccount = getWallet(user);
36
- return walletAccount?.did;
37
- }
@@ -1,21 +0,0 @@
1
- import CircularProgress from '@mui/material/CircularProgress';
2
- import { withDeprecated } from '../Util/deprecate';
3
-
4
- /**
5
- * Spinner
6
- *
7
- * 之前的 Spinner 实现由内外 2 个环构成, 现在改为基于 @mui/material/CircularProgress 的实现
8
- *
9
- * - 之前 size prop 是 array 类型, 需要与 CircularProgress#size 兼容
10
- * - color 默认使用 #4598fa, 如果调用方传入了 color prop 或 style#color, 则默认 color 被覆盖
11
- */
12
- function Spinner(props) {
13
- const _props = { ...props };
14
- // 兼容之前的 size prop (设置外圈/内圈的尺寸)
15
- if (_props.size && Array.isArray(_props.size)) {
16
- [_props.size] = _props.size;
17
- }
18
- return <CircularProgress {..._props} />;
19
- }
20
-
21
- export default withDeprecated(Spinner, { name: 'Spinner', alternative: '@mui/material/CircularProgress' });
File without changes
File without changes
File without changes
File without changes