@arcblock/ux 2.9.91 → 2.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. package/lib/ActionButton/index.js +36 -48
  2. package/lib/ActivityIndicator/index.js +122 -75
  3. package/lib/Address/compact-text.js +48 -66
  4. package/lib/Address/did-address.js +114 -87
  5. package/lib/Address/index.js +15 -27
  6. package/lib/Address/responsive-did-address.js +48 -50
  7. package/lib/Alert/index.js +58 -52
  8. package/lib/AnimationWaiter/index.js +123 -69
  9. package/lib/Async/index.js +8 -22
  10. package/lib/Avatar/did-motif.js +38 -52
  11. package/lib/Avatar/etherscan-blockies.js +4 -10
  12. package/lib/Avatar/index.js +71 -77
  13. package/lib/Badge/index.js +49 -56
  14. package/lib/Blocklet/blocklet.js +181 -97
  15. package/lib/Blocklet/index.js +4 -24
  16. package/lib/Blocklet/utils.js +50 -13
  17. package/lib/BlockletContext/index.js +21 -31
  18. package/lib/BlockletNFT/index.js +255 -115
  19. package/lib/Button/index.js +5 -11
  20. package/lib/Button/wrap.js +45 -56
  21. package/lib/ButtonGroup/index.js +3 -9
  22. package/lib/CardSelector/index.js +67 -43
  23. package/lib/Center/index.js +19 -20
  24. package/lib/ClickToCopy/copy-button.js +37 -50
  25. package/lib/ClickToCopy/hook.js +10 -18
  26. package/lib/ClickToCopy/index.js +54 -66
  27. package/lib/CodeBlock/LightBox.js +84 -11
  28. package/lib/CodeBlock/index.js +175 -101
  29. package/lib/Colors/index.js +3 -20
  30. package/lib/Colors/themes/default.js +1 -7
  31. package/lib/Colors/themes/temp.js +1 -7
  32. package/lib/ContactForm/index.js +95 -60
  33. package/lib/CookieConsent/index.js +58 -52
  34. package/lib/CountDown/index.js +90 -59
  35. package/lib/DID/index.js +80 -96
  36. package/lib/Datatable/CustomToolbar.js +188 -137
  37. package/lib/Datatable/DatatableContext.js +14 -21
  38. package/lib/Datatable/TableSearch.js +99 -58
  39. package/lib/Datatable/index.js +312 -139
  40. package/lib/Datatable/utils.js +9 -17
  41. package/lib/Dialog/confirm.js +46 -58
  42. package/lib/Dialog/dialog.js +110 -66
  43. package/lib/Dialog/index.js +4 -27
  44. package/lib/Dialog/use-confirm.js +40 -65
  45. package/lib/DidLogo/index.js +14 -22
  46. package/lib/DriftBot/index.js +34 -19
  47. package/lib/Earth/index.js +214 -110
  48. package/lib/Earth/util.js +6 -19
  49. package/lib/Empty/index.js +33 -38
  50. package/lib/ErrorBoundary/fallback.js +45 -43
  51. package/lib/ErrorBoundary/index.js +1 -16
  52. package/lib/Footer/index.js +96 -48
  53. package/lib/Header/auto-hidden.js +28 -31
  54. package/lib/Header/header.js +151 -69
  55. package/lib/Header/index.js +2 -20
  56. package/lib/Header/responsive-header.js +67 -60
  57. package/lib/Icon/image.js +41 -45
  58. package/lib/Icon/index.js +51 -53
  59. package/lib/Img/index.js +77 -88
  60. package/lib/InfoRow/index.js +66 -48
  61. package/lib/Layout/dashboard/external-link.js +38 -53
  62. package/lib/Layout/dashboard/full-page.js +27 -41
  63. package/lib/Layout/dashboard/index.js +177 -132
  64. package/lib/Layout/dashboard/sidebar.js +164 -61
  65. package/lib/Layout/dashboard-legacy/header.js +119 -66
  66. package/lib/Layout/dashboard-legacy/index.js +90 -79
  67. package/lib/Layout/dashboard-legacy/sidebar.js +95 -62
  68. package/lib/Layout/index.js +200 -106
  69. package/lib/LoadingMask/index.js +31 -38
  70. package/lib/Locale/browser-lang.js +2 -8
  71. package/lib/Locale/context.js +46 -69
  72. package/lib/Locale/languages.js +6 -15
  73. package/lib/Locale/selector.js +116 -92
  74. package/lib/Locale/util.js +7 -16
  75. package/lib/Logo/index.js +54 -57
  76. package/lib/Metric/index.js +103 -40
  77. package/lib/NFTDisplay/aspect-ratio-container.js +33 -40
  78. package/lib/NFTDisplay/broken.js +68 -52
  79. package/lib/NFTDisplay/index.js +140 -129
  80. package/lib/NFTDisplay/loading.js +14 -13
  81. package/lib/NFTDisplay/svg-embedder/img.js +18 -33
  82. package/lib/NFTDisplay/svg-embedder/inline-svg.js +28 -32
  83. package/lib/NavMenu/index.js +2 -13
  84. package/lib/NavMenu/nav-menu.js +133 -148
  85. package/lib/NavMenu/style.js +179 -12
  86. package/lib/PageScroller/index.js +82 -93
  87. package/lib/PageScroller/story/FifthComponent.js +4 -10
  88. package/lib/PageScroller/story/FirstComponent.js +4 -10
  89. package/lib/PageScroller/story/FourthComponent.js +4 -10
  90. package/lib/PageScroller/story/FullPage.js +21 -28
  91. package/lib/PageScroller/story/PageContain.js +23 -30
  92. package/lib/PageScroller/story/SecondComponent.js +4 -10
  93. package/lib/PageScroller/story/ThirdComponent.js +4 -10
  94. package/lib/PageScroller/usePrevValue.js +4 -11
  95. package/lib/Passport/index.js +2 -9
  96. package/lib/Passport/passport.js +38 -51
  97. package/lib/PoweredByArcBlock/index.js +19 -33
  98. package/lib/PricingTable/PricingPlan.js +90 -34
  99. package/lib/PricingTable/index.js +28 -26
  100. package/lib/QRCode/index.js +38 -50
  101. package/lib/RelativeTime/index.js +44 -59
  102. package/lib/Result/common.js +85 -107
  103. package/lib/Result/index.js +22 -34
  104. package/lib/Result/result.js +35 -41
  105. package/lib/Result/translations.js +1 -7
  106. package/lib/Screenshot/BaseScreenshot/index.js +65 -43
  107. package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +17 -27
  108. package/lib/Screenshot/BaseScreenshot/shells/Phone.js +14 -25
  109. package/lib/Screenshot/index.js +103 -92
  110. package/lib/SessionBlocklet/index.js +125 -143
  111. package/lib/SessionManager/index.js +2 -9
  112. package/lib/SessionPermission/index.js +13 -23
  113. package/lib/SessionUser/components/logged-in.js +139 -158
  114. package/lib/SessionUser/components/session-user-item.js +44 -58
  115. package/lib/SessionUser/components/session-user-switch.js +133 -152
  116. package/lib/SessionUser/components/un-login.js +27 -35
  117. package/lib/SessionUser/components/user-info.js +62 -74
  118. package/lib/SessionUser/index.js +26 -34
  119. package/lib/SessionUser/libs/translation.js +1 -7
  120. package/lib/SessionUser/libs/utils.js +13 -34
  121. package/lib/Sparkline/index.js +4 -10
  122. package/lib/Spinner/index.js +11 -17
  123. package/lib/SplitButton/index.js +72 -68
  124. package/lib/Success/index.js +28 -34
  125. package/lib/Switch/index.js +64 -75
  126. package/lib/Tabs/index.js +84 -103
  127. package/lib/Tag/index.js +52 -56
  128. package/lib/TextCollapse/index.js +57 -50
  129. package/lib/Theme/index.js +8 -47
  130. package/lib/Theme/theme-provider.js +19 -26
  131. package/lib/Theme/theme.js +49 -62
  132. package/lib/Toast/index.js +41 -73
  133. package/lib/Typography/index.js +44 -55
  134. package/lib/Util/constant.js +16 -22
  135. package/lib/Util/deprecate.js +14 -26
  136. package/lib/Util/federated.js +16 -38
  137. package/lib/Util/index.js +63 -113
  138. package/lib/Util/passport.js +23 -33
  139. package/lib/Util/wallet.js +5 -14
  140. package/lib/Video/index.js +34 -34
  141. package/lib/Wallet/Action.js +72 -49
  142. package/lib/Wallet/Download.js +132 -115
  143. package/lib/Wallet/Open.js +26 -25
  144. package/lib/WalletOSIcon/index.js +33 -42
  145. package/lib/WebWalletSWKeeper/index.js +42 -55
  146. package/lib/WechatPrompt/index.js +53 -33
  147. package/lib/index.js +38 -265
  148. package/lib/withTheme/index.js +53 -33
  149. package/lib/withTracker/error_boundary.js +7 -18
  150. package/lib/withTracker/index.js +25 -34
  151. package/package.json +9 -316
  152. package/src/WalletOSIcon/index.jsx +1 -1
  153. package/es/ActionButton/index.js +0 -99
  154. package/es/ActivityIndicator/index.js +0 -180
  155. package/es/Address/compact-text.js +0 -105
  156. package/es/Address/did-address.js +0 -222
  157. package/es/Address/index.js +0 -23
  158. package/es/Address/responsive-did-address.js +0 -87
  159. package/es/Alert/index.js +0 -134
  160. package/es/AnimationWaiter/default-animation.json +0 -1
  161. package/es/AnimationWaiter/index.js +0 -240
  162. package/es/Async/index.js +0 -38
  163. package/es/Avatar/did-motif.js +0 -68
  164. package/es/Avatar/etherscan-blockies.js +0 -83
  165. package/es/Avatar/index.js +0 -179
  166. package/es/Badge/index.js +0 -98
  167. package/es/Blocklet/blocklet.js +0 -298
  168. package/es/Blocklet/index.js +0 -4
  169. package/es/Blocklet/utils.js +0 -52
  170. package/es/BlockletContext/index.js +0 -65
  171. package/es/BlockletNFT/index.js +0 -412
  172. package/es/Button/index.js +0 -8
  173. package/es/Button/wrap.js +0 -140
  174. package/es/ButtonGroup/index.js +0 -6
  175. package/es/CardSelector/index.js +0 -149
  176. package/es/Center/index.js +0 -41
  177. package/es/ClickToCopy/copy-button.js +0 -72
  178. package/es/ClickToCopy/hook.js +0 -39
  179. package/es/ClickToCopy/index.js +0 -92
  180. package/es/CodeBlock/LightBox.js +0 -85
  181. package/es/CodeBlock/index.js +0 -222
  182. package/es/Colors/index.js +0 -3
  183. package/es/Colors/themes/default.js +0 -77
  184. package/es/Colors/themes/temp.js +0 -41
  185. package/es/ContactForm/index.js +0 -230
  186. package/es/CookieConsent/index.js +0 -113
  187. package/es/CountDown/index.js +0 -178
  188. package/es/DID/index.js +0 -249
  189. package/es/Datatable/CustomToolbar.js +0 -396
  190. package/es/Datatable/DatatableContext.js +0 -34
  191. package/es/Datatable/TableSearch.js +0 -166
  192. package/es/Datatable/index.js +0 -629
  193. package/es/Datatable/utils.js +0 -132
  194. package/es/Dialog/confirm.js +0 -123
  195. package/es/Dialog/dialog.js +0 -201
  196. package/es/Dialog/index.js +0 -4
  197. package/es/Dialog/types.d.ts +0 -17
  198. package/es/Dialog/use-confirm.js +0 -133
  199. package/es/DidLogo/index.js +0 -31
  200. package/es/DriftBot/index.js +0 -70
  201. package/es/Earth/countries.json +0 -8057
  202. package/es/Earth/index.js +0 -521
  203. package/es/Earth/util.js +0 -51
  204. package/es/Empty/index.js +0 -65
  205. package/es/ErrorBoundary/fallback.js +0 -73
  206. package/es/ErrorBoundary/index.js +0 -1
  207. package/es/Footer/index.js +0 -172
  208. package/es/Header/auto-hidden.js +0 -35
  209. package/es/Header/header.js +0 -223
  210. package/es/Header/index.js +0 -2
  211. package/es/Header/responsive-header.js +0 -146
  212. package/es/Icon/image.js +0 -65
  213. package/es/Icon/index.js +0 -84
  214. package/es/Img/index.js +0 -218
  215. package/es/InfoRow/index.js +0 -87
  216. package/es/Layout/dashboard/external-link.js +0 -58
  217. package/es/Layout/dashboard/full-page.js +0 -53
  218. package/es/Layout/dashboard/index.js +0 -282
  219. package/es/Layout/dashboard/sidebar.js +0 -209
  220. package/es/Layout/dashboard-legacy/header.js +0 -174
  221. package/es/Layout/dashboard-legacy/index.js +0 -148
  222. package/es/Layout/dashboard-legacy/sidebar.js +0 -129
  223. package/es/Layout/index.js +0 -335
  224. package/es/LoadingMask/index.js +0 -102
  225. package/es/Locale/browser-lang.js +0 -52
  226. package/es/Locale/context.js +0 -139
  227. package/es/Locale/languages.js +0 -60
  228. package/es/Locale/selector.js +0 -186
  229. package/es/Locale/util.js +0 -21
  230. package/es/Logo/images/logo-dark-text.svg +0 -3
  231. package/es/Logo/images/logo-dark-top.svg +0 -6
  232. package/es/Logo/images/logo-light-text.svg +0 -3
  233. package/es/Logo/images/logo-light-top.svg +0 -6
  234. package/es/Logo/index.js +0 -136
  235. package/es/Metric/index.js +0 -132
  236. package/es/NFTDisplay/NFTBroken.svg +0 -34
  237. package/es/NFTDisplay/README.md +0 -59
  238. package/es/NFTDisplay/aspect-ratio-container.js +0 -39
  239. package/es/NFTDisplay/broken.js +0 -132
  240. package/es/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
  241. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
  242. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
  243. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
  244. package/es/NFTDisplay/demo/data/asset-state-svg.json +0 -29
  245. package/es/NFTDisplay/demo/data/asset-state-url.json +0 -10
  246. package/es/NFTDisplay/index.js +0 -328
  247. package/es/NFTDisplay/loading.js +0 -18
  248. package/es/NFTDisplay/svg-embedder/img.js +0 -45
  249. package/es/NFTDisplay/svg-embedder/inline-svg.js +0 -39
  250. package/es/NavMenu/index.js +0 -2
  251. package/es/NavMenu/nav-menu.js +0 -358
  252. package/es/NavMenu/style.js +0 -181
  253. package/es/PageScroller/index.js +0 -286
  254. package/es/PageScroller/story/FifthComponent.js +0 -9
  255. package/es/PageScroller/story/FirstComponent.js +0 -9
  256. package/es/PageScroller/story/FourthComponent.js +0 -12
  257. package/es/PageScroller/story/FullPage.js +0 -47
  258. package/es/PageScroller/story/PageContain.js +0 -59
  259. package/es/PageScroller/story/SecondComponent.js +0 -9
  260. package/es/PageScroller/story/ThirdComponent.js +0 -9
  261. package/es/PageScroller/story/index.css +0 -115
  262. package/es/PageScroller/usePrevValue.js +0 -9
  263. package/es/Passport/index.js +0 -2
  264. package/es/Passport/passport.js +0 -103
  265. package/es/PoweredByArcBlock/index.js +0 -31
  266. package/es/PricingTable/PricingPlan.js +0 -124
  267. package/es/PricingTable/index.js +0 -53
  268. package/es/QRCode/index.js +0 -73
  269. package/es/RelativeTime/index.js +0 -107
  270. package/es/Result/common.js +0 -140
  271. package/es/Result/demo/fixtures/result-image-404.svg +0 -1
  272. package/es/Result/index.js +0 -33
  273. package/es/Result/result.js +0 -59
  274. package/es/Result/translations.js +0 -54
  275. package/es/Screenshot/BaseScreenshot/index.js +0 -91
  276. package/es/Screenshot/BaseScreenshot/shells/Macbook.js +0 -51
  277. package/es/Screenshot/BaseScreenshot/shells/Phone.js +0 -36
  278. package/es/Screenshot/demo/images/bg-00.jpg +0 -0
  279. package/es/Screenshot/demo/images/bg-01.jpg +0 -0
  280. package/es/Screenshot/demo/images/bg-02.jpg +0 -0
  281. package/es/Screenshot/demo/images/bg-03.jpg +0 -0
  282. package/es/Screenshot/demo/images/bg-04.jpg +0 -0
  283. package/es/Screenshot/demo/images/bg-05.jpg +0 -0
  284. package/es/Screenshot/demo/images/bg-06.jpg +0 -0
  285. package/es/Screenshot/demo/images/bg-07.jpg +0 -0
  286. package/es/Screenshot/demo/images/bg-08.jpg +0 -0
  287. package/es/Screenshot/demo/images/bg-09.jpg +0 -0
  288. package/es/Screenshot/devices.css +0 -1366
  289. package/es/Screenshot/index.js +0 -299
  290. package/es/SessionBlocklet/index.js +0 -173
  291. package/es/SessionManager/index.js +0 -2
  292. package/es/SessionPermission/index.js +0 -28
  293. package/es/SessionUser/components/logged-in.js +0 -229
  294. package/es/SessionUser/components/session-user-item.js +0 -102
  295. package/es/SessionUser/components/session-user-switch.js +0 -223
  296. package/es/SessionUser/components/un-login.js +0 -64
  297. package/es/SessionUser/components/user-info.js +0 -167
  298. package/es/SessionUser/index.js +0 -49
  299. package/es/SessionUser/libs/translation.js +0 -19
  300. package/es/SessionUser/libs/utils.js +0 -29
  301. package/es/Sparkline/index.js +0 -193
  302. package/es/Spinner/index.js +0 -28
  303. package/es/SplitButton/index.js +0 -145
  304. package/es/Success/index.js +0 -175
  305. package/es/Switch/index.js +0 -96
  306. package/es/Tabs/index.js +0 -214
  307. package/es/Tag/index.js +0 -108
  308. package/es/TextCollapse/index.js +0 -92
  309. package/es/Theme/index.js +0 -16
  310. package/es/Theme/theme-provider.js +0 -39
  311. package/es/Theme/theme.js +0 -145
  312. package/es/Toast/index.js +0 -97
  313. package/es/Typography/index.js +0 -95
  314. package/es/Util/constant.js +0 -42
  315. package/es/Util/deprecate.js +0 -28
  316. package/es/Util/federated.js +0 -91
  317. package/es/Util/index.js +0 -363
  318. package/es/Util/passport.js +0 -62
  319. package/es/Util/wallet.js +0 -32
  320. package/es/Video/index.js +0 -89
  321. package/es/Wallet/Action.js +0 -119
  322. package/es/Wallet/Download.js +0 -331
  323. package/es/Wallet/Open.js +0 -45
  324. package/es/Wallet/images/abtwallet.png +0 -0
  325. package/es/Wallet/images/android_download.svg +0 -23
  326. package/es/Wallet/images/app-store.svg +0 -20
  327. package/es/Wallet/images/google-play.svg +0 -70
  328. package/es/WalletOSIcon/index.js +0 -82
  329. package/es/WebWalletSWKeeper/index.js +0 -117
  330. package/es/WechatPrompt/images/android.png +0 -0
  331. package/es/WechatPrompt/images/ios.png +0 -0
  332. package/es/WechatPrompt/index.js +0 -88
  333. package/es/index.js +0 -38
  334. package/es/withTheme/index.js +0 -69
  335. package/es/withTracker/README.md +0 -34
  336. package/es/withTracker/error_boundary.js +0 -34
  337. package/es/withTracker/index.js +0 -55
