@arcblock/ux 2.13.70 → 3.0.1

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 (668) hide show
  1. package/lib/ActionButton/ActionButton.stories.d.ts +18 -0
  2. package/lib/ActionButton/index.d.ts +2 -2
  3. package/lib/ActionButton/index.js +43 -94
  4. package/lib/ActivityIndicator/ActivityIndicator.stories.d.ts +8 -0
  5. package/lib/ActivityIndicator/index.d.ts +2 -8
  6. package/lib/ActivityIndicator/index.js +41 -114
  7. package/lib/Address/Address.stories.d.ts +16 -0
  8. package/lib/Address/compact-text.d.ts +4 -14
  9. package/lib/Address/compact-text.js +40 -98
  10. package/lib/Address/did-address.d.ts +5 -4
  11. package/lib/Address/did-address.js +94 -151
  12. package/lib/Address/index.d.ts +4 -2
  13. package/lib/Address/index.js +13 -20
  14. package/lib/Address/responsive-did-address.d.ts +5 -4
  15. package/lib/Address/responsive-did-address.js +80 -114
  16. package/lib/Alert/Alert.stories.d.ts +28 -0
  17. package/lib/Alert/index.d.ts +2 -2
  18. package/lib/Alert/index.js +56 -102
  19. package/lib/AnimationWaiter/AnimationWaiter.stories.d.ts +21 -0
  20. package/lib/AnimationWaiter/{dark-animation.json → dark-animation.json.js} +27 -1
  21. package/lib/AnimationWaiter/{default-animation.json → default-animation.json.js} +29 -1
  22. package/lib/AnimationWaiter/index.d.ts +3 -25
  23. package/lib/AnimationWaiter/index.js +107 -198
  24. package/lib/Async/index.d.ts +2 -4
  25. package/lib/Async/index.js +15 -29
  26. package/lib/Avatar/Avatar.stories.d.ts +11 -0
  27. package/lib/Avatar/did-motif.d.ts +5 -15
  28. package/lib/Avatar/did-motif.js +30 -65
  29. package/lib/Avatar/etherscan-blockies.js +42 -75
  30. package/lib/Avatar/index.d.ts +3 -19
  31. package/lib/Avatar/index.js +114 -180
  32. package/lib/Badge/Badge.stories.d.ts +13 -0
  33. package/lib/Badge/index.d.ts +3 -3
  34. package/lib/Badge/index.js +43 -83
  35. package/lib/Blocklet/Blocklet.stories.d.ts +17 -0
  36. package/lib/Blocklet/blocklet.d.ts +2 -28
  37. package/lib/Blocklet/blocklet.js +108 -191
  38. package/lib/Blocklet/index.d.ts +2 -3
  39. package/lib/Blocklet/index.js +7 -4
  40. package/lib/Blocklet/utils.d.ts +1 -1
  41. package/lib/Blocklet/utils.js +10 -10
  42. package/lib/BlockletContext/index.d.ts +3 -3
  43. package/lib/BlockletContext/index.js +32 -57
  44. package/lib/BlockletNFT/BlockletNFT.stories.d.ts +17 -0
  45. package/lib/BlockletNFT/index.d.ts +3 -38
  46. package/lib/BlockletNFT/index.js +123 -245
  47. package/lib/BlockletV2/Blocklet.stories.d.ts +18 -0
  48. package/lib/BlockletV2/blocklet.d.ts +2 -2
  49. package/lib/BlockletV2/blocklet.js +188 -213
  50. package/lib/BlockletV2/components/icon-text.d.ts +2 -2
  51. package/lib/BlockletV2/components/icon-text.js +43 -33
  52. package/lib/BlockletV2/components/tooltip-icon.js +46 -36
  53. package/lib/BlockletV2/index.d.ts +3 -3
  54. package/lib/BlockletV2/index.js +9 -5
  55. package/lib/BlockletV2/utils.d.ts +1 -1
  56. package/lib/BlockletV2/utils.js +13 -25
  57. package/lib/Button/Button.stories.d.ts +19 -0
  58. package/lib/Button/index.d.ts +1 -1
  59. package/lib/Button/index.js +6 -8
  60. package/lib/Button/wrap.d.ts +3 -3
  61. package/lib/Button/wrap.js +48 -131
  62. package/lib/ButtonGroup/index.d.ts +2 -2
  63. package/lib/ButtonGroup/index.js +6 -16
  64. package/lib/CardSelector/index.js +51 -94
  65. package/lib/Center/Center.stories.d.ts +18 -0
  66. package/lib/Center/index.js +15 -18
  67. package/lib/ClickToCopy/ClickToCopy.stories.d.ts +16 -0
  68. package/lib/ClickToCopy/copy-button.d.ts +3 -2
  69. package/lib/ClickToCopy/copy-button.js +19 -58
  70. package/lib/ClickToCopy/hook.d.ts +2 -2
  71. package/lib/ClickToCopy/hook.js +23 -32
  72. package/lib/ClickToCopy/index.d.ts +3 -14
  73. package/lib/ClickToCopy/index.js +23 -75
  74. package/lib/CloseButton/index.d.ts +1 -1
  75. package/lib/CloseButton/index.js +34 -28
  76. package/lib/CodeBlock/CodeBlock.stories.d.ts +20 -0
  77. package/lib/CodeBlock/LightBox.d.ts +4 -4
  78. package/lib/CodeBlock/LightBox.js +5 -4
  79. package/lib/CodeBlock/index.d.ts +1 -2
  80. package/lib/CodeBlock/index.js +96 -127
  81. package/lib/Colors/Colors.stories.d.ts +34 -0
  82. package/lib/Colors/index.js +8 -4
  83. package/lib/Colors/themes/default.d.ts +1 -1
  84. package/lib/Colors/themes/default.js +5 -7
  85. package/lib/Colors/themes/did-connect.js +43 -44
  86. package/lib/Colors/themes/temp.js +38 -39
  87. package/lib/Config/Config.stories.d.ts +14 -0
  88. package/lib/Config/config-provider.d.ts +8 -8
  89. package/lib/Config/config-provider.js +50 -44
  90. package/lib/Config/index.js +7 -2
  91. package/lib/Config/theme-mode-toggle.js +12 -27
  92. package/lib/ContactForm/ContactForm.stories.d.ts +23 -0
  93. package/lib/ContactForm/index.d.ts +2 -1
  94. package/lib/ContactForm/index.js +137 -164
  95. package/lib/CookieConsent/CookieConsent.stories.d.ts +18 -0
  96. package/lib/CookieConsent/index.d.ts +2 -2
  97. package/lib/CookieConsent/index.js +44 -73
  98. package/lib/CountDown/CountDown.stories.d.ts +14 -0
  99. package/lib/CountDown/index.d.ts +2 -2
  100. package/lib/CountDown/index.js +52 -124
  101. package/lib/DID/DID.stories.d.ts +15 -0
  102. package/lib/DID/index.d.ts +3 -1
  103. package/lib/DID/index.js +262 -327
  104. package/lib/DIDConnect/app-icon.js +26 -31
  105. package/lib/DIDConnect/app-info-item.js +76 -82
  106. package/lib/DIDConnect/auth-apps/auth-apps-info.js +71 -63
  107. package/lib/DIDConnect/auth-apps/index.d.ts +2 -2
  108. package/lib/DIDConnect/auth-apps/index.js +184 -183
  109. package/lib/DIDConnect/did-connect-container.js +231 -247
  110. package/lib/DIDConnect/did-connect-footer.js +66 -68
  111. package/lib/DIDConnect/did-connect-logo.js +10 -11
  112. package/lib/DIDConnect/index.js +22 -10
  113. package/lib/DIDConnect/landing-page.d.ts +1 -1
  114. package/lib/DIDConnect/landing-page.js +165 -189
  115. package/lib/DIDConnect/powered-by.js +55 -46
  116. package/lib/DIDConnect/request-storage-access-api-dialog.d.ts +5 -2
  117. package/lib/DIDConnect/request-storage-access-api-dialog.js +230 -292
  118. package/lib/DIDConnect/with-container.js +200 -236
  119. package/lib/DIDConnect/with-ux-theme.js +15 -22
  120. package/lib/Datatable/CustomToolbar.d.ts +1 -15
  121. package/lib/Datatable/CustomToolbar.js +232 -313
  122. package/lib/Datatable/Datatable.stories.d.ts +32 -0
  123. package/lib/Datatable/DatatableContext.js +23 -35
  124. package/lib/Datatable/TableSearch.d.ts +5 -13
  125. package/lib/Datatable/TableSearch.js +81 -113
  126. package/lib/Datatable/index.d.ts +12 -13
  127. package/lib/Datatable/index.js +226 -479
  128. package/lib/Datatable/utils.js +55 -120
  129. package/lib/Dialog/Dialog.stories.d.ts +20 -0
  130. package/lib/Dialog/confirm.d.ts +4 -25
  131. package/lib/Dialog/confirm.js +99 -125
  132. package/lib/Dialog/dialog.d.ts +30 -23
  133. package/lib/Dialog/dialog.js +62 -148
  134. package/lib/Dialog/index.d.ts +3 -3
  135. package/lib/Dialog/index.js +8 -4
  136. package/lib/Dialog/use-confirm.d.ts +3 -3
  137. package/lib/Dialog/use-confirm.js +91 -171
  138. package/lib/DidLogo/Logo.stories.d.ts +8 -0
  139. package/lib/DidLogo/index.js +19 -19
  140. package/lib/DriftBot/index.js +23 -33
  141. package/lib/Earth/Earth.stories.d.ts +18 -0
  142. package/lib/Earth/countries.json.js +13 -0
  143. package/lib/Earth/index.js +234 -334
  144. package/lib/Earth/util.js +36 -45
  145. package/lib/Empty/Empty.stories.d.ts +17 -0
  146. package/lib/Empty/index.d.ts +3 -11
  147. package/lib/Empty/index.js +17 -50
  148. package/lib/ErrorBoundary/ErrorBoundary.stories.d.ts +12 -0
  149. package/lib/ErrorBoundary/fallback.js +54 -71
  150. package/lib/ErrorBoundary/index.js +6 -1
  151. package/lib/Footer/Footer.stories.d.ts +12 -0
  152. package/lib/Footer/index.d.ts +1 -12
  153. package/lib/Footer/index.js +53 -100
  154. package/lib/Header/Header.stories.d.ts +21 -0
  155. package/lib/Header/addon-button.js +24 -31
  156. package/lib/Header/auto-hidden.d.ts +1 -1
  157. package/lib/Header/auto-hidden.js +9 -16
  158. package/lib/Header/header-addons.d.ts +1 -1
  159. package/lib/Header/header-addons.js +40 -37
  160. package/lib/Header/header.d.ts +2 -1
  161. package/lib/Header/header.js +64 -109
  162. package/lib/Header/index.js +8 -3
  163. package/lib/Header/responsive-header.d.ts +1 -1
  164. package/lib/Header/responsive-header.js +74 -112
  165. package/lib/Icon/Icon.stories.d.ts +23 -0
  166. package/lib/Icon/image.d.ts +1 -1
  167. package/lib/Icon/image.js +32 -33
  168. package/lib/Icon/index.d.ts +4 -4
  169. package/lib/Icon/index.js +30 -53
  170. package/lib/Img/Img.stories.d.ts +13 -0
  171. package/lib/Img/index.d.ts +6 -32
  172. package/lib/Img/index.js +126 -204
  173. package/lib/InfoRow/InfoRow.stories.d.ts +14 -0
  174. package/lib/InfoRow/index.js +27 -41
  175. package/lib/Layout/Layout.stories.d.ts +23 -0
  176. package/lib/Layout/dashboard/external-link.d.ts +1 -1
  177. package/lib/Layout/dashboard/external-link.js +23 -44
  178. package/lib/Layout/dashboard/full-page.d.ts +1 -1
  179. package/lib/Layout/dashboard/full-page.js +31 -48
  180. package/lib/Layout/dashboard/index.d.ts +4 -4
  181. package/lib/Layout/dashboard/index.js +134 -211
  182. package/lib/Layout/dashboard/sidebar.js +44 -78
  183. package/lib/Layout/dashboard-legacy/header.d.ts +1 -1
  184. package/lib/Layout/dashboard-legacy/header.js +70 -87
  185. package/lib/Layout/dashboard-legacy/index.d.ts +2 -2
  186. package/lib/Layout/dashboard-legacy/index.js +82 -90
  187. package/lib/Layout/dashboard-legacy/sidebar.d.ts +1 -1
  188. package/lib/Layout/dashboard-legacy/sidebar.js +44 -76
  189. package/lib/Layout/index.d.ts +2 -2
  190. package/lib/Layout/index.js +129 -189
  191. package/lib/LoadingMask/index.js +91 -82
  192. package/lib/Locale/LocaleSelector.stories.d.ts +22 -0
  193. package/lib/Locale/browser-lang.js +23 -52
  194. package/lib/Locale/context.d.ts +3 -3
  195. package/lib/Locale/context.js +71 -123
  196. package/lib/Locale/languages.js +32 -34
  197. package/lib/Locale/selector.d.ts +2 -2
  198. package/lib/Locale/selector.js +104 -139
  199. package/lib/Locale/util.d.ts +1 -1
  200. package/lib/Locale/util.js +9 -24
  201. package/lib/Logo/Logo.stories.d.ts +22 -0
  202. package/lib/Logo/images/logo-dark-text.svg.js +5 -0
  203. package/lib/Logo/images/logo-dark-top.svg.js +5 -0
  204. package/lib/Logo/images/logo-light-text.svg.js +5 -0
  205. package/lib/Logo/images/logo-light-top.svg.js +5 -0
  206. package/lib/Logo/index.d.ts +1 -1
  207. package/lib/Logo/index.js +27 -107
  208. package/lib/Metric/Metric.stories.d.ts +14 -0
  209. package/lib/Metric/index.js +50 -53
  210. package/lib/MuiWrap/index.js +11 -19
  211. package/lib/NFTDisplay/NFTBroken.svg.js +108 -0
  212. package/lib/NFTDisplay/NFTDisplay.stories.d.ts +15 -0
  213. package/lib/NFTDisplay/aspect-ratio-container.js +9 -20
  214. package/lib/NFTDisplay/broken.js +14 -286
  215. package/lib/NFTDisplay/displayApi.d.ts +1 -1
  216. package/lib/NFTDisplay/displayApi.js +17 -44
  217. package/lib/NFTDisplay/index.d.ts +2 -2
  218. package/lib/NFTDisplay/index.js +160 -343
  219. package/lib/NFTDisplay/loading.js +9 -9
  220. package/lib/NFTDisplay/render-svg.js +15 -22
  221. package/lib/NFTDisplay/svg-embedder/img.js +13 -29
  222. package/lib/NFTDisplay/svg-embedder/inline-svg.d.ts +1 -1
  223. package/lib/NFTDisplay/svg-embedder/inline-svg.js +10 -20
  224. package/lib/NavMenu/NavMenu.stories.d.ts +17 -0
  225. package/lib/NavMenu/images/OCAP.svg.js +5 -0
  226. package/lib/NavMenu/images/abt-network.svg.js +7 -0
  227. package/lib/NavMenu/images/ai-kit.svg.js +7 -0
  228. package/lib/NavMenu/images/aigne.svg.js +7 -0
  229. package/lib/NavMenu/images/aistro.svg.js +5 -0
  230. package/lib/NavMenu/images/arcsphere.svg.js +10 -0
  231. package/lib/NavMenu/images/blocklet-framework.svg.js +7 -0
  232. package/lib/NavMenu/images/blocklet-launcher.svg.js +5 -0
  233. package/lib/NavMenu/images/blocklet-server.svg.js +7 -0
  234. package/lib/NavMenu/images/blocklet-store.svg.js +5 -0
  235. package/lib/NavMenu/images/creator-studio.svg.js +7 -0
  236. package/lib/NavMenu/images/did-connect.svg.js +5 -0
  237. package/lib/NavMenu/images/did-name-service.svg.js +5 -0
  238. package/lib/NavMenu/images/did-wallet.svg.js +7 -0
  239. package/lib/NavMenu/images/did.svg.js +5 -0
  240. package/lib/NavMenu/images/nft-studio.svg.js +5 -0
  241. package/lib/NavMenu/images/vc.svg.js +5 -0
  242. package/lib/NavMenu/images/web3-kit.svg.js +7 -0
  243. package/lib/NavMenu/index.js +6 -3
  244. package/lib/NavMenu/nav-menu-context.js +15 -18
  245. package/lib/NavMenu/nav-menu.d.ts +17 -7
  246. package/lib/NavMenu/nav-menu.js +219 -355
  247. package/lib/NavMenu/products.js +264 -1652
  248. package/lib/NavMenu/style.d.ts +5 -5
  249. package/lib/NavMenu/style.js +156 -172
  250. package/lib/NavMenu/sub-container.d.ts +1 -1
  251. package/lib/NavMenu/sub-container.js +63 -104
  252. package/lib/NavMenu/sub-item-group.js +15 -33
  253. package/lib/PageScroller/index.d.ts +1 -1
  254. package/lib/PageScroller/index.js +116 -252
  255. package/lib/PageScroller/story/FifthComponent.js +7 -9
  256. package/lib/PageScroller/story/FirstComponent.js +7 -9
  257. package/lib/PageScroller/story/FourthComponent.js +7 -12
  258. package/lib/PageScroller/story/FullPage.js +52 -45
  259. package/lib/PageScroller/story/PageContain.js +55 -57
  260. package/lib/PageScroller/story/PageScroller.stories.d.ts +13 -0
  261. package/lib/PageScroller/story/SecondComponent.js +7 -9
  262. package/lib/PageScroller/story/ThirdComponent.js +7 -9
  263. package/lib/PageScroller/usePrevValue.js +10 -8
  264. package/lib/Passport/index.d.ts +1 -1
  265. package/lib/Passport/index.js +4 -2
  266. package/lib/Passport/passport.d.ts +1 -1
  267. package/lib/Passport/passport.js +123 -100
  268. package/lib/PhoneInput/PhoneInput.stories.d.ts +12 -0
  269. package/lib/PhoneInput/country-select.d.ts +2 -2
  270. package/lib/PhoneInput/country-select.js +111 -159
  271. package/lib/PhoneInput/index.js +166 -218
  272. package/lib/PoweredByArcBlock/index.d.ts +1 -1
  273. package/lib/PoweredByArcBlock/index.js +16 -22
  274. package/lib/PricingTable/PricingPlan.js +20 -55
  275. package/lib/PricingTable/PricingTable.stories.d.ts +8 -0
  276. package/lib/PricingTable/index.d.ts +1 -1
  277. package/lib/PricingTable/index.js +34 -37
  278. package/lib/QRCode/QRCode.stories.d.ts +13 -0
  279. package/lib/QRCode/index.d.ts +1 -1
  280. package/lib/QRCode/index.js +31 -49
  281. package/lib/RelativeTime/RelativeTime.stories.d.ts +20 -0
  282. package/lib/RelativeTime/index.d.ts +3 -3
  283. package/lib/RelativeTime/index.js +163 -261
  284. package/lib/Result/Result.stories.d.ts +21 -0
  285. package/lib/Result/common.d.ts +2 -2
  286. package/lib/Result/common.js +97 -129
  287. package/lib/Result/index.d.ts +1 -1
  288. package/lib/Result/index.js +21 -22
  289. package/lib/Result/result.js +45 -32
  290. package/lib/Result/translations.d.ts +1 -1
  291. package/lib/Result/translations.js +28 -25
  292. package/lib/Screenshot/BaseScreenshot/index.d.ts +1 -1
  293. package/lib/Screenshot/BaseScreenshot/index.js +23 -44
  294. package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +23 -41
  295. package/lib/Screenshot/BaseScreenshot/shells/Phone.js +24 -26
  296. package/lib/Screenshot/Screenshot.stories.d.ts +13 -0
  297. package/lib/Screenshot/demo/images/bg-01.jpg +0 -0
  298. package/lib/Screenshot/demo/images/bg-02.jpg +0 -0
  299. package/lib/Screenshot/demo/images/bg-03.jpg +0 -0
  300. package/lib/Screenshot/index.d.ts +1 -2
  301. package/lib/Screenshot/index.js +83 -188
  302. package/lib/SessionBlocklet/index.d.ts +2 -2
  303. package/lib/SessionBlocklet/index.js +147 -162
  304. package/lib/SessionManager/SessionManager.stories.d.ts +9 -0
  305. package/lib/SessionManager/index.d.ts +1 -1
  306. package/lib/SessionManager/index.js +4 -2
  307. package/lib/SessionPermission/index.d.ts +1 -0
  308. package/lib/SessionPermission/index.js +12 -20
  309. package/lib/SessionUser/components/did-space.js +65 -117
  310. package/lib/SessionUser/components/logged-in.d.ts +3 -4
  311. package/lib/SessionUser/components/logged-in.js +215 -292
  312. package/lib/SessionUser/components/quick-login-item.js +125 -120
  313. package/lib/SessionUser/components/session-user-item.d.ts +4 -2
  314. package/lib/SessionUser/components/session-user-item.js +85 -89
  315. package/lib/SessionUser/components/session-user-switch.d.ts +1 -1
  316. package/lib/SessionUser/components/session-user-switch.js +187 -187
  317. package/lib/SessionUser/components/un-login.js +196 -222
  318. package/lib/SessionUser/components/user-info.d.ts +1 -1
  319. package/lib/SessionUser/components/user-info.js +163 -150
  320. package/lib/SessionUser/images/did-spaces.svg.js +5 -0
  321. package/lib/SessionUser/index.d.ts +1 -1
  322. package/lib/SessionUser/index.js +27 -30
  323. package/lib/SessionUser/libs/translation.d.ts +1 -1
  324. package/lib/SessionUser/libs/translation.js +25 -24
  325. package/lib/SessionUser/libs/utils.js +33 -23
  326. package/lib/SharedBridge/index.d.ts +6 -5
  327. package/lib/SharedBridge/index.js +76 -93
  328. package/lib/Sparkline/Sparkline.stories.d.ts +12 -0
  329. package/lib/Sparkline/index.js +67 -183
  330. package/lib/Spinner/Spinner.stories.d.ts +18 -0
  331. package/lib/Spinner/index.d.ts +1 -1
  332. package/lib/Spinner/index.js +10 -20
  333. package/lib/SplitButton/SplitButton.stories.d.ts +15 -0
  334. package/lib/SplitButton/index.d.ts +3 -5
  335. package/lib/SplitButton/index.js +39 -83
  336. package/lib/Success/index.js +174 -160
  337. package/lib/Switch/Switch.stories.d.ts +13 -0
  338. package/lib/Switch/index.d.ts +3 -7
  339. package/lib/Switch/index.js +51 -87
  340. package/lib/Tabs/Tabs.stories.d.ts +14 -0
  341. package/lib/Tabs/index.d.ts +2 -2
  342. package/lib/Tabs/index.js +169 -186
  343. package/lib/Tag/Tag.stories.d.ts +13 -0
  344. package/lib/Tag/index.d.ts +7 -4
  345. package/lib/Tag/index.js +40 -88
  346. package/lib/TextCollapse/TextCollapse.stories.d.ts +28 -0
  347. package/lib/TextCollapse/index.js +34 -51
  348. package/lib/Theme/Theme.stories.d.ts +10 -0
  349. package/lib/Theme/index.d.ts +1 -2
  350. package/lib/Theme/index.js +25 -17
  351. package/lib/Theme/theme-provider.d.ts +4 -15
  352. package/lib/Theme/theme-provider.js +111 -232
  353. package/lib/Theme/theme.d.ts +1 -8
  354. package/lib/Theme/theme.js +118 -166
  355. package/lib/Toast/Toast.stories.d.ts +15 -0
  356. package/lib/Toast/index.d.ts +1 -1
  357. package/lib/Toast/index.js +46 -67
  358. package/lib/Typography/index.d.ts +1 -1
  359. package/lib/Typography/index.js +73 -109
  360. package/lib/UserCard/Cards/avatar-only.d.ts +1 -1
  361. package/lib/UserCard/Cards/avatar-only.js +28 -36
  362. package/lib/UserCard/Cards/basic-info.d.ts +1 -2
  363. package/lib/UserCard/Cards/basic-info.js +34 -42
  364. package/lib/UserCard/Cards/index.d.ts +1 -1
  365. package/lib/UserCard/Cards/index.js +13 -21
  366. package/lib/UserCard/Cards/name-only.js +12 -18
  367. package/lib/UserCard/Container/card.d.ts +2 -2
  368. package/lib/UserCard/Container/card.js +34 -41
  369. package/lib/UserCard/Container/dialog.d.ts +1 -1
  370. package/lib/UserCard/Container/dialog.js +27 -27
  371. package/lib/UserCard/Content/basic.d.ts +1 -2
  372. package/lib/UserCard/Content/basic.js +198 -306
  373. package/lib/UserCard/Content/clock.d.ts +2 -0
  374. package/lib/UserCard/Content/clock.js +85 -71
  375. package/lib/UserCard/Content/minimal.d.ts +1 -1
  376. package/lib/UserCard/Content/minimal.js +81 -71
  377. package/lib/UserCard/Content/shorten-label.js +11 -35
  378. package/lib/UserCard/Content/tooltip-avatar.d.ts +1 -1
  379. package/lib/UserCard/Content/tooltip-avatar.js +43 -51
  380. package/lib/UserCard/UserCard.stories.d.ts +18 -0
  381. package/lib/UserCard/components.d.ts +1 -1
  382. package/lib/UserCard/components.js +53 -66
  383. package/lib/UserCard/index.d.ts +1 -2
  384. package/lib/UserCard/index.js +59 -111
  385. package/lib/UserCard/types.d.ts +1 -1
  386. package/lib/UserCard/types.js +10 -37
  387. package/lib/UserCard/utils.js +70 -125
  388. package/lib/Util/WebWalletOpener.stories.d.ts +5 -0
  389. package/lib/Util/constant.js +47 -46
  390. package/lib/Util/deprecate.js +11 -26
  391. package/lib/Util/federated.d.ts +6 -6
  392. package/lib/Util/federated.js +77 -92
  393. package/lib/Util/iframe.js +14 -21
  394. package/lib/Util/index.d.ts +5 -5
  395. package/lib/Util/index.js +278 -479
  396. package/lib/Util/logger.d.ts +1 -1
  397. package/lib/Util/logger.js +17 -25
  398. package/lib/Util/passport.js +72 -87
  399. package/lib/Util/security.js +28 -40
  400. package/lib/Util/style.d.ts +1 -1
  401. package/lib/Util/style.js +4 -14
  402. package/lib/Util/wallet.js +16 -30
  403. package/lib/VerificationCode/index.d.ts +1 -1
  404. package/lib/VerificationCode/index.js +69 -64
  405. package/lib/Video/Video.stories.d.ts +6 -0
  406. package/lib/Video/index.d.ts +1 -9
  407. package/lib/Video/index.js +26 -60
  408. package/lib/Wallet/Action.d.ts +1 -10
  409. package/lib/Wallet/Action.js +37 -65
  410. package/lib/Wallet/Action.stories.d.ts +8 -0
  411. package/lib/Wallet/Download.d.ts +3 -16
  412. package/lib/Wallet/Download.js +41 -440
  413. package/lib/Wallet/Download.stories.d.ts +9 -0
  414. package/lib/Wallet/Open.d.ts +1 -1
  415. package/lib/Wallet/Open.js +27 -27
  416. package/lib/Wallet/OpenInWallet.stories.d.ts +5 -0
  417. package/lib/Wallet/images/android_download.svg.js +5 -0
  418. package/lib/Wallet/images/app-store.svg.js +5 -0
  419. package/lib/Wallet/images/google-play.svg.js +5 -0
  420. package/lib/WalletOSIcon/index.js +15 -73
  421. package/lib/WebWalletSWKeeper/index.js +39 -106
  422. package/lib/WechatPrompt/images/android.png +0 -0
  423. package/lib/WechatPrompt/images/ios.png +0 -0
  424. package/lib/WechatPrompt/index.js +26 -61
  425. package/lib/hooks/use-blocklet-logo.d.ts +2 -2
  426. package/lib/hooks/use-blocklet-logo.js +22 -30
  427. package/lib/hooks/use-clock.d.ts +1 -3
  428. package/lib/hooks/use-clock.js +34 -67
  429. package/lib/hooks/use-location-state.js +55 -79
  430. package/lib/hooks/use-mobile.js +8 -7
  431. package/lib/index.d.ts +35 -35
  432. package/lib/index.js +81 -38
  433. package/lib/ux.css +1 -0
  434. package/lib/withTheme/index.d.ts +1 -3
  435. package/lib/withTheme/index.js +28 -37
  436. package/lib/withTracker/error_boundary.d.ts +1 -1
  437. package/lib/withTracker/error_boundary.js +15 -29
  438. package/lib/withTracker/index.js +21 -48
  439. package/package.json +48 -57
  440. package/src/ActionButton/ActionButton.stories.jsx +61 -0
  441. package/src/ActionButton/index.jsx +30 -14
  442. package/src/ActivityIndicator/ActivityIndicator.stories.jsx +9 -0
  443. package/src/ActivityIndicator/index.jsx +2 -11
  444. package/src/Address/Address.stories.jsx +38 -0
  445. package/src/Address/compact-text.jsx +9 -11
  446. package/src/Address/did-address.tsx +8 -4
  447. package/src/Address/index.tsx +12 -9
  448. package/src/Address/responsive-did-address.tsx +94 -89
  449. package/src/Alert/Alert.stories.jsx +100 -0
  450. package/src/Alert/index.jsx +24 -12
  451. package/src/AnimationWaiter/AnimationWaiter.stories.jsx +35 -0
  452. package/src/AnimationWaiter/index.jsx +10 -23
  453. package/src/Async/index.tsx +2 -2
  454. package/src/Avatar/Avatar.stories.jsx +11 -0
  455. package/src/Avatar/did-motif.jsx +1 -8
  456. package/src/Avatar/index.jsx +36 -13
  457. package/src/Badge/Badge.stories.jsx +41 -0
  458. package/src/Badge/index.jsx +22 -18
  459. package/src/Blocklet/Blocklet.stories.jsx +21 -0
  460. package/src/Blocklet/blocklet.jsx +13 -30
  461. package/src/BlockletContext/index.tsx +2 -2
  462. package/src/BlockletNFT/BlockletNFT.stories.jsx +21 -0
  463. package/src/BlockletNFT/index.jsx +14 -38
  464. package/src/BlockletV2/Blocklet.stories.jsx +34 -0
  465. package/src/BlockletV2/blocklet.tsx +69 -29
  466. package/src/BlockletV2/components/icon-text.tsx +15 -5
  467. package/src/Button/Button.stories.jsx +24 -0
  468. package/src/Button/index.js +1 -1
  469. package/src/Button/wrap.jsx +20 -13
  470. package/src/ButtonGroup/index.js +1 -1
  471. package/src/Center/Center.stories.jsx +20 -0
  472. package/src/ClickToCopy/ClickToCopy.stories.jsx +24 -0
  473. package/src/ClickToCopy/copy-button.tsx +4 -4
  474. package/src/ClickToCopy/index.tsx +28 -12
  475. package/src/CodeBlock/CodeBlock.stories.jsx +22 -0
  476. package/src/CodeBlock/index.tsx +1 -2
  477. package/src/Colors/Colors.stories.jsx +211 -0
  478. package/src/Colors/themes/did-connect.ts +0 -2
  479. package/src/Config/Config.stories.jsx +16 -0
  480. package/src/Config/theme-mode-toggle.tsx +4 -2
  481. package/src/ContactForm/ContactForm.stories.jsx +32 -0
  482. package/src/ContactForm/index.tsx +2 -2
  483. package/src/CookieConsent/CookieConsent.stories.jsx +33 -0
  484. package/src/CookieConsent/index.tsx +1 -1
  485. package/src/CountDown/CountDown.stories.jsx +15 -0
  486. package/src/CountDown/index.tsx +11 -6
  487. package/src/DID/DID.stories.jsx +37 -0
  488. package/src/DID/index.tsx +8 -3
  489. package/src/DIDConnect/app-info-item.tsx +2 -2
  490. package/src/DIDConnect/did-connect-container.tsx +17 -18
  491. package/src/DIDConnect/request-storage-access-api-dialog.tsx +210 -183
  492. package/src/DIDConnect/with-container.tsx +17 -18
  493. package/src/Datatable/CustomToolbar.jsx +32 -34
  494. package/src/Datatable/Datatable.stories.jsx +92 -0
  495. package/src/Datatable/DatatableContext.jsx +2 -2
  496. package/src/Datatable/TableSearch.jsx +10 -12
  497. package/src/Datatable/index.jsx +36 -58
  498. package/src/Datatable/utils.js +7 -7
  499. package/src/Dialog/Dialog.stories.jsx +21 -0
  500. package/src/Dialog/confirm.jsx +11 -21
  501. package/src/Dialog/dialog.jsx +9 -20
  502. package/src/Dialog/use-confirm.jsx +4 -3
  503. package/src/DidLogo/Logo.stories.jsx +8 -0
  504. package/src/DriftBot/index.tsx +4 -6
  505. package/src/Earth/Earth.stories.jsx +39 -0
  506. package/src/Earth/index.tsx +1 -1
  507. package/src/Empty/Empty.stories.jsx +23 -0
  508. package/src/Empty/index.jsx +1 -6
  509. package/src/ErrorBoundary/ErrorBoundary.stories.jsx +13 -0
  510. package/src/ErrorBoundary/fallback.tsx +5 -1
  511. package/src/Footer/Footer.stories.jsx +13 -0
  512. package/src/Footer/index.tsx +10 -18
  513. package/src/Header/Header.stories.jsx +30 -0
  514. package/src/Header/auto-hidden.tsx +1 -1
  515. package/src/Header/header.tsx +21 -4
  516. package/src/Header/responsive-header.tsx +11 -13
  517. package/src/Icon/Icon.stories.jsx +45 -0
  518. package/src/Icon/index.tsx +12 -24
  519. package/src/Img/Img.stories.jsx +17 -0
  520. package/src/Img/index.jsx +14 -30
  521. package/src/InfoRow/InfoRow.stories.jsx +14 -0
  522. package/src/InfoRow/index.tsx +5 -5
  523. package/src/Layout/Layout.stories.jsx +24 -0
  524. package/src/Layout/dashboard/full-page.tsx +4 -4
  525. package/src/Layout/dashboard/index.tsx +24 -21
  526. package/src/Layout/dashboard/sidebar.tsx +1 -1
  527. package/src/Layout/dashboard-legacy/header.tsx +25 -14
  528. package/src/Layout/dashboard-legacy/index.tsx +7 -7
  529. package/src/Layout/dashboard-legacy/sidebar.tsx +1 -3
  530. package/src/Layout/index.tsx +8 -6
  531. package/src/Locale/LocaleSelector.stories.jsx +44 -0
  532. package/src/Locale/context.tsx +2 -2
  533. package/src/Locale/selector.tsx +10 -17
  534. package/src/Logo/Logo.stories.jsx +23 -0
  535. package/src/Metric/Metric.stories.jsx +29 -0
  536. package/src/NFTDisplay/NFTDisplay.stories.jsx +30 -0
  537. package/src/NFTDisplay/broken.tsx +1 -1
  538. package/src/NFTDisplay/displayApi.ts +1 -0
  539. package/src/NFTDisplay/index.tsx +0 -1
  540. package/src/NavMenu/NavMenu.stories.jsx +17 -0
  541. package/src/NavMenu/nav-menu-context.tsx +3 -3
  542. package/src/NavMenu/nav-menu.tsx +138 -125
  543. package/src/NavMenu/products.tsx +7 -1
  544. package/src/NavMenu/style.ts +1 -1
  545. package/src/PageScroller/index.tsx +2 -2
  546. package/src/PageScroller/story/PageScroller.stories.jsx +18 -0
  547. package/src/PageScroller/usePrevValue.ts +1 -1
  548. package/src/PhoneInput/PhoneInput.stories.jsx +12 -0
  549. package/src/PhoneInput/country-select.tsx +107 -103
  550. package/src/PhoneInput/index.tsx +12 -4
  551. package/src/PricingTable/PricingPlan.tsx +1 -4
  552. package/src/PricingTable/PricingTable.stories.jsx +38 -0
  553. package/src/PricingTable/index.tsx +16 -4
  554. package/src/QRCode/QRCode.stories.jsx +13 -0
  555. package/src/RelativeTime/RelativeTime.stories.jsx +20 -0
  556. package/src/RelativeTime/index.tsx +20 -5
  557. package/src/Result/Result.stories.jsx +61 -0
  558. package/src/Result/common.tsx +1 -2
  559. package/src/Result/result.tsx +22 -6
  560. package/src/Screenshot/Screenshot.stories.jsx +44 -0
  561. package/src/Screenshot/index.tsx +33 -15
  562. package/src/SessionManager/SessionManager.stories.jsx +9 -0
  563. package/src/SessionPermission/index.tsx +1 -0
  564. package/src/SessionUser/components/logged-in.tsx +0 -2
  565. package/src/SessionUser/components/quick-login-item.tsx +3 -3
  566. package/src/SessionUser/components/session-user-item.tsx +68 -70
  567. package/src/SessionUser/components/session-user-switch.tsx +9 -1
  568. package/src/SessionUser/components/un-login.tsx +8 -1
  569. package/src/SharedBridge/index.tsx +106 -111
  570. package/src/Sparkline/Sparkline.stories.jsx +13 -0
  571. package/src/Spinner/Spinner.stories.jsx +98 -0
  572. package/src/Spinner/index.tsx +1 -1
  573. package/src/SplitButton/SplitButton.stories.jsx +32 -0
  574. package/src/SplitButton/index.tsx +15 -9
  575. package/src/Switch/Switch.stories.jsx +16 -0
  576. package/src/Switch/index.jsx +2 -6
  577. package/src/Tabs/Tabs.stories.jsx +18 -0
  578. package/src/Tabs/index.tsx +3 -3
  579. package/src/Tag/Tag.stories.jsx +15 -0
  580. package/src/Tag/index.jsx +20 -11
  581. package/src/TextCollapse/TextCollapse.stories.jsx +73 -0
  582. package/src/TextCollapse/index.tsx +1 -1
  583. package/src/Theme/Theme.stories.jsx +10 -0
  584. package/src/Theme/theme-provider.tsx +10 -18
  585. package/src/Theme/theme.ts +7 -2
  586. package/src/Toast/Toast.stories.jsx +28 -0
  587. package/src/Toast/index.tsx +2 -2
  588. package/src/Typography/index.tsx +6 -2
  589. package/src/UserCard/Cards/basic-info.tsx +9 -5
  590. package/src/UserCard/Container/card.tsx +2 -2
  591. package/src/UserCard/Content/basic.tsx +39 -38
  592. package/src/UserCard/Content/clock.tsx +13 -6
  593. package/src/UserCard/Content/minimal.tsx +23 -7
  594. package/src/UserCard/Content/tooltip-avatar.tsx +14 -11
  595. package/src/UserCard/UserCard.stories.jsx +18 -0
  596. package/src/UserCard/components.tsx +6 -3
  597. package/src/UserCard/index.tsx +0 -1
  598. package/src/Util/WebWalletOpener.stories.jsx +5 -0
  599. package/src/Util/index.ts +37 -3
  600. package/src/VerificationCode/index.tsx +16 -14
  601. package/src/Video/Video.stories.jsx +6 -0
  602. package/src/Video/index.tsx +16 -8
  603. package/src/Wallet/Action.stories.jsx +8 -0
  604. package/src/Wallet/Action.tsx +20 -9
  605. package/src/Wallet/Download.stories.jsx +9 -0
  606. package/src/Wallet/Download.tsx +36 -14
  607. package/src/Wallet/Open.tsx +1 -1
  608. package/src/Wallet/OpenInWallet.stories.jsx +5 -0
  609. package/src/WechatPrompt/index.tsx +1 -2
  610. package/src/hooks/use-clock.tsx +2 -1
  611. package/src/withTheme/index.tsx +1 -4
  612. package/vite.config.mjs +34 -0
  613. package/babel.config.es.js +0 -28
  614. package/lib/Dialog/types.d.ts +0 -20
  615. package/lib/Earth/countries.json +0 -8057
  616. package/lib/Header/demo/images/boards.svg +0 -3
  617. package/lib/Header/demo/images/chatbot.svg +0 -3
  618. package/lib/Header/demo/images/gallery.svg +0 -3
  619. package/lib/Logo/images/logo-dark-text.svg +0 -3
  620. package/lib/Logo/images/logo-dark-top.svg +0 -6
  621. package/lib/Logo/images/logo-light-text.svg +0 -3
  622. package/lib/Logo/images/logo-light-top.svg +0 -6
  623. package/lib/NFTDisplay/NFTBroken.svg +0 -34
  624. package/lib/NFTDisplay/README.md +0 -59
  625. package/lib/NFTDisplay/demo/data/asset-state-bad-url.json +0 -7
  626. package/lib/NFTDisplay/demo/data/asset-state-did-space-svg.json +0 -7
  627. package/lib/NFTDisplay/demo/data/asset-state-did-space.json +0 -7
  628. package/lib/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
  629. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
  630. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
  631. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
  632. package/lib/NFTDisplay/demo/data/asset-state-svg.json +0 -29
  633. package/lib/NFTDisplay/demo/data/asset-state-url.json +0 -10
  634. package/lib/NavMenu/images/OCAP.svg +0 -16
  635. package/lib/NavMenu/images/abt-network.svg +0 -18
  636. package/lib/NavMenu/images/ai-kit.svg +0 -46
  637. package/lib/NavMenu/images/aigne.svg +0 -8
  638. package/lib/NavMenu/images/aistro.svg +0 -14
  639. package/lib/NavMenu/images/arcsphere.svg +0 -13
  640. package/lib/NavMenu/images/blocklet-framework.svg +0 -25
  641. package/lib/NavMenu/images/blocklet-launcher.svg +0 -9
  642. package/lib/NavMenu/images/blocklet-server.svg +0 -19
  643. package/lib/NavMenu/images/blocklet-store.svg +0 -11
  644. package/lib/NavMenu/images/creator-studio.svg +0 -42
  645. package/lib/NavMenu/images/did-connect.svg +0 -26
  646. package/lib/NavMenu/images/did-name-service.svg +0 -3
  647. package/lib/NavMenu/images/did-wallet.svg +0 -33
  648. package/lib/NavMenu/images/did.svg +0 -3
  649. package/lib/NavMenu/images/nft-studio.svg +0 -19
  650. package/lib/NavMenu/images/vc.svg +0 -7
  651. package/lib/NavMenu/images/web3-kit.svg +0 -56
  652. package/lib/PageScroller/story/index.css +0 -115
  653. package/lib/Result/demo/fixtures/result-image-404.svg +0 -1
  654. package/lib/Screenshot/devices.css +0 -1366
  655. package/lib/SessionUser/images/did-spaces.svg +0 -17
  656. package/lib/Wallet/images/android_download.svg +0 -22
  657. package/lib/Wallet/images/app-store.svg +0 -30
  658. package/lib/Wallet/images/google-play.svg +0 -69
  659. package/lib/global.d.ts +0 -28
  660. package/lib/type.d.ts +0 -44
  661. package/lib/withTracker/README.md +0 -37
  662. /package/src/PageScroller/story/{FifthComponent.js → FifthComponent.jsx} +0 -0
  663. /package/src/PageScroller/story/{FirstComponent.js → FirstComponent.jsx} +0 -0
  664. /package/src/PageScroller/story/{FourthComponent.js → FourthComponent.jsx} +0 -0
  665. /package/src/PageScroller/story/{FullPage.js → FullPage.jsx} +0 -0
  666. /package/src/PageScroller/story/{PageContain.js → PageContain.jsx} +0 -0
  667. /package/src/PageScroller/story/{SecondComponent.js → SecondComponent.jsx} +0 -0
  668. /package/src/PageScroller/story/{ThirdComponent.js → ThirdComponent.jsx} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { useSize } from 'ahooks';
