@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.
- package/lib/@types/index.js +5 -18
- package/lib/BlockletStudio/index.js +75 -89
- package/lib/ComponentInstaller/index.js +153 -190
- package/lib/ComponentInstaller/installer-item.js +56 -55
- package/lib/ComponentInstaller/locales.js +19 -18
- package/lib/ComponentInstaller/use-component-installed.js +49 -80
- package/lib/ComponentManager/components/add-component.js +68 -89
- package/lib/ComponentManager/components/check-component.js +4 -2
- package/lib/ComponentManager/components/publish-component.js +48 -57
- package/lib/ComponentManager/components/resource-dialog.js +41 -55
- package/lib/ComponentManager/index.js +8 -3
- package/lib/ComponentManager/libs/locales.js +8 -5
- package/lib/Dashboard/index.js +88 -124
- package/lib/Footer/brand.js +25 -28
- package/lib/Footer/copyright.js +15 -16
- package/lib/Footer/index.js +55 -65
- package/lib/Footer/internal-footer.js +93 -95
- package/lib/Footer/layout/plain.js +26 -24
- package/lib/Footer/layout/row.js +16 -20
- package/lib/Footer/layout/standard.js +73 -59
- package/lib/Footer/links.js +100 -120
- package/lib/Footer/social-media.js +28 -33
- package/lib/Header/index.js +108 -130
- package/lib/Icon/index.js +43 -59
- package/lib/Notifications/Snackbar.js +114 -151
- package/lib/Notifications/hooks/use-title.js +85 -126
- package/lib/Notifications/hooks/use-width.js +10 -9
- package/lib/Notifications/utils.js +74 -114
- package/lib/UserCenter/components/config-inviter.js +21 -31
- package/lib/UserCenter/components/config-profile.js +41 -47
- package/lib/UserCenter/components/danger-zone.js +88 -93
- package/lib/UserCenter/components/editable-field.js +149 -167
- package/lib/UserCenter/components/nft.js +91 -81
- package/lib/UserCenter/components/notification.js +206 -195
- package/lib/UserCenter/components/passport.js +37 -53
- package/lib/UserCenter/components/privacy.js +53 -64
- package/lib/UserCenter/components/settings.js +117 -128
- package/lib/UserCenter/components/status-dialog/date-picker.js +35 -36
- package/lib/UserCenter/components/status-dialog/index.js +132 -144
- package/lib/UserCenter/components/status-selector/duration-menu.js +53 -48
- package/lib/UserCenter/components/status-selector/index.js +37 -36
- package/lib/UserCenter/components/status-selector/menu-item.js +13 -9
- package/lib/UserCenter/components/storage/action.js +27 -25
- package/lib/UserCenter/components/storage/connected.js +59 -30
- package/lib/UserCenter/components/storage/delete.js +32 -39
- package/lib/UserCenter/components/storage/disconnect.js +43 -25
- package/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg.js +7 -0
- package/lib/UserCenter/components/storage/index.js +24 -18
- package/lib/UserCenter/components/storage/preview-nft.js +35 -36
- package/lib/UserCenter/components/third-party-login/index.js +73 -143
- package/lib/UserCenter/components/third-party-login/third-party-item.js +132 -153
- package/lib/UserCenter/components/user-center.js +345 -461
- package/lib/UserCenter/components/user-info/address.js +120 -100
- package/lib/UserCenter/components/user-info/index.js +10 -4
- package/lib/UserCenter/components/user-info/link-preview-input.js +148 -159
- package/lib/UserCenter/components/user-info/metadata.js +290 -385
- package/lib/UserCenter/components/user-info/switch-role.js +24 -18
- package/lib/UserCenter/components/user-info/timezone-select.js +37 -45
- package/lib/UserCenter/components/user-info/user-basic-info.js +213 -207
- package/lib/UserCenter/components/user-info/user-info-item.js +39 -26
- package/lib/UserCenter/components/user-info/user-info.js +52 -67
- package/lib/UserCenter/components/user-info/user-status.js +111 -154
- package/lib/UserCenter/components/user-info/utils.js +96 -93
- package/lib/UserCenter/components/webhook-item.js +95 -143
- package/lib/UserCenter/index.js +4 -1
- package/lib/UserCenter/libs/locales.js +132 -129
- package/lib/UserCenter/libs/utils.js +17 -22
- package/lib/UserSessions/components/user-session-info.js +30 -26
- package/lib/UserSessions/components/user-sessions.js +222 -268
- package/lib/UserSessions/index.js +4 -1
- package/lib/UserSessions/libs/locales.js +31 -28
- package/lib/UserSessions/libs/utils.js +30 -56
- package/lib/blocklets.js +75 -156
- package/lib/common/domain-warning.js +64 -104
- package/lib/common/header-addons.js +59 -80
- package/lib/common/link-blocker.js +10 -16
- package/lib/common/notification-addon.js +56 -89
- package/lib/common/overridable-theme-provider.js +12 -12
- package/lib/common/wallet-hidden-topbar.js +11 -13
- package/lib/common/ws.js +23 -34
- package/lib/contexts/config-user-space.js +34 -43
- package/lib/hooks/use-mobile.js +7 -4
- package/lib/index.js +25 -10
- package/lib/libs/client.js +5 -2
- package/lib/libs/constant.js +4 -1
- package/lib/libs/spaces.js +11 -11
- package/lib/libs/with-hide-when-embed.js +13 -15
- package/lib/packages/blocklet-ui-react/build.config.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/jest.config.d.ts +8 -0
- package/lib/packages/blocklet-ui-react/lib/@types/index.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/BlockletStudio/index.d.ts +26 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/index.d.ts +18 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/installer-item.d.ts +18 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/locales.d.ts +28 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentInstaller/use-component-installed.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/add-component.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/check-component.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/publish-component.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/components/resource-dialog.d.ts +11 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/index.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/ComponentManager/libs/locales.d.ts +19 -0
- package/lib/packages/blocklet-ui-react/lib/Dashboard/index.d.ts +27 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/brand.d.ts +15 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/copyright.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/index.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/internal-footer.d.ts +29 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/layout/plain.d.ts +19 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/layout/row.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/layout/standard.d.ts +21 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/links.d.ts +20 -0
- package/lib/packages/blocklet-ui-react/lib/Footer/social-media.d.ts +14 -0
- package/lib/packages/blocklet-ui-react/lib/Header/index.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/Icon/index.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/Notifications/Snackbar.d.ts +8 -0
- package/lib/packages/blocklet-ui-react/lib/Notifications/hooks/use-title.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/lib/Notifications/hooks/use-width.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/Notifications/utils.d.ts +10 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/config-inviter.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/config-profile.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/danger-zone.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/editable-field.d.ts +50 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/nft.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/notification.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/passport.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/privacy.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/settings.d.ts +8 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-dialog/date-picker.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-dialog/index.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/duration-menu.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/index.d.ts +8 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/status-selector/menu-item.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/action.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/connected.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/delete.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/disconnect.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/index.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/storage/preview-nft.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/third-party-login/index.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/third-party-login/third-party-item.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-center.d.ts +15 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/address.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/index.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/link-preview-input.d.ts +6 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/metadata.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/switch-role.d.ts +6 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/timezone-select.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-basic-info.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-info-item.d.ts +6 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-info.d.ts +6 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/user-status.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/user-info/utils.d.ts +33 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/components/webhook-item.d.ts +10 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/index.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/libs/locales.d.ts +513 -0
- package/lib/packages/blocklet-ui-react/lib/UserCenter/libs/utils.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/UserSessions/components/user-session-info.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/UserSessions/components/user-sessions.d.ts +8 -0
- package/lib/packages/blocklet-ui-react/lib/UserSessions/index.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/UserSessions/libs/locales.d.ts +88 -0
- package/lib/packages/blocklet-ui-react/lib/UserSessions/libs/utils.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/blocklets.d.ts +18 -0
- package/lib/packages/blocklet-ui-react/lib/common/domain-warning.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/lib/common/header-addons.d.ts +19 -0
- package/lib/packages/blocklet-ui-react/lib/common/link-blocker.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/common/notification-addon.d.ts +10 -0
- package/lib/packages/blocklet-ui-react/lib/common/overridable-theme-provider.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/lib/common/wallet-hidden-topbar.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/common/ws.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/contexts/config-user-space.d.ts +7 -0
- package/lib/packages/blocklet-ui-react/lib/hooks/use-mobile.d.ts +4 -0
- package/lib/packages/blocklet-ui-react/lib/index.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/lib/libs/client.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/libs/constant.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/lib/libs/spaces.d.ts +3 -0
- package/lib/packages/blocklet-ui-react/lib/libs/with-hide-when-embed.d.ts +5 -0
- package/lib/packages/blocklet-ui-react/lib/types.d.ts +37 -0
- package/lib/packages/blocklet-ui-react/lib/utils.d.ts +11 -0
- package/lib/{@types → packages/blocklet-ui-react/src/@types}/index.d.ts +3 -3
- package/lib/{BlockletStudio → packages/blocklet-ui-react/src/BlockletStudio}/index.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/ComponentInstaller/ComponentInstaller.stories.d.ts +9 -0
- package/lib/packages/blocklet-ui-react/src/ComponentInstaller/demo/basic.d.ts +29 -0
- package/lib/packages/blocklet-ui-react/src/ComponentInstaller/demo/mock-optional-components.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/src/ComponentInstaller/index.d.ts +18 -0
- package/lib/packages/blocklet-ui-react/src/ComponentInstaller/installer-item.d.ts +18 -0
- package/lib/{ComponentInstaller → packages/blocklet-ui-react/src/ComponentInstaller}/use-component-installed.d.ts +1 -1
- package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/add-component.d.ts +2 -2
- package/lib/packages/blocklet-ui-react/src/ComponentManager/components/check-component.d.ts +2 -0
- package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/publish-component.d.ts +2 -2
- package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/components/resource-dialog.d.ts +2 -2
- package/lib/packages/blocklet-ui-react/src/Dashboard/Dashboard.stories.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/src/Dashboard/demo/basic.d.ts +29 -0
- package/lib/packages/blocklet-ui-react/src/Dashboard/index.d.ts +30 -0
- package/lib/packages/blocklet-ui-react/src/Footer/Footer.stories.d.ts +19 -0
- package/lib/packages/blocklet-ui-react/src/Footer/brand.d.ts +15 -0
- package/lib/packages/blocklet-ui-react/src/Footer/copyright.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/arcblock-site.d.ts +31 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/brand.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/copyright.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/footer.d.ts +10 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/links.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/src/Footer/demo/social-media-icons.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/src/Footer/index.d.ts +6 -0
- package/lib/packages/blocklet-ui-react/src/Footer/internal-footer.d.ts +32 -0
- package/lib/packages/blocklet-ui-react/src/Footer/layout/plain.d.ts +22 -0
- package/lib/packages/blocklet-ui-react/src/Footer/layout/row.d.ts +13 -0
- package/lib/packages/blocklet-ui-react/src/Footer/layout/standard.d.ts +24 -0
- package/lib/packages/blocklet-ui-react/src/Footer/links.d.ts +23 -0
- package/lib/packages/blocklet-ui-react/src/Footer/social-media.d.ts +14 -0
- package/lib/packages/blocklet-ui-react/src/Header/Header.stories.d.ts +26 -0
- package/lib/packages/blocklet-ui-react/src/Header/demo/addons-customization.d.ts +11 -0
- package/lib/packages/blocklet-ui-react/src/Header/demo/basic.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/src/Header/demo/fixtures/index.d.ts +49 -0
- package/lib/packages/blocklet-ui-react/src/Header/demo/with-enable-connect-enable-locale.d.ts +1 -0
- package/lib/{Header → packages/blocklet-ui-react/src/Header}/index.d.ts +3 -2
- package/lib/packages/blocklet-ui-react/src/Icon/Icon.stories.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/src/Icon/demo/basic.d.ts +1 -0
- package/lib/{Icon → packages/blocklet-ui-react/src/Icon}/index.d.ts +2 -3
- package/lib/packages/blocklet-ui-react/src/Notifications/Snackbar.d.ts +16 -0
- package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/hooks/use-title.d.ts +1 -1
- package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/utils.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/config-inviter.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/config-profile.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/danger-zone.d.ts +1 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/editable-field.d.ts +3 -3
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/nft.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/notification.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/passport.d.ts +5 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/privacy.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/settings.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-dialog/date-picker.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-dialog/index.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/status-selector/duration-menu.d.ts +7 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-selector/index.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/status-selector/menu-item.d.ts +4 -4
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/action.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/connected.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/delete.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/storage/disconnect.d.ts +2 -0
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/storage/index.d.ts +2 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/storage/preview-nft.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/third-party-login/index.d.ts +4 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/third-party-login/third-party-item.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-center.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/address.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/link-preview-input.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/metadata.d.ts +2 -2
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/user-info/switch-role.d.ts +7 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/timezone-select.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-basic-info.d.ts +3 -3
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-info-item.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/UserCenter/components/user-info/user-info.d.ts +6 -0
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/user-status.d.ts +2 -2
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/utils.d.ts +8 -5
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/webhook-item.d.ts +1 -1
- package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/libs/utils.d.ts +1 -1
- package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/components/user-session-info.d.ts +1 -1
- package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/components/user-sessions.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/common/domain-warning.d.ts +12 -0
- package/lib/packages/blocklet-ui-react/src/common/header-addons.d.ts +19 -0
- package/lib/{common → packages/blocklet-ui-react/src/common}/link-blocker.d.ts +1 -1
- package/lib/{common → packages/blocklet-ui-react/src/common}/notification-addon.d.ts +3 -6
- package/lib/{common → packages/blocklet-ui-react/src/common}/overridable-theme-provider.d.ts +5 -8
- package/lib/{contexts → packages/blocklet-ui-react/src/contexts}/config-user-space.d.ts +3 -3
- package/lib/{libs → packages/blocklet-ui-react/src/libs}/with-hide-when-embed.d.ts +1 -1
- package/lib/packages/blocklet-ui-react/src/types.d.ts +36 -0
- package/lib/packages/blocklet-ui-react/tools/auto-exports.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/tools/jest.d.ts +1 -0
- package/lib/packages/blocklet-ui-react/vite.config.d.mts +2 -0
- package/lib/types.js +39 -39
- package/lib/utils.js +61 -175
- package/package.json +28 -34
- package/src/ComponentInstaller/ComponentInstaller.stories.jsx +16 -0
- package/src/ComponentInstaller/index.jsx +11 -27
- package/src/ComponentInstaller/installer-item.jsx +1 -5
- package/src/ComponentManager/components/add-component.tsx +3 -3
- package/src/ComponentManager/components/publish-component.tsx +3 -3
- package/src/Dashboard/Dashboard.stories.jsx +20 -0
- package/src/Dashboard/index.jsx +16 -27
- package/src/Footer/Footer.stories.jsx +32 -0
- package/src/Footer/brand.jsx +1 -7
- package/src/Footer/copyright.jsx +1 -6
- package/src/Footer/index.jsx +1 -6
- package/src/Footer/internal-footer.jsx +26 -16
- package/src/Footer/layout/row.jsx +2 -7
- package/src/Footer/layout/standard.jsx +12 -2
- package/src/Footer/links.jsx +2 -7
- package/src/Footer/social-media.jsx +1 -5
- package/src/Header/Header.stories.jsx +30 -0
- package/src/Header/index.tsx +1 -1
- package/src/Icon/Icon.stories.jsx +12 -0
- package/src/Notifications/Snackbar.tsx +119 -126
- package/src/Notifications/hooks/use-title.tsx +5 -2
- package/src/Notifications/hooks/use-width.tsx +1 -1
- package/src/UserCenter/components/config-profile.tsx +0 -1
- package/src/UserCenter/components/danger-zone.tsx +7 -3
- package/src/UserCenter/components/editable-field.tsx +45 -44
- package/src/UserCenter/components/nft.tsx +21 -9
- package/src/UserCenter/components/notification.tsx +22 -6
- package/src/UserCenter/components/privacy.tsx +1 -1
- package/src/UserCenter/components/settings.tsx +6 -1
- package/src/UserCenter/components/status-dialog/date-picker.tsx +10 -7
- package/src/UserCenter/components/status-dialog/index.tsx +11 -4
- package/src/UserCenter/components/status-selector/duration-menu.tsx +7 -2
- package/src/UserCenter/components/status-selector/index.tsx +7 -1
- package/src/UserCenter/components/status-selector/menu-item.tsx +1 -2
- package/src/UserCenter/components/storage/action.tsx +1 -2
- package/src/UserCenter/components/storage/connected.tsx +18 -5
- package/src/UserCenter/components/storage/delete.tsx +1 -1
- package/src/UserCenter/components/storage/disconnect.tsx +10 -2
- package/src/UserCenter/components/storage/index.tsx +6 -1
- package/src/UserCenter/components/storage/preview-nft.tsx +1 -1
- package/src/UserCenter/components/third-party-login/index.tsx +2 -2
- package/src/UserCenter/components/third-party-login/third-party-item.tsx +11 -7
- package/src/UserCenter/components/user-center.tsx +10 -5
- package/src/UserCenter/components/user-info/address.tsx +12 -6
- package/src/UserCenter/components/user-info/link-preview-input.tsx +36 -51
- package/src/UserCenter/components/user-info/metadata.tsx +45 -39
- package/src/UserCenter/components/user-info/timezone-select.tsx +2 -5
- package/src/UserCenter/components/user-info/user-basic-info.tsx +24 -8
- package/src/UserCenter/components/user-info/user-info-item.tsx +7 -2
- package/src/UserCenter/components/user-info/user-status.tsx +7 -9
- package/src/UserCenter/components/user-info/utils.ts +77 -11
- package/src/UserCenter/components/webhook-item.tsx +4 -2
- package/src/UserSessions/components/user-sessions.tsx +1 -1
- package/src/common/domain-warning.jsx +2 -14
- package/src/common/header-addons.jsx +8 -11
- package/src/common/notification-addon.jsx +1 -7
- package/src/common/overridable-theme-provider.jsx +1 -5
- package/src/common/ws.js +2 -2
- package/src/contexts/config-user-space.tsx +3 -3
- package/vite.config.mjs +31 -0
- package/lib/@types/shims.d.ts +0 -18
- package/lib/ComponentInstaller/index.d.ts +0 -37
- package/lib/ComponentInstaller/installer-item.d.ts +0 -21
- package/lib/ComponentManager/components/check-component.d.ts +0 -2
- package/lib/Dashboard/index.d.ts +0 -44
- package/lib/Footer/brand.d.ts +0 -22
- package/lib/Footer/copyright.d.ts +0 -18
- package/lib/Footer/index.d.ts +0 -6
- package/lib/Footer/internal-footer.d.ts +0 -29
- package/lib/Footer/layout/plain.d.ts +0 -15
- package/lib/Footer/layout/row.d.ts +0 -18
- package/lib/Footer/layout/standard.d.ts +0 -17
- package/lib/Footer/links.d.ts +0 -23
- package/lib/Footer/social-media.d.ts +0 -14
- package/lib/Notifications/Snackbar.d.ts +0 -14
- package/lib/UserCenter/components/danger-zone.d.ts +0 -1
- package/lib/UserCenter/components/passport.d.ts +0 -5
- package/lib/UserCenter/components/status-selector/duration-menu.d.ts +0 -7
- package/lib/UserCenter/components/storage/disconnect.d.ts +0 -2
- package/lib/UserCenter/components/storage/icons/empty-spaces-nft.svg +0 -58
- package/lib/UserCenter/components/storage/icons/long-arrow.svg +0 -5
- package/lib/UserCenter/components/storage/icons/space-connected.svg +0 -3
- package/lib/UserCenter/components/storage/icons/space-disconnect.svg +0 -3
- package/lib/UserCenter/components/storage/index.d.ts +0 -2
- package/lib/UserCenter/components/third-party-login/index.d.ts +0 -4
- package/lib/UserCenter/components/user-info/switch-role.d.ts +0 -7
- package/lib/UserCenter/components/user-info/user-info.d.ts +0 -6
- package/lib/common/domain-warning.d.ts +0 -17
- package/lib/common/header-addons.d.ts +0 -27
- package/lib/types.d.ts +0 -2
- /package/lib/{ComponentInstaller → packages/blocklet-ui-react/src/ComponentInstaller}/locales.d.ts +0 -0
- /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/index.d.ts +0 -0
- /package/lib/{ComponentManager → packages/blocklet-ui-react/src/ComponentManager}/libs/locales.d.ts +0 -0
- /package/lib/{Notifications → packages/blocklet-ui-react/src/Notifications}/hooks/use-width.d.ts +0 -0
- /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/components/user-info/index.d.ts +0 -0
- /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/index.d.ts +0 -0
- /package/lib/{UserCenter → packages/blocklet-ui-react/src/UserCenter}/libs/locales.d.ts +0 -0
- /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/index.d.ts +0 -0
- /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/locales.d.ts +0 -0
- /package/lib/{UserSessions → packages/blocklet-ui-react/src/UserSessions}/libs/utils.d.ts +0 -0
- /package/lib/{blocklets.d.ts → packages/blocklet-ui-react/src/blocklets.d.ts} +0 -0
- /package/lib/{common → packages/blocklet-ui-react/src/common}/wallet-hidden-topbar.d.ts +0 -0
- /package/lib/{common → packages/blocklet-ui-react/src/common}/ws.d.ts +0 -0
- /package/lib/{hooks → packages/blocklet-ui-react/src/hooks}/use-mobile.d.ts +0 -0
- /package/lib/{index.d.ts → packages/blocklet-ui-react/src/index.d.ts} +0 -0
- /package/lib/{libs → packages/blocklet-ui-react/src/libs}/client.d.ts +0 -0
- /package/lib/{libs → packages/blocklet-ui-react/src/libs}/constant.d.ts +0 -0
- /package/lib/{libs → packages/blocklet-ui-react/src/libs}/spaces.d.ts +0 -0
- /package/lib/{utils.d.ts → packages/blocklet-ui-react/src/utils.d.ts} +0 -0
package/lib/Footer/index.js
CHANGED
|
@@ -1,81 +1,71 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import
|
|
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
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { mapRecursive } from "../utils.js";
|
|
12
|
-
import { formatBlockletInfo, getLocalizedNavigation } from "../blocklets.js";
|
|
13
|
-
import { BlockletMetaProps } from "../types.js";
|
|
14
|
-
import
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
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
|
|
22
|
-
} catch (
|
|
23
|
-
console.error("Failed to format blocklet info",
|
|
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
|
-
}, [
|
|
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:
|
|
27
|
+
meta: e,
|
|
28
|
+
theme: t
|
|
33
29
|
});
|
|
34
|
-
if (!
|
|
30
|
+
if (!o.appName)
|
|
35
31
|
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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:
|
|
47
|
-
description:
|
|
48
|
-
logo:
|
|
38
|
+
name: h,
|
|
39
|
+
description: k || y,
|
|
40
|
+
logo: g
|
|
49
41
|
},
|
|
50
|
-
navigation:
|
|
51
|
-
|
|
52
|
-
(
|
|
53
|
-
...
|
|
54
|
-
label:
|
|
55
|
-
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:
|
|
61
|
-
links:
|
|
51
|
+
copyright: v,
|
|
52
|
+
socialMedia: a.socialMedia,
|
|
53
|
+
links: a.links.map((r) => ({ ...r, label: r.title }))
|
|
62
54
|
};
|
|
63
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
66
|
-
meta:
|
|
57
|
+
u.propTypes = {
|
|
58
|
+
meta: R,
|
|
67
59
|
// 允许覆盖 footer 内置的 theme
|
|
68
|
-
theme:
|
|
69
|
-
};
|
|
70
|
-
Footer.defaultProps = {
|
|
71
|
-
meta: {},
|
|
72
|
-
theme: null
|
|
60
|
+
theme: T.object
|
|
73
61
|
};
|
|
74
|
-
const
|
|
75
|
-
${({ $bordered, theme }) => `border-top: 1px solid ${
|
|
76
|
-
color: ${({ theme }) =>
|
|
77
|
-
${({ $bgcolor }) =>
|
|
78
|
-
|
|
79
|
-
|
|
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 {
|
|
2
|
-
import
|
|
3
|
-
import { Box } from "@mui/material";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
const
|
|
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: (
|
|
16
|
-
|
|
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: () =>
|
|
22
|
-
component:
|
|
24
|
+
support: () => !0,
|
|
25
|
+
component: S
|
|
23
26
|
}
|
|
24
|
-
];
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const {
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
79
|
-
brand:
|
|
80
|
-
name:
|
|
81
|
-
description:
|
|
82
|
-
logo:
|
|
82
|
+
_.propTypes = {
|
|
83
|
+
brand: n.shape({
|
|
84
|
+
name: n.node,
|
|
85
|
+
description: n.string,
|
|
86
|
+
logo: n.node
|
|
83
87
|
}),
|
|
84
|
-
navigation:
|
|
85
|
-
|
|
86
|
-
label:
|
|
87
|
-
link:
|
|
88
|
+
navigation: n.arrayOf(
|
|
89
|
+
n.shape({
|
|
90
|
+
label: n.node,
|
|
91
|
+
link: n.string
|
|
88
92
|
})
|
|
89
93
|
),
|
|
90
|
-
socialMedia:
|
|
91
|
-
|
|
92
|
-
icon:
|
|
93
|
-
link:
|
|
94
|
+
socialMedia: n.arrayOf(
|
|
95
|
+
n.shape({
|
|
96
|
+
icon: n.node,
|
|
97
|
+
link: n.string
|
|
94
98
|
})
|
|
95
99
|
),
|
|
96
|
-
copyright:
|
|
97
|
-
owner:
|
|
98
|
-
year:
|
|
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:
|
|
102
|
-
|
|
103
|
-
label:
|
|
104
|
-
link:
|
|
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:
|
|
112
|
+
layout: n.oneOf(["auto", "standard", "plain"])
|
|
109
113
|
};
|
|
110
|
-
|
|
111
|
-
|
|
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 {
|
|
2
|
-
import { cloneElement } from "react";
|
|
3
|
-
import
|
|
4
|
-
import { Container } from "@mui/material";
|
|
5
|
-
import { styled } from "@arcblock/ux/lib/Theme";
|
|
6
|
-
import
|
|
7
|
-
function
|
|
8
|
-
return /* @__PURE__ */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
!
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
20
|
-
elements:
|
|
21
|
-
brand:
|
|
22
|
-
navigation:
|
|
23
|
-
socialMedia:
|
|
24
|
-
copyright:
|
|
25
|
-
links:
|
|
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:
|
|
27
|
+
data: e.object.isRequired
|
|
28
28
|
};
|
|
29
|
-
const
|
|
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
|
|
39
|
+
export {
|
|
40
|
+
s as default
|
|
41
|
+
};
|
package/lib/Footer/layout/row.js
CHANGED
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import Box from "@mui/material
|
|
4
|
-
import { styled } from "@arcblock/ux/lib/Theme";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
13
|
-
children:
|
|
14
|
-
autoCenter:
|
|
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
|
|
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 }) =>
|
|
23
|
+
${({ theme: o }) => o.breakpoints.down("md")} {
|
|
31
24
|
align-items: stretch;
|
|
32
25
|
flex-direction: column;
|
|
33
|
-
gap: ${({ theme }) =>
|
|
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 {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { styled } from "@arcblock/ux/lib/Theme";
|
|
6
|
-
import
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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:
|
|
39
|
-
|
|
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__ */
|
|
46
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
61
|
-
elements:
|
|
62
|
-
brand:
|
|
63
|
-
navigation:
|
|
64
|
-
socialMedia:
|
|
65
|
-
copyright:
|
|
66
|
-
links:
|
|
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:
|
|
69
|
-
className:
|
|
80
|
+
data: o.object.isRequired,
|
|
81
|
+
className: o.string
|
|
70
82
|
};
|
|
71
|
-
const
|
|
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
|
-
${(
|
|
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
|
|
101
|
+
export {
|
|
102
|
+
g as default
|
|
103
|
+
};
|