@@ -1,41 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { styled } from '../Theme';
3
-
4
- /**
5
- *
6
- * @param {string} relative 容器相对尺寸,默认相对屏幕(screen),可设置为父容器(parent)
7
- * @returns react component element
8
- */
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- export default function Center({
11
- children,
12
- relative
13
- }) {
14
- let style = {};
15
- if (relative === 'parent') {
16
- style = {
17
- width: '100%',
18
- height: '100%'
19
- };
20
- }
21
- return /*#__PURE__*/_jsx(Div, {
22
- style: style,
23
- children: children
24
- });
25
- }
26
- const Div = styled('div')`
27
- flex: 1;
28
- width: 100vw;
29
- height: 100vh;
30
-
31
- display: flex;
32
- justify-content: center;
33
- align-items: center;
34
- `;
35
- Center.propTypes = {
36
- children: PropTypes.any.isRequired,
37
- relative: PropTypes.string
38
- };
39
- Center.defaultProps = {
40
- relative: 'screen'
41
- };
@@ -1,72 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Tooltip from '@mui/material/Tooltip';
3
- import { green } from '@mui/material/colors';
4
- import CopyIcon from '@mui/icons-material/ContentCopy';
5
- import CheckIcon from '@mui/icons-material/Check';
6
- import useCopy from './hook';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- export default function CopyButton({
9
- content,
10
- locale,
11
- render,
12
- showTooltip,
13
- ...rest
14
- }) {
15
- const {
16
- containerRef,
17
- copied,
18
- copy,
19
- texts
20
- } = useCopy({
21
- content,
22
- locale
23
- });
24
- const iconStyle = {
25
- fontSize: '1em'
26
- };
27
- const copyButton = /*#__PURE__*/_jsx("span", {
28
- title: copied ? '' : texts.copy,
29
- ...rest,
30
- style: {
31
- height: '1em',
32
- ...rest.style
33
- },
34
- children: copied ? /*#__PURE__*/_jsx(Tooltip, {
35
- title: texts.copied,
36
- placement: "bottom",
37
- arrow: true,
38
- open: copied && showTooltip,
39
- children: /*#__PURE__*/_jsx(CheckIcon, {
40
- sx: {
41
- ...iconStyle,
42
- color: green[500]
43
- }
44
- })
45
- }) : /*#__PURE__*/_jsx(CopyIcon, {
46
- onClick: copy,
47
- sx: {
48
- ...iconStyle,
49
- cursor: 'pointer'
50
- }
51
- })
52
- });
53
- if (render) {
54
- return render({
55
- copyButton,
56
- containerRef
57
- });
58
- }
59
- return copyButton;
60
- }
61
- CopyButton.propTypes = {
62
- content: PropTypes.string,
63
- locale: PropTypes.oneOf(['en', 'zh']),
64
- render: PropTypes.func,
65
- showTooltip: PropTypes.bool
66
- };
67
- CopyButton.defaultProps = {
68
- content: '',
69
- locale: 'en',
70
- render: undefined,
71
- showTooltip: true
72
- };
@@ -1,39 +0,0 @@
1
- import { useState, useEffect, useRef } from 'react';
2
- import Copy from 'copy-to-clipboard';
3
- const translations = {
4
- en: {
5
- copy: 'Click To Copy',
6
- copied: 'Copied!'
7
- },
8
- zh: {
9
- copy: '点击复制',
10
- copied: '已复制!'
11
- }
12
- };
13
- export default function useCopy({
14
- content,
15
- locale = 'en'
16
- }) {
17
- const [copied, setCopied] = useState(false);
18
- const containerRef = useRef();
19
- const copy = e => {
20
- if (e) {
21
- e.stopPropagation();
22
- }
23
- Copy(content || containerRef.current.textContent);
24
- setCopied(true);
25
- };
26
- useEffect(() => {
27
- let timer = null;
28
- if (copied) {
29
- timer = setTimeout(() => setCopied(false), 2000);
30
- }
31
- return () => clearTimeout(timer);
32
- }, [copied]);
33
- return {
34
- containerRef,
35
- copied,
36
- copy,
37
- texts: translations[locale] || translations.en
38
- };
39
- }
@@ -1,92 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { useSize } from 'ahooks';
3
- import Tooltip from '@mui/material/Tooltip';
4
- import useCopy from './hook';
5
- import Toast, { ToastProvider } from '../Toast';
6
- import { mergeProps } from '../Util';
7
- import { styled } from '../Theme';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- export { default as CopyButton } from './copy-button';
10
- export default function ClickToCopy(props) {
11
- const newProps = mergeProps(props, ClickToCopy, ['style']);
12
- const {
13
- children,
14
- content,
15
- tip,
16
- copiedTip,
17
- tipPlacement,
18
- locale,
19
- style,
20
- unstyled,
21
- ...rest
22
- } = newProps;
23
- const {
24
- containerRef,
25
- copied,
26
- copy,
27
- texts
28
- } = useCopy({
29
- content,
30
- locale
31
- });
32
- const _tip = tip || texts.copy;
33
- const _copiedTip = copiedTip || texts.copied;
34
- const size = useSize(document.body);
35
- const width = size?.width || 0;
36
- const onCopy = e => {
37
- copy(e);
38
- if (width < 600) {
39
- Toast.success(_copiedTip);
40
- }
41
- };
42
- const ContainerComponent = unstyled ? UnstyledContainer : Container;
43
- return /*#__PURE__*/_jsx(ToastProvider, {
44
- children: /*#__PURE__*/_jsx(Tooltip, {
45
- title: copied ? _copiedTip : _tip,
46
- ...rest,
47
- placement: tipPlacement,
48
- disableFocusListener: true,
49
- children: /*#__PURE__*/_jsx(ContainerComponent, {
50
- ref: containerRef,
51
- style: style,
52
- onClick: onCopy,
53
- children: children || content
54
- })
55
- })
56
- });
57
- }
58
- ClickToCopy.propTypes = {
59
- children: PropTypes.any.isRequired,
60
- content: PropTypes.string,
61
- tip: PropTypes.string,
62
- tipPlacement: PropTypes.string,
63
- copiedTip: PropTypes.string,
64
- locale: PropTypes.oneOf(['en', 'zh']),
65
- style: PropTypes.object,
66
- // 仅提供点击复制功能, 不提供样式
67
- unstyled: PropTypes.bool
68
- };
69
- ClickToCopy.defaultProps = {
70
- content: '',
71
- tip: '',
72
- copiedTip: '',
73
- tipPlacement: 'right',
74
- locale: 'en',
75
- style: {},
76
- unstyled: false
77
- };
78
- const Container = styled('span')`
79
- display: inline;
80
- white-space: pre-wrap;
81
- word-wrap: break-word;
82
- overflow-wrap: break-word;
83
- align-items: center;
84
- justify-content: start;
85
- border-radius: 15px;
86
- padding: 1px 12px;
87
- background-color: rgba(0, 0, 0, 0.08);
88
- cursor: pointer;
89
- `;
90
- const UnstyledContainer = styled('span')`
91
- cursor: pointer;
92
- `;
@@ -1,85 +0,0 @@
1
- // highlight.js/styles/atom-one-light.css
2
- import styled from '@emotion/styled';
3
- const LightBox = styled('div')`
4
- display: block;
5
- pre code.hljs {
6
- display: block;
7
- overflow-x: auto;
8
- padding: 1em;
9
- }
10
- code.hljs {
11
- padding: 3px 5px;
12
- }
13
- .hljs {
14
- color: #383a42;
15
- background: #fafafa;
16
- }
17
- .hljs-comment,
18
- .hljs-quote {
19
- color: #a0a1a7;
20
- font-style: italic;
21
- }
22
- .hljs-doctag,
23
- .hljs-formula,
24
- .hljs-keyword {
25
- color: #a626a4;
26
- }
27
- .hljs-deletion,
28
- .hljs-name,
29
- .hljs-section,
30
- .hljs-selector-tag,
31
- .hljs-subst {
32
- color: #e45649;
33
- }
34
- .hljs-literal {
35
- color: #0184bb;
36
- }
37
- .hljs-addition,
38
- .hljs-attribute,
39
- .hljs-meta .hljs-string,
40
- .hljs-regexp,
41
- .hljs-string {
42
- color: #50a14f;
43
- }
44
- .hljs-attr,
45
- .hljs-number,
46
- .hljs-selector-attr,
47
- .hljs-selector-class,
48
- .hljs-selector-pseudo,
49
- .hljs-template-variable,
50
- .hljs-type,
51
- .hljs-variable {
52
- color: #986801;
53
- }
54
- .hljs-bullet,
55
- .hljs-link,
56
- .hljs-meta,
57
- .hljs-selector-id,
58
- .hljs-symbol,
59
- .hljs-title {
60
- color: #4078f2;
61
- }
62
- .hljs-built_in,
63
- .hljs-class .hljs-title,
64
- .hljs-title.class_ {
65
- color: #c18401;
66
- }
67
- .hljs-emphasis {
68
- font-style: italic;
69
- }
70
- .hljs-strong {
71
- font-weight: 700;
72
- }
73
- .hljs-link {
74
- text-decoration: underline;
75
- }
76
-
77
- pre {
78
- .copy-button {
79
- > .default-text {
80
- color: #222;
81
- }
82
- }
83
- }
84
- `;
85
- export default LightBox;
@@ -1,222 +0,0 @@
1
- /* eslint-disable react/no-danger */
2
- import { useState } from 'react';
3
- import PropTypes from 'prop-types';
4
- import Copy from 'copy-to-clipboard';
5
- import hljs from 'highlight.js/lib/core';
6
- import javascript from 'highlight.js/lib/languages/javascript';
7
- import typescript from 'highlight.js/lib/languages/typescript';
8
- import json from 'highlight.js/lib/languages/json';
9
- import elixir from 'highlight.js/lib/languages/elixir';
10
- import java from 'highlight.js/lib/languages/java';
11
- import swift from 'highlight.js/lib/languages/swift';
12
- import objectivec from 'highlight.js/lib/languages/objectivec';
13
- import kotlin from 'highlight.js/lib/languages/kotlin';
14
- import protobuf from 'highlight.js/lib/languages/protobuf';
15
- import python from 'highlight.js/lib/languages/python';
16
- import yaml from 'highlight.js/lib/languages/yaml';
17
- import shell from 'highlight.js/lib/languages/shell';
18
- import diff from 'highlight.js/lib/languages/diff';
19
- import plaintext from 'highlight.js/lib/languages/plaintext';
20
- import markdown from 'highlight.js/lib/languages/markdown';
21
- import 'highlight.js/styles/atom-one-dark.css';
22
- import CopyIcon from '@mui/icons-material/FileCopy';
23
- import CheckIcon from '@mui/icons-material/Check';
24
- import colors from '../Colors';
25
- import { styled } from '../Theme';
26
- import LightBox from './LightBox';
27
- import { jsx as _jsx } from "react/jsx-runtime";
28
- import { Fragment as _Fragment } from "react/jsx-runtime";
29
- import { jsxs as _jsxs } from "react/jsx-runtime";
30
- hljs.registerLanguage('javascript', javascript);
31
- hljs.registerLanguage('js', javascript);
32
- hljs.registerLanguage('jsx', javascript);
33
- hljs.registerLanguage('typescript', typescript);
34
- hljs.registerLanguage('ts', typescript);
35
- hljs.registerLanguage('tsx', typescript);
36
- hljs.registerLanguage('json', json);
37
- hljs.registerLanguage('elixir', elixir);
38
- hljs.registerLanguage('java', java);
39
- hljs.registerLanguage('kotlin', kotlin);
40
- hljs.registerLanguage('kt', kotlin);
41
- hljs.registerLanguage('protobuf', protobuf);
42
- hljs.registerLanguage('protobuffer', protobuf);
43
- hljs.registerLanguage('python', python);
44
- hljs.registerLanguage('py', python);
45
- hljs.registerLanguage('yaml', yaml);
46
- hljs.registerLanguage('yml', yaml);
47
- hljs.registerLanguage('shell', shell);
48
- hljs.registerLanguage('sh', shell);
49
- hljs.registerLanguage('plaintext', plaintext);
50
- hljs.registerLanguage('text', plaintext);
51
- hljs.registerLanguage('patch', diff);
52
- hljs.registerLanguage('diff', diff);
53
- hljs.registerLanguage('swift', swift);
54
- hljs.registerLanguage('objectivec', objectivec);
55
- hljs.registerLanguage('oc', objectivec);
56
- hljs.registerLanguage('markdown', markdown);
57
- export default function CodeBlock({
58
- code,
59
- language,
60
- children,
61
- dark,
62
- ...rest
63
- }) {
64
- const [copied, setCopied] = useState(false);
65
- const source = code || children;
66
- const onCopy = () => {
67
- if (copied) {
68
- return;
69
- }
70
- Copy(source);
71
- setCopied(true);
72
- // 恢复 copied 状态
73
- setTimeout(() => {
74
- setCopied(false);
75
- }, 1500);
76
- };
77
- const originEl = /*#__PURE__*/_jsxs(Pre, {
78
- ...rest,
79
- children: [/*#__PURE__*/_jsx("span", {
80
- className: "codeblock__inner",
81
- children: /*#__PURE__*/_jsx("code", {
82
- className: `hljs ${language}`,
83
- dangerouslySetInnerHTML: {
84
- __html: hljs.highlightAuto(source, [language]).value
85
- }
86
- })
87
- }), /*#__PURE__*/_jsxs("div", {
88
- className: "copy-button",
89
- onClick: onCopy,
90
- children: [/*#__PURE__*/_jsx("span", {
91
- className: "default-text",
92
- children: language
93
- }), /*#__PURE__*/_jsx("span", {
94
- className: "hover-text",
95
- children: !copied ? /*#__PURE__*/_jsxs(_Fragment, {
96
- children: [/*#__PURE__*/_jsx(CopyIcon, {
97
- className: "copy-icon"
98
- }), /*#__PURE__*/_jsx("span", {
99
- className: "button-lang-text",
100
- children: "copy"
101
- })]
102
- }) : /*#__PURE__*/_jsxs(_Fragment, {
103
- children: [/*#__PURE__*/_jsx(CheckIcon, {
104
- className: "copy-icon"
105
- }), /*#__PURE__*/_jsx("span", {
106
- className: "button-lang-text",
107
- children: "copied"
108
- })]
109
- })
110
- })]
111
- })]
112
- });
113
- if (!dark) {
114
- return /*#__PURE__*/_jsx(LightBox, {
115
- children: originEl
116
- });
117
- }
118
- return originEl;
119
- }
120
- CodeBlock.propTypes = {
121
- code: PropTypes.string,
122
- language: PropTypes.string,
123
- children: PropTypes.any,
124
- dark: PropTypes.bool
125
- };
126
- CodeBlock.defaultProps = {
127
- code: '',
128
- language: 'text',
129
- children: null,
130
- dark: true
131
- };
132
- const fontFamily = 'source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace !important';
133
- const Pre = styled('pre')`
134
- font-family: ${fontFamily};
135
- display: block;
136
- font-size: 14px;
137
- line-height: 1.42857143;
138
- margin: 0 0 32px;
139
- word-break: break-word;
140
- word-wrap: break-word;
141
- text-align: left;
142
- border-radius: 5px;
143
- border: 1px solid #dedede;
144
- background: #222;
145
- color: ${colors.common.white};
146
- position: relative;
147
-
148
- .codeblock__inner {
149
- display: block;
150
- width: 100%;
151
- max-height: 46.25rem;
152
- overflow: scroll;
153
- }
154
-
155
- .copy-button {
156
- display: flex;
157
- justify-content: center;
158
- align-items: center;
159
- position: absolute;
160
- top: 8px;
161
- right: 24px;
162
- padding: 4px;
163
- min-width: 72px;
164
- height: 24px;
165
- border-radius: 4px;
166
- background: transparent;
167
- cursor: pointer;
168
- transition: all ease 0.2s;
169
-
170
- .copy-icon {
171
- font-size: 16px;
172
- color: ${colors.common.white};
173
- }
174
-
175
- .hover-text {
176
- display: none;
177
- }
178
- .default-text {
179
- font-size: 12px;
180
- color: ${colors.common.white};
181
- }
182
- }
183
-
184
- &:hover {
185
- .copy-button {
186
- display: flex;
187
- background: ${colors.primary.main};
188
-
189
- .hover-text {
190
- display: flex;
191
- justify-content: center;
192
- align-items: center;
193
- color: ${colors.common.white};
194
- }
195
- .default-text {
196
- display: none;
197
- font-size: 12px;
198
- }
199
- }
200
- }
201
-
202
- .button-lang-text {
203
- margin-left: 4px;
204
- font-size: 12px;
205
- color: ${colors.common.white};
206
- }
207
-
208
- code {
209
- counter-reset: line;
210
- counter-increment: line;
211
- padding: 16px;
212
- font-family: ${fontFamily};
213
- color: ${colors.common.white};
214
- * {
215
- font-family: ${fontFamily};
216
- }
217
- }
218
-
219
- .hljs * {
220
- white-space: normal; // autowrap
221
- }
222
- `;
@@ -1,3 +0,0 @@
1
- // eslint-disable-next-line no-restricted-exports
2
- export { default } from './themes/default';
3
- export { default as temp } from './themes/temp';
@@ -1,77 +0,0 @@
1
- /**
2
- * 默认 colors, ABT 系列
3
- *
4
- * - colors object 结构是在 mui theme#palette object 基础上调整后的结构
5
- * - 色值在 mui default theme 基础上将 figma 中常用的 colors 进行覆盖
6
- * - 扩展一些常用色值 (如 DID 系列)
7
- * - figma: https://www.figma.com/file/1qHyMF137EXOQpSFVByszG/UX-Library?node-id=295%3A1518
8
- */
9
- const colors = {
10
- common: {
11
- black: '#000',
12
- white: '#fff'
13
- },
14
- primary: {
15
- main: '#3773F2',
16
- contrastText: '#fff'
17
- },
18
- // override
19
- secondary: {
20
- main: '#16CED1',
21
- contrastText: '#fff'
22
- },
23
- // override
24
- error: {
25
- main: '#F16E6E',
26
- contrastText: '#fff'
27
- },
28
- // override
29
- warning: {
30
- main: '#DE9E37',
31
- contrastText: '#fff'
32
- },
33
- // override
34
- info: {
35
- main: '#0775F8',
36
- contrastText: '#fff'
37
- },
38
- // override
39
- success: {
40
- main: '#34BE74',
41
- contrastText: '#fff'
42
- },
43
- // override
44
- grey: {
45
- 50: '#fafafa',
46
- 100: '#f5f5f5',
47
- 200: '#eeeeee',
48
- 300: '#e0e0e0',
49
- 400: '#bdbdbd',
50
- 500: '#9e9e9e',
51
- 600: '#757575',
52
- 700: '#616161',
53
- 800: '#424242',
54
- 900: '#212121',
55
- A100: '#d5d5d5',
56
- A200: '#aaaaaa',
57
- A400: '#303030',
58
- A700: '#616161'
59
- },
60
- text: {
61
- primary: 'rgba(0, 0, 0, 0.87)',
62
- secondary: 'rgba(0, 0, 0, 0.54)',
63
- disabled: 'rgba(0, 0, 0, 0.38)',
64
- hint: 'rgba(0, 0, 0, 0.38)'
65
- },
66
- divider: 'rgba(0, 0, 0, 0.12)',
67
- background: {
68
- default: '#fff'
69
- },
70
- // 扩展色值, 适用于 did 相关的组件, 如果某些产品整体风格是 did 系列, 可以扩展出一个 did 系列的 theme
71
- did: {
72
- primary: '#4598FA',
73
- secondary: '#49C3AD'
74
- }
75
- // TODO: 等设计规范稳定后, 考虑扩展 trade 相关的常用颜色 (send/receive/exchange/transfer)
76
- };
77
- export default colors;
@@ -1,41 +0,0 @@
1
- const colors = {
2
- textMuted: 'rgba(18, 22, 24, 0.36)',
3
- textSubtitle: 'rgba(18, 22, 24, 0.6)',
4
- textBase: 'rgba(18, 22, 24, 1)',
5
- textPrimaryBase: 'rgba(18, 22, 24, 1)',
6
- primaryBase: 'rgba(19, 125, 250, 1)',
7
- primary100: 'rgba(19, 125, 250, 1)',
8
- gray6: 'rgba(17, 22, 24, 0.06)',
9
- // surface
10
- surfaceBgSubtitle: 'rgba(18, 22, 24, 0.03)',
11
- surfacePrimarySubtitle: 'rgba(19, 125, 250, 0.06)',
12
- surfaceSuccess: 'rgba(13, 202, 134, 1)',
13
- // background
14
- backgroundsBgSubtitle: 'rgba(249, 250, 251, 1)',
15
- backgroundsBgComponent: 'rgba(241, 243, 245, 1)',
16
- backgroundsBgField: 'rgba(249, 250, 251, 1)',
17
- backgroundsBgSubtile: 'rgba(249, 250, 251, 1)',
18
- backgroundsBgSubtileHover: 'rgba(243, 244, 246, 1)',
19
- // foreground
20
- foregroundsFgBase: 'rgba(3, 7, 18, 1)',
21
- foregroundsFgSubtile: 'rgba(75, 85, 99, 1)',
22
- foregroundsFgMuted: 'rgba(156, 163, 175, 1)',
23
- foregroundsFgInteractiveTransparent: 'rgba(59, 130, 246, 0)',
24
- foregroundsFgInteractive: 'rgba(59, 130, 246, 1)',
25
- // border
26
- strokeBorderBase: 'rgba(229, 231, 235, 1)',
27
- strokeBorderStrong: 'rgba(209, 213, 219, 1)',
28
- strokeSep: 'rgba(229, 231, 235, 1)',
29
- lineStep: 'rgba(18, 22, 24, 0.06)',
30
- lineBorderStrong: 'rgba(18, 22, 24, 0.12)',
31
- lineBorderBase: 'rgba(18, 22, 24, 0.06)',
32
- borderBase: 'rgba(18, 22, 24, 0.06)',
33
- // button
34
- buttonsButtonNeutral: 'rgba(255, 255, 255, 1)',
35
- buttonsButtonNeutralHover: 'rgba(243, 244, 246, 1)',
36
- buttonsButtonInverted: 'rgba(3, 7, 18, 1)',
37
- buttonsButtonInvertedHover: 'rgba(17, 24, 39, 1)',
38
- buttonsButtonDanger: 'rgba(225, 29, 72, 1)',
39
- red: '#FF6369'
40
- };
41
- export default colors;