@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,81 +1,71 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import PropTypes from "prop-types";
4
- import { styled, useTheme, deepmerge, ThemeProvider } from "@arcblock/ux/lib/Theme";
5
- import { withErrorBoundary } from "react-error-boundary";
6
- import { useLocaleContext } from "@arcblock/ux/lib/Locale/context";
7
- import { ErrorFallback } from "@arcblock/ux/lib/ErrorBoundary";
8
- import useBlockletLogo from "@arcblock/ux/lib/hooks/use-blocklet-logo";
9
- import omit from "lodash/omit";
10
- import InternalFooter from "./internal-footer.js";
11
- import { mapRecursive } from "../utils.js";
12
- import { formatBlockletInfo, getLocalizedNavigation } from "../blocklets.js";
13
- import { BlockletMetaProps } from "../types.js";
14
- import withHideWhenEmbed from "../libs/with-hide-when-embed.js";
15
- function Footer({ meta, theme: themeOverrides, ...rest }) {
16
- const { locale } = useLocaleContext() || {};
17
- const parentTheme = useTheme();
18
- const formattedBlocklet = useMemo(() => {
19
- const blocklet = Object.assign({}, window.blocklet, meta);
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { useMemo as b } from "react";
3
+ import T from "prop-types";
4
+ import { styled as M, useTheme as N, deepmerge as w, ThemeProvider as L } from "@arcblock/ux/lib/Theme";
5
+ import { withErrorBoundary as j } from "react-error-boundary";
6
+ import { useLocaleContext as C } from "@arcblock/ux/lib/Locale/context";
7
+ import { ErrorFallback as E } from "@arcblock/ux/lib/ErrorBoundary";
8
+ import I from "@arcblock/ux/lib/hooks/use-blocklet-logo";
9
+ import P from "lodash/omit";
10
+ import z from "./internal-footer.js";
11
+ import { mapRecursive as D } from "../utils.js";
12
+ import { formatBlockletInfo as H, getLocalizedNavigation as l } from "../blocklets.js";
13
+ import { BlockletMetaProps as R } from "../types.js";
14
+ import S from "../libs/with-hide-when-embed.js";
15
+ function u({ meta: e = {}, theme: t = null, ...i }) {
16
+ var m, s, d;
17
+ const { locale: n } = C() || {}, p = N(), o = b(() => {
18
+ const r = Object.assign({}, window.blocklet, e);
20
19
  try {
21
- return formatBlockletInfo(blocklet);
22
- } catch (e) {
23
- console.error("Failed to format blocklet info", e, blocklet);
24
- return blocklet;
20
+ return H(r);
21
+ } catch (x) {
22
+ return console.error("Failed to format blocklet info", x, r), r;
25
23
  }
26
- }, [meta]);
27
- const mergeTheme = useMemo(() => deepmerge(parentTheme, themeOverrides), [parentTheme, themeOverrides]);
28
- const appLogo = useBlockletLogo({
24
+ }, [e]), c = b(() => w(p, t), [p, t]), g = I({
29
25
  key: "xs",
30
26
  // 始终优先长 logo
31
- meta,
32
- theme: themeOverrides
27
+ meta: e,
28
+ theme: t
33
29
  });
34
- if (!formattedBlocklet.appName) {
30
+ if (!o.appName)
35
31
  return null;
36
- }
37
- const { appName, appDescription, description, copyright } = formattedBlocklet;
38
- const $bgColor = mergeTheme.palette.background.default;
39
- const localized = {
40
- footerNav: getLocalizedNavigation(formattedBlocklet?.navigation?.footer, locale) || [],
41
- socialMedia: getLocalizedNavigation(formattedBlocklet?.navigation?.social, locale) || [],
42
- links: getLocalizedNavigation(formattedBlocklet?.navigation?.bottom, locale) || []
43
- };
44
- const props = {
32
+ const { appName: h, appDescription: k, description: y, copyright: v } = o, $ = c.palette.background.default, a = {
33
+ footerNav: l((m = o == null ? void 0 : o.navigation) == null ? void 0 : m.footer, n) || [],
34
+ socialMedia: l((s = o == null ? void 0 : o.navigation) == null ? void 0 : s.social, n) || [],
35
+ links: l((d = o == null ? void 0 : o.navigation) == null ? void 0 : d.bottom, n) || []
36
+ }, F = {
45
37
  brand: {
46
- name: appName,
47
- description: appDescription || description,
48
- logo: appLogo
38
+ name: h,
39
+ description: k || y,
40
+ logo: g
49
41
  },
50
- navigation: mapRecursive(
51
- localized.footerNav,
52
- (item) => ({
53
- ...item,
54
- label: item.title,
55
- link: item.link
42
+ navigation: D(
43
+ a.footerNav,
44
+ (r) => ({
45
+ ...r,
46
+ label: r.title,
47
+ link: r.link
56
48
  }),
57
49
  "items"
58
50
  ),
59
- copyright,
60
- socialMedia: localized.socialMedia,
61
- links: localized.links.map((item) => ({ ...item, label: item.title }))
51
+ copyright: v,
52
+ socialMedia: a.socialMedia,
53
+ links: a.links.map((r) => ({ ...r, label: r.title }))
62
54
  };
63
- return /* @__PURE__ */ jsx(ThemeProvider, { theme: mergeTheme, children: /* @__PURE__ */ jsx(StyledInternalFooter, { ...props, ...omit(rest, ["bordered"]), $bordered: rest?.bordered, $bgcolor: $bgColor }) });
55
+ return /* @__PURE__ */ f(L, { theme: c, children: /* @__PURE__ */ f(W, { ...F, ...P(i, ["bordered"]), $bordered: i == null ? void 0 : i.bordered, $bgcolor: $ }) });
64
56
  }
65
- Footer.propTypes = {
66
- meta: BlockletMetaProps,
57
+ u.propTypes = {
58
+ meta: R,
67
59
  // 允许覆盖 footer 内置的 theme
68
- theme: PropTypes.object
69
- };
70
- Footer.defaultProps = {
71
- meta: {},
72
- theme: null
60
+ theme: T.object
73
61
  };
74
- const StyledInternalFooter = styled(InternalFooter)`
75
- ${({ $bordered, theme }) => `border-top: 1px solid ${$bordered && theme.palette.divider};`}
76
- color: ${({ theme }) => theme.palette.text.secondary};
77
- ${({ $bgcolor }) => $bgcolor && `background-color: ${$bgcolor};`}
78
- `;
79
- export default withErrorBoundary(withHideWhenEmbed(Footer), {
80
- FallbackComponent: ErrorFallback
62
+ const W = M(z)`
63
+ ${({ $bordered: e, theme: t }) => `border-top: 1px solid ${e && t.palette.divider};`}
64
+ color: ${({ theme: e }) => e.palette.text.secondary};
65
+ ${({ $bgcolor: e }) => e && `background-color: ${e};`}
66
+ `, oo = j(S(u), {
67
+ FallbackComponent: E
81
68
  });
69
+ export {
70
+ oo as default
71
+ };
@@ -1,118 +1,116 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import PropTypes from "prop-types";
3
- import { Box } from "@mui/material";
4
- import clsx from "clsx";
5
- import Brand from "./brand.js";
6
- import Links from "./links.js";
7
- import SocialMedia from "./social-media.js";
8
- import Copyright from "./copyright.js";
9
- import StandardLayout from "./layout/standard.js";
10
- import PlainLayout from "./layout/plain.js";
11
- const layouts = [
1
+ import { jsxs as L, jsx as t } from "react/jsx-runtime";
2
+ import n from "prop-types";
3
+ import { Box as y } from "@mui/material";
4
+ import O from "clsx";
5
+ import B from "./brand.js";
6
+ import g from "./links.js";
7
+ import M from "./social-media.js";
8
+ import N from "./copyright.js";
9
+ import S from "./layout/standard.js";
10
+ import C from "./layout/plain.js";
11
+ const h = [
12
12
  {
13
13
  name: "plain",
14
14
  // 没有 navigation 和 socialMedia, 使用一个简单的两端对齐布局
15
- support: (_, data) => !data.navigation?.length && !data.socialMedia?.length,
16
- component: PlainLayout
15
+ support: (a, o) => {
16
+ var r, e;
17
+ return !((r = o.navigation) != null && r.length) && !((e = o.socialMedia) != null && e.length);
18
+ },
19
+ component: C
17
20
  },
18
21
  {
19
22
  name: "standard",
20
23
  // 默认标准布局
21
- support: () => true,
22
- component: StandardLayout
24
+ support: () => !0,
25
+ component: S
23
26
  }
24
- ];
25
- const layoutsKeyByName = layouts.reduce((acc, cur) => ({ ...acc, [cur.name]: cur }), {});
26
- function InternalFooter(props) {
27
- const { brand, navigation, socialMedia, copyright, links, layout, ...rest } = props;
28
- const renderBrand = () => {
29
- return brand ? /* @__PURE__ */ jsx(Brand, { ...brand }) : null;
27
+ ], T = h.reduce((a, o) => ({ ...a, [o.name]: o }), {});
28
+ function _(a) {
29
+ var d, f;
30
+ const {
31
+ brand: o = null,
32
+ navigation: r = null,
33
+ socialMedia: e = null,
34
+ copyright: l = null,
35
+ links: s = null,
36
+ layout: m = "auto",
37
+ ...i
38
+ } = a, k = () => o ? /* @__PURE__ */ t(B, { ...o }) : null, x = () => r != null && r.length ? /* @__PURE__ */ t(g, { links: r, columns: 3 }) : null, b = () => e != null && e.length ? /* @__PURE__ */ t(M, { items: e }) : null, w = () => {
39
+ const p = (l == null ? void 0 : l.owner) || (o == null ? void 0 : o.name);
40
+ return p ? /* @__PURE__ */ t(N, { owner: p, year: (l == null ? void 0 : l.year) || void 0 }) : null;
41
+ }, v = () => s != null && s.length ? /* @__PURE__ */ t(g, { flowLayout: !0, links: s }) : null, c = {
42
+ brand: k(),
43
+ navigation: x(),
44
+ socialMedia: b(),
45
+ copyright: w(),
46
+ links: v()
30
47
  };
31
- const renderNavigation = () => {
32
- return navigation?.length ? /* @__PURE__ */ jsx(Links, { links: navigation, columns: 3 }) : null;
33
- };
34
- const renderSocialMedia = () => {
35
- return socialMedia?.length ? /* @__PURE__ */ jsx(SocialMedia, { items: socialMedia }) : null;
36
- };
37
- const renderCopyright = () => {
38
- const copyrightOwner = copyright?.owner || brand?.name;
39
- if (!copyrightOwner) {
40
- return null;
48
+ let u = null;
49
+ if (m === "auto" ? u = h.find((p) => p.support(c, a)).component : u = (d = T[m]) == null ? void 0 : d.component, !u)
50
+ throw new Error(`layout ${m} is not supported.`);
51
+ return /* @__PURE__ */ L(
52
+ y,
53
+ {
54
+ ...i,
55
+ className: O("blocklet__footer", i.className),
56
+ sx: [
57
+ {
58
+ position: "relative"
59
+ },
60
+ ...Array.isArray(i.sx) ? i.sx : [i.sx]
61
+ ],
62
+ children: [
63
+ /* @__PURE__ */ t(u, { elements: c, data: a }),
64
+ /* @__PURE__ */ t(
65
+ y,
66
+ {
67
+ sx: {
68
+ position: "absolute",
69
+ right: 16,
70
+ bottom: 0,
71
+ fontSize: 12,
72
+ color: "transparent",
73
+ "::selection": { background: "#000", color: "#fff" }
74
+ },
75
+ children: (f = window == null ? void 0 : window.blocklet) == null ? void 0 : f.version
76
+ }
77
+ )
78
+ ]
41
79
  }
42
- return /* @__PURE__ */ jsx(Copyright, { owner: copyrightOwner, year: copyright?.year || void 0 });
43
- };
44
- const renderLinks = () => {
45
- return links?.length ? /* @__PURE__ */ jsx(Links, { flowLayout: true, links }) : null;
46
- };
47
- const elements = {
48
- brand: renderBrand(),
49
- navigation: renderNavigation(),
50
- socialMedia: renderSocialMedia(),
51
- copyright: renderCopyright(),
52
- links: renderLinks()
53
- };
54
- let LayoutComponent = null;
55
- if (layout === "auto") {
56
- LayoutComponent = layouts.find((item) => item.support(elements, props)).component;
57
- } else {
58
- LayoutComponent = layoutsKeyByName[layout]?.component;
59
- }
60
- if (!LayoutComponent) {
61
- throw new Error(`layout ${layout} is not supported.`);
62
- }
63
- return /* @__PURE__ */ jsxs(Box, { position: "relative", ...rest, className: clsx("blocklet__footer", rest.className), children: [
64
- /* @__PURE__ */ jsx(LayoutComponent, { elements, data: props }),
65
- /* @__PURE__ */ jsx(
66
- Box,
67
- {
68
- position: "absolute",
69
- right: 16,
70
- bottom: 0,
71
- fontSize: 12,
72
- sx: { color: "transparent", "::selection": { background: "#000", color: "#fff" } },
73
- children: window?.blocklet?.version
74
- }
75
- )
76
- ] });
80
+ );
77
81
  }
78
- InternalFooter.propTypes = {
79
- brand: PropTypes.shape({
80
- name: PropTypes.node,
81
- description: PropTypes.string,
82
- logo: PropTypes.node
82
+ _.propTypes = {
83
+ brand: n.shape({
84
+ name: n.node,
85
+ description: n.string,
86
+ logo: n.node
83
87
  }),
84
- navigation: PropTypes.arrayOf(
85
- PropTypes.shape({
86
- label: PropTypes.node,
87
- link: PropTypes.string
88
+ navigation: n.arrayOf(
89
+ n.shape({
90
+ label: n.node,
91
+ link: n.string
88
92
  })
89
93
  ),
90
- socialMedia: PropTypes.arrayOf(
91
- PropTypes.shape({
92
- icon: PropTypes.node,
93
- link: PropTypes.string
94
+ socialMedia: n.arrayOf(
95
+ n.shape({
96
+ icon: n.node,
97
+ link: n.string
94
98
  })
95
99
  ),
96
- copyright: PropTypes.shape({
97
- owner: PropTypes.string,
98
- year: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
100
+ copyright: n.shape({
101
+ owner: n.string,
102
+ year: n.oneOfType([n.string, n.number])
99
103
  }),
100
104
  // privacy/legal 等链接, 常放于 footer 右下侧或最底部
101
- links: PropTypes.arrayOf(
102
- PropTypes.shape({
103
- label: PropTypes.node,
104
- link: PropTypes.string
105
+ links: n.arrayOf(
106
+ n.shape({
107
+ label: n.node,
108
+ link: n.string
105
109
  })
106
110
  ),
107
111
  // 可显式指定 footer layout, 默认根据内容自动决定 layout
108
- layout: PropTypes.oneOf(["auto", "standard", "plain"])
112
+ layout: n.oneOf(["auto", "standard", "plain"])
109
113
  };
110
- InternalFooter.defaultProps = {
111
- brand: null,
112
- navigation: null,
113
- copyright: null,
114
- socialMedia: null,
115
- links: null,
116
- layout: "auto"
114
+ export {
115
+ _ as default
117
116
  };
118
- export default InternalFooter;
@@ -1,32 +1,32 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { cloneElement } from "react";
3
- import PropTypes from "prop-types";
4
- import { Container } from "@mui/material";
5
- import { styled } from "@arcblock/ux/lib/Theme";
6
- import Row from "./row.js";
7
- function PlainLayout({ elements, data, ...rest }) {
8
- return /* @__PURE__ */ jsx(Root, { ...rest, children: /* @__PURE__ */ jsx(Container, { style: { padding: 0 }, children: /* @__PURE__ */ jsxs(Container, { className: "plain-layout-container", children: [
9
- elements.links && /* @__PURE__ */ jsxs(Row, { sx: { width: 1 }, autoCenter: true, children: [
10
- elements.copyright,
11
- elements.links
1
+ import { jsx as t, jsxs as n, Fragment as a } from "react/jsx-runtime";
2
+ import { cloneElement as l } from "react";
3
+ import e from "prop-types";
4
+ import { Container as r } from "@mui/material";
5
+ import { styled as p } from "@arcblock/ux/lib/Theme";
6
+ import d from "./row.js";
7
+ function s({ elements: i, data: m, ...o }) {
8
+ return /* @__PURE__ */ t(c, { ...o, children: /* @__PURE__ */ t(r, { style: { padding: 0 }, children: /* @__PURE__ */ n(r, { className: "plain-layout-container", children: [
9
+ i.links && /* @__PURE__ */ n(d, { sx: { width: 1 }, autoCenter: !0, children: [
10
+ i.copyright,
11
+ i.links
12
12
  ] }),
13
- !elements.links && /* @__PURE__ */ jsxs(Fragment, { children: [
14
- cloneElement(elements.brand, { name: null, description: null }),
15
- elements.copyright
13
+ !i.links && /* @__PURE__ */ n(a, { children: [
14
+ l(i.brand, { name: null, description: null }),
15
+ i.copyright
16
16
  ] })
17
17
  ] }) }) });
18
18
  }
19
- PlainLayout.propTypes = {
20
- elements: PropTypes.shape({
21
- brand: PropTypes.element,
22
- navigation: PropTypes.element,
23
- socialMedia: PropTypes.element,
24
- copyright: PropTypes.element,
25
- links: PropTypes.element
19
+ s.propTypes = {
20
+ elements: e.shape({
21
+ brand: e.element,
22
+ navigation: e.element,
23
+ socialMedia: e.element,
24
+ copyright: e.element,
25
+ links: e.element
26
26
  }).isRequired,
27
- data: PropTypes.object.isRequired
27
+ data: e.object.isRequired
28
28
  };
29
- const Root = styled("div")`
29
+ const c = p("div")`
30
30
  padding: 24px 0;
31
31
  .plain-layout-container {
32
32
  display: flex;
@@ -36,4 +36,6 @@ const Root = styled("div")`
36
36
  gap: 8px;
37
37
  }
38
38
  `;
39
- export default PlainLayout;
39
+ export {
40
+ s as default
41
+ };
@@ -1,23 +1,16 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import PropTypes from "prop-types";
3
- import Box from "@mui/material/Box";
4
- import { styled } from "@arcblock/ux/lib/Theme";
5
- import clsx from "clsx";
6
- export default function Row({ children, autoCenter, ...rest }) {
7
- if (!children) {
8
- return null;
9
- }
10
- return /* @__PURE__ */ jsx(RowRoot, { ...rest, className: clsx(rest.className, { "footer-row-auto-center": autoCenter }), children });
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import e from "prop-types";
3
+ import { Box as a } from "@mui/material";
4
+ import { styled as i } from "@arcblock/ux/lib/Theme";
5
+ import l from "clsx";
6
+ function m({ children: o = null, autoCenter: r = !1, ...t }) {
7
+ return o ? /* @__PURE__ */ n(p, { ...t, className: l(t.className, { "footer-row-auto-center": r }), children: o }) : null;
11
8
  }
12
- Row.propTypes = {
13
- children: PropTypes.any,
14
- autoCenter: PropTypes.bool
15
- };
16
- Row.defaultProps = {
17
- children: null,
18
- autoCenter: false
9
+ m.propTypes = {
10
+ children: e.any,
11
+ autoCenter: e.bool
19
12
  };
20
- const RowRoot = styled(Box)`
13
+ const p = i(a)`
21
14
  display: flex;
22
15
  justify-content: space-between;
23
16
  & + & {
@@ -27,10 +20,10 @@ const RowRoot = styled(Box)`
27
20
  margin: 0 auto;
28
21
  }
29
22
 
30
- ${({ theme }) => theme.breakpoints.down("md")} {
23
+ ${({ theme: o }) => o.breakpoints.down("md")} {
31
24
  align-items: stretch;
32
25
  flex-direction: column;
33
- gap: ${({ theme }) => theme.spacing(1)};
26
+ gap: ${({ theme: o }) => o.spacing(1)};
34
27
  > * {
35
28
  flex: 1 0 100%;
36
29
  }
@@ -39,3 +32,6 @@ const RowRoot = styled(Box)`
39
32
  }
40
33
  }
41
34
  `;
35
+ export {
36
+ m as default
37
+ };
@@ -1,81 +1,93 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import PropTypes from "prop-types";
3
- import clsx from "clsx";
4
- import { Box, Container } from "@mui/material";
5
- import { styled } from "@arcblock/ux/lib/Theme";
6
- import Row from "./row.js";
7
- function StandardLayout({ elements, data, className, ...rest }) {
8
- const withNavigation = !!data.navigation?.length;
9
- let topSection = null;
10
- if (withNavigation) {
11
- topSection = /* @__PURE__ */ jsxs(Container, { sx: { display: "flex", flexDirection: { xs: "column", md: "row" }, justifyContent: "space-between" }, children: [
12
- /* @__PURE__ */ jsxs(
13
- Box,
14
- {
15
- sx: {
16
- flex: "1 1 auto",
17
- paddingRight: { xs: 0, md: 3 },
18
- display: "flex",
19
- flexDirection: "column",
20
- alignItems: "flex-start",
21
- gap: 2,
22
- pb: 3
23
- },
24
- children: [
25
- /* @__PURE__ */ jsx(Box, { children: elements.brand }),
26
- /* @__PURE__ */ jsx(Box, { lineHeight: 1, children: elements.socialMedia })
27
- ]
28
- }
29
- ),
30
- /* @__PURE__ */ jsx(Box, { sx: ({ palette }) => ({ mb: 3, borderTop: { xs: `1px solid ${palette.grey[200]}`, md: 0 } }), children: elements.navigation })
31
- ] });
32
- } else {
33
- topSection = /* @__PURE__ */ jsxs(
34
- Container,
1
+ import { jsxs as n, jsx as i } from "react/jsx-runtime";
2
+ import o from "prop-types";
3
+ import x from "clsx";
4
+ import { Container as t, Box as r } from "@mui/material";
5
+ import { styled as f } from "@arcblock/ux/lib/Theme";
6
+ import h from "./row.js";
7
+ function g({ elements: e, data: s, className: p, ...c }) {
8
+ var l;
9
+ const d = !!((l = s.navigation) != null && l.length);
10
+ let a = null;
11
+ return d ? a = /* @__PURE__ */ n(t, { sx: { display: "flex", flexDirection: { xs: "column", md: "row" }, justifyContent: "space-between" }, children: [
12
+ /* @__PURE__ */ n(
13
+ r,
35
14
  {
36
15
  sx: {
16
+ flex: "1 1 auto",
17
+ paddingRight: { xs: 0, md: 3 },
37
18
  display: "flex",
38
- flexDirection: { xs: "column", md: "row" },
39
- justifyContent: "space-between",
40
- alignItems: "space-between",
19
+ flexDirection: "column",
20
+ alignItems: "flex-start",
41
21
  gap: 2,
42
22
  pb: 3
43
23
  },
44
24
  children: [
45
- /* @__PURE__ */ jsx(Box, { children: elements.brand }),
46
- /* @__PURE__ */ jsx(Box, { lineHeight: 1, children: elements.socialMedia })
25
+ /* @__PURE__ */ i(r, { children: e.brand }),
26
+ /* @__PURE__ */ i(
27
+ r,
28
+ {
29
+ sx: {
30
+ lineHeight: 1
31
+ },
32
+ children: e.socialMedia
33
+ }
34
+ )
47
35
  ]
48
36
  }
49
- );
50
- }
51
- return /* @__PURE__ */ jsx(Root, { ...rest, className: clsx({ "footer--with-navs": withNavigation }, className), children: /* @__PURE__ */ jsxs(Container, { style: { padding: 0 }, children: [
52
- topSection,
53
- /* @__PURE__ */ jsx(Box, { sx: { pt: 3, borderTop: 1, borderColor: "divider" } }),
54
- /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Row, { autoCenter: true, children: [
55
- elements.copyright,
56
- elements.links
37
+ ),
38
+ /* @__PURE__ */ i(r, { sx: ({ palette: m }) => ({ mb: 3, borderTop: { xs: `1px solid ${m.grey[200]}`, md: 0 } }), children: e.navigation })
39
+ ] }) : a = /* @__PURE__ */ n(
40
+ t,
41
+ {
42
+ sx: {
43
+ display: "flex",
44
+ flexDirection: { xs: "column", md: "row" },
45
+ justifyContent: "space-between",
46
+ alignItems: "space-between",
47
+ gap: 2,
48
+ pb: 3
49
+ },
50
+ children: [
51
+ /* @__PURE__ */ i(r, { children: e.brand }),
52
+ /* @__PURE__ */ i(
53
+ r,
54
+ {
55
+ sx: {
56
+ lineHeight: 1
57
+ },
58
+ children: e.socialMedia
59
+ }
60
+ )
61
+ ]
62
+ }
63
+ ), /* @__PURE__ */ i(b, { ...c, className: x({ "footer--with-navs": d }, p), children: /* @__PURE__ */ n(t, { style: { padding: 0 }, children: [
64
+ a,
65
+ /* @__PURE__ */ i(r, { sx: { pt: 3, borderTop: 1, borderColor: "divider" } }),
66
+ /* @__PURE__ */ i(t, { children: /* @__PURE__ */ n(h, { autoCenter: !0, children: [
67
+ e.copyright,
68
+ e.links
57
69
  ] }) })
58
70
  ] }) });
59
71
  }
60
- StandardLayout.propTypes = {
61
- elements: PropTypes.shape({
62
- brand: PropTypes.element,
63
- navigation: PropTypes.element,
64
- socialMedia: PropTypes.element,
65
- copyright: PropTypes.element,
66
- links: PropTypes.element
72
+ g.propTypes = {
73
+ elements: o.shape({
74
+ brand: o.element,
75
+ navigation: o.element,
76
+ socialMedia: o.element,
77
+ copyright: o.element,
78
+ links: o.element
67
79
  }).isRequired,
68
- data: PropTypes.object.isRequired,
69
- className: PropTypes.string
80
+ data: o.object.isRequired,
81
+ className: o.string
70
82
  };
71
- const Root = styled("div")`
83
+ const b = f("div")`
72
84
  padding: 32px 0 24px 0;
73
85
  .footer-brand-name,
74
86
  .footer-brand-desc {
75
87
  display: none;
76
88
  }
77
89
  &.footer--with-navs {
78
- ${(props) => props.theme.breakpoints.up("md")} {
90
+ ${(e) => e.theme.breakpoints.up("md")} {
79
91
  .footer-brand-desc {
80
92
  max-width: 360px;
81
93
  display: block;
@@ -86,4 +98,6 @@ const Root = styled("div")`
86
98
  margin-right: 0;
87
99
  }
88
100
  `;
89
- export default StandardLayout;
101
+ export {
102
+ g as default
103
+ };