@arcblock/ux 2.13.69 → 3.0.0

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 +5 -4
  283. package/lib/RelativeTime/index.js +163 -255
  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 +227 -307
  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 +7 -6
  395. package/lib/Util/index.js +278 -478
  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 +28 -8
  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 +43 -14
  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 +44 -5
  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,4 +1,4 @@
1
- import { useMemo, forwardRef, useState } from 'react';
1
+ import { useMemo, useState } from 'react';
2
2
  import { Box, MenuItem, Select, Typography, SelectProps, TextField, SxProps } from '@mui/material';
3
3
  import { FlagEmoji, defaultCountries, parseCountry } from 'react-international-phone';
4
4
  import type { CountryIso2 } from 'react-international-phone';
@@ -23,120 +23,124 @@ export interface CountrySelectProps<T extends keyof ParsedCountry = 'iso2'>
23
23
  // 定义组件类型
24
24
  type CountrySelectComponent = <T extends keyof ParsedCountry = 'iso2'>(
25
25
  props: CountrySelectProps<T> & { ref?: React.ForwardedRef<HTMLDivElement> }
26
- ) => React.ReactElement;
26
+ ) => React.ReactElement<any>;
27
27
 
28
28
  // 实现组件
29
- const CountrySelectInner = forwardRef(
30
- <T extends keyof ParsedCountry = 'iso2'>(
31
- {
32
- value,
33
- onChange,
34
- sx = {},
35
- selectCountryProps,
36
- preview = false,
37
- valueField = 'iso2' as T,
38
- ...rest
39
- }: CountrySelectProps<T>,
40
- ref: React.ForwardedRef<HTMLDivElement>
41
- ) => {
42
- const { hideFlag = true, hideDialCode = false } = selectCountryProps || {};
43
- const [searchQuery, setSearchQuery] = useState('');
29
+ function CountrySelectInner<T extends keyof ParsedCountry = 'iso2'>({
30
+ ref,
31
+ value,
32
+ onChange,
33
+ sx = {},
34
+ selectCountryProps,
35
+ preview = false,
36
+ valueField = 'iso2' as T,
37
+ ...rest
38
+ }: CountrySelectProps<T> & {
39
+ ref?: React.Ref<unknown>;
40
+ }) {
41
+ const { hideFlag = true, hideDialCode = false } = selectCountryProps || {};
42
+ const [searchQuery, setSearchQuery] = useState('');
44
43
 
45
- const countryDetail = useMemo(() => {
46
- const item = defaultCountries.find((v) => v[1] === value);
47
- return value && item ? parseCountry(item) : { name: '', iso2: '', dialCode: '' };
48
- }, [value]);
44
+ const countryDetail = useMemo(() => {
45
+ const item = defaultCountries.find((v) => v[1] === value);
46
+ return value && item ? parseCountry(item) : { name: '', iso2: '', dialCode: '' };
47
+ }, [value]);
49
48
 
50
- const filteredCountries = useMemo(() => {
51
- if (!searchQuery) return defaultCountries;
49
+ const filteredCountries = useMemo(() => {
50
+ if (!searchQuery) return defaultCountries;
52
51
 
53
- const query = searchQuery.toLowerCase();
54
- return defaultCountries.filter((country) => {
55
- const parsed = parseCountry(country);
56
- return (
57
- parsed.name.toLowerCase().includes(query) ||
58
- parsed.iso2.toLowerCase().includes(query) ||
59
- parsed.dialCode.includes(query)
60
- );
61
- });
62
- }, [searchQuery]);
52
+ const query = searchQuery.toLowerCase();
53
+ return defaultCountries.filter((country) => {
54
+ const parsed = parseCountry(country);
55
+ return (
56
+ parsed.name.toLowerCase().includes(query) ||
57
+ parsed.iso2.toLowerCase().includes(query) ||
58
+ parsed.dialCode.includes(query)
59
+ );
60
+ });
61
+ }, [searchQuery]);
63
62
 
64
- const renderCountryContent = (
65
- <Box
66
- display="flex"
67
- alignItems="center"
68
- flexWrap="nowrap"
69
- gap={0.5}
70
- sx={{ cursor: preview ? 'default' : 'pointer' }}>
71
- {hideFlag ? null : <FlagEmoji iso2={value} style={{ display: 'flex', width: 24, color: 'inherit' }} />}
72
- <Typography component="span" sx={{ lineHeight: 1.5 }}>
73
- {hideDialCode ? countryDetail?.name : `+${countryDetail?.dialCode}`}
74
- </Typography>
75
- </Box>
76
- );
63
+ const renderCountryContent = (
64
+ <Box
65
+ sx={{
66
+ display: 'flex',
67
+ alignItems: 'center',
68
+ flexWrap: 'nowrap',
69
+ gap: 0.5,
70
+ cursor: preview ? 'default' : 'pointer',
71
+ }}>
72
+ {hideFlag ? null : <FlagEmoji iso2={value} style={{ display: 'flex', width: 24, color: 'inherit' }} />}
73
+ <Typography component="span" sx={{ lineHeight: 1.5 }}>
74
+ {hideDialCode ? countryDetail?.name : `+${countryDetail?.dialCode}`}
75
+ </Typography>
76
+ </Box>
77
+ );
77
78
 
78
- if (preview) {
79
- return renderCountryContent;
80
- }
79
+ if (preview) {
80
+ return renderCountryContent;
81
+ }
81
82
 
82
- return (
83
- <Select
84
- {...rest}
85
- ref={ref}
86
- MenuProps={{
87
- style: { maxHeight: 400, top: 2, zIndex: 9999 }, // 默认 zIndex 为 1300, 但是在 SwipeableDrawer 中需要设置为 9999
88
- anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
89
- transformOrigin: { vertical: 'top', horizontal: 'left' },
90
- ...(rest.MenuProps ?? {}),
91
- }}
92
- sx={mergeSx(
93
- {
94
- '&.Mui-focused:has(div[aria-expanded="false"])': { fieldset: { display: 'block' } },
95
- '.MuiSelect-select': { padding: 1, paddingRight: '24px !important' },
96
- svg: { right: 4, top: 10 },
97
- '&:hover': {
98
- 'fieldset.MuiOutlinedInput-notchedOutline': {
99
- borderColor: 'divider',
100
- },
101
- },
83
+ return (
84
+ <Select
85
+ {...rest}
86
+ ref={ref}
87
+ MenuProps={{
88
+ style: { maxHeight: 400, top: 2, zIndex: 9999 }, // 默认 zIndex 为 1300, 但是在 SwipeableDrawer 中需要设置为 9999
89
+ anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
90
+ transformOrigin: { vertical: 'top', horizontal: 'left' },
91
+ ...(rest.MenuProps ?? {}),
92
+ }}
93
+ sx={mergeSx(
94
+ {
95
+ '&.Mui-focused:has(div[aria-expanded="false"])': { fieldset: { display: 'block' } },
96
+ '.MuiSelect-select': { padding: 1, paddingRight: '24px !important' },
97
+ svg: { right: 4, top: 10 },
98
+ '&:hover': {
102
99
  'fieldset.MuiOutlinedInput-notchedOutline': {
103
100
  borderColor: 'divider',
104
101
  },
105
- '.MuiMenuItem-root': { justifyContent: 'flex-start' },
106
102
  },
107
- sx as SxProps
108
- )}
109
- value={value}
110
- onChange={(e) => onChange?.(e.target.value as T extends 'iso2' ? CountryIso2 : string)}
111
- // eslint-disable-next-line react/no-unstable-nested-components
112
- IconComponent={(props) => <ArrowDownwardIcon {...props} width={20} height={20} />}
113
- renderValue={() => renderCountryContent}>
114
- <Box sx={{ p: 1, position: 'sticky', top: 0, bgcolor: 'background.paper', zIndex: 1 }}>
115
- <TextField
116
- size="small"
117
- fullWidth
118
- placeholder="Search country..."
119
- value={searchQuery}
120
- onChange={(e) => setSearchQuery(e.target.value)}
121
- onClick={(e) => e.stopPropagation()}
122
- onKeyDown={(e) => e.stopPropagation()}
123
- />
124
- </Box>
125
-
126
- {filteredCountries.map((c) => {
127
- const parsed = parseCountry(c);
128
- return (
129
- <MenuItem key={parsed.iso2} value={parsed[valueField]}>
130
- {hideFlag ? null : <FlagEmoji iso2={parsed.iso2} style={{ marginRight: 8, width: 24 }} />}
131
- <Typography marginRight={1}>{parsed.name}</Typography>
132
- {hideDialCode ? null : <Typography color="gray">(+{parsed.dialCode})</Typography>}
133
- </MenuItem>
134
- );
135
- })}
136
- </Select>
137
- );
138
- }
139
- );
103
+ 'fieldset.MuiOutlinedInput-notchedOutline': {
104
+ borderColor: 'divider',
105
+ },
106
+ '.MuiMenuItem-root': { justifyContent: 'flex-start' },
107
+ },
108
+ sx as SxProps
109
+ )}
110
+ value={value}
111
+ onChange={(e) => onChange?.(e.target.value as T extends 'iso2' ? CountryIso2 : string)}
112
+ // eslint-disable-next-line react/no-unstable-nested-components
113
+ IconComponent={(props) => <ArrowDownwardIcon {...props} width={20} height={20} />}
114
+ renderValue={() => renderCountryContent}>
115
+ <Box sx={{ p: 1, position: 'sticky', top: 0, bgcolor: 'background.paper', zIndex: 1 }}>
116
+ <TextField
117
+ size="small"
118
+ fullWidth
119
+ placeholder="Search country..."
120
+ value={searchQuery}
121
+ onChange={(e) => setSearchQuery(e.target.value)}
122
+ onClick={(e) => e.stopPropagation()}
123
+ onKeyDown={(e) => e.stopPropagation()}
124
+ />
125
+ </Box>
126
+ {filteredCountries.map((c) => {
127
+ const parsed = parseCountry(c);
128
+ return (
129
+ <MenuItem key={parsed.iso2} value={parsed[valueField]}>
130
+ {hideFlag ? null : <FlagEmoji iso2={parsed.iso2} style={{ marginRight: 8, width: 24 }} />}
131
+ <Typography
132
+ sx={{
133
+ marginRight: 1,
134
+ }}>
135
+ {parsed.name}
136
+ </Typography>
137
+ {hideDialCode ? null : <Typography color="gray">(+{parsed.dialCode})</Typography>}
138
+ </MenuItem>
139
+ );
140
+ })}
141
+ </Select>
142
+ );
143
+ }
140
144
 
141
145
  // 正确导出泛型组件
142
146
  const CountrySelect = CountrySelectInner as CountrySelectComponent;
@@ -206,8 +206,6 @@ export default function PhoneInput({
206
206
 
207
207
  return (
208
208
  <Box
209
- display="flex"
210
- alignItems="center"
211
209
  component={canDial ? 'a' : 'div'}
212
210
  href={canDial ? `tel:${phone}` : undefined}
213
211
  {...(canDial
@@ -219,9 +217,12 @@ export default function PhoneInput({
219
217
  }
220
218
  : {})}
221
219
  sx={{
220
+ display: 'flex',
221
+ alignItems: 'center',
222
222
  textDecoration: 'none',
223
223
  color: 'inherit',
224
224
  cursor: canDial ? 'pointer' : 'default',
225
+
225
226
  '&:hover': {
226
227
  opacity: canDial ? 0.8 : 1,
227
228
  },
@@ -233,7 +234,12 @@ export default function PhoneInput({
233
234
  }
234
235
  // 编辑模式
235
236
  return (
236
- <Box display="flex" alignItems="flex-start" gap={0.5}>
237
+ <Box
238
+ sx={{
239
+ display: 'flex',
240
+ alignItems: 'flex-start',
241
+ gap: 0.5,
242
+ }}>
237
243
  <CountrySelect
238
244
  value={country}
239
245
  onChange={onCountryChange}
@@ -254,7 +260,9 @@ export default function PhoneInput({
254
260
  },
255
261
  props.sx as any // 这里传入的可能是一个数组或一个对象
256
262
  )}
257
- InputProps={props.InputProps ?? {}}
263
+ slotProps={{
264
+ input: props.InputProps ?? {},
265
+ }}
258
266
  />
259
267
  </Box>
260
268
  );
@@ -1,7 +1,4 @@
1
- import Card from '@mui/material/Card';
2
- import Button from '@mui/material/Button';
3
- import CardContent from '@mui/material/CardContent';
4
- import Typography from '@mui/material/Typography';
1
+ import { Card, Button, CardContent, Typography } from '@mui/material';
5
2
 
6
3
  import { styled } from '../Theme';
7
4
 
@@ -0,0 +1,38 @@
1
+ import PricingTable from '.';
2
+
3
+ const plans = [
4
+ {
5
+ name: 'Developer',
6
+ price: '0 ABT',
7
+ featureList: ['1. 规则1111', '2. 规则22222', '3. 规则33333'],
8
+ showButton: true,
9
+ buttonText: 'Contact',
10
+ buttonLink: 'https://www.arcblockio.cn/zh/',
11
+ },
12
+ {
13
+ name: 'Free',
14
+ price: '0 ABT',
15
+ featureList: ['1. 规则1111', '2. 规则22222', '3. 规则33333'],
16
+ showButton: true,
17
+ buttonText: 'Contact',
18
+ buttonLink: 'https://www.arcblockio.cn/zh/',
19
+ },
20
+ {
21
+ name: 'Enterprise Plan',
22
+ price: '2000 ABT',
23
+ featureList: ['1. 规则1111', '2. 规则22222', '3. 规则33333'],
24
+ showButton: true,
25
+ buttonText: 'Contact',
26
+ buttonLink: 'https://www.arcblockio.cn/zh/',
27
+ },
28
+ ];
29
+
30
+ export default {
31
+ title: 'Deprecated/PricingTable',
32
+ };
33
+
34
+ export function BasicUse() {
35
+ return <PricingTable plans={plans} />;
36
+ }
37
+
38
+ BasicUse.storyName = 'basic use';
@@ -1,4 +1,4 @@
1
- import Grid from '@mui/material/Grid';
1
+ import { Grid } from '@mui/material';
2
2
 
3
3
  import PricingPlan, { type PricingPlanProps } from './PricingPlan';
4
4
  import { styled } from '../Theme';
@@ -12,10 +12,22 @@ function PricingTable({ plans = [] }: PricingTableProps) {
12
12
  if (plans && plans.length > 0) {
13
13
  return (
14
14
  <Div variant="even">
15
- <Grid container spacing={2} justifyContent="center">
15
+ <Grid
16
+ container
17
+ spacing={2}
18
+ sx={{
19
+ justifyContent: 'center',
20
+ }}>
16
21
  {plans.map((x, index) => (
17
- // eslint-disable-next-line react/no-array-index-key
18
- <Grid item className="plan-item" key={index} xs={12} sm={6} md={3}>
22
+ <Grid
23
+ className="plan-item"
24
+ // eslint-disable-next-line react/no-array-index-key
25
+ key={index}
26
+ size={{
27
+ xs: 12,
28
+ sm: 6,
29
+ md: 3,
30
+ }}>
19
31
  <PricingPlan plan={x} />
20
32
  </Grid>
21
33
  ))}
@@ -0,0 +1,13 @@
1
+ export { default as Basic } from './demo/basic';
2
+ export { default as WithImage } from './demo/with-image';
3
+
4
+ export default {
5
+ title: 'Data Display/QRCode',
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: 'Used to generate QR codes with a logo and styling.',
10
+ },
11
+ },
12
+ },
13
+ };
@@ -0,0 +1,20 @@
1
+ export { default as Basic } from './demo/basic';
2
+ export { default as WithoutSuffix } from './demo/without-suffix';
3
+ export { default as From } from './demo/from';
4
+ export { default as To } from './demo/to';
5
+ export { default as DisplayAbsoluteTime } from './demo/display-absolute-time';
6
+ export { default as CustomTimezoneAmericaLosAngeLes } from './demo/custom-timezone-america-los-ange-les';
7
+ export { default as CustomStyle } from './demo/custom-style';
8
+ export { default as UTCTimeFormat } from './demo/utc';
9
+ export { default as AllTimeFormat } from './demo/all';
10
+
11
+ export default {
12
+ title: 'Data Display/RelativeTIme',
13
+ parameters: {
14
+ docs: {
15
+ description: {
16
+ component: 'Display dates as a human-readable relative time.',
17
+ },
18
+ },
19
+ },
20
+ };
@@ -1,12 +1,12 @@
1
- import { Box, Tooltip, TooltipProps } from '@mui/material';
1
+ import { Box, SxProps, Tooltip, TooltipProps } from '@mui/material';
2
2
  import { useEffect, useMemo } from 'react';
3
- import relativeTime from 'dayjs/plugin/relativeTime';
4
3
  import dayjs from 'dayjs';
5
4
  import 'dayjs/locale/zh-cn';
6
- import localizedFormat from 'dayjs/plugin/localizedFormat';
7
5
  import utc from 'dayjs/plugin/utc';
8
6
  import timezone from 'dayjs/plugin/timezone';
7
+ import relativeTime from 'dayjs/plugin/relativeTime';
9
8
  import updateLocale from 'dayjs/plugin/updateLocale';
9
+ import localizedFormat from 'dayjs/plugin/localizedFormat';
10
10
  import { create } from 'zustand';
11
11
  import { formatToDatetime, setDateTool } from '../Util';
12
12
  import type { Locale } from '../type';
@@ -71,6 +71,8 @@ export interface RelativeTimeProps {
71
71
  useShortTimezone?: boolean;
72
72
  disableTimezone?: boolean;
73
73
  placement?: TooltipProps['placement'];
74
+ sx?: SxProps;
75
+ format?: string;
74
76
  }
75
77
 
76
78
  function useRelativeTime({
@@ -82,6 +84,7 @@ function useRelativeTime({
82
84
  type = 'relative',
83
85
  tz,
84
86
  relativeRange,
87
+ format,
85
88
  }: {
86
89
  value: string | number;
87
90
  locale?: Locale;
@@ -91,6 +94,7 @@ function useRelativeTime({
91
94
  type?: 'relative' | 'absolute' | 'utc';
92
95
  tz?: string;
93
96
  relativeRange?: number;
97
+ format?: string;
94
98
  }) {
95
99
  const date = new Date();
96
100
  const timeZoneOffset = date.getTimezoneOffset();
@@ -121,7 +125,7 @@ function useRelativeTime({
121
125
  datetime = datetime.tz(tz);
122
126
  }
123
127
 
124
- const absoluteString = formatToDatetime(value, { locale: localeOption, tz });
128
+ const absoluteString = formatToDatetime(value, { locale: localeOption, tz, format });
125
129
 
126
130
  let relativeString;
127
131
 
@@ -150,8 +154,8 @@ function useRelativeTime({
150
154
 
151
155
  if (type === 'utc') {
152
156
  if (isUtc) {
153
- innerContent = formatToDatetime(value, { locale: localeOption, tz, isUtc: true });
154
- popContent = formatToDatetime(value, { locale: localeOption, tz, isUtc: true });
157
+ innerContent = formatToDatetime(value, { locale: localeOption, tz, isUtc: true, format });
158
+ popContent = formatToDatetime(value, { locale: localeOption, tz, isUtc: true, format });
155
159
  } else {
156
160
  innerContent = absoluteString;
157
161
  popContent = relativeString;
@@ -215,6 +219,7 @@ export default function RelativeTime({
215
219
  useShortTimezone = false,
216
220
  disableTimezone = false,
217
221
  placement = 'top-end',
222
+ format = 'lll',
218
223
  ...rest
219
224
  }: RelativeTimeProps) {
220
225
  const { innerContent, popContent, isUtc, setIsUtc, relativeString } = useRelativeTime({
@@ -226,12 +231,22 @@ export default function RelativeTime({
226
231
  type: type === 'all' ? 'utc' : type,
227
232
  tz,
228
233
  relativeRange,
234
+ format,
229
235
  });
230
236
 
231
237
  if (type === 'all') {
232
238
  return (
233
239
  <Tooltip title={undefined} placement={placement} enterTouchDelay={0}>
234
- <Box display="inline-flex" alignItems="center" gap={0.5} {...rest}>
240
+ <Box
241
+ {...rest}
242
+ sx={[
243
+ {
244
+ display: 'inline-flex',
245
+ alignItems: 'center',
246
+ gap: 0.5,
247
+ },
248
+ ...(Array.isArray(rest.sx) ? rest.sx : [rest.sx]),
249
+ ]}>
235
250
  <Box component="span" {...rest} sx={{}}>
236
251
  {innerContent}
237
252
  </Box>
@@ -260,7 +275,12 @@ export default function RelativeTime({
260
275
 
261
276
  return (
262
277
  <Tooltip title={enableTooltip ? popContent : undefined} placement={placement} enterTouchDelay={0}>
263
- <Box display="inline-flex" alignItems="center" gap={1}>
278
+ <Box
279
+ sx={{
280
+ display: 'inline-flex',
281
+ alignItems: 'center',
282
+ gap: 1,
283
+ }}>
264
284
  <Box component="span" {...rest}>
265
285
  {innerContent}
266
286
  </Box>
@@ -0,0 +1,61 @@
1
+ import { Box } from '@mui/material';
2
+ import { LocaleProvider } from '../Locale/context';
3
+ import LocaleSelector from '../Locale/selector';
4
+
5
+ export { default as Common404 } from './demo/common404';
6
+ export { default as Common403 } from './demo/common403';
7
+ export { default as Common500 } from './demo/common500';
8
+ export { default as CommonError } from './demo/common-error';
9
+ export { default as CommonMaintenance } from './demo/common-maintenance';
10
+ export { default as CommonComingSoon } from './demo/common-coming-soon';
11
+ export { default as Custom404Page } from './demo/custom404-page';
12
+ export { default as InfoPage } from './demo/info-page';
13
+
14
+ export default {
15
+ title: 'Feedback/Result',
16
+
17
+ parameters: {
18
+ layout: 'fullscreen',
19
+
20
+ docs: {
21
+ description: {
22
+ component: 'Used to provide feedback on the outcomes of a series of operational tasks.',
23
+ },
24
+ },
25
+ },
26
+ decorators: [
27
+ (StoryFn) => (
28
+ <TestContainer>
29
+ <StoryFn />
30
+ </TestContainer>
31
+ ),
32
+ ],
33
+ };
34
+
35
+ // eslint-disable-next-line react/prop-types
36
+ function TestContainer({ children, ...rest }) {
37
+ return (
38
+ <LocaleProvider locale="en" translations={{}}>
39
+ <Box
40
+ {...rest}
41
+ sx={[
42
+ {
43
+ position: 'relative',
44
+ height: 760,
45
+ overflow: 'hidden',
46
+ },
47
+ ...(Array.isArray(rest.sx) ? rest.sx : [rest.sx]),
48
+ ]}>
49
+ <Box
50
+ sx={{
51
+ position: 'absolute',
52
+ top: 16,
53
+ right: 16,
54
+ }}>
55
+ <LocaleSelector />
56
+ </Box>
57
+ {children}
58
+ </Box>
59
+ </LocaleProvider>
60
+ );
61
+ }
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable react/prop-types */
2
2
  /* eslint-disable no-param-reassign */
3
- import InfoIcon from '@mui/icons-material/Info';
4
- import CancelRoundedIcon from '@mui/icons-material/CancelRounded';
3
+ import { Info as InfoIcon, CancelRounded as CancelRoundedIcon } from '@mui/icons-material';
5
4
  import { type SvgIconProps } from '@mui/material';
6
5
  import Result, { type ResultProps } from './result';
7
6
  import translations from './translations';
@@ -1,4 +1,4 @@
1
- import Box from '@mui/material/Box';
1
+ import { Box } from '@mui/material';
2
2
 
3
3
  import { styled } from '../Theme';
4
4
 
@@ -14,22 +14,38 @@ function Result({ icon, title = '', description = '', extra, ...rest }: ResultPr
14
14
  <Root {...rest}>
15
15
  {icon}
16
16
  {typeof title === 'string' ? (
17
- <Box mt={3} fontSize={22} fontWeight={400} color="#47494E" textAlign="center">
17
+ <Box
18
+ sx={{
19
+ mt: 3,
20
+ fontSize: 22,
21
+ fontWeight: 400,
22
+ color: '#47494E',
23
+ textAlign: 'center',
24
+ }}>
18
25
  {title}
19
26
  </Box>
20
27
  ) : (
21
28
  title
22
29
  )}
23
-
24
30
  {typeof description === 'string' ? (
25
- <Box mt={1} fontSize={14} color="#7F828B" textAlign="center">
31
+ <Box
32
+ sx={{
33
+ mt: 1,
34
+ fontSize: 14,
35
+ color: '#7F828B',
36
+ textAlign: 'center',
37
+ }}>
26
38
  {description}
27
39
  </Box>
28
40
  ) : (
29
41
  description
30
42
  )}
31
-
32
- <Box mt={3}>{extra}</Box>
43
+ <Box
44
+ sx={{
45
+ mt: 3,
46
+ }}>
47
+ {extra}
48
+ </Box>
33
49
  </Root>
34
50
  );
35
51
  }
@@ -0,0 +1,44 @@
1
+ import Basic from './demo/basic';
2
+
3
+ export default {
4
+ title: 'Basic/Screenshot',
5
+ parameters: {
6
+ docs: {
7
+ description: {
8
+ component: 'A component that wraps its children content in a device frame.',
9
+ },
10
+ },
11
+ },
12
+ };
13
+
14
+ Basic.storyName = 'Screenshot';
15
+
16
+ Basic.args = {
17
+ type: 'phone',
18
+ };
19
+
20
+ Basic.argTypes = {
21
+ type: {
22
+ control: 'select',
23
+ options: [
24
+ // 'iphone-x',
25
+ // 'iphone-8',
26
+ // 'ipad-pro',
27
+ // 'imac-pro',
28
+ // 'macbook',
29
+ // 'macbook-pro',
30
+ // 'surface-pro',
31
+ // 'surface-book',
32
+ // 'surface-studio',
33
+ // 'galaxy-s8',
34
+ // 'google-pixel',
35
+ // 'google-pixel-2-xl',
36
+ // 'apple-watch',
37
+ // ----⬆️ 放弃旧版实现的设备,⬇️都是使用svg组件模式实现设备
38
+ 'phone',
39
+ 'macbook',
40
+ ],
41
+ },
42
+ };
43
+
44
+ export { Basic };