@arcblock/ux 2.9.91 → 2.10.0

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,175 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { Box } from '@mui/material';
3
-
4
- // FIXME: @zhanghan 目前无法适配各种 size,后续优化
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- import { jsxs as _jsxs } from "react/jsx-runtime";
7
- export default function Success({
8
- size,
9
- backgroundColor,
10
- borderWidth
11
- }) {
12
- const contentSize = size - borderWidth * 2;
13
- return /*#__PURE__*/_jsxs(Box, {
14
- className: "check-icon",
15
- sx: {
16
- width: contentSize,
17
- height: contentSize,
18
- position: 'relative',
19
- borderRadius: '100%',
20
- '&, *, *::before, *::after': {
21
- boxSizing: 'content-box !important'
22
- },
23
- border: theme => `${borderWidth}px solid ${theme.palette.success.main}`,
24
- '&::before, &::after': {
25
- content: '""',
26
- height: '125%',
27
- position: 'absolute',
28
- background: backgroundColor,
29
- transform: 'rotate(-45deg)'
30
- },
31
- '&::before': {
32
- top: `${borderWidth / 2 + 1}px`,
33
- left: `-${borderWidth / 2}px`,
34
- width: `calc(32.5% + ${borderWidth}px)`,
35
- transformOrigin: '100% 50%',
36
- borderRadius: '100% 0 0 100%'
37
- },
38
- '&::after': {
39
- top: 0,
40
- left: '37.5%',
41
- width: `calc(70% + ${borderWidth}px)`,
42
- transformOrigin: '0 50%',
43
- borderRadius: '0 100% 100% 0',
44
- animation: 'rotate-circle 4.25s ease-in'
45
- },
46
- '.icon-line': {
47
- height: `${borderWidth + 1}px`,
48
- backgroundColor: theme => theme.palette.success.main,
49
- display: 'block',
50
- borderRadius: '100vw',
51
- position: 'absolute',
52
- zIndex: 10
53
- },
54
- '@keyframes rotate-circle': {
55
- '0%': {
56
- transform: 'rotate(-45deg)'
57
- },
58
- '5%': {
59
- transform: 'rotate(-45deg)'
60
- },
61
- '12%': {
62
- transform: 'rotate(-405deg)'
63
- },
64
- '100%': {
65
- transform: 'rotate(-405deg)'
66
- }
67
- }
68
- },
69
- children: [/*#__PURE__*/_jsx(Box, {
70
- component: "span",
71
- className: "icon-line line-tip",
72
- sx: {
73
- top: '57.5%',
74
- left: '17.5%',
75
- width: '31.25%',
76
- transform: 'rotate(45deg)',
77
- animation: 'icon-line-tip 0.75s',
78
- '@keyframes icon-line-tip': {
79
- '0%': {
80
- width: '0',
81
- left: '1px',
82
- top: '23.75%'
83
- },
84
- '54%': {
85
- width: '0',
86
- left: '1px',
87
- top: '23.75%'
88
- },
89
- '70%': {
90
- width: '62.5%',
91
- left: '-10%',
92
- top: '46.25%'
93
- },
94
- '84%': {
95
- width: '21.25%',
96
- left: '26.25%',
97
- top: '60%'
98
- },
99
- '100%': {
100
- width: '31.25',
101
- left: '17.5%',
102
- top: '56.25%'
103
- }
104
- }
105
- }
106
- }), /*#__PURE__*/_jsx(Box, {
107
- component: "span",
108
- className: "icon-line line-long",
109
- sx: {
110
- top: '47.5%',
111
- right: '10%',
112
- width: '58.75%',
113
- transform: 'rotate(-45deg)',
114
- animation: 'icon-line-long 0.75s',
115
- '@keyframes icon-line-long': {
116
- '0%': {
117
- width: '0',
118
- right: '57.5%',
119
- top: '67.5%'
120
- },
121
- '65%': {
122
- width: '0',
123
- right: '57.5%',
124
- top: '67.5%'
125
- },
126
- '84%': {
127
- width: '68.75%',
128
- right: '0px',
129
- top: '43.75%'
130
- },
131
- '100%': {
132
- width: '58.75%',
133
- right: '10%',
134
- top: '47.5%'
135
- }
136
- }
137
- }
138
- }), /*#__PURE__*/_jsx(Box, {
139
- className: "icon-circle",
140
- sx: {
141
- top: `-${borderWidth}px`,
142
- left: `-${borderWidth}px`,
143
- zIndex: 10,
144
- width: contentSize,
145
- height: contentSize,
146
- borderRadius: '100%',
147
- position: 'absolute',
148
- boxSizing: 'contentBox',
149
- border: `${borderWidth}px solid rgba(76, 175, 80, 0.5)`
150
- }
151
- }), /*#__PURE__*/_jsx(Box, {
152
- className: "icon-fix",
153
- sx: {
154
- top: `calc(8% - ${Math.sqrt(borderWidth)}px)`,
155
- width: borderWidth + 1,
156
- left: `calc(32% - ${Math.sqrt(borderWidth)}px)`,
157
- zIndex: 1,
158
- height: contentSize + borderWidth * 2,
159
- position: 'absolute',
160
- transform: 'rotate(-45deg)',
161
- backgroundColor
162
- }
163
- })]
164
- });
165
- }
166
- Success.propTypes = {
167
- size: PropTypes.number,
168
- borderWidth: PropTypes.number,
169
- backgroundColor: PropTypes.string
170
- };
171
- Success.defaultProps = {
172
- size: 64,
173
- borderWidth: 4,
174
- backgroundColor: 'white'
175
- };
@@ -1,96 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import FormControlLabel from '@mui/material/FormControlLabel';
3
- import MuiSwitch from '@mui/material/Switch';
4
- import { styled } from '../Theme';
5
-
6
- // 参考: https://mui.com/material-ui/react-switch/#customization
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const IOSSwitch = styled(props => /*#__PURE__*/_jsx(MuiSwitch, {
9
- focusVisibleClassName: ".Mui-focusVisible",
10
- disableRipple: true,
11
- ...props
12
- }))(({
13
- theme
14
- }) => ({
15
- width: 42,
16
- height: 26,
17
- padding: 0,
18
- '& .MuiSwitch-switchBase': {
19
- padding: 0,
20
- margin: 2,
21
- transitionDuration: '300ms',
22
- '&.Mui-checked': {
23
- transform: 'translateX(16px)',
24
- color: '#fff',
25
- '& + .MuiSwitch-track': {
26
- backgroundColor: theme.palette.mode === 'dark' ? '#2ECA45' : '#65C466',
27
- opacity: 1,
28
- border: 0
29
- },
30
- '&.Mui-disabled + .MuiSwitch-track': {
31
- opacity: 0.5
32
- }
33
- },
34
- '&.Mui-focusVisible .MuiSwitch-thumb': {
35
- color: '#33cf4d',
36
- border: '6px solid #fff'
37
- },
38
- '&.Mui-disabled .MuiSwitch-thumb': {
39
- color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]
40
- },
41
- '&.Mui-disabled + .MuiSwitch-track': {
42
- opacity: theme.palette.mode === 'light' ? 0.7 : 0.3
43
- }
44
- },
45
- '& .MuiSwitch-thumb': {
46
- boxSizing: 'border-box',
47
- width: 22,
48
- height: 22
49
- },
50
- '& .MuiSwitch-track': {
51
- borderRadius: 26 / 2,
52
- backgroundColor: theme.palette.mode === 'light' ? '#E9E9EA' : '#39393D',
53
- opacity: 1,
54
- transition: theme.transitions.create(['background-color'], {
55
- duration: 500
56
- })
57
- }
58
- }));
59
-
60
- /**
61
- * Switch 组件 Props
62
- * @typedef {{
63
- * labelProps?: import('@mui/material').FormControlLabelProps;
64
- * } & import('@mui/material').SwitchProps } SwitchProps
65
- */
66
-
67
- /**
68
- * 抽取 blocklet server 中使用的 iOS 风格的 Switch,
69
- * 该组件把 FormControlLabel 和 MuiSwitch 组合在一起,
70
- * 兼容 mui Switch props, 使用 labelProps 控制 FormControlLabel
71
- * @param {SwitchProps} props
72
- * @returns {JSX.Element}
73
- */
74
- function Switch({
75
- labelProps,
76
- ...rest
77
- }) {
78
- if (labelProps) {
79
- return /*#__PURE__*/_jsx(FormControlLabel, {
80
- control: /*#__PURE__*/_jsx(IOSSwitch, {
81
- ...rest
82
- }),
83
- ...labelProps
84
- });
85
- }
86
- return /*#__PURE__*/_jsx(IOSSwitch, {
87
- ...rest
88
- });
89
- }
90
- Switch.propTypes = {
91
- labelProps: PropTypes.object
92
- };
93
- Switch.defaultProps = {
94
- labelProps: null
95
- };
96
- export default Switch;
package/es/Tabs/index.js DELETED
@@ -1,214 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { Tabs as MuiTabs, Tab as MuiTab } from '@mui/material';
3
- import { temp as colors } from '../Colors';
4
- import { styled } from '../Theme';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const PREFIX = 'index';
7
- const classes = {
8
- tabs: `${PREFIX}-tabs`,
9
- tab: `${PREFIX}-tab`
10
- };
11
- const StyledMuiTabs = styled(MuiTabs)(({
12
- theme
13
- }) => ({
14
- [`& .${classes.tabs}`]: {},
15
- [`& .${classes.tab}`]: {
16
- fontSize: '0.875rem',
17
- [theme.breakpoints.up('md')]: {
18
- fontSize: '1rem'
19
- }
20
- }
21
- }));
22
- function CardTabs({
23
- tabs,
24
- current,
25
- onChange,
26
- ...rest
27
- }) {
28
- return /*#__PURE__*/_jsx(MuiTabs, {
29
- scrollButtons: "auto",
30
- value: current,
31
- onChange: (_, newValue) => onChange(newValue),
32
- ...rest,
33
- variant: "scrollable",
34
- sx: {
35
- minHeight: 'auto',
36
- '.MuiTabs-scrollButtons.Mui-disabled': {
37
- opacity: 0.3,
38
- cursor: 'not-allowed',
39
- pointerEvents: 'auto'
40
- },
41
- '.MuiTabs-scroller': {
42
- borderRadius: '100vw'
43
- },
44
- '.MuiTabs-flexContainer': {
45
- borderRadius: '100vw',
46
- backgroundColor: colors.backgroundsBgComponent,
47
- padding: 0.5,
48
- display: 'inline-flex',
49
- columnGap: 0.25,
50
- maxWidth: '100%',
51
- overflowX: 'auto'
52
- },
53
- '.MuiTab-root': {
54
- borderRadius: '100vw',
55
- border: '1px solid transparent',
56
- minHeight: 'auto',
57
- lineHeight: 1,
58
- py: 1,
59
- color: colors.foregroundsFgSubtile,
60
- fontSize: '13px',
61
- fontWeight: 'normal',
62
- textTransform: 'capitalize',
63
- transition: 'background-color 0.2s ease',
64
- '&.Mui-selected, &:hover': {
65
- backgroundColor: 'white',
66
- borderColor: colors.lineBorderBase,
67
- color: colors.foregroundsFgBase
68
- }
69
- },
70
- '.MuiTabs-indicator': {
71
- display: 'none'
72
- },
73
- ...rest.sx
74
- },
75
- children: tabs.map(x => /*#__PURE__*/_jsx(MuiTab, {
76
- className: classes.tab,
77
- value: x.value,
78
- label: x.label,
79
- icon: x.icon || null
80
- }, x.value))
81
- });
82
- }
83
- CardTabs.propTypes = {
84
- tabs: PropTypes.array.isRequired,
85
- current: PropTypes.string.isRequired,
86
- onChange: PropTypes.func.isRequired
87
- };
88
- function LineTabs({
89
- tabs,
90
- current,
91
- onChange,
92
- ...rest
93
- }) {
94
- return /*#__PURE__*/_jsx(MuiTabs, {
95
- scrollButtons: "auto",
96
- value: current,
97
- onChange: (_, newValue) => onChange(newValue),
98
- ...rest,
99
- variant: "scrollable",
100
- sx: {
101
- minHeight: 'auto',
102
- '.MuiTabs-scrollButtons.Mui-disabled': {
103
- opacity: 0.3,
104
- cursor: 'not-allowed',
105
- pointerEvents: 'auto'
106
- },
107
- '.MuiTabs-scroller': {
108
- '&::after': {
109
- content: '""',
110
- display: 'block',
111
- width: '100%',
112
- height: '1px',
113
- backgroundColor: colors.strokeBorderStrong,
114
- bottom: 0
115
- }
116
- },
117
- '.MuiTabs-flexContainer': {
118
- display: 'inline-flex',
119
- columnGap: 2.5,
120
- px: 0,
121
- pb: 0.5
122
- },
123
- '.MuiTab-root': {
124
- border: '1px solid transparent',
125
- minHeight: 'auto',
126
- lineHeight: 1,
127
- py: 1,
128
- px: 0,
129
- color: colors.foregroundsFgSubtile,
130
- fontSize: '14px',
131
- fontWeight: 500,
132
- textTransform: 'capitalize',
133
- minWidth: 'auto',
134
- '&.Mui-selected, &:hover': {
135
- color: colors.foregroundsFgBase
136
- }
137
- },
138
- '.MuiTabs-indicator': {
139
- height: '1px',
140
- backgroundColor: colors.foregroundsFgBase
141
- },
142
- ...rest.sx
143
- },
144
- children: tabs.map(x => /*#__PURE__*/_jsx(MuiTab, {
145
- className: classes.tab,
146
- value: x.value,
147
- label: x.label,
148
- icon: x.icon || null
149
- }, x.value))
150
- });
151
- }
152
- LineTabs.propTypes = {
153
- tabs: PropTypes.array.isRequired,
154
- current: PropTypes.string.isRequired,
155
- onChange: PropTypes.func.isRequired
156
- };
157
-
158
- /**
159
- * @typedef {import('@mui/material').TabsProps & {
160
- * tabs: string[];
161
- * onChange: (value) => {};
162
- * variant: 'line' | 'card' | 'fullWidth' | 'scrollable' | 'standard'
163
- * }} TabsProps
164
- */
165
-
166
- /**
167
- * @description
168
- * @param {TabsProps} props
169
- * @return {import('react').ReactNode}
170
- */
171
-
172
- export default function Tabs({
173
- tabs,
174
- current,
175
- onChange,
176
- ...rest
177
- }) {
178
- if (rest.variant === 'card') {
179
- return /*#__PURE__*/_jsx(CardTabs, {
180
- ...rest,
181
- tabs: tabs,
182
- current: current,
183
- onChange: onChange
184
- });
185
- }
186
- if (rest.variant === 'line') {
187
- return /*#__PURE__*/_jsx(LineTabs, {
188
- ...rest,
189
- tabs: tabs,
190
- current: current,
191
- onChange: onChange
192
- });
193
- }
194
- return /*#__PURE__*/_jsx(StyledMuiTabs, {
195
- scrollButtons: "auto",
196
- variant: "scrollable",
197
- value: current,
198
- onChange: (_, newValue) => onChange(newValue),
199
- indicatorColor: "primary",
200
- ...rest,
201
- className: [classes.tabs, rest.className || ''].join(' '),
202
- children: tabs.map(x => /*#__PURE__*/_jsx(MuiTab, {
203
- className: classes.tab,
204
- value: x.value,
205
- label: x.label,
206
- icon: x.icon || null
207
- }, x.value))
208
- });
209
- }
210
- Tabs.propTypes = {
211
- tabs: PropTypes.array.isRequired,
212
- current: PropTypes.string.isRequired,
213
- onChange: PropTypes.func.isRequired
214
- };
package/es/Tag/index.js DELETED
@@ -1,108 +0,0 @@
1
- import { forwardRef } from 'react';
2
- import PropTypes from 'prop-types';
3
- import Typography from '@mui/material/Typography';
4
- import { mergeProps } from '../Util';
5
- import colors from '../Colors';
6
- import { useTheme, styled } from '../Theme';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const types = {
9
- error: {
10
- color: colors.common.white,
11
- backgroundColor: colors.error.main
12
- },
13
- warning: {
14
- color: colors.common.white,
15
- backgroundColor: colors.warning.main
16
- },
17
- success: {
18
- color: colors.common.white,
19
- backgroundColor: colors.success.main
20
- },
21
- primary: {
22
- color: colors.common.white,
23
- backgroundColor: colors.primary.main
24
- },
25
- reverse: {
26
- color: '#fff',
27
- backgroundColor: '#222'
28
- }
29
- };
30
-
31
- /**
32
- * @typedef {{
33
- * type: 'error' | 'warning' | 'success' | 'primary' | 'reverse',
34
- * content: string,
35
- * className: string;
36
- * children: import('react').ReactNode,
37
- * style: import('react').CSSProperties
38
- * }} TagProps
39
- */
40
-
41
- /**
42
- * @description
43
- * @param {TagProps} props
44
- * @return {import('react').ReactNode}
45
- */
46
- function Tag(props) {
47
- const newProps = mergeProps(props, Tag, ['style']);
48
- const {
49
- type,
50
- content,
51
- children,
52
- style,
53
- className,
54
- forwardedRef,
55
- ...rest
56
- } = newProps;
57
- const {
58
- palette
59
- } = useTheme();
60
- const styles = Object.assign({}, types[type] || types.primary, style);
61
- if (palette[type]) {
62
- Object.assign(styles, {
63
- color: palette[type].contrastText || colors.common.white,
64
- backgroundColor: palette[type].main
65
- });
66
- }
67
- return /*#__PURE__*/_jsx(Span, {
68
- ref: forwardedRef,
69
- component: "span",
70
- className: className,
71
- style: styles,
72
- ...rest,
73
- children: content || children
74
- });
75
- }
76
- Tag.propTypes = {
77
- children: PropTypes.any.isRequired,
78
- type: PropTypes.oneOf(Object.keys(types)),
79
- content: PropTypes.string,
80
- className: PropTypes.string,
81
- style: PropTypes.oneOfType([PropTypes.object, PropTypes.string])
82
- };
83
- Tag.defaultProps = {
84
- type: 'primary',
85
- content: '',
86
- className: '',
87
- style: {}
88
- };
89
-
90
- /** @type {React.ForwardRefExoticComponent<React.PropsWithoutRef<TagProps> & React.RefAttributes<HTMLSpanElement>>} */
91
- const TagComponent = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Tag, {
92
- ...props,
93
- forwardedRef: ref
94
- }));
95
- export default TagComponent;
96
- const Span = styled(Typography)`
97
- && {
98
- display: inline-flex;
99
- justify-content: center;
100
- align-items: center;
101
- padding: 2px 10px;
102
- height: 20px;
103
- line-height: 20px;
104
- font-size: 12px;
105
- font-weight: 500;
106
- border-radius: 4px;
107
- }
108
- `;
@@ -1,92 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Typography from '@mui/material/Typography';
3
- import { styled } from '../Theme';
4
- import { withDeprecated } from '../Util/deprecate';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- import { jsxs as _jsxs } from "react/jsx-runtime";
7
- function TextCollapse({
8
- children,
9
- startChars,
10
- endChars,
11
- scaleFactor,
12
- maxWidth,
13
- style,
14
- fontType,
15
- ...rest
16
- }) {
17
- if (typeof children !== 'string') {
18
- return null;
19
- }
20
- const isMonospace = fontType === 'monospace';
21
-
22
- // 由于 css 样式产生的省略号长度是不确定的,所以目前 startChars 的长度只能让开发者自己去加上‘省略号’的宽度去设置这个值,要想完美的实现目标功能,最好是改用 js 动态修改文本内容来实现
23
- const startWidth = isMonospace ? `${startChars}ch` : `${scaleFactor * (startChars + 3)}em`;
24
- const endWidth = isMonospace ? `${endChars}ch` : `${scaleFactor * endChars}em`;
25
- const styles = Object.assign(isMonospace ? {
26
- fontFamily: '"Courier New", Courier, monospace'
27
- } : {}, {
28
- fontSize: 'inherit',
29
- color: 'inherit',
30
- fontWeight: 'inherit',
31
- maxWidth
32
- }, style);
33
- const [startPart, endPart] = [children.slice(0, children.length - endChars), children.slice(children.length - endChars)];
34
- return /*#__PURE__*/_jsxs(Container, {
35
- component: "span",
36
- style: styles,
37
- startwidth: startWidth,
38
- endwidth: endWidth,
39
- ...rest,
40
- children: [/*#__PURE__*/_jsx("span", {
41
- className: "start-part",
42
- children: startPart
43
- }), /*#__PURE__*/_jsx("span", {
44
- className: "end-part",
45
- children: endPart
46
- })]
47
- });
48
- }
49
- TextCollapse.propTypes = {
50
- children: PropTypes.string.isRequired,
51
- maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
52
- fontType: PropTypes.oneOf(['monospace', 'normal']),
53
- style: PropTypes.object,
54
- startChars: PropTypes.number,
55
- endChars: PropTypes.number,
56
- scaleFactor: PropTypes.number
57
- };
58
- TextCollapse.defaultProps = {
59
- style: {},
60
- startChars: 5,
61
- endChars: 5,
62
- scaleFactor: 0.45,
63
- fontType: 'normal'
64
- };
65
- export default withDeprecated(TextCollapse, {
66
- name: 'TextCollapse'
67
- });
68
- const Container = styled(Typography)`
69
- display: inline-flex;
70
- align-items: center;
71
- justify-content: start;
72
- cursor: pointer;
73
- white-space: nowrap;
74
- overflow: hidden;
75
-
76
- .start-part,
77
- .end-part {
78
- display: inline-block;
79
- vertical-align: bottom;
80
- white-space: nowrap;
81
- overflow: hidden;
82
- }
83
- .start-part {
84
- max-width: calc(100% - ${props => props.endwidth});
85
- min-width: ${props => props.startwidth};
86
- text-overflow: ellipsis;
87
- }
88
- .end-part {
89
- max-width: calc(100% - ${props => props.startwidth});
90
- direction: rtl;
91
- }
92
- `;
package/es/Theme/index.js DELETED
@@ -1,16 +0,0 @@
1
- import { styled as muiStyled, useTheme } from '@mui/material/styles';
2
- export * from './theme';
3
- export { default as ThemeProvider } from './theme-provider';
4
- export { useTheme };
5
- const isTransientProp = prop => prop.startsWith('$');
6
- export const styled = (component, options = {}) => {
7
- return muiStyled(component, {
8
- ...options,
9
- shouldForwardProp: prop => {
10
- if (options.shouldForwardProp) {
11
- return options.shouldForwardProp(prop) && !isTransientProp(prop);
12
- }
13
- return !isTransientProp(prop);
14
- }
15
- });
16
- };