@blocklet/ui-react 2.13.70 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) 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 +91 -81
  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 +148 -159
  56. package/lib/UserCenter/components/user-info/metadata.js +290 -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 +96 -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 +28 -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 +21 -9
  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 +36 -51
  318. package/src/UserCenter/components/user-info/metadata.tsx +45 -39
  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/user-info/utils.ts +77 -11
  324. package/src/UserCenter/components/webhook-item.tsx +4 -2
  325. package/src/UserSessions/components/user-sessions.tsx +1 -1
  326. package/src/common/domain-warning.jsx +2 -14
  327. package/src/common/header-addons.jsx +8 -11
  328. package/src/common/notification-addon.jsx +1 -7
  329. package/src/common/overridable-theme-provider.jsx +1 -5
  330. package/src/common/ws.js +2 -2
  331. package/src/contexts/config-user-space.tsx +3 -3
  332. package/vite.config.mjs +31 -0
  333. package/lib/@types/shims.d.ts +0 -18
  334. package/lib/ComponentInstaller/index.d.ts +0 -37
  335. package/lib/ComponentInstaller/installer-item.d.ts +0 -21
  336. package/lib/ComponentManager/components/check-component.d.ts +0 -2
  337. package/lib/Dashboard/index.d.ts +0 -44
  338. package/lib/Footer/brand.d.ts +0 -22
  339. package/lib/Footer/copyright.d.ts +0 -18
  340. package/lib/Footer/index.d.ts +0 -6
  341. package/lib/Footer/internal-footer.d.ts +0 -29
  342. package/lib/Footer/layout/plain.d.ts +0 -15
  343. package/lib/Footer/layout/row.d.ts +0 -18
  344. package/lib/Footer/layout/standard.d.ts +0 -17
  345. package/lib/Footer/links.d.ts +0 -23
  346. package/lib/Footer/social-media.d.ts +0 -14
  347. package/lib/Notifications/Snackbar.d.ts +0 -14
  348. package/lib/UserCenter/components/danger-zone.d.ts +0 -1
  349. package/lib/UserCenter/components/passport.d.ts +0 -5
  350. package/lib/UserCenter/components/status-selector/duration-menu.d.ts +0 -7
  351. package/lib/UserCenter/components/storage/disconnect.d.ts +0 -2
  352. package/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg +0 -58
  353. package/lib/UserCenter/components/storage/icons/long-arrow.svg +0 -5
  354. package/lib/UserCenter/components/storage/icons/space-connected.svg +0 -3
  355. package/lib/UserCenter/components/storage/icons/space-disconnect.svg +0 -3
  356. package/lib/UserCenter/components/storage/index.d.ts +0 -2
  357. package/lib/UserCenter/components/third-party-login/index.d.ts +0 -4
  358. package/lib/UserCenter/components/user-info/switch-role.d.ts +0 -7
  359. package/lib/UserCenter/components/user-info/user-info.d.ts +0 -6
  360. package/lib/common/domain-warning.d.ts +0 -17
  361. package/lib/common/header-addons.d.ts +0 -27
  362. package/lib/types.d.ts +0 -2
  363. /package/lib/{ComponentInstaller → packages/blocklet-ui-react/src/ComponentInstaller}/locales.d.ts +0 -0
  364. /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/index.d.ts +0 -0
  365. /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/libs/locales.d.ts +0 -0
  366. /package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/hooks/use-width.d.ts +0 -0
  367. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/index.d.ts +0 -0
  368. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/index.d.ts +0 -0
  369. /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/libs/locales.d.ts +0 -0
  370. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/index.d.ts +0 -0
  371. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/locales.d.ts +0 -0
  372. /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/utils.d.ts +0 -0
  373. /package/lib/{blocklets.d.ts → packages/blocklet-ui-react/src/blocklets.d.ts} +0 -0
  374. /package/lib/{common → packages/blocklet-ui-react/src/common}/wallet-hidden-topbar.d.ts +0 -0
  375. /package/lib/{common → packages/blocklet-ui-react/src/common}/ws.d.ts +0 -0
  376. /package/lib/{hooks → packages/blocklet-ui-react/src/hooks}/use-mobile.d.ts +0 -0
  377. /package/lib/{index.d.ts → packages/blocklet-ui-react/src/index.d.ts} +0 -0
  378. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/client.d.ts +0 -0
  379. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/constant.d.ts +0 -0
  380. /package/lib/{libs → packages/blocklet-ui-react/src/libs}/spaces.d.ts +0 -0
  381. /package/lib/{utils.d.ts → packages/blocklet-ui-react/src/utils.d.ts} +0 -0
