@blocklet/ui-react 2.13.70 → 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 (380) hide show
  1. package/lib/@types/index.js +5 -18
  2. package/lib/BlockletStudio/index.js +75 -89
  3. package/lib/ComponentInstaller/index.js +153 -190
  4. package/lib/ComponentInstaller/installer-item.js +56 -55
  5. package/lib/ComponentInstaller/locales.js +19 -18
  6. package/lib/ComponentInstaller/use-component-installed.js +49 -80
  7. package/lib/ComponentManager/components/add-component.js +68 -89
  8. package/lib/ComponentManager/components/check-component.js +4 -2
  9. package/lib/ComponentManager/components/publish-component.js +48 -57
  10. package/lib/ComponentManager/components/resource-dialog.js +41 -55
  11. package/lib/ComponentManager/index.js +8 -3
  12. package/lib/ComponentManager/libs/locales.js +8 -5
  13. package/lib/Dashboard/index.js +88 -124
  14. package/lib/Footer/brand.js +25 -28
  15. package/lib/Footer/copyright.js +15 -16
  16. package/lib/Footer/index.js +55 -65
  17. package/lib/Footer/internal-footer.js +93 -95
  18. package/lib/Footer/layout/plain.js +26 -24
  19. package/lib/Footer/layout/row.js +16 -20
  20. package/lib/Footer/layout/standard.js +73 -59
  21. package/lib/Footer/links.js +100 -120
  22. package/lib/Footer/social-media.js +28 -33
  23. package/lib/Header/index.js +108 -130
  24. package/lib/Icon/index.js +43 -59
  25. package/lib/Notifications/Snackbar.js +114 -151
  26. package/lib/Notifications/hooks/use-title.js +85 -126
  27. package/lib/Notifications/hooks/use-width.js +10 -9
  28. package/lib/Notifications/utils.js +74 -114
  29. package/lib/UserCenter/components/config-inviter.js +21 -31
  30. package/lib/UserCenter/components/config-profile.js +41 -47
  31. package/lib/UserCenter/components/danger-zone.js +88 -93
  32. package/lib/UserCenter/components/editable-field.js +149 -167
  33. package/lib/UserCenter/components/nft.js +90 -66
  34. package/lib/UserCenter/components/notification.js +206 -195
  35. package/lib/UserCenter/components/passport.js +37 -53
  36. package/lib/UserCenter/components/privacy.js +53 -64
  37. package/lib/UserCenter/components/settings.js +117 -128
  38. package/lib/UserCenter/components/status-dialog/date-picker.js +35 -36
  39. package/lib/UserCenter/components/status-dialog/index.js +132 -144
  40. package/lib/UserCenter/components/status-selector/duration-menu.js +53 -48
  41. package/lib/UserCenter/components/status-selector/index.js +37 -36
  42. package/lib/UserCenter/components/status-selector/menu-item.js +13 -9
  43. package/lib/UserCenter/components/storage/action.js +27 -25
  44. package/lib/UserCenter/components/storage/connected.js +59 -30
  45. package/lib/UserCenter/components/storage/delete.js +32 -39
  46. package/lib/UserCenter/components/storage/disconnect.js +43 -25
  47. package/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg.js +7 -0
  48. package/lib/UserCenter/components/storage/index.js +24 -18
  49. package/lib/UserCenter/components/storage/preview-nft.js +35 -36
  50. package/lib/UserCenter/components/third-party-login/index.js +73 -143
  51. package/lib/UserCenter/components/third-party-login/third-party-item.js +132 -153
  52. package/lib/UserCenter/components/user-center.js +345 -461
  53. package/lib/UserCenter/components/user-info/address.js +120 -100
  54. package/lib/UserCenter/components/user-info/index.js +10 -4
  55. package/lib/UserCenter/components/user-info/link-preview-input.js +159 -156
  56. package/lib/UserCenter/components/user-info/metadata.js +291 -385
  57. package/lib/UserCenter/components/user-info/switch-role.js +24 -18
  58. package/lib/UserCenter/components/user-info/timezone-select.js +37 -45
  59. package/lib/UserCenter/components/user-info/user-basic-info.js +213 -207
  60. package/lib/UserCenter/components/user-info/user-info-item.js +39 -26
  61. package/lib/UserCenter/components/user-info/user-info.js +52 -67
  62. package/lib/UserCenter/components/user-info/user-status.js +111 -154
  63. package/lib/UserCenter/components/user-info/utils.js +52 -93
  64. package/lib/UserCenter/components/webhook-item.js +95 -143
  65. package/lib/UserCenter/index.js +4 -1
  66. package/lib/UserCenter/libs/locales.js +132 -129
  67. package/lib/UserCenter/libs/utils.js +17 -22
  68. package/lib/UserSessions/components/user-session-info.js +30 -26
  69. package/lib/UserSessions/components/user-sessions.js +222 -268
  70. package/lib/UserSessions/index.js +4 -1
  71. package/lib/UserSessions/libs/locales.js +31 -28
  72. package/lib/UserSessions/libs/utils.js +30 -56
  73. package/lib/blocklets.js +75 -156
  74. package/lib/common/domain-warning.js +64 -104
  75. package/lib/common/header-addons.js +59 -80
  76. package/lib/common/link-blocker.js +10 -16
  77. package/lib/common/notification-addon.js +56 -89
  78. package/lib/common/overridable-theme-provider.js +12 -12
  79. package/lib/common/wallet-hidden-topbar.js +11 -13
  80. package/lib/common/ws.js +23 -34
  81. package/lib/contexts/config-user-space.js +34 -43
  82. package/lib/hooks/use-mobile.js +7 -4
  83. package/lib/index.js +25 -10
  84. package/lib/libs/client.js +5 -2
  85. package/lib/libs/constant.js +4 -1
  86. package/lib/libs/spaces.js +11 -11
  87. package/lib/libs/with-hide-when-embed.js +13 -15
  88. package/lib/packages/blocklet-ui-react/build.config.d.ts +2 -0
  89. package/lib/packages/blocklet-ui-react/jest.config.d.ts +8 -0
  90. package/lib/packages/blocklet-ui-react/lib/@types/index.d.ts +3 -0
  91. package/lib/packages/blocklet-ui-react/lib/BlockletStudio/index.d.ts +26 -0
  92. package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/index.d.ts +18 -0
  93. package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/installer-item.d.ts +18 -0
  94. package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/locales.d.ts +28 -0
  95. package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/use-component-installed.d.ts +12 -0
  96. package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/add-component.d.ts +13 -0
  97. package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/check-component.d.ts +2 -0
  98. package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/publish-component.d.ts +7 -0
  99. package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/resource-dialog.d.ts +11 -0
  100. package/lib/packages/blocklet-ui-react/lib/ComponentManager/index.d.ts +4 -0
  101. package/lib/packages/blocklet-ui-react/lib/ComponentManager/libs/locales.d.ts +19 -0
  102. package/lib/packages/blocklet-ui-react/lib/Dashboard/index.d.ts +27 -0
  103. package/lib/packages/blocklet-ui-react/lib/Footer/brand.d.ts +15 -0
  104. package/lib/packages/blocklet-ui-react/lib/Footer/copyright.d.ts +13 -0
  105. package/lib/packages/blocklet-ui-react/lib/Footer/index.d.ts +2 -0
  106. package/lib/packages/blocklet-ui-react/lib/Footer/internal-footer.d.ts +29 -0
  107. package/lib/packages/blocklet-ui-react/lib/Footer/layout/plain.d.ts +19 -0
  108. package/lib/packages/blocklet-ui-react/lib/Footer/layout/row.d.ts +13 -0
  109. package/lib/packages/blocklet-ui-react/lib/Footer/layout/standard.d.ts +21 -0
  110. package/lib/packages/blocklet-ui-react/lib/Footer/links.d.ts +20 -0
  111. package/lib/packages/blocklet-ui-react/lib/Footer/social-media.d.ts +14 -0
  112. package/lib/packages/blocklet-ui-react/lib/Header/index.d.ts +2 -0
  113. package/lib/packages/blocklet-ui-react/lib/Icon/index.d.ts +7 -0
  114. package/lib/packages/blocklet-ui-react/lib/Notifications/Snackbar.d.ts +8 -0
  115. package/lib/packages/blocklet-ui-react/lib/Notifications/hooks/use-title.d.ts +9 -0
  116. package/lib/packages/blocklet-ui-react/lib/Notifications/hooks/use-width.d.ts +2 -0
  117. package/lib/packages/blocklet-ui-react/lib/Notifications/utils.d.ts +10 -0
  118. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/config-inviter.d.ts +4 -0
  119. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/config-profile.d.ts +5 -0
  120. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/danger-zone.d.ts +2 -0
  121. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/editable-field.d.ts +50 -0
  122. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/nft.d.ts +4 -0
  123. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/notification.d.ts +5 -0
  124. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/passport.d.ts +5 -0
  125. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/privacy.d.ts +5 -0
  126. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/settings.d.ts +8 -0
  127. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-dialog/date-picker.d.ts +9 -0
  128. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-dialog/index.d.ts +9 -0
  129. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/duration-menu.d.ts +7 -0
  130. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/index.d.ts +8 -0
  131. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/menu-item.d.ts +9 -0
  132. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/action.d.ts +7 -0
  133. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/connected.d.ts +4 -0
  134. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/delete.d.ts +5 -0
  135. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/disconnect.d.ts +2 -0
  136. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg.d.ts +3 -0
  137. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/index.d.ts +2 -0
  138. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/preview-nft.d.ts +5 -0
  139. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/third-party-login/index.d.ts +4 -0
  140. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/third-party-login/third-party-item.d.ts +4 -0
  141. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-center.d.ts +15 -0
  142. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/address.d.ts +7 -0
  143. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/index.d.ts +5 -0
  144. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/link-preview-input.d.ts +6 -0
  145. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/metadata.d.ts +7 -0
  146. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/switch-role.d.ts +6 -0
  147. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/timezone-select.d.ts +7 -0
  148. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-basic-info.d.ts +12 -0
  149. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-info-item.d.ts +6 -0
  150. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-info.d.ts +6 -0
  151. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-status.d.ts +9 -0
  152. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/utils.d.ts +33 -0
  153. package/lib/packages/blocklet-ui-react/lib/UserCenter/components/webhook-item.d.ts +10 -0
  154. package/lib/packages/blocklet-ui-react/lib/UserCenter/index.d.ts +2 -0
  155. package/lib/packages/blocklet-ui-react/lib/UserCenter/libs/locales.d.ts +513 -0
  156. package/lib/packages/blocklet-ui-react/lib/UserCenter/libs/utils.d.ts +3 -0
  157. package/lib/packages/blocklet-ui-react/lib/UserSessions/components/user-session-info.d.ts +5 -0
  158. package/lib/packages/blocklet-ui-react/lib/UserSessions/components/user-sessions.d.ts +8 -0
  159. package/lib/packages/blocklet-ui-react/lib/UserSessions/index.d.ts +2 -0
  160. package/lib/packages/blocklet-ui-react/lib/UserSessions/libs/locales.d.ts +88 -0
  161. package/lib/packages/blocklet-ui-react/lib/UserSessions/libs/utils.d.ts +3 -0
  162. package/lib/packages/blocklet-ui-react/lib/blocklets.d.ts +18 -0
  163. package/lib/packages/blocklet-ui-react/lib/common/domain-warning.d.ts +12 -0
  164. package/lib/packages/blocklet-ui-react/lib/common/header-addons.d.ts +19 -0
  165. package/lib/packages/blocklet-ui-react/lib/common/link-blocker.d.ts +4 -0
  166. package/lib/packages/blocklet-ui-react/lib/common/notification-addon.d.ts +10 -0
  167. package/lib/packages/blocklet-ui-react/lib/common/overridable-theme-provider.d.ts +12 -0
  168. package/lib/packages/blocklet-ui-react/lib/common/wallet-hidden-topbar.d.ts +2 -0
  169. package/lib/packages/blocklet-ui-react/lib/common/ws.d.ts +4 -0
  170. package/lib/packages/blocklet-ui-react/lib/contexts/config-user-space.d.ts +7 -0
  171. package/lib/packages/blocklet-ui-react/lib/hooks/use-mobile.d.ts +4 -0
  172. package/lib/packages/blocklet-ui-react/lib/index.d.ts +12 -0
  173. package/lib/packages/blocklet-ui-react/lib/libs/client.d.ts +3 -0
  174. package/lib/packages/blocklet-ui-react/lib/libs/constant.d.ts +2 -0
  175. package/lib/packages/blocklet-ui-react/lib/libs/spaces.d.ts +3 -0
  176. package/lib/packages/blocklet-ui-react/lib/libs/with-hide-when-embed.d.ts +5 -0
  177. package/lib/packages/blocklet-ui-react/lib/types.d.ts +37 -0
  178. package/lib/packages/blocklet-ui-react/lib/utils.d.ts +11 -0
  179. package/lib/{@types → packages/blocklet-ui-react/src/@types}/index.d.ts +3 -3
  180. package/lib/{BlockletStudio → packages/blocklet-ui-react/src/BlockletStudio}/index.d.ts +1 -1
  181. package/lib/packages/blocklet-ui-react/src/ComponentInstaller/ComponentInstaller.stories.d.ts +9 -0
  182. package/lib/packages/blocklet-ui-react/src/ComponentInstaller/demo/basic.d.ts +29 -0
  183. package/lib/packages/blocklet-ui-react/src/ComponentInstaller/demo/mock-optional-components.d.ts +2 -0
  184. package/lib/packages/blocklet-ui-react/src/ComponentInstaller/index.d.ts +18 -0
  185. package/lib/packages/blocklet-ui-react/src/ComponentInstaller/installer-item.d.ts +18 -0
  186. package/lib/{ComponentInstaller → packages/blocklet-ui-react/src/ComponentInstaller}/use-component-installed.d.ts +1 -1
  187. package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/add-component.d.ts +2 -2
  188. package/lib/packages/blocklet-ui-react/src/ComponentManager/components/check-component.d.ts +2 -0
  189. package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/publish-component.d.ts +2 -2
  190. package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/resource-dialog.d.ts +2 -2
  191. package/lib/packages/blocklet-ui-react/src/Dashboard/Dashboard.stories.d.ts +13 -0
  192. package/lib/packages/blocklet-ui-react/src/Dashboard/demo/basic.d.ts +29 -0
  193. package/lib/packages/blocklet-ui-react/src/Dashboard/index.d.ts +30 -0
  194. package/lib/packages/blocklet-ui-react/src/Footer/Footer.stories.d.ts +19 -0
  195. package/lib/packages/blocklet-ui-react/src/Footer/brand.d.ts +15 -0
  196. package/lib/packages/blocklet-ui-react/src/Footer/copyright.d.ts +13 -0
  197. package/lib/packages/blocklet-ui-react/src/Footer/demo/arcblock-site.d.ts +31 -0
  198. package/lib/packages/blocklet-ui-react/src/Footer/demo/brand.d.ts +1 -0
  199. package/lib/packages/blocklet-ui-react/src/Footer/demo/copyright.d.ts +1 -0
  200. package/lib/packages/blocklet-ui-react/src/Footer/demo/footer.d.ts +10 -0
  201. package/lib/packages/blocklet-ui-react/src/Footer/demo/links.d.ts +1 -0
  202. package/lib/packages/blocklet-ui-react/src/Footer/demo/social-media-icons.d.ts +1 -0
  203. package/lib/packages/blocklet-ui-react/src/Footer/index.d.ts +6 -0
  204. package/lib/packages/blocklet-ui-react/src/Footer/internal-footer.d.ts +32 -0
  205. package/lib/packages/blocklet-ui-react/src/Footer/layout/plain.d.ts +22 -0
  206. package/lib/packages/blocklet-ui-react/src/Footer/layout/row.d.ts +13 -0
  207. package/lib/packages/blocklet-ui-react/src/Footer/layout/standard.d.ts +24 -0
  208. package/lib/packages/blocklet-ui-react/src/Footer/links.d.ts +23 -0
  209. package/lib/packages/blocklet-ui-react/src/Footer/social-media.d.ts +14 -0
  210. package/lib/packages/blocklet-ui-react/src/Header/Header.stories.d.ts +26 -0
  211. package/lib/packages/blocklet-ui-react/src/Header/demo/addons-customization.d.ts +11 -0
  212. package/lib/packages/blocklet-ui-react/src/Header/demo/basic.d.ts +1 -0
  213. package/lib/packages/blocklet-ui-react/src/Header/demo/fixtures/index.d.ts +49 -0
  214. package/lib/packages/blocklet-ui-react/src/Header/demo/with-enable-connect-enable-locale.d.ts +1 -0
  215. package/lib/{Header → packages/blocklet-ui-react/src/Header}/index.d.ts +3 -2
  216. package/lib/packages/blocklet-ui-react/src/Icon/Icon.stories.d.ts +12 -0
  217. package/lib/packages/blocklet-ui-react/src/Icon/demo/basic.d.ts +1 -0
  218. package/lib/{Icon → packages/blocklet-ui-react/src/Icon}/index.d.ts +2 -3
  219. package/lib/packages/blocklet-ui-react/src/Notifications/Snackbar.d.ts +16 -0
  220. package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/hooks/use-title.d.ts +1 -1
  221. package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/utils.d.ts +2 -2
  222. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/config-inviter.d.ts +1 -1
  223. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/config-profile.d.ts +1 -1
  224. package/lib/packages/blocklet-ui-react/src/UserCenter/components/danger-zone.d.ts +1 -0
  225. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/editable-field.d.ts +3 -3
  226. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/nft.d.ts +1 -1
  227. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/notification.d.ts +1 -1
  228. package/lib/packages/blocklet-ui-react/src/UserCenter/components/passport.d.ts +5 -0
  229. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/privacy.d.ts +1 -1
  230. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/settings.d.ts +2 -2
  231. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-dialog/date-picker.d.ts +1 -1
  232. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-dialog/index.d.ts +1 -1
  233. package/lib/packages/blocklet-ui-react/src/UserCenter/components/status-selector/duration-menu.d.ts +7 -0
  234. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-selector/index.d.ts +1 -1
  235. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-selector/menu-item.d.ts +4 -4
  236. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/action.d.ts +1 -1
  237. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/connected.d.ts +1 -1
  238. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/delete.d.ts +1 -1
  239. package/lib/packages/blocklet-ui-react/src/UserCenter/components/storage/disconnect.d.ts +2 -0
  240. package/lib/packages/blocklet-ui-react/src/UserCenter/components/storage/index.d.ts +2 -0
  241. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/preview-nft.d.ts +1 -1
  242. package/lib/packages/blocklet-ui-react/src/UserCenter/components/third-party-login/index.d.ts +4 -0
  243. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/third-party-login/third-party-item.d.ts +2 -2
  244. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-center.d.ts +2 -2
  245. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/address.d.ts +2 -2
  246. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/link-preview-input.d.ts +1 -1
  247. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/metadata.d.ts +2 -2
  248. package/lib/packages/blocklet-ui-react/src/UserCenter/components/user-info/switch-role.d.ts +7 -0
  249. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/timezone-select.d.ts +1 -1
  250. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-basic-info.d.ts +3 -3
  251. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-info-item.d.ts +1 -1
  252. package/lib/packages/blocklet-ui-react/src/UserCenter/components/user-info/user-info.d.ts +6 -0
  253. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-status.d.ts +2 -2
  254. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/utils.d.ts +8 -5
  255. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/webhook-item.d.ts +1 -1
  256. package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/libs/utils.d.ts +1 -1
  257. package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/components/user-session-info.d.ts +1 -1
  258. package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/components/user-sessions.d.ts +1 -1
  259. package/lib/packages/blocklet-ui-react/src/common/domain-warning.d.ts +12 -0
  260. package/lib/packages/blocklet-ui-react/src/common/header-addons.d.ts +19 -0
  261. package/lib/{common → packages/blocklet-ui-react/src/common}/link-blocker.d.ts +1 -1
  262. package/lib/{common → packages/blocklet-ui-react/src/common}/notification-addon.d.ts +3 -6
  263. package/lib/{common → packages/blocklet-ui-react/src/common}/overridable-theme-provider.d.ts +5 -8
  264. package/lib/{contexts → packages/blocklet-ui-react/src/contexts}/config-user-space.d.ts +3 -3
  265. package/lib/{libs → packages/blocklet-ui-react/src/libs}/with-hide-when-embed.d.ts +1 -1
  266. package/lib/packages/blocklet-ui-react/src/types.d.ts +36 -0
  267. package/lib/packages/blocklet-ui-react/tools/auto-exports.d.ts +1 -0
  268. package/lib/packages/blocklet-ui-react/tools/jest.d.ts +1 -0
  269. package/lib/packages/blocklet-ui-react/vite.config.d.mts +2 -0
  270. package/lib/types.js +39 -39
  271. package/lib/utils.js +61 -175
  272. package/package.json +29 -34
  273. package/src/ComponentInstaller/ComponentInstaller.stories.jsx +16 -0
  274. package/src/ComponentInstaller/index.jsx +11 -27
  275. package/src/ComponentInstaller/installer-item.jsx +1 -5
  276. package/src/ComponentManager/components/add-component.tsx +3 -3
  277. package/src/ComponentManager/components/publish-component.tsx +3 -3
  278. package/src/Dashboard/Dashboard.stories.jsx +20 -0
  279. package/src/Dashboard/index.jsx +16 -27
  280. package/src/Footer/Footer.stories.jsx +32 -0
  281. package/src/Footer/brand.jsx +1 -7
  282. package/src/Footer/copyright.jsx +1 -6
  283. package/src/Footer/index.jsx +1 -6
  284. package/src/Footer/internal-footer.jsx +26 -16
  285. package/src/Footer/layout/row.jsx +2 -7
  286. package/src/Footer/layout/standard.jsx +12 -2
  287. package/src/Footer/links.jsx +2 -7
  288. package/src/Footer/social-media.jsx +1 -5
  289. package/src/Header/Header.stories.jsx +30 -0
  290. package/src/Header/index.tsx +1 -1
  291. package/src/Icon/Icon.stories.jsx +12 -0
  292. package/src/Notifications/Snackbar.tsx +119 -126
  293. package/src/Notifications/hooks/use-title.tsx +5 -2
  294. package/src/Notifications/hooks/use-width.tsx +1 -1
  295. package/src/UserCenter/components/config-profile.tsx +0 -1
  296. package/src/UserCenter/components/danger-zone.tsx +7 -3
  297. package/src/UserCenter/components/editable-field.tsx +45 -44
  298. package/src/UserCenter/components/nft.tsx +23 -5
  299. package/src/UserCenter/components/notification.tsx +22 -6
  300. package/src/UserCenter/components/privacy.tsx +1 -1
  301. package/src/UserCenter/components/settings.tsx +6 -1
  302. package/src/UserCenter/components/status-dialog/date-picker.tsx +10 -7
  303. package/src/UserCenter/components/status-dialog/index.tsx +11 -4
  304. package/src/UserCenter/components/status-selector/duration-menu.tsx +7 -2
  305. package/src/UserCenter/components/status-selector/index.tsx +7 -1
  306. package/src/UserCenter/components/status-selector/menu-item.tsx +1 -2
  307. package/src/UserCenter/components/storage/action.tsx +1 -2
  308. package/src/UserCenter/components/storage/connected.tsx +18 -5
  309. package/src/UserCenter/components/storage/delete.tsx +1 -1
  310. package/src/UserCenter/components/storage/disconnect.tsx +10 -2
  311. package/src/UserCenter/components/storage/index.tsx +6 -1
  312. package/src/UserCenter/components/storage/preview-nft.tsx +1 -1
  313. package/src/UserCenter/components/third-party-login/index.tsx +2 -2
  314. package/src/UserCenter/components/third-party-login/third-party-item.tsx +11 -7
  315. package/src/UserCenter/components/user-center.tsx +10 -5
  316. package/src/UserCenter/components/user-info/address.tsx +12 -6
  317. package/src/UserCenter/components/user-info/link-preview-input.tsx +31 -13
  318. package/src/UserCenter/components/user-info/metadata.tsx +44 -37
  319. package/src/UserCenter/components/user-info/timezone-select.tsx +2 -5
  320. package/src/UserCenter/components/user-info/user-basic-info.tsx +24 -8
  321. package/src/UserCenter/components/user-info/user-info-item.tsx +7 -2
  322. package/src/UserCenter/components/user-info/user-status.tsx +7 -9
  323. package/src/UserCenter/components/webhook-item.tsx +4 -2
  324. package/src/UserSessions/components/user-sessions.tsx +1 -1
  325. package/src/common/domain-warning.jsx +2 -14
  326. package/src/common/header-addons.jsx +8 -11
  327. package/src/common/notification-addon.jsx +1 -7
  328. package/src/common/overridable-theme-provider.jsx +1 -5
  329. package/src/common/ws.js +2 -2
  330. package/src/contexts/config-user-space.tsx +3 -3
  331. package/vite.config.mjs +31 -0
  332. package/lib/@types/shims.d.ts +0 -18
  333. package/lib/ComponentInstaller/index.d.ts +0 -37
  334. package/lib/ComponentInstaller/installer-item.d.ts +0 -21
  335. package/lib/ComponentManager/components/check-component.d.ts +0 -2
  336. package/lib/Dashboard/index.d.ts +0 -44
  337. package/lib/Footer/brand.d.ts +0 -22
  338. package/lib/Footer/copyright.d.ts +0 -18
  339. package/lib/Footer/index.d.ts +0 -6
  340. package/lib/Footer/internal-footer.d.ts +0 -29
  341. package/lib/Footer/layout/plain.d.ts +0 -15
  342. package/lib/Footer/layout/row.d.ts +0 -18
  343. package/lib/Footer/layout/standard.d.ts +0 -17
  344. package/lib/Footer/links.d.ts +0 -23
  345. package/lib/Footer/social-media.d.ts +0 -14
  346. package/lib/Notifications/Snackbar.d.ts +0 -14
  347. package/lib/UserCenter/components/danger-zone.d.ts +0 -1
  348. package/lib/UserCenter/components/passport.d.ts +0 -5
  349. package/lib/UserCenter/components/status-selector/duration-menu.d.ts +0 -7
  350. package/lib/UserCenter/components/storage/disconnect.d.ts +0 -2
  351. package/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg +0 -58
  352. package/lib/UserCenter/components/storage/icons/long-arrow.svg +0 -5
  353. package/lib/UserCenter/components/storage/icons/space-connected.svg +0 -3
  354. package/lib/UserCenter/components/storage/icons/space-disconnect.svg +0 -3
  355. package/lib/UserCenter/components/storage/index.d.ts +0 -2
  356. package/lib/UserCenter/components/third-party-login/index.d.ts +0 -4
  357. package/lib/UserCenter/components/user-info/switch-role.d.ts +0 -7
  358. package/lib/UserCenter/components/user-info/user-info.d.ts +0 -6
  359. package/lib/common/domain-warning.d.ts +0 -17
  360. package/lib/common/header-addons.d.ts +0 -27
  361. package/lib/types.d.ts +0 -2
  362. /package/lib/{ComponentInstaller → packages/blocklet-ui-react/src/ComponentInstaller}/locales.d.ts +0 -0
  363. /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/index.d.ts +0 -0
  364. /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/libs/locales.d.ts +0 -0
  365. /package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/hooks/use-width.d.ts +0 -0
  366. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/index.d.ts +0 -0
  367. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/index.d.ts +0 -0
  368. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/libs/locales.d.ts +0 -0
  369. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/index.d.ts +0 -0
  370. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/locales.d.ts +0 -0
  371. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/utils.d.ts +0 -0
  372. /package/lib/{blocklets.d.ts → packages/blocklet-ui-react/src/blocklets.d.ts} +0 -0
  373. /package/lib/{common → packages/blocklet-ui-react/src/common}/wallet-hidden-topbar.d.ts +0 -0
  374. /package/lib/{common → packages/blocklet-ui-react/src/common}/ws.d.ts +0 -0
  375. /package/lib/{hooks → packages/blocklet-ui-react/src/hooks}/use-mobile.d.ts +0 -0
  376. /package/lib/{index.d.ts → packages/blocklet-ui-react/src/index.d.ts} +0 -0
  377. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/client.d.ts +0 -0
  378. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/constant.d.ts +0 -0
  379. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/spaces.d.ts +0 -0
  380. /package/lib/{utils.d.ts → packages/blocklet-ui-react/src/utils.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { useContext } from 'react';
1
+ import { use } from 'react';
2
2
  import { Box, CircularProgress, Divider, Typography } from '@mui/material';
3
3
  import type { BoxProps } from '@mui/material';
4
4
  import { useCreation, useMemoizedFn, useRequest } from 'ahooks';
@@ -111,7 +111,7 @@ export default function UserCenter({
111
111
  const t = useMemoizedFn((key, data = {}) => {
112
112
  return translate(translations, key, locale, 'en', data);
113
113
  });
114
- const sessionCtx: TSessionContext = useContext(SessionContext);
114
+ const sessionCtx: TSessionContext = use(SessionContext);
115
115
  const session = sessionCtx?.session;
116
116
 
117
117
  const currentDid = useCreation(() => {
@@ -502,12 +502,17 @@ export default function UserCenter({
502
502
 
503
503
  return (
504
504
  <ContentWrapper display="flex" flexDirection={isMobile ? 'column' : 'row'}>
505
- <Box flex="1" className="user-center-tabs" order={isMobile ? 2 : 'unset'}>
505
+ <Box
506
+ className="user-center-tabs"
507
+ sx={{
508
+ flex: '1',
509
+ order: isMobile ? 2 : 'unset',
510
+ }}>
506
511
  {userCenterTabs.length > 0 && currentTab ? (
507
512
  <Box
508
- display="flex"
509
- flexDirection="column"
510
513
  sx={{
514
+ display: 'flex',
515
+ flexDirection: 'column',
511
516
  height: '100%',
512
517
  overflow: 'auto',
513
518
  padding: '1px',
@@ -58,7 +58,13 @@ export default function AddressEditor({
58
58
  });
59
59
 
60
60
  return (
61
- <Box display="flex" flexDirection="column" gap={2} mt={2}>
61
+ <Box
62
+ sx={{
63
+ display: 'flex',
64
+ flexDirection: 'column',
65
+ gap: 2,
66
+ mt: 2,
67
+ }}>
62
68
  <EditableField
63
69
  placeholder={t('profile.address.country')}
64
70
  value={address.country || defaultCountry}
@@ -76,8 +82,11 @@ export default function AddressEditor({
76
82
  sx={selectStyle}
77
83
  />
78
84
  </EditableField>
79
-
80
- <Box display="flex" gap={2}>
85
+ <Box
86
+ sx={{
87
+ display: 'flex',
88
+ gap: 2,
89
+ }}>
81
90
  <EditableField
82
91
  value={address.province || ''}
83
92
  onChange={(value) => handleChange('province', value)}
@@ -96,7 +105,6 @@ export default function AddressEditor({
96
105
  errorMsg={errors.city}
97
106
  />
98
107
  </Box>
99
-
100
108
  <EditableField
101
109
  value={address.line1 || ''}
102
110
  onChange={(value) => handleChange('line1', value)}
@@ -107,7 +115,6 @@ export default function AddressEditor({
107
115
  rows={2}
108
116
  errorMsg={errors.line1}
109
117
  />
110
-
111
118
  <EditableField
112
119
  value={address.line2 || ''}
113
120
  onChange={(value) => handleChange('line2', value)}
@@ -118,7 +125,6 @@ export default function AddressEditor({
118
125
  rows={2}
119
126
  errorMsg={errors.line2}
120
127
  />
121
-
122
128
  <EditableField
123
129
  value={address.postalCode || ''}
124
130
  onChange={(value) => handleChange('postalCode', value)}
@@ -1,12 +1,9 @@
1
- import { Box, Button, FormControl, IconButton, styled, TextField, Typography } from '@mui/material';
2
- import RemoveIcon from '@mui/icons-material/Remove';
3
- import AddIcon from '@mui/icons-material/Add';
4
- import useTheme from '@mui/material/styles/useTheme';
5
1
  import { ChangeEvent, useEffect, useMemo, useState } from 'react';
2
+ import { Box, Button, FormControl, IconButton, styled, TextField, Typography, useTheme } from '@mui/material';
3
+ import { Remove as RemoveIcon, Add as AddIcon } from '@mui/icons-material';
6
4
  import { translate } from '@arcblock/ux/lib/Locale/util';
7
5
  import { useMemoizedFn } from 'ahooks';
8
6
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
9
- // eslint-disable-next-line import/no-extraneous-dependencies
10
7
  import LinkIcon from '@arcblock/icons/lib/Link';
11
8
  import { mergeSx } from '@arcblock/ux/lib/Util/style';
12
9
  import { joinURL, withoutProtocol } from 'ufo';
@@ -96,15 +93,30 @@ function DynamicLinkForm({ links = [], onChange }: { links: string[]; onChange:
96
93
  };
97
94
 
98
95
  return (
99
- <Box width="100%">
100
- <Box display="flex" justifyContent="space-between" alignItems="center" gap={1}>
96
+ <Box
97
+ sx={{
98
+ width: '100%',
99
+ }}>
100
+ <Box
101
+ sx={{
102
+ display: 'flex',
103
+ justifyContent: 'space-between',
104
+ alignItems: 'center',
105
+ gap: 1,
106
+ }}>
101
107
  <Typography variant="subtitle1" gutterBottom sx={{ mb: 0, fontSize: '12px', color: 'text.primary' }}>
102
108
  {t('profile.socialMedia')}
103
109
  </Typography>
104
110
  </Box>
105
111
  {links.map((link, index) => (
106
- // eslint-disable-next-line react/no-array-index-key
107
- <Box key={index} display="flex" alignItems="flex-start" mb={1}>
112
+ <Box
113
+ // eslint-disable-next-line react/no-array-index-key
114
+ key={index}
115
+ sx={{
116
+ display: 'flex',
117
+ alignItems: 'flex-start',
118
+ mb: 1,
119
+ }}>
108
120
  <LinkInput
109
121
  value={link}
110
122
  onChange={(value) => handleInputChange(index, value)}
@@ -205,14 +217,20 @@ export function LinkPreviewInput({
205
217
  }
206
218
 
207
219
  return (
208
- <Box width="100%" display="flex" flexDirection="column" gap={2}>
220
+ <Box
221
+ sx={{
222
+ width: '100%',
223
+ display: 'flex',
224
+ flexDirection: 'column',
225
+ gap: 2,
226
+ }}>
209
227
  {links.map((link) => (
210
228
  <Box
211
229
  key={link}
212
- display="flex"
213
- alignItems="center"
214
- gap={1}
215
230
  sx={{
231
+ display: 'flex',
232
+ alignItems: 'center',
233
+ gap: 1,
216
234
  overflow: 'hidden',
217
235
  width: '100%',
218
236
  }}>
@@ -1,5 +1,3 @@
1
- /* eslint-disable react/no-unstable-nested-components */
2
- /* eslint-disable import/no-extraneous-dependencies */
3
1
  import { Icon } from '@iconify/react';
4
2
  import { Box, Backdrop, useMediaQuery, SwipeableDrawer, Typography, Tooltip } from '@mui/material';
5
3
  import type { BackdropProps } from '@mui/material';
@@ -19,7 +17,7 @@ import omit from 'lodash/omit';
19
17
  import { mergeSx } from '@arcblock/ux/lib/Util/style';
20
18
  import { LOGIN_PROVIDER } from '@arcblock/ux/lib/Util/constant';
21
19
  import { useCreation, useMemoizedFn, useReactive } from 'ahooks';
22
- import { useMemo, useRef, useState, memo, forwardRef, useEffect, lazy } from 'react';
20
+ import { useMemo, useRef, useState, memo, useEffect, lazy } from 'react';
23
21
  import { translate } from '@arcblock/ux/lib/Locale/util';
24
22
  import isEmail from 'validator/lib/isEmail';
25
23
  import isPostalCode from 'validator/lib/isPostalCode';
@@ -47,23 +45,27 @@ const iconSize = {
47
45
 
48
46
  const bioMaxLength = 200;
49
47
 
50
- const BackdropWrap = memo(
51
- forwardRef<HTMLDivElement, BackdropProps>(function BackdropWrap(backdropProps, ref) {
52
- return (
53
- <Backdrop
54
- ref={ref}
55
- component="div"
56
- style={{
57
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
58
- backdropFilter: 'blur(3px)',
59
- touchAction: 'none',
60
- }}
61
- {...backdropProps}
62
- key="background"
63
- />
64
- );
65
- })
66
- );
48
+ const BackdropWrap = memo(function BackdropWrap({
49
+ ref,
50
+ ...backdropProps
51
+ }: BackdropProps & {
52
+ // eslint-disable-next-line react/require-default-props
53
+ ref?: React.Ref<unknown>;
54
+ }) {
55
+ return (
56
+ <Backdrop
57
+ ref={ref}
58
+ component="div"
59
+ style={{
60
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
61
+ backdropFilter: 'blur(3px)',
62
+ touchAction: 'none',
63
+ }}
64
+ {...backdropProps}
65
+ key="background"
66
+ />
67
+ );
68
+ });
67
69
 
68
70
  // 添加 displayName
69
71
  BackdropWrap.displayName = 'BackdropWrap';
@@ -363,7 +365,6 @@ export default function UserMetadataComponent({
363
365
  {t('profile.editProfile')}
364
366
  </Button>
365
367
  ) : null}
366
-
367
368
  {editing && isMyself && isSupportAddress ? (
368
369
  <AddressEditor
369
370
  address={address}
@@ -388,7 +389,13 @@ export default function UserMetadataComponent({
388
389
  }
389
390
  return (
390
391
  <Box key={k}>
391
- <Typography variant="caption" component="p" fontWeight={600} sx={{ mb: 0 }}>
392
+ <Typography
393
+ variant="caption"
394
+ component="p"
395
+ sx={{
396
+ fontWeight: 600,
397
+ mb: 0,
398
+ }}>
392
399
  {t(`profile.address.${k}`)}
393
400
  </Typography>
394
401
  <Typography variant="caption" component="span">
@@ -410,7 +417,6 @@ export default function UserMetadataComponent({
410
417
  icon={<LocationIcon {...iconSize} />}
411
418
  />
412
419
  )}
413
-
414
420
  <EditableField
415
421
  value={metadata.timezone || currentTimezone}
416
422
  onChange={(value) => onChange(value, 'timezone')}
@@ -428,7 +434,6 @@ export default function UserMetadataComponent({
428
434
  mode={mode}
429
435
  />
430
436
  </EditableField>
431
-
432
437
  <EditableField
433
438
  value={metadata.email ?? user?.email ?? ''}
434
439
  editable={editing}
@@ -477,7 +482,6 @@ export default function UserMetadataComponent({
477
482
  validateMsg.email = msg;
478
483
  }}
479
484
  />
480
-
481
485
  <EditableField
482
486
  value={phoneValue.phone}
483
487
  editable={editing}
@@ -519,15 +523,16 @@ export default function UserMetadataComponent({
519
523
  }}
520
524
  />
521
525
  </EditableField>
522
-
523
526
  <LinkPreviewInput editable={editing} links={links} onChange={handleLinksChange} />
524
527
  {editing && isMyself ? (
525
528
  <Box
526
- display="flex"
527
- gap={1}
528
529
  style={{ width: '100%' }}
529
- justifyContent="flex-end"
530
- flexDirection={mode === 'drawer' ? 'column' : 'row'}>
530
+ sx={{
531
+ display: 'flex',
532
+ gap: 1,
533
+ justifyContent: 'flex-end',
534
+ flexDirection: mode === 'drawer' ? 'column' : 'row',
535
+ }}>
531
536
  <Button
532
537
  fullWidth={mode === 'drawer'}
533
538
  size="small"
@@ -573,12 +578,14 @@ export default function UserMetadataComponent({
573
578
  slots={{
574
579
  backdrop: BackdropWrap,
575
580
  }}
576
- PaperProps={{
577
- sx: {
578
- boxShadow: '0px -2px 16px 0px rgba(0, 0, 0, 0.08)',
579
- borderRadius: 1.5, // 保持跟 DID Wallet 一致
580
- borderBottomLeftRadius: 0,
581
- borderBottomRightRadius: 0,
581
+ slotProps={{
582
+ paper: {
583
+ sx: {
584
+ boxShadow: '0px -2px 16px 0px rgba(0, 0, 0, 0.08)',
585
+ borderRadius: 1.5, // 保持跟 DID Wallet 一致
586
+ borderBottomLeftRadius: 0,
587
+ borderBottomRightRadius: 0,
588
+ },
582
589
  },
583
590
  }}>
584
591
  <Box
@@ -598,8 +605,8 @@ export default function UserMetadataComponent({
598
605
  />
599
606
  </Box>
600
607
  <Box
601
- p={2}
602
608
  sx={{
609
+ p: 2,
603
610
  maxHeight: '500px',
604
611
  overflowY: 'auto',
605
612
  }}>
@@ -1,10 +1,7 @@
1
1
  import { useState, useEffect, useMemo } from 'react';
2
- import MenuItem from '@mui/material/MenuItem';
3
- import Select, { SelectChangeEvent } from '@mui/material/Select';
4
- import ListSubheader from '@mui/material/ListSubheader';
5
- import TextField from '@mui/material/TextField';
2
+ import { MenuItem, Select, SelectChangeEvent, ListSubheader, TextField } from '@mui/material';
6
3
  import debounce from 'lodash/debounce';
7
- import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
4
+ import { KeyboardArrowDown as KeyboardArrowDownIcon } from '@mui/icons-material';
8
5
  import { getTimezones } from './utils';
9
6
 
10
7
  const timezones = getTimezones();
@@ -10,8 +10,10 @@ import { useEffect, useState } from 'react';
10
10
  import Toast from '@arcblock/ux/lib/Toast';
11
11
  import type { AxiosError } from 'axios';
12
12
  import { parseURL, joinURL } from 'ufo';
13
- import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
14
- import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
13
+ import {
14
+ KeyboardArrowDown as KeyboardArrowDownIcon,
15
+ KeyboardArrowUp as KeyboardArrowUpIcon,
16
+ } from '@mui/icons-material';
15
17
 
16
18
  import { translations } from '../../libs/locales';
17
19
  import type { User, UserAddress, UserMetadata } from '../../../@types';
@@ -134,13 +136,21 @@ export default function UserBasicInfo({
134
136
  position: 'relative',
135
137
  ...(rest.sx ?? {}),
136
138
  }}>
137
- <Box className="user-info" display="flex" flexDirection={isMobile ? 'row' : 'column'} gap={2}>
139
+ <Box
140
+ className="user-info"
141
+ sx={{
142
+ display: 'flex',
143
+ flexDirection: isMobile ? 'row' : 'column',
144
+ gap: 2,
145
+ }}>
138
146
  <Box
139
147
  className="user-avatar"
140
- position="relative"
141
- display="flex"
142
- alignItems="center"
143
- justifyContent="space-between">
148
+ sx={{
149
+ position: 'relative',
150
+ display: 'flex',
151
+ alignItems: 'center',
152
+ justifyContent: 'space-between',
153
+ }}>
144
154
  <Avatar
145
155
  // @ts-ignore
146
156
  src={user?.avatar}
@@ -241,7 +251,13 @@ export default function UserBasicInfo({
241
251
  </Box>
242
252
  ) : null}
243
253
  <Collapse in={expanded} timeout="auto">
244
- <Typography component="p" color="text.secondary" fontSize="14px" mb={2}>
254
+ <Typography
255
+ component="p"
256
+ sx={{
257
+ color: 'text.secondary',
258
+ fontSize: '14px',
259
+ mb: 2,
260
+ }}>
245
261
  {t('profile.justForYou')}
246
262
  </Typography>
247
263
  <UserInfo user={user} isMySelf={isMyself} />
@@ -1,5 +1,5 @@
1
1
  import { Box, BoxProps, Typography } from '@mui/material';
2
- import VerifiedIcon from '@mui/icons-material/Verified';
2
+ import { Verified as VerifiedIcon } from '@mui/icons-material';
3
3
 
4
4
  type TUserInfoItemProps = {
5
5
  data: {
@@ -32,7 +32,12 @@ export default function UserInfoItem({ data, verified, ...rest }: TUserInfoItemP
32
32
  {data.icon}
33
33
  {data.title}
34
34
  </Typography>
35
- <Box display="flex" flexDirection="row" alignItems="center">
35
+ <Box
36
+ sx={{
37
+ display: 'flex',
38
+ flexDirection: 'row',
39
+ alignItems: 'center',
40
+ }}>
36
41
  <Typography
37
42
  sx={{
38
43
  color: 'text.secondary',
@@ -1,13 +1,9 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- import Badge from '@mui/material/Badge';
3
- import Box from '@mui/material/Box';
1
+ import { Box, Badge, Tooltip, type SvgIconProps } from '@mui/material';
4
2
  import styled from '@emotion/styled';
5
3
  import { lazy, Suspense, useCallback, useEffect, useMemo, useState } from 'react';
6
4
  import { useCreation, useMemoizedFn, useInterval, useUnmount } from 'ahooks';
7
5
  import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
8
- import Tooltip from '@mui/material/Tooltip';
9
6
  import { translate } from '@arcblock/ux/lib/Locale/util';
10
- import { SvgIconProps } from '@mui/material/SvgIcon';
11
7
  import { formatToDatetime } from '@arcblock/ux/lib/Util';
12
8
  import type { UserMetadata } from '../../../@types';
13
9
  import { DurationEnum, StatusEnum } from '../../../@types';
@@ -184,10 +180,12 @@ export default function UserStatus({
184
180
  <Tooltip title={tooltipTitle}>
185
181
  <Box
186
182
  className="status-icon"
187
- display="flex"
188
- alignItems="center"
189
- justifyContent="center"
190
- onClick={onOpenStatusSelector}>
183
+ onClick={onOpenStatusSelector}
184
+ sx={{
185
+ display: 'flex',
186
+ alignItems: 'center',
187
+ justifyContent: 'center',
188
+ }}>
191
189
  {StatusIcon ? (
192
190
  <Suspense fallback={null}>
193
191
  <StatusIcon style={{ width: 16, height: 16 }} />
@@ -177,8 +177,10 @@ export default function WebhookItem({
177
177
  checkUrl();
178
178
  }}
179
179
  error={!!currentState.error}
180
- InputProps={{
181
- endAdornment: <InputAdornment position="end">{inputAdornment}</InputAdornment>,
180
+ slotProps={{
181
+ input: {
182
+ endAdornment: <InputAdornment position="end">{inputAdornment}</InputAdornment>,
183
+ },
182
184
  }}
183
185
  />
184
186
 
@@ -243,7 +243,7 @@ export default function UserSessions({
243
243
  },
244
244
  });
245
245
  });
246
- const customButtons: ReactElement[] = [];
246
+ const customButtons: ReactElement<any>[] = [];
247
247
  if (showAction) {
248
248
  customButtons.push(
249
249
  <Tooltip
@@ -1,13 +1,6 @@
1
1
  import { useMemo, useState, useCallback } from 'react';
2
2
  import PropTypes from 'prop-types';
3
-
4
- import Box from '@mui/material/Box';
5
- import Typography from '@mui/material/Typography';
6
- import Button from '@mui/material/Button';
7
- import Dialog from '@mui/material/Dialog';
8
- import DialogActions from '@mui/material/DialogActions';
9
- import DialogContent from '@mui/material/DialogContent';
10
-
3
+ import { Box, Typography, Button, Dialog, DialogActions, DialogContent } from '@mui/material';
11
4
  import { useMemoizedFn } from 'ahooks';
12
5
  import { translate } from '@arcblock/ux/lib/Locale/util';
13
6
  import { joinURL } from 'ufo';
@@ -67,7 +60,7 @@ const ONE_MONTH = 1000 * 60 * 60 * 24 * 30;
67
60
 
68
61
  const DASHBOARD_DOMAIN = '.well-known/service/admin/domains';
69
62
 
70
- export default function DomainWarning({ locale, session }) {
63
+ export default function DomainWarning({ locale = 'en', session = {} }) {
71
64
  const user = session?.user;
72
65
  const isMobile = useMobile();
73
66
 
@@ -183,8 +176,3 @@ DomainWarning.propTypes = {
183
176
  locale: PropTypes.string,
184
177
  session: PropTypes.object,
185
178
  };
186
-
187
- DomainWarning.defaultProps = {
188
- locale: 'en',
189
- session: {},
190
- };
@@ -1,6 +1,6 @@
1
1
  import 'iconify-icon';
2
2
 
3
- import { useContext, createElement } from 'react';
3
+ import { use, createElement } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  // FIXME: 直接从 react 中 import Fragment 可能会在 vite 下出错,先暂时从 react/jsx-runtime 导入 Fragment 来跳过这个问题
6
6
  import { Fragment } from 'react/jsx-runtime';
@@ -22,8 +22,13 @@ const hasNotification = () => {
22
22
  };
23
23
 
24
24
  // eslint-disable-next-line no-shadow
25
- export default function HeaderAddons({ formattedBlocklet, addons, showDomainWarningDialog, sessionManagerProps }) {
26
- const sessionCtx = useContext(SessionContext);
25
+ export default function HeaderAddons({
26
+ formattedBlocklet,
27
+ addons = null,
28
+ showDomainWarningDialog = true,
29
+ sessionManagerProps = { showRole: true },
30
+ }) {
31
+ const sessionCtx = use(SessionContext);
27
32
  const { locale, languages } = useLocaleContext() || {};
28
33
  const { enableConnect = true, enableLocale = true } = formattedBlocklet;
29
34
  const authenticated = !!sessionCtx?.session?.user;
@@ -106,11 +111,3 @@ HeaderAddons.propTypes = {
106
111
  sessionManagerProps: SessionManagerProps,
107
112
  showDomainWarningDialog: PropTypes.bool,
108
113
  };
109
-
110
- HeaderAddons.defaultProps = {
111
- addons: null,
112
- sessionManagerProps: {
113
- showRole: true,
114
- },
115
- showDomainWarningDialog: true,
116
- };
@@ -1,9 +1,7 @@
1
- import Badge from '@mui/material/Badge';
2
1
  import PropTypes from 'prop-types';
3
2
  import { useCallback, useEffect, useMemo } from 'react';
4
- import { IconButton } from '@mui/material';
3
+ import { IconButton, Badge } from '@mui/material';
5
4
  import { useSnackbar } from 'notistack';
6
- // eslint-disable-next-line import/no-extraneous-dependencies
7
5
  import NotificationsOutlinedIcon from '@arcblock/icons/lib/Notification';
8
6
  import { useCreation } from 'ahooks';
9
7
  import { EVENTS, WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';
@@ -125,7 +123,3 @@ export default function NotificationAddon({ session = {} }) {
125
123
  NotificationAddon.propTypes = {
126
124
  session: PropTypes.object,
127
125
  };
128
-
129
- NotificationAddon.defaultProps = {
130
- session: {},
131
- };
@@ -6,7 +6,7 @@ const defaultTheme = createTheme();
6
6
  /**
7
7
  * 允许 theme 被覆盖的 ThemeProvider 组件, 默认使用 ux default theme, 可以传入 theme 进行覆盖
8
8
  */
9
- export default function OverridableThemeProvider({ theme: themeOverrides, children }) {
9
+ export default function OverridableThemeProvider({ theme: themeOverrides = null, children }) {
10
10
  const theme = themeOverrides ? createTheme(themeOverrides) : defaultTheme;
11
11
  return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
12
12
  }
@@ -15,7 +15,3 @@ OverridableThemeProvider.propTypes = {
15
15
  children: PropTypes.any.isRequired,
16
16
  theme: PropTypes.object,
17
17
  };
18
-
19
- OverridableThemeProvider.defaultProps = {
20
- theme: null,
21
- };
package/src/common/ws.js CHANGED
@@ -1,4 +1,4 @@
1
- import { useContext } from 'react';
1
+ import { use } from 'react';
2
2
  import { WsClient } from '@arcblock/ws';
3
3
  import { SessionContext } from '@arcblock/did-connect/lib/Session';
4
4
  import { joinURL } from 'ufo';
@@ -26,7 +26,7 @@ export default function getWsClient(endpoint = 'admin') {
26
26
  }
27
27
 
28
28
  export const useListenWsClient = (endpoint = 'admin') => {
29
- const sessionCtx = useContext(SessionContext);
29
+ const sessionCtx = use(SessionContext);
30
30
  const { session } = sessionCtx ?? {};
31
31
 
32
32
  if (!client[endpoint] && session.user) {
@@ -1,4 +1,4 @@
1
- import { createContext, useContext, useMemo, useState, useEffect } from 'react';
1
+ import { createContext, use, useMemo, useState, useEffect } from 'react';
2
2
  import { SessionContext } from '@arcblock/did-connect/lib/Session';
3
3
 
4
4
  import { SessionContext as TSessionContext } from '../@types';
@@ -31,7 +31,7 @@ const { Provider, Consumer } = ConfigUserSpaceContext;
31
31
 
32
32
  function ConfigUserSpaceProvider({ children }: { children: React.ReactNode }) {
33
33
  const [loading] = useState(false);
34
- const { session } = useContext<TSessionContext>(SessionContext);
34
+ const { session } = use<TSessionContext>(SessionContext);
35
35
  const { user } = session;
36
36
 
37
37
  const [spaceGateway, setSpaceGateway] = useState<SpaceGateway | undefined>();
@@ -77,7 +77,7 @@ function ConfigUserSpaceProvider({ children }: { children: React.ReactNode }) {
77
77
  }
78
78
 
79
79
  function useConfigUserSpaceContext() {
80
- const res = useContext(ConfigUserSpaceContext);
80
+ const res = use(ConfigUserSpaceContext);
81
81
  return res;
82
82
  }
83
83
 
@@ -0,0 +1,31 @@
1
+ import { defineConfig } from 'vite';
2
+ import svgr from 'vite-plugin-svgr';
3
+ import react from '@vitejs/plugin-react';
4
+ import noBundlePlugin from 'vite-plugin-no-bundle';
5
+ import fg from 'fast-glob';
6
+ import dts from 'vite-plugin-dts';
7
+
8
+ export default defineConfig({
9
+ plugins: [
10
+ react({ jsxRuntime: 'automatic' }),
11
+ svgr({
12
+ include: ['**/*.svg', '**/*.svg?react'],
13
+ }),
14
+ noBundlePlugin({
15
+ root: 'src',
16
+ copy: ['**/*.png', '**/*.gif', '**/*.jpg', '**/*.jpeg'],
17
+ }),
18
+ dts(),
19
+ ],
20
+ build: {
21
+ lib: {
22
+ entry: fg.sync('src/**/*.{tsx,ts,jsx,js}', {
23
+ ignore: ['**/stories/**', '**/demo/**', '**/*.d.ts', '**/*.stories.*'],
24
+ }),
25
+ formats: ['es'],
26
+ fileName: (format, entryName) => `${entryName}.js`,
27
+ },
28
+ outDir: 'lib',
29
+ emptyOutDir: true,
30
+ },
31
+ });
@@ -1,18 +0,0 @@
1
- declare module '@arcblock/ux/*';
2
- declare module '@arcblock/ux/lib/DID';
3
- declare module '@arcblock/ux/lib/Tabs';
4
- declare module '@arcblock/ux/lib/Switch';
5
- declare module '@arcblock/ux/lib/ErrorBoundary';
6
-
7
- declare module '@arcblock/did-connect/*';
8
- declare module '@arcblock/did-connect/lib/Session';
9
- declare module '@abtnode/constant';
10
- declare module '@abtnode/util/lib/notification-preview/*';
11
-
12
- declare module 'is-url';
13
-
14
- declare module '*.png';
15
-
16
- declare interface Window {
17
- blocklet: any;
18
- }