@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,5 +1,5 @@
1
1
  import { Box, type BoxProps, Container, type Breakpoint } from '@mui/material';
2
- import { useRef, useState, useEffect } from 'react';
2
+ import { useRef, useState, useEffect, type JSX } from 'react';
3
3
  import AutoHidden from './auto-hidden';
4
4
  import { styled } from '../Theme';
5
5
  import HeaderAddons from './header-addons';
@@ -88,9 +88,23 @@ function Header({
88
88
  {renderBrand()}
89
89
  </div>
90
90
  <div className="header-brand-addon">{brandAddon}</div>
91
- {align === 'right' && <Box display="inline-block" flexGrow={1} />}
91
+ {align === 'right' && (
92
+ <Box
93
+ sx={{
94
+ display: 'inline-block',
95
+ flexGrow: 1,
96
+ }}
97
+ />
98
+ )}
92
99
  {children}
93
- {align === 'left' && <Box display="inline-block" flexGrow={1} />}
100
+ {align === 'left' && (
101
+ <Box
102
+ sx={{
103
+ display: 'inline-block',
104
+ flexGrow: 1,
105
+ }}
106
+ />
107
+ )}
94
108
  <HeaderAddons className="header-addons">{addons}</HeaderAddons>
95
109
  </Container>
96
110
  </Root>
@@ -152,7 +166,10 @@ const Root = styled(Box)`
152
166
  }
153
167
  .header-brand-desc {
154
168
  margin-top: 4px;
155
- color: ${({ theme }) => theme.palette.text.hint};
169
+ color: ${({ theme }) => {
170
+ // @ts-expect-error
171
+ return theme.palette.text.hint;
172
+ }};
156
173
  }
157
174
  }
158
175
  .header-brand-addon {
@@ -1,11 +1,7 @@
1
1
  import { useState } from 'react';
2
2
  import { useCreation, useReactive } from 'ahooks';
3
- import MenuIcon from '@mui/icons-material/Menu';
4
- import CloseIcon from '@mui/icons-material/Close';
5
- import Button from '@mui/material/IconButton';
6
- import Container from '@mui/material/Container';
7
- import useMediaQuery from '@mui/material/useMediaQuery';
8
- import Drawer from '@mui/material/Drawer';
3
+ import { Menu as MenuIcon, Close as CloseIcon } from '@mui/icons-material';
4
+ import { Button, Container, useMediaQuery, Drawer } from '@mui/material';
9
5
  import Header from './header';
10
6
  import { styled, useTheme } from '../Theme';
11
7
  import { type HeaderProps } from './header';
@@ -97,13 +93,15 @@ function ResponsiveHeader({ menu, prepend, children, ...rest }: ResponsiveHeader
97
93
  top: 64,
98
94
  zIndex: theme.zIndex.appBar - 1,
99
95
  }}
100
- PaperProps={{
101
- style: {
102
- top: 64,
103
- bottom: 0,
104
- boxShadow: 'none',
105
- backgroundImage: 'none',
106
- backgroundColor: theme.palette.background.paper,
96
+ slotProps={{
97
+ paper: {
98
+ style: {
99
+ top: 64,
100
+ bottom: 0,
101
+ boxShadow: 'none',
102
+ backgroundImage: 'none',
103
+ backgroundColor: theme.palette.background.paper,
104
+ },
107
105
  },
108
106
  }}>
109
107
  <MenuPanel>{_children}</MenuPanel>
@@ -0,0 +1,45 @@
1
+ import Icon from '.';
2
+
3
+ export default {
4
+ title: 'Deprecated/Icon',
5
+
6
+ parameters: {
7
+ readme: {
8
+ sidebar: '<!-- PROPS -->',
9
+ },
10
+ },
11
+ };
12
+
13
+ export function WithDifferentNames() {
14
+ return (
15
+ <div style={{ display: 'flex', width: '300px', justifyContent: 'space-between' }}>
16
+ <Icon name="box" variant="solid" />
17
+ <Icon name="cut" />
18
+ <Icon name="copy" />
19
+ <Icon name="file" />
20
+ </div>
21
+ );
22
+ }
23
+
24
+ WithDifferentNames.storyName = 'with different names';
25
+
26
+ export function WithDifferentSizes() {
27
+ return (
28
+ <div style={{ display: 'flex', width: '300px', justifyContent: 'space-between' }}>
29
+ <Icon name="box" variant="solid" />
30
+ <Icon name="box" size={50} variant="solid" />
31
+ </div>
32
+ );
33
+ }
34
+
35
+ WithDifferentSizes.storyName = 'with different sizes';
36
+
37
+ export function WithRounded() {
38
+ return (
39
+ <div style={{ display: 'flex', width: '300px', justifyContent: 'space-between' }}>
40
+ <Icon name="box" rounded variant="solid" />
41
+ </div>
42
+ );
43
+ }
44
+
45
+ WithRounded.storyName = 'with rounded';
@@ -1,24 +1,16 @@
1
- import { forwardRef } from 'react';
2
- import { type SxProps } from '@mui/material';
1
+ import { Icon as IconifyIcon } from '@iconify/react';
3
2
 
4
3
  import colors from '../Colors';
5
4
  import { styled } from '../Theme';
6
5
  import { withDeprecated } from '../Util/deprecate';
7
6
 
8
- const variants = {
9
- light: 'fal',
10
- regular: 'far',
11
- solid: 'fas',
12
- };
13
-
14
7
  export interface IconProps extends React.HTMLAttributes<HTMLDivElement> {
15
8
  name: string;
16
9
  color?: string;
17
10
  size?: number;
18
11
  variant?: 'light' | 'regular' | 'solid';
19
12
  rounded?: false | true;
20
- forwardedRef?: React.ForwardedRef<HTMLDivElement>;
21
- sx?: SxProps;
13
+ forwardedRef?: React.Ref<unknown>;
22
14
  }
23
15
 
24
16
  // eslint-disable-next-line react/prop-types
@@ -26,29 +18,20 @@ function Icon({
26
18
  name,
27
19
  color = colors.grey[900],
28
20
  size = 24,
29
- variant = 'light',
21
+ variant = 'regular',
30
22
  rounded = false,
31
- style = {},
32
23
  className = '',
33
24
  forwardedRef,
34
- ...rest
35
25
  }: IconProps) {
36
- const content = (
37
- <i
38
- ref={forwardedRef}
39
- className={`${variants[variant]} fa-${name} ${rounded ? '' : className}`}
40
- style={Object.assign({ color, fontSize: `${size}px` }, style || {})}
41
- />
42
- );
43
-
26
+ const iconName = variant === 'solid' ? `fa-solid:${name}` : `fa-regular:${name}`;
27
+ const content = <IconifyIcon icon={iconName} color={color} width={size} height={size} className={className} />;
44
28
  if (rounded) {
45
29
  return (
46
- <Span ref={forwardedRef} size={size} color={color} className={className} {...rest}>
30
+ <Span ref={forwardedRef as React.Ref<HTMLSpanElement>} size={size} color={color} className={className}>
47
31
  {content}
48
32
  </Span>
49
33
  );
50
34
  }
51
-
52
35
  return content;
53
36
  }
54
37
 
@@ -70,6 +53,11 @@ const Span = styled('span')<{ size: number; color: string }>`
70
53
  `;
71
54
 
72
55
  export default withDeprecated(
73
- forwardRef<HTMLDivElement, IconProps>((props, ref) => <Icon {...props} forwardedRef={ref} />),
56
+ ({
57
+ ref,
58
+ ...props
59
+ }: IconProps & {
60
+ ref?: React.Ref<unknown>;
61
+ }) => <Icon {...props} forwardedRef={ref} />,
74
62
  { name: 'Icon', alternative: 'SVG icons' }
75
63
  );
@@ -0,0 +1,17 @@
1
+ import Basic from './demo/basic';
2
+
3
+ export default {
4
+ title: 'Data Display/Img',
5
+ parameters: {
6
+ docs: {
7
+ description: {
8
+ component:
9
+ 'The Image component allows you to place an image on your page. It supports fixed size, aspect ratio, lazy loading and fallback image.',
10
+ },
11
+ },
12
+ },
13
+ };
14
+
15
+ Basic.storyName = 'Img';
16
+
17
+ export { Basic };
package/src/Img/index.jsx CHANGED
@@ -43,21 +43,21 @@ const classes = {
43
43
  * @returns {React.ReactComponentElement}
44
44
  */
45
45
  function Img({
46
- lazy,
47
- width,
48
- height,
49
- repeat,
50
- ratio,
51
- alt,
52
- size,
53
- position,
46
+ lazy = true,
47
+ width = null,
48
+ height = null,
49
+ repeat = 'no-repeat',
50
+ ratio = 1,
51
+ alt = null,
52
+ size = 'cover',
53
+ position = 'top center',
54
54
  src,
55
- placeholder,
56
- fallback,
57
- style,
58
- className,
59
- onError,
60
- onSuccess,
55
+ placeholder = null,
56
+ fallback = null,
57
+ style = null,
58
+ className = '',
59
+ onError = noop,
60
+ onSuccess = noop,
61
61
  ...rest
62
62
  }) {
63
63
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -199,21 +199,5 @@ Img.propTypes = {
199
199
  onError: PropTypes.func,
200
200
  onSuccess: PropTypes.func,
201
201
  };
202
- Img.defaultProps = {
203
- alt: null,
204
- size: 'cover',
205
- position: 'top center',
206
- repeat: 'no-repeat',
207
- style: null,
208
- ratio: 1,
209
- width: null,
210
- height: null,
211
- lazy: true,
212
- placeholder: null,
213
- fallback: null,
214
- className: '',
215
- onError: noop,
216
- onSuccess: noop,
217
- };
218
202
 
219
203
  export default Img;
@@ -0,0 +1,14 @@
1
+ export { default as DifferentWidth } from './demo/different-width';
2
+ export { default as CustomValueComponent } from './demo/custom-value-component';
3
+ export { default as CustomNameComponent } from './demo/custom-name-component';
4
+
5
+ export default {
6
+ title: 'Data Display/InfoRow',
7
+ parameters: {
8
+ docs: {
9
+ description: {
10
+ component: 'InfoRow is typically used to display data with key-value pairs, such as a product specification.',
11
+ },
12
+ },
13
+ },
14
+ };
@@ -1,6 +1,6 @@
1
1
  import camelCase from 'lodash/camelCase';
2
2
  import upperFirst from 'lodash/upperFirst';
3
- import Typography from '@mui/material/Typography';
3
+ import { Typography } from '@mui/material';
4
4
 
5
5
  import { styled } from '../Theme';
6
6
 
@@ -16,15 +16,15 @@ export interface InfoRowProps {
16
16
  function InfoRow({
17
17
  name,
18
18
  // eslint-disable-next-line no-shadow
19
- nameFormatter = (name) => {
20
- if (typeof name === 'string') {
21
- return name
19
+ nameFormatter = (rawName) => {
20
+ if (typeof rawName === 'string') {
21
+ return rawName
22
22
  .split(' ')
23
23
  .map((x: any) => upperFirst(camelCase(x)))
24
24
  .join(' ');
25
25
  }
26
26
 
27
- return name;
27
+ return rawName;
28
28
  },
29
29
  layout = 'horizontal',
30
30
  children,
@@ -0,0 +1,24 @@
1
+ export { default as Basic } from './demo/basic';
2
+ export { default as CustomElement } from './demo/custom-element';
3
+ export { default as Dashboard } from './demo/dashboard';
4
+ export { default as DashboardGroupedNav } from './demo/dashboard-grouped-nav';
5
+ export { default as FullPage } from './demo/full-page';
6
+ export { default as DashboardLegacy } from './demo/dashboard-legacy';
7
+ export { default as DashboardLegacyCustomLogo } from './demo/dashboard-legacy-custom-logo';
8
+
9
+ export default {
10
+ title: 'Layout/Layout',
11
+ parameters: {
12
+ layout: 'fullscreen',
13
+ docs: {
14
+ description: {
15
+ component:
16
+ 'Dashboard Layout is a generic, customizable layout component that includes a header, navigation, and footer, it can be used to quickly build management pages.',
17
+ },
18
+ },
19
+ design: {
20
+ type: 'figma',
21
+ url: 'https://www.figma.com/file/E8TSBWCOyXzETmVOjzbqvw/ArcBlock-UI-Kit?node-id=1504%3A5211',
22
+ },
23
+ },
24
+ };
@@ -1,4 +1,4 @@
1
- import { useState, useContext, createContext, useMemo, useLayoutEffect } from 'react';
1
+ import { useState, use, createContext, useMemo, useLayoutEffect } from 'react';
2
2
 
3
3
  type FullPageState = {
4
4
  inFullPage: boolean;
@@ -19,7 +19,7 @@ type FullPageContextValue = FullPageState & {
19
19
  export const FullPageContext = createContext<FullPageContextValue>(null!);
20
20
 
21
21
  export const useFullPage = (initialState?: FullPageState) => {
22
- const ctx = useContext(FullPageContext);
22
+ const ctx = use(FullPageContext);
23
23
  useLayoutEffect(() => {
24
24
  if (initialState) {
25
25
  ctx.configure(initialState);
@@ -51,8 +51,8 @@ export function FullPageProvider({ children, ...rest }: { children?: React.React
51
51
  };
52
52
  }, [state]);
53
53
  return (
54
- <FullPageContext.Provider value={value} {...rest}>
54
+ <FullPageContext value={value} {...rest}>
55
55
  {children}
56
- </FullPageContext.Provider>
56
+ </FullPageContext>
57
57
  );
58
58
  }
@@ -1,13 +1,9 @@
1
1
  import { useEffect, useMemo } from 'react';
2
2
  import { useLocation, matchPath, type Location } from 'react-router-dom';
3
3
  import Helmet from 'react-helmet';
4
- import Container from '@mui/material/Container';
5
- import Hidden from '@mui/material/Hidden';
6
- import Box from '@mui/material/Box';
7
- import { type SxProps } from '@mui/material';
4
+ import { Container, Box, type SxProps } from '@mui/material';
8
5
  import clsx from 'clsx';
9
- import OpenInFullIcon from '@mui/icons-material/OpenInFull';
10
- import CloseFullscreenIcon from '@mui/icons-material/CloseFullscreen';
6
+ import { OpenInFull as OpenInFullIcon, CloseFullscreen as CloseFullscreenIcon } from '@mui/icons-material';
11
7
  import DashboardLegacy from '../dashboard-legacy';
12
8
  import { ResponsiveHeader } from '../../Header';
13
9
  import NavMenu from '../../NavMenu';
@@ -101,7 +97,6 @@ function Dashboard({
101
97
  return (
102
98
  <Wrapper sx={sx} {...rest} className={classes} sidebarWidth={sidebarWidth}>
103
99
  <Helmet title={title} key={title} />
104
-
105
100
  {headerVisible && (
106
101
  <StyledUxHeader {..._headerProps} className="dashboard-header">
107
102
  {links?.length
@@ -122,21 +117,29 @@ function Dashboard({
122
117
  : null}
123
118
  </StyledUxHeader>
124
119
  )}
125
-
126
- <Box display="flex" className="dashboard-body">
127
- <Hidden mdDown>
128
- {!!links?.length && sidebarVisible && (
129
- <Box className="dashboard-sidebar">
130
- {_dense ? (
120
+ <Box
121
+ className="dashboard-body"
122
+ sx={{
123
+ display: 'flex',
124
+ }}>
125
+ {!!links?.length && sidebarVisible && (
126
+ <Box
127
+ className="dashboard-sidebar"
128
+ sx={{
129
+ display: {
130
+ xs: 'none',
131
+ md: 'block',
132
+ },
133
+ }}>
134
+ {_dense ? (
135
+ <Sidebar links={links} dense={_dense} />
136
+ ) : (
137
+ <Box className="dashboard-sidebar-container">
131
138
  <Sidebar links={links} dense={_dense} />
132
- ) : (
133
- <Box className="dashboard-sidebar-container">
134
- <Sidebar links={links} dense={_dense} />
135
- </Box>
136
- )}
137
- </Box>
138
- )}
139
- </Hidden>
139
+ </Box>
140
+ )}
141
+ </Box>
142
+ )}
140
143
  <Box className="dashboard-main" id="arc__dashboard-main">
141
144
  {showToggleButton && (
142
145
  <Box
@@ -1,4 +1,4 @@
1
- import Typography from '@mui/material/Typography';
1
+ import { Typography } from '@mui/material';
2
2
  import clsx from 'clsx';
3
3
  import { styled } from '../../Theme';
4
4
  import { NavLink } from './external-link';
@@ -1,10 +1,5 @@
1
- import Button from '@mui/material/IconButton';
2
- import AppBar, { type AppBarProps } from '@mui/material/AppBar';
3
- import Toolbar from '@mui/material/Toolbar';
4
- import Box from '@mui/material/Box';
5
- import Typography from '@mui/material/Typography';
6
- import Hidden from '@mui/material/Hidden';
7
- import MenuIcon from '@mui/icons-material/Menu';
1
+ import { Menu as MenuIcon } from '@mui/icons-material';
2
+ import { AppBar, type AppBarProps, Toolbar, Box, Typography, Button } from '@mui/material';
8
3
  import { Link } from 'react-router-dom';
9
4
 
10
5
  import Logo from '../../Logo';
@@ -41,7 +36,10 @@ const StyledAppBar = styled(AppBar)`
41
36
  .header-title__primary {
42
37
  font-size: 24px;
43
38
  font-weight: 800;
44
- color: ${(props) => props.theme.typography.color.main};
39
+ color: ${(props) => {
40
+ // @ts-expect-error
41
+ return props.theme.typography.color.main;
42
+ }};
45
43
  text-transform: uppercase;
46
44
  display: flex;
47
45
  align-items: center;
@@ -49,7 +47,10 @@ const StyledAppBar = styled(AppBar)`
49
47
  .header-title__secondary {
50
48
  font-size: 14px;
51
49
  line-height: 1.71;
52
- color: ${(props) => props.theme.typography.color.gray};
50
+ color: ${(props) => {
51
+ // @ts-expect-error
52
+ return props.theme.typography.color.gray;
53
+ }};
53
54
  }
54
55
 
55
56
  .header-addons {
@@ -118,16 +119,22 @@ export default function Header({
118
119
  <Button
119
120
  color="inherit"
120
121
  aria-label="open drawer"
121
- edge="start"
122
122
  className="header-menu"
123
123
  aira-label="header menu button"
124
124
  onClick={onToggleMenu}>
125
125
  <MenuIcon />
126
126
  </Button>
127
127
  <Link to={homeUrl} className="header-link">
128
- <Hidden mdDown>
129
- <div className="header-logo">{logo || <Logo showText={false} />}</div>
130
- </Hidden>
128
+ <Box
129
+ sx={{
130
+ display: {
131
+ xs: 'none',
132
+ md: 'block',
133
+ },
134
+ }}
135
+ className="header-logo">
136
+ {logo || <Logo showText={false} />}
137
+ </Box>
131
138
  <div className="header-title">
132
139
  <Typography component="h2" noWrap className="header-title__primary">
133
140
  {brand}
@@ -138,7 +145,11 @@ export default function Header({
138
145
  </Typography>
139
146
  </div>
140
147
  </Link>
141
- <Box flexGrow={1} />
148
+ <Box
149
+ sx={{
150
+ flexGrow: 1,
151
+ }}
152
+ />
142
153
  {!!children && <div className="header-children">{children}</div>}
143
154
  <div className="header-addons">{addons}</div>
144
155
  </Toolbar>
@@ -1,9 +1,6 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import Helmet from 'react-helmet';
3
- import Container from '@mui/material/Container';
4
- import Box from '@mui/material/Box';
5
- import { type SxProps } from '@mui/material';
6
- import Drawer, { type DrawerProps } from '@mui/material/Drawer';
3
+ import { Container, Box, type SxProps, Drawer, type DrawerProps } from '@mui/material';
7
4
  import { useSize } from 'ahooks';
8
5
 
9
6
  import Sidebar, { type LinkItem } from './sidebar';
@@ -36,7 +33,7 @@ const Wrapper = styled('div')`
36
33
  white-space: nowrap;
37
34
  width: 120px;
38
35
  background: ${(props) => props.theme.palette.background.default};
39
- box-shadow: 2px 16px 10px 0 rgba(0, 0, 0, ${(props) => (props.theme.mode === 'light' ? 0.05 : 0.5)});
36
+ box-shadow: 2px 16px 10px 0 rgba(0, 0, 0, ${(props) => (props.theme.palette.mode === 'light' ? 0.05 : 0.5)});
40
37
  border: 0;
41
38
  }
42
39
  `;
@@ -94,7 +91,6 @@ export default function Dashboard({
94
91
  return (
95
92
  <Wrapper className={`dashboard ${className}`} {...rest}>
96
93
  <Helmet title={`${title}-${brand}`} />
97
-
98
94
  <Header
99
95
  className="dashboard__header"
100
96
  onToggleMenu={onToggleDrawer}
@@ -105,7 +101,11 @@ export default function Dashboard({
105
101
  homeUrl={homeUrl}
106
102
  logo={logo}
107
103
  />
108
- <Box display="flex" className="dashboard__body">
104
+ <Box
105
+ className="dashboard__body"
106
+ sx={{
107
+ display: 'flex',
108
+ }}>
109
109
  <Drawer
110
110
  variant={drawerMode}
111
111
  className="drawer"
@@ -1,9 +1,7 @@
1
1
  import { memo } from 'react';
2
2
  import { Link, useLocation } from 'react-router-dom';
3
- import Button, { type ButtonProps } from '@mui/material/Button';
4
- import Typography from '@mui/material/Typography';
3
+ import { Button, Typography, type SxProps, type ButtonProps } from '@mui/material';
5
4
  import { teal } from '@mui/material/colors';
6
- import { type SxProps } from '@mui/material';
7
5
 
8
6
  import ImageIcon from '../../Icon/image';
9
7
  import Logo from '../../Logo';
@@ -8,13 +8,13 @@ import {
8
8
  IconButton,
9
9
  Link,
10
10
  List,
11
- ListItem,
12
11
  ListItemText,
13
12
  Toolbar,
14
13
  Typography,
15
14
  type SxProps,
15
+ ListItemButton,
16
16
  } from '@mui/material';
17
- import MenuIcon from '@mui/icons-material/Menu';
17
+ import { Menu as MenuIcon } from '@mui/icons-material';
18
18
 
19
19
  import Footer from '../Footer';
20
20
  import OpenInWallet from '../Wallet/Open';
@@ -95,7 +95,7 @@ export default function Layout({
95
95
  <List>
96
96
  {links.map((x) => (
97
97
  <Link className="nav-link" key={x.url} href={x.url} underline="hover">
98
- <ListItem button className={activeLink === x.url ? 'drawer-highlight-nav' : ''}>
98
+ <ListItemButton className={activeLink === x.url ? 'drawer-highlight-nav' : ''}>
99
99
  <ListItemText>
100
100
  {typeof x.icon === 'string' ? (
101
101
  <Icon name={x.icon} size={18 * (x.iconZoom || 1)} color="inherit" style={{ marginRight: '5px' }} />
@@ -104,7 +104,7 @@ export default function Layout({
104
104
  )}
105
105
  {x.title}
106
106
  </ListItemText>
107
- </ListItem>
107
+ </ListItemButton>
108
108
  </Link>
109
109
  ))}
110
110
  </List>
@@ -134,8 +134,10 @@ export default function Layout({
134
134
  variant="h5"
135
135
  color="inherit"
136
136
  noWrap
137
- display="block"
138
- className="brand">
137
+ className="brand"
138
+ sx={{
139
+ display: 'block',
140
+ }}>
139
141
  {brand}
140
142
  </Typography>
141
143
  {description && (
@@ -0,0 +1,44 @@
1
+ import { LocaleProvider } from './context';
2
+
3
+ import Basic from './demo/basic';
4
+ import WithText from './demo/with-text';
5
+ import DarkMode from './demo/dark-mode';
6
+ import PopperProps from './demo/popper-props';
7
+ import PopperTypeProps from './demo/popper-type-props';
8
+ import IconProps from './demo/icon-props';
9
+ import Languages from './demo/languages';
10
+
11
+ export default {
12
+ title: 'Basic/LocaleSelector',
13
+
14
+ parameters: {
15
+ docs: {
16
+ description: {
17
+ component:
18
+ 'If you have multiple locales and want to give your users the option of selecting a language, you can use the LocaleSelector component.',
19
+ },
20
+ inlineStories: false,
21
+ iframeHeight: 160,
22
+ },
23
+ },
24
+ decorators: [
25
+ (StoryFn) => (
26
+ <LocaleProvider translations={{}}>
27
+ <StoryFn />
28
+ </LocaleProvider>
29
+ ),
30
+ ],
31
+ };
32
+
33
+ // demo 中使用了 react element, 设置 `inlineStories: false` 时导致 storybook 崩溃
34
+ IconProps.parameters = {
35
+ docs: {
36
+ inlineStories: true,
37
+ },
38
+ };
39
+
40
+ Languages.argTypes = {
41
+ fallbackLocale: { control: 'select', options: [null, 'en'] },
42
+ };
43
+
44
+ export { Basic, WithText, DarkMode, PopperProps, PopperTypeProps, IconProps, Languages };