@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,24 +1,19 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Icon } from "@iconify/react";
3
- import { Box, Button, useTheme } from "@mui/material";
4
- import PropTypes from "prop-types";
5
- export default function InstallerItem({ optionalComponent, index, installStatus, hasPermission, t }) {
6
- const { palette } = useTheme();
7
- const handleInstall = () => {
8
- window.open(optionalComponent?.installUrl, "_blank");
9
- };
10
- const handleOpenStore = () => {
11
- window.open(optionalComponent?.storeUrl, "_blank");
12
- };
13
- const handleRefresh = () => {
1
+ import { jsxs as n, jsx as i } from "react/jsx-runtime";
2
+ import { Icon as x } from "@iconify/react";
3
+ import { useTheme as y, Box as r, Button as d } from "@mui/material";
4
+ import s from "prop-types";
5
+ function I({ optionalComponent: e, index: h, installStatus: l = "", hasPermission: f, t: c }) {
6
+ const { palette: m } = y(), g = () => {
7
+ window.open(e == null ? void 0 : e.installUrl, "_blank");
8
+ }, p = () => {
9
+ window.open(e == null ? void 0 : e.storeUrl, "_blank");
10
+ }, u = () => {
14
11
  window.location.reload();
15
- };
16
- const installStatusDone = installStatus === "stopped" || installStatus === "running";
17
- const size = 60;
18
- return /* @__PURE__ */ jsxs(Box, { children: [
19
- index === 0 ? null : /* @__PURE__ */ jsx(Box, { sx: { width: "100%", height: "1px", backgroundColor: "grey.100" } }),
20
- /* @__PURE__ */ jsxs(
21
- Box,
12
+ }, o = l === "stopped" || l === "running", a = 60;
13
+ return /* @__PURE__ */ n(r, { children: [
14
+ h === 0 ? null : /* @__PURE__ */ i(r, { sx: { width: "100%", height: "1px", backgroundColor: "grey.100" } }),
15
+ /* @__PURE__ */ n(
16
+ r,
22
17
  {
23
18
  sx: {
24
19
  padding: "20px 24px",
@@ -30,16 +25,16 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
30
25
  alignItems: "flex-start"
31
26
  },
32
27
  children: [
33
- /* @__PURE__ */ jsx(
28
+ /* @__PURE__ */ i(
34
29
  "img",
35
30
  {
36
- style: { width: size, height: size, minWidth: size, minHeight: size },
37
- src: optionalComponent.logoUrl,
38
- alt: optionalComponent.meta.title
31
+ style: { width: a, height: a, minWidth: a, minHeight: a },
32
+ src: e.logoUrl,
33
+ alt: e.meta.title
39
34
  }
40
35
  ),
41
- /* @__PURE__ */ jsxs(
42
- Box,
36
+ /* @__PURE__ */ n(
37
+ r,
43
38
  {
44
39
  sx: {
45
40
  display: "flex",
@@ -49,8 +44,8 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
49
44
  marginLeft: 2
50
45
  },
51
46
  children: [
52
- /* @__PURE__ */ jsxs(
53
- Box,
47
+ /* @__PURE__ */ n(
48
+ r,
54
49
  {
55
50
  sx: {
56
51
  fontSize: "16px",
@@ -63,11 +58,14 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
63
58
  opacity: 1
64
59
  }
65
60
  },
66
- onClick: () => handleOpenStore(optionalComponent.meta?.did),
61
+ onClick: () => {
62
+ var t;
63
+ return p((t = e.meta) == null ? void 0 : t.did);
64
+ },
67
65
  children: [
68
- optionalComponent.meta.title,
69
- /* @__PURE__ */ jsxs(
70
- Box,
66
+ e.meta.title,
67
+ /* @__PURE__ */ n(
68
+ r,
71
69
  {
72
70
  sx: {
73
71
  paddingLeft: 1,
@@ -76,14 +74,14 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
76
74
  },
77
75
  component: "span",
78
76
  children: [
79
- optionalComponent.meta.version,
80
- /* @__PURE__ */ jsx(
81
- Icon,
77
+ e.meta.version,
78
+ /* @__PURE__ */ i(
79
+ x,
82
80
  {
83
81
  className: "link-icon",
84
82
  icon: "fluent:open-20-filled",
85
83
  style: {
86
- color: palette.primary.main,
84
+ color: m.primary.main,
87
85
  fontSize: 16,
88
86
  transform: "translate(6px, 3px)",
89
87
  transition: "all 0.3s"
@@ -96,29 +94,32 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
96
94
  ]
97
95
  }
98
96
  ),
99
- /* @__PURE__ */ jsx(Box, { sx: { marginTop: 0, opacity: 0.7 }, children: optionalComponent.meta.description }),
100
- /* @__PURE__ */ jsx(Box, { sx: { display: hasPermission ? "flex" : "none", flexDirection: "row", gap: 1 }, children: installStatus ? /* @__PURE__ */ jsx(Box, { sx: { marginTop: 2, opacity: 0.7 }, children: installStatusDone ? /* @__PURE__ */ jsx(Button, { variant: "contained", onClick: handleRefresh, children: t("componentInstallerRefresh") }, "refresh") : /* @__PURE__ */ jsx(
101
- Button,
97
+ /* @__PURE__ */ i(r, { sx: { marginTop: 0, opacity: 0.7 }, children: e.meta.description }),
98
+ /* @__PURE__ */ i(r, { sx: { display: f ? "flex" : "none", flexDirection: "row", gap: 1 }, children: l ? /* @__PURE__ */ i(r, { sx: { marginTop: 2, opacity: 0.7 }, children: o ? /* @__PURE__ */ i(d, { variant: "contained", onClick: u, children: c("componentInstallerRefresh") }, "refresh") : /* @__PURE__ */ i(
99
+ d,
102
100
  {
103
- disabled: true,
101
+ disabled: !0,
104
102
  sx: { color: "text.primary" },
105
- startIcon: /* @__PURE__ */ jsx(Icon, { icon: "line-md:loading-loop", style: { color: "text.primary", fontSize: 16 } }),
103
+ startIcon: /* @__PURE__ */ i(x, { icon: "line-md:loading-loop", style: { color: "text.primary", fontSize: 16 } }),
106
104
  variant: "contained",
107
- children: installStatus
105
+ children: l
108
106
  },
109
107
  "status"
110
- ) }) : /* @__PURE__ */ jsx(
111
- Button,
108
+ ) }) : /* @__PURE__ */ i(
109
+ d,
112
110
  {
113
111
  sx: { marginTop: 2 },
114
112
  variant: "contained",
115
113
  className: "button",
116
- onClick: () => handleInstall(optionalComponent.meta?.did),
117
- children: t("componentInstallerInstall")
114
+ onClick: () => {
115
+ var t;
116
+ return g((t = e.meta) == null ? void 0 : t.did);
117
+ },
118
+ children: c("componentInstallerInstall")
118
119
  },
119
120
  "install"
120
121
  ) }),
121
- installStatusDone ? /* @__PURE__ */ jsx(Box, { sx: { marginTop: 2, opacity: 0.7 }, children: t("componentInstallerSuccessInstalled") }) : null
122
+ o ? /* @__PURE__ */ i(r, { sx: { marginTop: 2, opacity: 0.7 }, children: c("componentInstallerSuccessInstalled") }) : null
122
123
  ]
123
124
  }
124
125
  )
@@ -127,13 +128,13 @@ export default function InstallerItem({ optionalComponent, index, installStatus,
127
128
  )
128
129
  ] });
129
130
  }
130
- InstallerItem.propTypes = {
131
- t: PropTypes.func.isRequired,
132
- optionalComponent: PropTypes.object.isRequired,
133
- index: PropTypes.number.isRequired,
134
- installStatus: PropTypes.string,
135
- hasPermission: PropTypes.bool.isRequired
131
+ I.propTypes = {
132
+ t: s.func.isRequired,
133
+ optionalComponent: s.object.isRequired,
134
+ index: s.number.isRequired,
135
+ installStatus: s.string,
136
+ hasPermission: s.bool.isRequired
136
137
  };
137
- InstallerItem.defaultProps = {
138
- installStatus: ""
138
+ export {
139
+ I as default
139
140
  };
@@ -1,22 +1,23 @@
1
- const translations = {
1
+ const e = {
2
2
  zh: {
3
- componentInstallerTitle: '缺少组件',
4
- componentInstallerInstall: '安装',
5
- componentInstallerClose: '关闭',
6
- componentInstallerRefresh: '重载页面',
7
- componentInstallerSuccessInstalled: '安装成功,请重载页面查看变化。',
8
- componentInstallerSuggestions: '请联系系统管理员安装该组件。',
9
- componentInstallerNoDefinedInBlockletYML: '组件未在 blocklet.yml 中定义',
3
+ componentInstallerTitle: "缺少组件",
4
+ componentInstallerInstall: "安装",
5
+ componentInstallerClose: "关闭",
6
+ componentInstallerRefresh: "重载页面",
7
+ componentInstallerSuccessInstalled: "安装成功,请重载页面查看变化。",
8
+ componentInstallerSuggestions: "请联系系统管理员安装该组件。",
9
+ componentInstallerNoDefinedInBlockletYML: "组件未在 blocklet.yml 中定义"
10
10
  },
11
11
  en: {
12
- componentInstallerTitle: 'Missing component',
13
- componentInstallerInstall: 'Install',
14
- componentInstallerClose: 'Close',
15
- componentInstallerRefresh: 'Refresh',
16
- componentInstallerSuccessInstalled: 'Successfully installed, please refresh the page to see the changes.',
17
- componentInstallerSuggestions: 'Please contact the system administrator to install the component.',
18
- componentInstallerNoDefinedInBlockletYML: 'The component is not defined in blocklet.yml',
19
- },
12
+ componentInstallerTitle: "Missing component",
13
+ componentInstallerInstall: "Install",
14
+ componentInstallerClose: "Close",
15
+ componentInstallerRefresh: "Refresh",
16
+ componentInstallerSuccessInstalled: "Successfully installed, please refresh the page to see the changes.",
17
+ componentInstallerSuggestions: "Please contact the system administrator to install the component.",
18
+ componentInstallerNoDefinedInBlockletYML: "The component is not defined in blocklet.yml"
19
+ }
20
+ };
21
+ export {
22
+ e as default
20
23
  };
21
-
22
- export default translations;
@@ -1,88 +1,57 @@
1
- import { BLOCKLET_SERVICE_PATH_PREFIX } from '@arcblock/did-connect/lib/constant';
2
- import { useEffect, useMemo, useRef, useState } from 'react';
3
- import { joinURL } from 'ufo';
4
-
5
- const parseDidToSet = (did) => {
6
- if (typeof did === 'string') {
7
- return new Set(did.split(';;'));
8
- }
9
- return new Set(did);
10
- };
11
-
12
- function useComponentInstalled({ did, onInstalled, onError }) {
13
- const didKeys = Array.isArray(did) ? did.join(';;') : did;
14
- const [installStatus, setInstallStatus] = useState({});
15
- const onInstalledRef = useRef({ onInstalled, onError });
16
- onInstalledRef.current = { onInstalled, onError };
17
-
18
- const { optionalComponents, componentMountPoints } = window.blocklet;
19
-
20
- const optComponents = useMemo(() => {
21
- if (!optionalComponents || !optionalComponents.length) {
1
+ import { BLOCKLET_SERVICE_PATH_PREFIX as y } from "@arcblock/did-connect/lib/constant";
2
+ import { useState as A, useRef as M, useMemo as C, useEffect as P } from "react";
3
+ import { joinURL as I } from "ufo";
4
+ const u = (e) => typeof e == "string" ? new Set(e.split(";;")) : new Set(e);
5
+ function B({ did: e, onInstalled: f, onError: p }) {
6
+ const o = Array.isArray(e) ? e.join(";;") : e, [L, i] = A({}), d = M({ onInstalled: f, onError: p });
7
+ d.current = { onInstalled: f, onError: p };
8
+ const { optionalComponents: l, componentMountPoints: m } = window.blocklet, r = C(() => {
9
+ var s;
10
+ if (!l || !l.length)
22
11
  return [];
23
- }
24
- const didSet = parseDidToSet(didKeys);
25
- const components = optionalComponents.filter((c) => didSet.has(c.meta.did));
26
- (components ? onInstalledRef.current.onError : onInstalledRef.current.onInstalled)?.(components);
27
- return components;
28
- }, [didKeys, optionalComponents]);
29
-
30
- const definedInBlockletYML = useMemo(() => {
31
- if (optComponents.length) {
32
- return true;
33
- }
34
- const didSet = parseDidToSet(didKeys);
35
- return (componentMountPoints || []).find((item) => didSet.has(item.did));
36
- }, [optComponents, componentMountPoints, didKeys]);
37
-
38
- optComponents.forEach((item) => {
39
- item.storeUrl = joinURL(item.meta.homepage, 'blocklets', item.meta.did);
40
- item.installUrl = joinURL(
12
+ const t = u(o), n = l.filter((a) => t.has(a.meta.did));
13
+ return (s = n ? d.current.onError : d.current.onInstalled) == null || s(n), n;
14
+ }, [o, l]), h = C(() => {
15
+ if (r.length)
16
+ return !0;
17
+ const t = u(o);
18
+ return (m || []).find((n) => t.has(n.did));
19
+ }, [r, m, o]);
20
+ return r.forEach((t) => {
21
+ t.storeUrl = I(t.meta.homepage, "blocklets", t.meta.did), t.installUrl = I(
41
22
  window.blocklet.appUrl,
42
- BLOCKLET_SERVICE_PATH_PREFIX,
43
- `/admin/components?install-component=${item.meta.did}`
23
+ y,
24
+ `/admin/components?install-component=${t.meta.did}`
44
25
  );
45
- });
46
-
47
- useEffect(() => {
48
- const handle = (event) => {
49
- if (event.origin !== window.blocklet.appUrl) {
50
- return;
51
- }
52
-
53
- if (event.data?.kind === 'component-installer' && event.data?.blocklet?.children) {
54
- let hasChild = false;
55
- const didSet = parseDidToSet(didKeys);
56
- event.data?.blocklet?.children.forEach((item) => {
57
- if (didSet.has(item.meta?.did)) {
58
- hasChild = true;
59
- setInstallStatus((value) => {
60
- return {
61
- ...value,
62
- [item.meta?.did]: item.status || 'waiting',
63
- };
64
- });
65
- }
66
- });
67
- if (!hasChild) {
68
- setInstallStatus({});
69
- }
26
+ }), P(() => {
27
+ const t = (n) => {
28
+ var s, a, w, S, g;
29
+ if (n.origin === window.blocklet.appUrl && ((s = n.data) == null ? void 0 : s.kind) === "component-installer" && (w = (a = n.data) == null ? void 0 : a.blocklet) != null && w.children) {
30
+ let E = !1;
31
+ const R = u(o);
32
+ (g = (S = n.data) == null ? void 0 : S.blocklet) == null || g.children.forEach((c) => {
33
+ var k;
34
+ R.has((k = c.meta) == null ? void 0 : k.did) && (E = !0, i((U) => {
35
+ var b;
36
+ return {
37
+ ...U,
38
+ [(b = c.meta) == null ? void 0 : b.did]: c.status || "waiting"
39
+ };
40
+ }));
41
+ }), E || i({});
70
42
  }
71
43
  };
72
-
73
- window.addEventListener('message', handle);
74
- return () => {
75
- window.removeEventListener('message', handle);
44
+ return window.addEventListener("message", t), () => {
45
+ window.removeEventListener("message", t);
76
46
  };
77
- }, [didKeys]);
78
-
79
- return {
80
- optComponents,
81
- installed: !optComponents.length && definedInBlockletYML,
82
- installStatus,
83
- setInstallStatus,
84
- definedInBlockletYML,
47
+ }, [o]), {
48
+ optComponents: r,
49
+ installed: !r.length && h,
50
+ installStatus: L,
51
+ setInstallStatus: i,
52
+ definedInBlockletYML: h
85
53
  };
86
54
  }
87
-
88
- export default useComponentInstalled;
55
+ export {
56
+ B as default
57
+ };
@@ -1,114 +1,93 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { useEffect, useRef, 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 { joinURL, withQuery } from "ufo";
9
- import { SessionContext } from "@arcblock/did-connect/lib/Session";
10
- import Toast from "@arcblock/ux/lib/Toast";
11
- import ResourceDialog from "./resource-dialog.js";
12
- import { translations } from "../libs/locales.js";
13
- export default function AddComponent({
14
- componentDid,
15
- resourceType,
16
- resourceDid,
17
- grantedRoles = ["admin", "owner"],
18
- autoClose = true,
19
- selectedMeta,
20
- storeUrl,
21
- onComplete,
22
- onClose,
23
- render
1
+ import { jsxs as B, Fragment as C, jsx as g } from "react/jsx-runtime";
2
+ import { use as F, useRef as I, useEffect as S } from "react";
3
+ import j from "@arcblock/ux/lib/Button";
4
+ import { useLocaleContext as P } from "@arcblock/ux/lib/Locale/context";
5
+ import { BLOCKLET_SERVICE_PATH_PREFIX as T } from "@arcblock/ux/lib/Util/constant";
6
+ import { useMemoizedFn as r, useReactive as U } from "ahooks";
7
+ import { translate as _ } from "@arcblock/ux/lib/Locale/util";
8
+ import { withQuery as A, joinURL as M } from "ufo";
9
+ import { SessionContext as O } from "@arcblock/did-connect/lib/Session";
10
+ import h from "@arcblock/ux/lib/Toast";
11
+ import z from "./resource-dialog.js";
12
+ import { translations as H } from "../libs/locales.js";
13
+ function $({
14
+ componentDid: a,
15
+ resourceType: w,
16
+ resourceDid: p,
17
+ grantedRoles: L = ["admin", "owner"],
18
+ autoClose: R = !0,
19
+ selectedMeta: D,
20
+ storeUrl: E,
21
+ onComplete: n,
22
+ onClose: t,
23
+ render: m
24
24
  }) {
25
- const { session } = useContext(SessionContext);
26
- const { locale } = useLocaleContext();
27
- const t = useMemoizedFn((key, data = {}) => {
28
- return translate(translations, key, locale, "en", data);
29
- });
30
- const refIframe = useRef(null);
31
- const currentState = useReactive({
32
- loading: false,
33
- showDialog: false
34
- });
35
- const importUrl = withQuery(joinURL(BLOCKLET_SERVICE_PATH_PREFIX, "embed/resources", componentDid, "add"), {
36
- resourceDid,
37
- resourceType,
25
+ const { session: d } = F(O), { locale: x } = P(), i = r((o, s = {}) => _(H, o, x, "en", s)), l = I(null), e = U({
26
+ loading: !1,
27
+ showDialog: !1
28
+ }), b = A(M(T, "embed/resources", a, "add"), {
29
+ resourceDid: p,
30
+ resourceType: w,
38
31
  mode: "dialog",
39
32
  showFromUrl: "false",
40
33
  showResourcesSwitch: "false",
41
34
  enableRunBackground: "false",
42
35
  showCategory: "false"
43
- });
44
- const handleClose = useMemoizedFn(() => {
45
- currentState.showDialog = false;
46
- onClose?.();
47
- });
48
- const handleComplete = useMemoizedFn(() => {
49
- currentState.showDialog = false;
50
- onComplete?.();
51
- });
52
- const handleOpen = useMemoizedFn(() => {
53
- if (!session.user) {
54
- Toast.warning(t("needLogin"));
36
+ }), k = r(() => {
37
+ e.showDialog = !1, t == null || t();
38
+ }), c = r(() => {
39
+ e.showDialog = !1, n == null || n();
40
+ }), f = r(() => {
41
+ var o;
42
+ if (!d.user) {
43
+ h.warning(i("needLogin"));
55
44
  return;
56
45
  }
57
- if (!grantedRoles.includes(session.user?.role)) {
58
- Toast.warning(t("noPermission"));
46
+ if (!L.includes((o = d.user) == null ? void 0 : o.role)) {
47
+ h.warning(i("noPermission"));
59
48
  return;
60
49
  }
61
- currentState.loading = true;
62
- currentState.showDialog = true;
50
+ e.loading = !0, e.showDialog = !0;
51
+ }), y = r(() => {
52
+ var o;
53
+ e.loading = !1, l.current && ((o = l.current) == null || o.selectBlocklet(D));
54
+ }), u = r((o) => {
55
+ var s;
56
+ ((s = o == null ? void 0 : o.data) == null ? void 0 : s.event) === "component.installed" && o.data.componentDid === a && (R || o.data.manual) && c();
63
57
  });
64
- const handleLoad = useMemoizedFn(() => {
65
- currentState.loading = false;
66
- if (refIframe.current) {
67
- refIframe.current?.selectBlocklet(selectedMeta);
68
- }
69
- });
70
- const handleIframeMessage = useMemoizedFn((event) => {
71
- if (event?.data?.event === "component.installed" && event.data.componentDid === componentDid) {
72
- if (autoClose || event.data.manual) {
73
- handleComplete();
74
- }
75
- }
76
- });
77
- useEffect(() => {
78
- if (currentState.showDialog) {
79
- window.addEventListener("message", handleIframeMessage);
80
- } else {
81
- window.removeEventListener("message", handleIframeMessage);
82
- }
83
- }, [currentState.showDialog]);
84
- return /* @__PURE__ */ jsxs(Fragment, { children: [
85
- render ? render({ onClick: handleOpen, loading: currentState.loading }) : /* @__PURE__ */ jsx(
86
- Button,
58
+ return S(() => {
59
+ e.showDialog ? window.addEventListener("message", u) : window.removeEventListener("message", u);
60
+ }, [e.showDialog]), /* @__PURE__ */ B(C, { children: [
61
+ m ? m({ onClick: f, loading: e.loading }) : /* @__PURE__ */ g(
62
+ j,
87
63
  {
88
64
  variant: "outlined",
89
65
  color: "secondary",
90
66
  type: "button",
91
67
  className: "submit",
92
- onClick: handleOpen,
93
- loading: currentState.loading,
68
+ onClick: f,
69
+ loading: e.loading,
94
70
  sx: { mr: 1, ml: 1 },
95
- children: t("importResource")
71
+ children: i("importResource")
96
72
  },
97
73
  "button"
98
74
  ),
99
- currentState.showDialog && /* @__PURE__ */ jsx(
100
- ResourceDialog,
75
+ e.showDialog && /* @__PURE__ */ g(
76
+ z,
101
77
  {
102
- ref: refIframe,
103
- src: importUrl,
104
- storeUrl,
105
- open: true,
106
- componentDid,
107
- loading: currentState.loading,
108
- onClose: handleClose,
109
- onComplete: handleComplete,
110
- onLoad: handleLoad
78
+ ref: l,
79
+ src: b,
80
+ storeUrl: E,
81
+ open: !0,
82
+ componentDid: a,
83
+ loading: e.loading,
84
+ onClose: k,
85
+ onComplete: c,
86
+ onLoad: y
111
87
  }
112
88
  )
113
89
  ] });
114
90
  }
91
+ export {
92
+ $ as default
93
+ };
@@ -1,2 +1,4 @@
1
- import CheckComponent from "../../ComponentInstaller/index.js";
2
- export default CheckComponent;
1
+ import r from "../../ComponentInstaller/index.js";
2
+ export {
3
+ r as default
4
+ };