@@ -1,76 +1,67 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { useContext } from "react";
3
- import Button from "@arcblock/ux/lib/Button";
4
- import { useLocaleContext } from "@arcblock/ux/lib/Locale/context";
5
- import { BLOCKLET_SERVICE_PATH_PREFIX } from "@arcblock/ux/lib/Util/constant";
6
- import { useMemoizedFn, useReactive } from "ahooks";
7
- import { translate } from "@arcblock/ux/lib/Locale/util";
8
- import { SessionContext } from "@arcblock/did-connect/lib/Session";
9
- import Toast from "@arcblock/ux/lib/Toast";
10
- import ResourceDialog from "./resource-dialog.js";
11
- import { translations } from "../libs/locales.js";
12
- export default function PublishComponent({
13
- componentDid,
14
- grantedRoles,
15
- onClose,
16
- render
1
+ import { jsxs as x, Fragment as b, jsx as u } from "react/jsx-runtime";
2
+ import { use as w } from "react";
3
+ import L from "@arcblock/ux/lib/Button";
4
+ import { useLocaleContext as C } from "@arcblock/ux/lib/Locale/context";
5
+ import { BLOCKLET_SERVICE_PATH_PREFIX as D } from "@arcblock/ux/lib/Util/constant";
6
+ import { useMemoizedFn as n, useReactive as E } from "ahooks";
7
+ import { translate as P } from "@arcblock/ux/lib/Locale/util";
8
+ import { SessionContext as F } from "@arcblock/did-connect/lib/Session";
9
+ import c from "@arcblock/ux/lib/Toast";
10
+ import S from "./resource-dialog.js";
11
+ import { translations as T } from "../libs/locales.js";
12
+ function H({
13
+ componentDid: s,
14
+ grantedRoles: r,
15
+ onClose: i,
16
+ render: a
17
17
  }) {
18
- const { session } = useContext(SessionContext);
19
- const { locale } = useLocaleContext();
20
- const t = useMemoizedFn((key, data = {}) => {
21
- return translate(translations, key, locale, "en", data);
22
- });
23
- const currentState = useReactive({
24
- showDialog: false,
25
- loading: false
26
- });
27
- const exportUrl = `${BLOCKLET_SERVICE_PATH_PREFIX}/embed/resources/${componentDid}/publish?mode=dialog`;
28
- const handleClose = useMemoizedFn(() => {
29
- currentState.showDialog = false;
30
- onClose?.();
31
- });
32
- const handleLoad = useMemoizedFn(() => {
33
- currentState.loading = false;
34
- });
35
- const handleOpen = useMemoizedFn(() => {
36
- if (!session.user) {
37
- Toast.warning(t("needLogin"));
18
+ const { session: l } = w(F), { locale: f } = C(), e = n((t, h = {}) => P(T, t, f, "en", h)), o = E({
19
+ showDialog: !1,
20
+ loading: !1
21
+ }), p = `${D}/embed/resources/${s}/publish?mode=dialog`, d = n(() => {
22
+ o.showDialog = !1, i == null || i();
23
+ }), g = n(() => {
24
+ o.loading = !1;
25
+ }), m = n(() => {
26
+ var t;
27
+ if (!l.user) {
28
+ c.warning(e("needLogin"));
38
29
  return;
39
30
  }
40
- if (grantedRoles && grantedRoles.length > 0) {
41
- if (!grantedRoles?.includes(session.user?.role)) {
42
- Toast.warning(t("noPermission"));
43
- return;
44
- }
31
+ if (r && r.length > 0 && !(r != null && r.includes((t = l.user) == null ? void 0 : t.role))) {
32
+ c.warning(e("noPermission"));
33
+ return;
45
34
  }
46
- currentState.loading = true;
47
- currentState.showDialog = true;
35
+ o.loading = !0, o.showDialog = !0;
48
36
  });
49
- return /* @__PURE__ */ jsxs(Fragment, { children: [
50
- render ? render({ onClick: handleOpen, loading: currentState.loading }) : /* @__PURE__ */ jsx(
51
- Button,
37
+ return /* @__PURE__ */ x(b, { children: [
38
+ a ? a({ onClick: m, loading: o.loading }) : /* @__PURE__ */ u(
39
+ L,
52
40
  {
53
41
  variant: "outlined",
54
42
  color: "secondary",
55
43
  type: "button",
56
44
  className: "submit",
57
- loading: currentState.loading,
58
- onClick: handleOpen,
45
+ loading: o.loading,
46
+ onClick: m,
59
47
  sx: { mr: 1, ml: 1 },
60
- children: t("exportResource")
48
+ children: e("exportResource")
61
49
  },
62
50
  "button"
63
51
  ),
64
- currentState.showDialog && /* @__PURE__ */ jsx(
65
- ResourceDialog,
52
+ o.showDialog && /* @__PURE__ */ u(
53
+ S,
66
54
  {
67
- src: exportUrl,
68
- open: true,
69
- onClose: handleClose,
70
- onLoad: handleLoad,
71
- componentDid,
72
- loading: currentState.loading
55
+ src: p,
56
+ open: !0,
57
+ onClose: d,
58
+ onLoad: g,
59
+ componentDid: s,
60
+ loading: o.loading
73
61
  }
74
62
  )
75
63
  ] });
76
64
  }
65
+ export {
66
+ H as default
67
+ };
@@ -1,67 +1,50 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useMemoizedFn, useMount, useUnmount } from "ahooks";
3
- import { useRef, forwardRef, useImperativeHandle } from "react";
4
- function ResourceDialog({
5
- src,
6
- open = false,
7
- componentDid,
8
- loading = true,
9
- storeUrl,
10
- onClose = () => {
1
+ import { jsx as w } from "react/jsx-runtime";
2
+ import { useMemoizedFn as p, useMount as D, useUnmount as R } from "ahooks";
3
+ import { forwardRef as h, useRef as x, useImperativeHandle as M } from "react";
4
+ function b({
5
+ src: l,
6
+ open: t = !1,
7
+ componentDid: n,
8
+ loading: u = !0,
9
+ storeUrl: c,
10
+ onClose: d = () => {
11
11
  },
12
- onComplete = () => {
12
+ onComplete: f = () => {
13
13
  },
14
- onLoad = () => {
14
+ onLoad: m = () => {
15
15
  }
16
- }, ref) {
17
- const iframeRef = useRef(null);
18
- const listener = useMemoizedFn((event) => {
19
- if (open) {
20
- if (event?.data?.event === "resourceDialog.close") {
21
- onClose();
22
- }
23
- if (event?.data?.event === "resourceDialog.complete") {
24
- onComplete();
25
- }
26
- if (event?.data?.event === "resourceDialog.loaded") {
27
- onLoad();
28
- }
29
- }
16
+ }, g) {
17
+ const r = x(null), i = p((e) => {
18
+ var o, s, a;
19
+ t && (((o = e == null ? void 0 : e.data) == null ? void 0 : o.event) === "resourceDialog.close" && d(), ((s = e == null ? void 0 : e.data) == null ? void 0 : s.event) === "resourceDialog.complete" && f(), ((a = e == null ? void 0 : e.data) == null ? void 0 : a.event) === "resourceDialog.loaded" && m());
30
20
  });
31
- useMount(() => {
32
- window.addEventListener("message", listener);
33
- });
34
- useUnmount(() => {
35
- window.removeEventListener("message", listener);
36
- });
37
- useImperativeHandle(ref, () => ({
38
- selectBlocklet: (blockletMeta) => {
39
- if (iframeRef.current?.contentWindow) {
40
- iframeRef.current.contentWindow.postMessage(
41
- {
42
- event: "resourceDialog.select",
43
- data: blockletMeta,
44
- componentDid,
45
- storeUrl
46
- },
47
- "*"
48
- );
49
- }
21
+ return D(() => {
22
+ window.addEventListener("message", i);
23
+ }), R(() => {
24
+ window.removeEventListener("message", i);
25
+ }), M(g, () => ({
26
+ selectBlocklet: (e) => {
27
+ var o;
28
+ (o = r.current) != null && o.contentWindow && r.current.contentWindow.postMessage(
29
+ {
30
+ event: "resourceDialog.select",
31
+ data: e,
32
+ componentDid: n,
33
+ storeUrl: c
34
+ },
35
+ "*"
36
+ );
50
37
  }
51
- }));
52
- if (!open) {
53
- return null;
54
- }
55
- return /* @__PURE__ */ jsx(
38
+ })), t ? /* @__PURE__ */ w(
56
39
  "iframe",
57
40
  {
58
- ref: iframeRef,
59
- src,
41
+ ref: r,
42
+ src: l,
60
43
  title: "Resource Dialog",
61
44
  style: {
62
45
  position: "fixed",
63
46
  top: 0,
64
- left: loading ? "-100vw" : 0,
47
+ left: u ? "-100vw" : 0,
65
48
  width: "100vw",
66
49
  height: "100vh",
67
50
  zIndex: 9999,
@@ -69,6 +52,9 @@ function ResourceDialog({
69
52
  border: "none"
70
53
  }
71
54
  }
72
- );
55
+ ) : null;
73
56
  }
74
- export default forwardRef(ResourceDialog);
57
+ const I = h(b);
58
+ export {
59
+ I as default
60
+ };
@@ -1,3 +1,8 @@
1
- export { default as PublishComponent } from "./components/publish-component.js";
2
- export { default as AddComponent } from "./components/add-component.js";
3
- export { default as CheckComponent } from "./components/check-component.js";
1
+ import { default as t } from "./components/publish-component.js";
2
+ import { default as f } from "./components/add-component.js";
3
+ import { default as n } from "../ComponentInstaller/index.js";
4
+ export {
5
+ f as AddComponent,
6
+ n as CheckComponent,
7
+ t as PublishComponent
8
+ };
@@ -1,9 +1,9 @@
1
- export const translations = {
1
+ const o = {
2
2
  zh: {
3
- importResource: "\u5BFC\u5165",
4
- exportResource: "\u5BFC\u51FA",
5
- noPermission: "\u4F60\u6CA1\u6709\u6743\u9650\u6267\u884C\u8BE5\u64CD\u4F5C\uFF0C\u8BF7\u5207\u6362\u7BA1\u7406\u5458\u901A\u884C\u8BC1\u6216\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u5B89\u88C5",
6
- needLogin: "\u767B\u5F55\u540E\u624D\u53EF\u64CD\u4F5C"
3
+ importResource: "导入",
4
+ exportResource: "导出",
5
+ noPermission: "你没有权限执行该操作,请切换管理员通行证或联系管理员进行安装",
6
+ needLogin: "登录后才可操作"
7
7
  },
8
8
  en: {
9
9
  importResource: "Import",
@@ -12,3 +12,6 @@ export const translations = {
12
12
  needLogin: "Please login first"
13
13
  }
14
14
  };
15
+ export {
16
+ o as translations
17
+ };
@@ -1,146 +1,110 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
2
  import "iconify-icon";
3
- import { useMemo, useLayoutEffect, useContext } from "react";
4
- import PropTypes from "prop-types";
5
- import { SessionContext } from "@arcblock/did-connect/lib/Session";
6
- import { useLocaleContext } from "@arcblock/ux/lib/Locale/context";
7
- import UxImg from "@arcblock/ux/lib/Img";
8
- import UxDashboard from "@arcblock/ux/lib/Layout/dashboard";
9
- import useBlockletLogo from "@arcblock/ux/lib/hooks/use-blocklet-logo";
10
- import { BlockletMetaProps, SessionManagerProps } from "../types.js";
11
- import { mapRecursive, flatRecursive, matchPaths } from "../utils.js";
12
- import { publicPath, formatBlockletInfo, getLocalizedNavigation, filterNavByRole } from "../blocklets.js";
13
- import HeaderAddons from "../common/header-addons.js";
14
- import { useWalletHiddenTopbar } from "../common/wallet-hidden-topbar.js";
15
- function Dashboard({
16
- meta,
17
- fallbackUrl,
18
- invalidPathFallback,
19
- headerAddons,
20
- sessionManagerProps,
21
- links,
22
- showDomainWarningDialog,
23
- ...rest
3
+ import { use as A, useMemo as N, useLayoutEffect as P } from "react";
4
+ import t from "prop-types";
5
+ import { SessionContext as D } from "@arcblock/did-connect/lib/Session";
6
+ import { useLocaleContext as M } from "@arcblock/ux/lib/Locale/context";
7
+ import B from "@arcblock/ux/lib/Img";
8
+ import O from "@arcblock/ux/lib/Layout/dashboard";
9
+ import j from "@arcblock/ux/lib/hooks/use-blocklet-logo";
10
+ import { SessionManagerProps as H, BlockletMetaProps as S } from "../types.js";
11
+ import { mapRecursive as _, flatRecursive as C, matchPaths as E } from "../utils.js";
12
+ import { formatBlockletInfo as U, getLocalizedNavigation as q, filterNavByRole as F, publicPath as h } from "../blocklets.js";
13
+ import G from "../common/header-addons.js";
14
+ import { useWalletHiddenTopbar as J } from "../common/wallet-hidden-topbar.js";
15
+ function K({
16
+ meta: l = {},
17
+ fallbackUrl: c = h,
18
+ invalidPathFallback: d = null,
19
+ headerAddons: k = void 0,
20
+ sessionManagerProps: W = {
21
+ showRole: !0,
22
+ // dashboard 默认退出登录行为: 跳转到 (root) blocklet 首页
23
+ onLogout: () => {
24
+ window.location.href = h;
25
+ }
26
+ },
27
+ links: f = [],
28
+ showDomainWarningDialog: I = !0,
29
+ ...g
24
30
  }) {
25
- useWalletHiddenTopbar();
26
- const sessionCtx = useContext(SessionContext);
27
- const user = sessionCtx?.session?.user;
28
- const userRole = user?.role;
29
- const { locale } = useLocaleContext() || {};
30
- const formattedBlocklet = useMemo(() => {
31
- const blocklet = Object.assign({}, window.blocklet, meta);
31
+ var x;
32
+ J();
33
+ const p = A(D), i = (x = p == null ? void 0 : p.session) == null ? void 0 : x.user, y = i == null ? void 0 : i.role, { locale: b } = M() || {}, r = N(() => {
34
+ const e = Object.assign({}, window.blocklet, l);
32
35
  try {
33
- return formatBlockletInfo(blocklet);
34
- } catch (e) {
35
- console.error("Failed to format blocklet info", e, blocklet);
36
- return blocklet;
36
+ return U(e);
37
+ } catch (a) {
38
+ return console.error("Failed to format blocklet info", a, e), e;
37
39
  }
38
- }, [meta]);
39
- const { localizedNav, flattened, matchedIndex } = useMemo(() => {
40
- let localizedNav2 = getLocalizedNavigation(formattedBlocklet?.navigation?.dashboard, locale) || [];
41
- localizedNav2 = filterNavByRole(localizedNav2, userRole);
42
- localizedNav2 = mapRecursive(
43
- localizedNav2,
44
- (item) => {
45
- let icon = null;
46
- if (item.icon) {
47
- if (item.icon.startsWith("http") || item.icon.startsWith("data:")) {
48
- icon = /* @__PURE__ */ jsx(UxImg, { src: item.icon });
49
- } else {
50
- icon = /* @__PURE__ */ jsx("iconify-icon", { height: "100%", width: "100%", icon: item.icon });
51
- }
52
- }
53
- return {
54
- id: item.id,
55
- title: item.title,
56
- url: item.link,
57
- icon,
40
+ }, [l]), { localizedNav: v, flattened: n, matchedIndex: w } = N(() => {
41
+ var L;
42
+ let e = q((L = r == null ? void 0 : r.navigation) == null ? void 0 : L.dashboard, b) || [];
43
+ e = F(e, y), e = _(
44
+ e,
45
+ (o) => {
46
+ let m = null;
47
+ return o.icon && (o.icon.startsWith("http") || o.icon.startsWith("data:") ? m = /* @__PURE__ */ s(B, { src: o.icon }) : m = /* @__PURE__ */ s("iconify-icon", { height: "100%", width: "100%", icon: o.icon })), {
48
+ id: o.id,
49
+ title: o.title,
50
+ url: o.link,
51
+ icon: m,
58
52
  // https://github.com/ArcBlock/ux/issues/755#issuecomment-1208692620
59
- external: true,
60
- children: item.items
53
+ external: !0,
54
+ children: o.items
61
55
  };
62
56
  },
63
57
  "items"
64
58
  );
65
- const flattened2 = flatRecursive(localizedNav2).filter((item) => !!item.url);
66
- const matchedIndex2 = matchPaths(flattened2.map((item) => item.url));
67
- if (matchedIndex2 !== -1) {
68
- flattened2[matchedIndex2].active = true;
69
- }
70
- return { localizedNav: localizedNav2, flattened: flattened2, matchedIndex: matchedIndex2 };
71
- }, [formattedBlocklet, locale, userRole]);
72
- const allLinks = typeof links === "function" ? links(localizedNav) : [...localizedNav, ...links];
73
- const appLogo = useBlockletLogo({
74
- meta
59
+ const a = C(e).filter((o) => !!o.url), u = E(a.map((o) => o.url));
60
+ return u !== -1 && (a[u].active = !0), { localizedNav: e, flattened: a, matchedIndex: u };
61
+ }, [r, b, y]), R = typeof f == "function" ? f(v) : [...v, ...f], T = j({
62
+ meta: l
75
63
  });
76
- useLayoutEffect(() => {
77
- if (!!user && !flattened?.length && fallbackUrl) {
78
- window.location.href = fallbackUrl;
79
- }
80
- }, [fallbackUrl]);
81
- useLayoutEffect(() => {
82
- if (!!user && !!flattened?.length && matchedIndex === -1) {
83
- if (invalidPathFallback) {
84
- invalidPathFallback();
85
- } else {
86
- }
87
- }
88
- }, [invalidPathFallback, flattened, matchedIndex]);
89
- if (!formattedBlocklet.appName) {
64
+ if (P(() => {
65
+ i && !(n != null && n.length) && c && (window.location.href = c);
66
+ }, [c]), P(() => {
67
+ i && (n != null && n.length) && w === -1 && d && d();
68
+ }, [d, n, w]), !r.appName)
90
69
  return null;
91
- }
92
- const { appName } = formattedBlocklet;
93
- const _headerAddons = /* @__PURE__ */ jsx(
94
- HeaderAddons,
70
+ const { appName: z } = r;
71
+ return /* @__PURE__ */ s(
72
+ O,
95
73
  {
96
- formattedBlocklet,
97
- addons: headerAddons,
98
- sessionManagerProps,
99
- showDomainWarningDialog
100
- }
101
- );
102
- return /* @__PURE__ */ jsx(
103
- UxDashboard,
104
- {
105
- title: appName,
106
- fullWidth: true,
74
+ title: z,
75
+ fullWidth: !0,
107
76
  sidebarWidth: 128,
108
- legacy: false,
109
- links: allLinks,
110
- ...rest,
77
+ legacy: !1,
78
+ links: R,
79
+ ...g,
111
80
  headerProps: {
112
- homeLink: publicPath,
113
- logo: /* @__PURE__ */ jsx("img", { src: appLogo, alt: "logo" }),
114
- addons: _headerAddons,
115
- ...rest.headerProps
81
+ homeLink: h,
82
+ logo: /* @__PURE__ */ s("img", { src: T, alt: "logo" }),
83
+ addons: /* @__PURE__ */ s(
84
+ G,
85
+ {
86
+ formattedBlocklet: r,
87
+ addons: k,
88
+ sessionManagerProps: W,
89
+ showDomainWarningDialog: I
90
+ }
91
+ ),
92
+ ...g.headerProps
116
93
  }
117
94
  }
118
95
  );
119
96
  }
120
- Dashboard.propTypes = {
121
- meta: BlockletMetaProps,
97
+ K.propTypes = {
98
+ meta: S,
122
99
  // 如果当前用户没有权限访问任何导航菜单, 则自动跳转到 fallbackUrl, 默认值为 publicPath, 设置为 null 表示禁用自动跳转
123
- fallbackUrl: PropTypes.string,
100
+ fallbackUrl: t.string,
124
101
  // 当前路径未匹配任何 nav links 时的 fallback, 默认行为跳转到首个可用的 nav link
125
- invalidPathFallback: PropTypes.func,
126
- headerAddons: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
127
- sessionManagerProps: SessionManagerProps,
128
- links: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),
129
- showDomainWarningDialog: PropTypes.bool
102
+ invalidPathFallback: t.func,
103
+ headerAddons: t.oneOfType([t.func, t.node]),
104
+ sessionManagerProps: H,
105
+ links: t.oneOfType([t.array, t.func]),
106
+ showDomainWarningDialog: t.bool
130
107
  };
131
- Dashboard.defaultProps = {
132
- meta: {},
133
- fallbackUrl: publicPath,
134
- invalidPathFallback: null,
135
- headerAddons: void 0,
136
- sessionManagerProps: {
137
- showRole: true,
138
- // dashboard 默认退出登录行为: 跳转到 (root) blocklet 首页
139
- onLogout: () => {
140
- window.location.href = publicPath;
141
- }
142
- },
143
- links: [],
144
- showDomainWarningDialog: true
108
+ export {
109
+ K as default
145
110
  };
146
- export default Dashboard;
@@ -1,32 +1,26 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { isValidElement } from "react";
3
- import PropTypes from "prop-types";
4
- import { styled } from "@arcblock/ux/lib/Theme";
5
- import { Box } from "@mui/material";
6
- export default function Brand({ name, logo, description, ...rest }) {
7
- if (!name && !logo && !description) {
1
+ import { jsx as o, jsxs as n } from "react/jsx-runtime";
2
+ import { isValidElement as l } from "react";
3
+ import i from "prop-types";
4
+ import { styled as s } from "@arcblock/ux/lib/Theme";
5
+ import { Box as m } from "@mui/material";
6
+ function p({ name: e = "", logo: t = "", description: r = "", ...a }) {
7
+ if (!e && !t && !r)
8
8
  return null;
9
- }
10
- const logoElement = isValidElement(logo) ? logo : /* @__PURE__ */ jsx("img", { src: logo, alt: name });
11
- return /* @__PURE__ */ jsxs(Root, { ...rest, children: [
12
- /* @__PURE__ */ jsxs("div", { children: [
13
- logo && /* @__PURE__ */ jsx(Box, { component: "a", href: "/", className: "footer-brand-logo", children: logoElement }),
14
- name && /* @__PURE__ */ jsx("div", { className: "footer-brand-name", children: name })
9
+ const d = l(t) ? t : /* @__PURE__ */ o("img", { src: t, alt: e });
10
+ return /* @__PURE__ */ n(h, { ...a, children: [
11
+ /* @__PURE__ */ n("div", { children: [
12
+ t && /* @__PURE__ */ o(m, { component: "a", href: "/", className: "footer-brand-logo", children: d }),
13
+ e && /* @__PURE__ */ o("div", { className: "footer-brand-name", children: e })
15
14
  ] }),
16
- description && /* @__PURE__ */ jsx("div", { className: "footer-brand-desc", children: description })
15
+ r && /* @__PURE__ */ o("div", { className: "footer-brand-desc", children: r })
17
16
  ] });
18
17
  }
19
- Brand.propTypes = {
20
- name: PropTypes.node,
21
- logo: PropTypes.node,
22
- description: PropTypes.string
23
- };
24
- Brand.defaultProps = {
25
- name: "",
26
- logo: "",
27
- description: ""
18
+ p.propTypes = {
19
+ name: i.node,
20
+ logo: i.node,
21
+ description: i.string
28
22
  };
29
- const Root = styled("div")`
23
+ const h = s("div")`
30
24
  display: flex;
31
25
  flex-direction: column;
32
26
  font-size: 14px;
@@ -52,19 +46,19 @@ const Root = styled("div")`
52
46
  }
53
47
  .footer-brand-name {
54
48
  font-size: 18px;
55
- color: ${(props) => props.theme.palette.grey[900]};
49
+ color: ${(e) => e.theme.palette.grey[900]};
56
50
  }
57
51
  .footer-brand-desc {
58
52
  white-space: pre-line;
59
53
  margin-top: 16px;
60
- color: ${(props) => props.theme.palette.text.secondary};
54
+ color: ${(e) => e.theme.palette.text.secondary};
61
55
  }
62
56
 
63
- ${(props) => props.theme.breakpoints.down("sm")} {
57
+ ${(e) => e.theme.breakpoints.down("sm")} {
64
58
  width: auto;
65
59
  }
66
60
 
67
- ${(props) => props.theme.breakpoints.down("md")} {
61
+ ${(e) => e.theme.breakpoints.down("md")} {
68
62
  .footer-brand-logo {
69
63
  img,
70
64
  svg {
@@ -74,3 +68,6 @@ const Root = styled("div")`
74
68
  }
75
69
  }
76
70
  `;
71
+ export {
72
+ p as default
73
+ };
@@ -1,25 +1,24 @@
1
- import { jsxs } from "react/jsx-runtime";
2
- import { styled } from "@arcblock/ux/lib/Theme";
3
- import PropTypes from "prop-types";
4
- export default function Copyright({ owner, year, ...rest }) {
5
- return /* @__PURE__ */ jsxs(Root, { ...rest, children: [
6
- "Copyright \xA9 ",
7
- year,
1
+ import { jsxs as i } from "react/jsx-runtime";
2
+ import { styled as p } from "@arcblock/ux/lib/Theme";
3
+ import r from "prop-types";
4
+ function n({ owner: t = "ArcBlock", year: e = `${(/* @__PURE__ */ new Date()).getFullYear()}`, ...o }) {
5
+ return /* @__PURE__ */ i(s, { ...o, children: [
6
+ "Copyright © ",
7
+ e,
8
8
  " ",
9
- owner
9
+ t
10
10
  ] });
11
11
  }
12
- Copyright.propTypes = {
13
- owner: PropTypes.string,
14
- year: PropTypes.string
12
+ n.propTypes = {
13
+ owner: r.string,
14
+ year: r.string
15
15
  };
16
- Copyright.defaultProps = {
17
- owner: "ArcBlock",
18
- year: `${(/* @__PURE__ */ new Date()).getFullYear()}`
19
- };
20
- const Root = styled("p")`
16
+ const s = p("p")`
21
17
  display: flex;
22
18
  align-items: center;
23
19
  margin: 0;
24
20
  font-size: 13px;
25
21
  `;
22
+ export {
23
+ n as default
24
+ };