2
- import Tooltip, { type TooltipProps } from '@mui/material/Tooltip';
3
-
2
+ import { Tooltip, type TooltipProps } from '@mui/material';
3
+ import isUndefined from 'lodash/isUndefined';
4
4
  import { useSnackbar } from 'notistack';
5
5
  import useCopy from './hook';
6
6
  import Toast, { ToastProvider } from '../Toast';
@@ -36,7 +36,32 @@ export interface ClickToCopyProps extends TooltipProps {
36
36
  unstyled?: false | true;
37
37
  }
38
38
 
39
- export default function ClickToCopy(props: ClickToCopyProps) {
39
+ export default function ClickToCopy(rawProps: ClickToCopyProps) {
40
+ const props = Object.assign({}, rawProps);
41
+ // eslint-disable-next-line react/prop-types
42
+ if (isUndefined(props.content)) {
43
+ props.content = '';
44
+ }
45
+ // eslint-disable-next-line react/prop-types
46
+ if (isUndefined(props.tip)) {
47
+ props.tip = '';
48
+ }
49
+ // eslint-disable-next-line react/prop-types
50
+ if (isUndefined(props.copiedTip)) {
51
+ props.copiedTip = '';
52
+ }
53
+ // eslint-disable-next-line react/prop-types
54
+ if (isUndefined(props.tipPlacement)) {
55
+ props.tipPlacement = 'right';
56
+ }
57
+ // eslint-disable-next-line react/prop-types
58
+ if (isUndefined(props.locale)) {
59
+ props.locale = 'en';
60
+ }
61
+ // eslint-disable-next-line react/prop-types
62
+ if (isUndefined(props.unstyled)) {
63
+ props.unstyled = false;
64
+ }
40
65
  const newProps = mergeProps(props, ClickToCopy, ['style']);
41
66
  const { children, content, tip, copiedTip, tipPlacement, locale, style, unstyled, ...rest } = newProps;
42
67
  const { containerRef, copied, copy, texts } = useCopy({ content, locale });
@@ -69,12 +94,3 @@ export default function ClickToCopy(props: ClickToCopyProps) {
69
94
  // eslint-disable-next-line react/jsx-no-useless-fragment
70
95
  return <>{contentChild}</>;
71
96
  }
72
-
73
- ClickToCopy.defaultProps = {
74
- content: '',
75
- tip: '',
76
- copiedTip: '',
77
- tipPlacement: 'right',
78
- locale: 'en',
79
- unstyled: false,
80
- };
@@ -0,0 +1,22 @@
1
+ import CodeBlock from '.';
2
+
3
+ export { default as Protobuf } from './demo/protobuf';
4
+ export { default as Javascript } from './demo/javascript';
5
+ export { default as Json } from './demo/json';
6
+ export { default as SingleLineOfCode } from './demo/single-line-of-code';
7
+ export { default as Typescript } from './demo/typescript';
8
+ export { default as Markdown } from './demo/markdown';
9
+ export { default as lightMode } from './demo/light-mode';
10
+
11
+ export default {
12
+ title: 'Data Display/CodeBlock',
13
+ component: CodeBlock,
14
+
15
+ parameters: {
16
+ docs: {
17
+ description: {
18
+ component: 'CodeBlock is used to render an isolated code snippet or block.',
19
+ },
20
+ },
21
+ },
22
+ };
@@ -22,8 +22,7 @@ import markdown from 'highlight.js/lib/languages/markdown';
22
22
 
23
23
  import 'highlight.js/styles/atom-one-dark.css';
24
24
 
25
- import CopyIcon from '@mui/icons-material/FileCopy';
26
- import CheckIcon from '@mui/icons-material/Check';
25
+ import { FileCopy as CopyIcon, Check as CheckIcon } from '@mui/icons-material';
27
26
  import colors from '../Colors';
28
27
  import { styled } from '../Theme';
29
28
  import LightBox from './LightBox';
@@ -0,0 +1,211 @@
1
+ /* eslint-disable react/no-array-index-key */
2
+ import PropTypes from 'prop-types';
3
+ import { Box, Button } from '@mui/material';
4
+ import { createTheme, ThemeProvider, styled } from '../Theme';
5
+ import colors from '.';
6
+
7
+ const colorDescriptions = {
8
+ primary:
9
+ "Primary is used to represent primary interface elements for a user. It's the color displayed most frequently across your app's screens and components",
10
+ secondary:
11
+ 'Secondary is used to represent secondary interface elements for a user. It provides more ways to accent and distinguish your product. Having it is optional.',
12
+ error: 'Used to represent error, danger, wrong.',
13
+ warning: 'Used to represent potentially dangerous actions or important messages',
14
+ info: 'Used to present information to the user that is neutral and not necessarily important',
15
+ success: 'Used to indicate the successful completion of an action that user triggered.',
16
+ grey: 'Grey (neutral color) is mainly used in a large part of the text interface, in addition to the background, borders, dividing lines, and other scenes are also very common.',
17
+ did: 'For DID-related products or components.',
18
+ };
19
+
20
+ // eslint-disable-next-line no-shadow
21
+ function ColorsViewer({ colors: tmpColors, prefix = '', itemWidth = 240 }) {
22
+ // 优先展示的一些颜色
23
+ const keys = ['primary', 'secondary', 'error', 'warning', 'info', 'success'];
24
+ const colorKeys = keys.concat(Object.keys(tmpColors).filter((key) => !keys.includes(key)));
25
+ return (
26
+ <Box
27
+ sx={{
28
+ p: 2,
29
+ }}>
30
+ {colorKeys.map((colorKey, index) => {
31
+ const colorValue = colors[colorKey];
32
+ let colorArray;
33
+ // 考虑 2 层颜色
34
+ if (typeof colorValue === 'object') {
35
+ colorArray = Object.keys(colorValue).map((item) => ({
36
+ name: `${prefix ? `${prefix}.` : ''}${colorKey}.${item}`,
37
+ value: colorValue[item],
38
+ }));
39
+ } else {
40
+ colorArray = [{ name: `${prefix ? `${prefix}.` : ''}${colorKey}`, value: colorValue }];
41
+ }
42
+
43
+ // 过滤不是 color 的值
44
+ colorArray = colorArray.filter(
45
+ (item) => typeof item.value === 'string' && (item.value.startsWith('#') || item.value.startsWith('rgb'))
46
+ );
47
+
48
+ if (colorArray.length === 0) {
49
+ return null;
50
+ }
51
+
52
+ return (
53
+ <Box
54
+ key={index}
55
+ style={{ borderBottom: '1px solid #ddd' }}
56
+ sx={{
57
+ p: 2,
58
+ }}>
59
+ {colorDescriptions[colorKey] && (
60
+ <Box
61
+ style={{ borderLeft: '2px solid #bbb' }}
62
+ sx={{
63
+ color: 'grey.700',
64
+ fontSize: 16,
65
+ m: 1,
66
+ pl: 1,
67
+ }}>
68
+ {colorDescriptions[colorKey]}
69
+ </Box>
70
+ )}
71
+ <Box
72
+ sx={{
73
+ display: 'flex',
74
+ flexWrap: 'wrap',
75
+ alignItems: 'center',
76
+ }}>
77
+ {colorArray.map(({ name, value }) => (
78
+ <Box
79
+ key={name}
80
+ sx={{
81
+ display: 'flex',
82
+ width: itemWidth,
83
+ m: 1,
84
+ }}>
85
+ <Box
86
+ sx={{
87
+ flexShrink: 0,
88
+ width: 40,
89
+ height: 40,
90
+ bgcolor: value,
91
+ boxShadow: 1,
92
+ }}
93
+ />
94
+ <Box
95
+ sx={{
96
+ display: 'flex',
97
+ flexDirection: 'column',
98
+ ml: 1,
99
+ fontSize: 14,
100
+ color: '#999',
101
+ }}>
102
+ <Box>{name}</Box>
103
+ <Box>{value}</Box>
104
+ </Box>
105
+ </Box>
106
+ ))}
107
+ </Box>
108
+ </Box>
109
+ );
110
+ })}
111
+ </Box>
112
+ );
113
+ }
114
+
115
+ ColorsViewer.propTypes = {
116
+ colors: PropTypes.object.isRequired,
117
+ prefix: PropTypes.string,
118
+ itemWidth: PropTypes.number,
119
+ };
120
+
121
+ export default {
122
+ title: 'Theme/Colors',
123
+ parameters: {
124
+ docs: {
125
+ description: {
126
+ component: 'A collection of common colors that are compatible with the Material UI theme palette.',
127
+ },
128
+ },
129
+ design: {
130
+ type: 'figma',
131
+ url: 'https://www.figma.com/file/E8TSBWCOyXzETmVOjzbqvw/ArcBlock-UI-Kit?node-id=740%3A1506',
132
+ },
133
+ },
134
+ };
135
+
136
+ export function DefaultAbtColors() {
137
+ return <ColorsViewer colors={colors} />;
138
+ }
139
+
140
+ DefaultAbtColors.storyName = 'default (ABT colors)';
141
+
142
+ export function MuiThemePalette() {
143
+ const _muiTheme = createTheme();
144
+ return <ColorsViewer colors={_muiTheme.palette} />;
145
+ }
146
+
147
+ MuiThemePalette.storyName = 'mui theme#palette';
148
+
149
+ export function ColorsStyledComponents() {
150
+ return (
151
+ <StyledComponentTestBox>
152
+ <pre>{`
153
+ const StyledComponentTestBox = styled('div')\`
154
+ padding: 16px;
155
+ background-color: \${colors.success.main};
156
+ \`;
157
+ `}</pre>
158
+ </StyledComponentTestBox>
159
+ );
160
+ }
161
+
162
+ ColorsStyledComponents.storyName = 'colors & styled-components';
163
+
164
+ export function MuiThemeBoxButton() {
165
+ const _muiTheme = createTheme();
166
+ return (
167
+ <ThemeProvider theme={_muiTheme}>
168
+ <Box
169
+ sx={{
170
+ m: 1,
171
+ }}>
172
+ <Button variant="contained" color="primary">
173
+ Button[color="primary"]
174
+ </Button>
175
+ </Box>
176
+ <Box
177
+ sx={{
178
+ m: 1,
179
+ }}>
180
+ <Button variant="contained" color="secondary">
181
+ Button[color="secondary"]
182
+ </Button>
183
+ </Box>
184
+ <Box
185
+ variant="contained"
186
+ sx={{
187
+ bgcolor: 'warning.main',
188
+ m: 1,
189
+ p: 1,
190
+ }}>
191
+ Box[bgcolor="warning.main"]
192
+ </Box>
193
+ <Box
194
+ variant="contained"
195
+ sx={{
196
+ bgcolor: 'error.light',
197
+ m: 1,
198
+ p: 1,
199
+ }}>
200
+ Box[bgcolor="error.light"]
201
+ </Box>
202
+ </ThemeProvider>
203
+ );
204
+ }
205
+
206
+ MuiThemeBoxButton.storyName = 'mui theme & Box/Button';
207
+
208
+ const StyledComponentTestBox = styled('div')`
209
+ padding: 16px;
210
+ background-color: ${colors.success.main};
211
+ `;
@@ -1,5 +1,3 @@
1
- import type { Theme } from '@mui/material';
2
-
3
1
  /**
4
2
  * @deprecated 请使用 MUI theme 对象替代
5
3
  */
@@ -0,0 +1,16 @@
1
+ import SwitchMode from './demo/switch-mode';
2
+ import NestedColorScheme from './demo/nested-color-scheme';
3
+
4
+ export default {
5
+ title: 'Theme/Config',
6
+
7
+ parameters: {
8
+ docs: {
9
+ description: {
10
+ component: 'Config is used to configure the theme and locale of the application.',
11
+ },
12
+ },
13
+ },
14
+ };
15
+
16
+ export { SwitchMode, NestedColorScheme };
@@ -1,6 +1,8 @@
1
1
  import { IconButton } from '@mui/material';
2
- import LightModeOutlinedIcon from '@mui/icons-material/LightModeOutlined';
3
- import Brightness2OutlinedIcon from '@mui/icons-material/Brightness2Outlined';
2
+ import {
3
+ LightModeOutlined as LightModeOutlinedIcon,
4
+ Brightness2Outlined as Brightness2OutlinedIcon,
5
+ } from '@mui/icons-material';
4
6
  import { useColorScheme } from '../Theme/theme-provider';
5
7
 
6
8
  export default function ThemeModeToggle() {
@@ -0,0 +1,32 @@
1
+ import ContactForm from '.';
2
+ import withTheme from '../withTheme';
3
+
4
+ const ThemedContactForm = withTheme(ContactForm);
5
+
6
+ export default {
7
+ title: 'Deprecated/ContactForm',
8
+ };
9
+
10
+ export function VerticalLayout() {
11
+ return <ThemedContactForm />;
12
+ }
13
+
14
+ VerticalLayout.storyName = 'vertical layout';
15
+
16
+ export function HorizontalLayout() {
17
+ return <ThemedContactForm layout="horizontal" />;
18
+ }
19
+
20
+ HorizontalLayout.storyName = 'horizontal layout';
21
+
22
+ export function WithoutTitle() {
23
+ return <ThemedContactForm layout="vertical" title="" />;
24
+ }
25
+
26
+ WithoutTitle.storyName = 'without title';
27
+
28
+ export function CustomizeFields() {
29
+ return <ThemedContactForm layout="horizontal" fields={['Email', 'Name']} />;
30
+ }
31
+
32
+ CustomizeFields.storyName = 'customize fields';
@@ -2,8 +2,7 @@
2
2
  /* eslint-disable react/static-property-placement */
3
3
  import React from 'react';
4
4
  import axios from 'axios';
5
- import Typography from '@mui/material/Typography';
6
- import CircularProgress from '@mui/material/CircularProgress';
5
+ import { Typography, CircularProgress } from '@mui/material';
7
6
 
8
7
  import { mergeProps } from '../Util';
9
8
  import { warn as deprecatedWarn } from '../Util/deprecate';
@@ -31,6 +30,7 @@ export function submitContactForm(
31
30
  }
32
31
 
33
32
  export interface ContactFormProps extends React.HTMLAttributes<HTMLFormElement> {
33
+ className?: string;
34
34
  portalId?: string;
35
35
  formId?: string;
36
36
  title?: string;
@@ -0,0 +1,33 @@
1
+ import { Box } from '@mui/material';
2
+ import { ThemeModeToggle } from '../Config';
3
+ import { ThemeProvider } from '../Theme';
4
+
5
+ export { default as Basic } from './demo/basic';
6
+ export { default as CustomButtonText } from './demo/custom-button-text';
7
+ export { default as CustomStyles } from './demo/custom-styles';
8
+ export { default as I18N } from './demo/i18n';
9
+
10
+ export default {
11
+ title: 'Basic/CookieConsent',
12
+
13
+ parameters: {
14
+ docs: {
15
+ description: {
16
+ component: 'CookieConsent is used to alert users about the use of cookies on your website.',
17
+ },
18
+ inlineStories: false,
19
+ iframeHeight: 400,
20
+ },
21
+ },
22
+
23
+ decorators: [
24
+ (Story) => (
25
+ <ThemeProvider prefer="system">
26
+ <Box sx={{ mb: 1 }}>
27
+ <ThemeModeToggle />
28
+ </Box>
29
+ <Story />
30
+ </ThemeProvider>
31
+ ),
32
+ ],
33
+ };
@@ -1,4 +1,4 @@
1
- import Button, { type ButtonProps } from '@mui/material/Button';
1
+ import { Button, type ButtonProps } from '@mui/material';
2
2
  import CookieConsent, { resetCookieConsentValue } from 'react-cookie-consent';
3
3
 
4
4
  import { styled } from '../Theme';
@@ -0,0 +1,15 @@
1
+ export { default as LightMode } from './demo/light-mode';
2
+ export { default as DarkMode } from './demo/dark-mode';
3
+ export { default as CustomStyle } from './demo/custom-style';
4
+
5
+ export default {
6
+ title: 'Basic/CountDown',
7
+
8
+ parameters: {
9
+ docs: {
10
+ description: {
11
+ component: 'CountDown is used to display a countdown clock on your page',
12
+ },
13
+ },
14
+ },
15
+ };
@@ -1,5 +1,6 @@
1
1
  import { Component } from 'react';
2
2
  import { type SxProps } from '@mui/material';
3
+ import isUndefined from 'lodash/isUndefined';
3
4
 
4
5
  import { getColor, mergeProps } from '../Util';
5
6
  import { styled } from '../Theme';
@@ -44,7 +45,9 @@ function FixWidthNumber({ number, label, length = 2 }: { number: number; label:
44
45
  export interface CountDownProps extends React.HTMLAttributes<HTMLDivElement> {
45
46
  /** endTime should be UTC */
46
47
  endTime: number;
48
+ // eslint-disable-next-line react/require-default-props
47
49
  dark?: true | false;
50
+ // eslint-disable-next-line react/require-default-props
48
51
  sx?: SxProps;
49
52
  }
50
53
 
@@ -62,7 +65,14 @@ export default class CountDown extends Component<CountDownProps, CountDownState>
62
65
 
63
66
  timer?: NodeJS.Timeout;
64
67
 
65
- constructor(props: CountDownProps) {
68
+ constructor(rawProps: CountDownProps) {
69
+ const props = Object.assign({}, rawProps);
70
+ if (isUndefined(props.dark)) {
71
+ props.dark = true;
72
+ }
73
+ if (isUndefined(props.style)) {
74
+ props.style = {};
75
+ }
66
76
  super(props);
67
77
  const newProps = mergeProps(props, CountDown, ['dark', 'endTime', 'style']);
68
78
  this.state = getRemaining(newProps.endTime);
@@ -105,11 +115,6 @@ export default class CountDown extends Component<CountDownProps, CountDownState>
105
115
  }
106
116
  }
107
117
 
108
- CountDown.defaultProps = {
109
- dark: true,
110
- style: {},
111
- };
112
-
113
118
  const textBackground = `linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
114
119
  linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 77%, rgba(0, 0, 0, 0.5))`;
115
120
 
@@ -0,0 +1,37 @@
1
+ import { styled } from '../Theme';
2
+
3
+ export { default as ActionTest } from './demo/action-test';
4
+ export { default as WithDifferentSizes } from './demo/with-different-sizes';
5
+ export { default as WithDifferentColors } from './demo/with-different-colors';
6
+ export { default as WithChainId } from './demo/with-chainId';
7
+ export { default as WithRoleType } from './demo/with-roleType';
8
+ export { default as OnlyDialog } from './demo/only-dialog';
9
+ export { default as WithFlexBox } from './demo/with-flex-box';
10
+ export { default as InlineMode } from './demo/inline-mode';
11
+ export { default as DIDWithPrefix } from './demo/did-with-prefix';
12
+
13
+ export default {
14
+ title: 'DID/DID',
15
+ parameters: {},
16
+ decorators: [
17
+ (StoryFn) => (
18
+ <ResizableContainer>
19
+ <StoryFn />
20
+ </ResizableContainer>
21
+ ),
22
+ ],
23
+ };
24
+
25
+ const ResizableContainer = styled('div')`
26
+ width: 100%;
27
+ max-width: 100%;
28
+ padding: 16px;
29
+ border: 1px solid #ddd;
30
+ overflow: auto;
31
+ background: #fff;
32
+ resize: both;
33
+
34
+ > * + * {
35
+ margin-top: 16px;
36
+ }
37
+ `;
package/src/DID/index.tsx CHANGED
@@ -5,7 +5,7 @@ import { Icon } from '@iconify/react';
5
5
  import IconQrCode from '@iconify-icons/material-symbols/qr-code-rounded';
6
6
  import { Box, Dialog, DialogContent, ModalProps, Typography } from '@mui/material';
7
7
  import { useCreation, useMemoizedFn } from 'ahooks';
8
- import { forwardRef, useImperativeHandle, useRef, useState } from 'react';
8
+ import { useImperativeHandle, useRef, useState } from 'react';
9
9
  import { toAddress } from '@arcblock/did';
10
10
 
11
11
  import Address, { IDidAddressWrapper } from '../Address';
@@ -136,7 +136,12 @@ export interface HTMLDIDElement extends HTMLDidAddressElement {
136
136
  closeQRCode: () => void;
137
137
  }
138
138
 
139
- export const DID = forwardRef<HTMLDIDElement, DIDProps>((props, ref) => {
139
+ export function DID({
140
+ ref,
141
+ ...props
142
+ }: DIDProps & {
143
+ ref?: React.Ref<unknown>;
144
+ }) {
140
145
  const {
141
146
  did: didAddress,
142
147
  chainId,
@@ -244,7 +249,7 @@ export const DID = forwardRef<HTMLDIDElement, DIDProps>((props, ref) => {
244
249
  />
245
250
  </>
246
251
  );
247
- });
252
+ }
248
253
 
249
254
  export interface DIDDialogProps extends DIDProps {
250
255
  // DialogProps
@@ -1,10 +1,10 @@
1
- import { Box, IconButton, SxProps, Tooltip, useMediaQuery } from '@mui/material';
1
+ import { Box, IconButton, SxProps, Tooltip } from '@mui/material';
2
2
  import CheckIcon from '@iconify-icons/material-symbols/check';
3
3
  import { Icon } from '@iconify/react';
4
4
  import { useCreation, useSize } from 'ahooks';
5
5
  import { useRef } from 'react';
6
6
 
7
- import DID from '../DID';
7
+ import { DID } from '../DID';
8
8
  import { mergeSx } from '../Util/style';
9
9
  import AppIcon from './app-icon';
10
10
  import { DID_CONNECT_MEDIUM_WIDTH } from '../Util/constant';
@@ -1,4 +1,4 @@
1
- import { forwardRef, memo, useRef } from 'react';
1
+ import { memo, useRef } from 'react';
2
2
  import { useBrowser } from '@arcblock/react-hooks';
3
3
  import { Backdrop, Box, Dialog, DialogContent, Drawer, SwipeableDrawer, SxProps, useMediaQuery } from '@mui/material';
4
4
  import { useCreation, useDebounce } from 'ahooks';
@@ -11,23 +11,22 @@ import { mergeSx } from '../Util/style';
11
11
  import { getDIDColor, hexToRgba, isEthereumDid } from '../Util';
12
12
  import DIDConnectFooter from './did-connect-footer';
13
13
 
14
- const BackdropWrap = memo(
15
- forwardRef((backdropProps, ref) => {
16
- return (
17
- <Backdrop
18
- open
19
- ref={ref}
20
- style={{
21
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
22
- backdropFilter: 'blur(3px)',
23
- touchAction: 'none',
24
- }}
25
- {...backdropProps}
26
- key="background"
27
- />
28
- );
29
- })
30
- );
14
+ // eslint-disable-next-line react/require-default-props
15
+ const BackdropWrap = memo(({ ref, ...backdropProps }: { ref?: React.Ref<unknown> }) => {
16
+ return (
17
+ <Backdrop
18
+ open
19
+ ref={ref}
20
+ style={{
21
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
22
+ backdropFilter: 'blur(3px)',
23
+ touchAction: 'none',
24
+ }}
25
+ {...backdropProps}
26
+ key="background"
27
+ />
28
+ );
29
+ });
31
30
 
32
31
  export default function DIDConnectContainer({
33
32
  open = false,