@arcblock/ux 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/ActionButton/ActionButton.stories.d.ts +18 -0
- package/lib/ActionButton/index.d.ts +2 -2
- package/lib/ActionButton/index.js +43 -94
- package/lib/ActivityIndicator/ActivityIndicator.stories.d.ts +8 -0
- package/lib/ActivityIndicator/index.d.ts +2 -8
- package/lib/ActivityIndicator/index.js +41 -114
- package/lib/Address/Address.stories.d.ts +16 -0
- package/lib/Address/compact-text.d.ts +4 -14
- package/lib/Address/compact-text.js +40 -98
- package/lib/Address/did-address.d.ts +5 -4
- package/lib/Address/did-address.js +94 -151
- package/lib/Address/index.d.ts +4 -2
- package/lib/Address/index.js +13 -20
- package/lib/Address/responsive-did-address.d.ts +5 -4
- package/lib/Address/responsive-did-address.js +80 -114
- package/lib/Alert/Alert.stories.d.ts +28 -0
- package/lib/Alert/index.d.ts +2 -2
- package/lib/Alert/index.js +56 -102
- package/lib/AnimationWaiter/AnimationWaiter.stories.d.ts +21 -0
- package/lib/AnimationWaiter/{dark-animation.json → dark-animation.json.js} +27 -1
- package/lib/AnimationWaiter/{default-animation.json → default-animation.json.js} +29 -1
- package/lib/AnimationWaiter/index.d.ts +3 -25
- package/lib/AnimationWaiter/index.js +107 -198
- package/lib/Async/index.d.ts +2 -4
- package/lib/Async/index.js +15 -29
- package/lib/Avatar/Avatar.stories.d.ts +11 -0
- package/lib/Avatar/did-motif.d.ts +5 -15
- package/lib/Avatar/did-motif.js +30 -65
- package/lib/Avatar/etherscan-blockies.js +42 -75
- package/lib/Avatar/index.d.ts +3 -19
- package/lib/Avatar/index.js +114 -180
- package/lib/Badge/Badge.stories.d.ts +13 -0
- package/lib/Badge/index.d.ts +3 -3
- package/lib/Badge/index.js +43 -83
- package/lib/Blocklet/Blocklet.stories.d.ts +17 -0
- package/lib/Blocklet/blocklet.d.ts +2 -28
- package/lib/Blocklet/blocklet.js +108 -191
- package/lib/Blocklet/index.d.ts +2 -3
- package/lib/Blocklet/index.js +7 -4
- package/lib/Blocklet/utils.d.ts +1 -1
- package/lib/Blocklet/utils.js +10 -10
- package/lib/BlockletContext/index.d.ts +3 -3
- package/lib/BlockletContext/index.js +32 -57
- package/lib/BlockletNFT/BlockletNFT.stories.d.ts +17 -0
- package/lib/BlockletNFT/index.d.ts +3 -38
- package/lib/BlockletNFT/index.js +123 -245
- package/lib/BlockletV2/Blocklet.stories.d.ts +18 -0
- package/lib/BlockletV2/blocklet.d.ts +2 -2
- package/lib/BlockletV2/blocklet.js +188 -213
- package/lib/BlockletV2/components/icon-text.d.ts +2 -2
- package/lib/BlockletV2/components/icon-text.js +43 -33
- package/lib/BlockletV2/components/tooltip-icon.js +46 -36
- package/lib/BlockletV2/index.d.ts +3 -3
- package/lib/BlockletV2/index.js +9 -5
- package/lib/BlockletV2/utils.d.ts +1 -1
- package/lib/BlockletV2/utils.js +13 -25
- package/lib/Button/Button.stories.d.ts +19 -0
- package/lib/Button/index.d.ts +1 -1
- package/lib/Button/index.js +6 -8
- package/lib/Button/wrap.d.ts +3 -3
- package/lib/Button/wrap.js +48 -131
- package/lib/ButtonGroup/index.d.ts +2 -2
- package/lib/ButtonGroup/index.js +6 -16
- package/lib/CardSelector/index.js +51 -94
- package/lib/Center/Center.stories.d.ts +18 -0
- package/lib/Center/index.js +15 -18
- package/lib/ClickToCopy/ClickToCopy.stories.d.ts +16 -0
- package/lib/ClickToCopy/copy-button.d.ts +3 -2
- package/lib/ClickToCopy/copy-button.js +19 -58
- package/lib/ClickToCopy/hook.d.ts +2 -2
- package/lib/ClickToCopy/hook.js +23 -32
- package/lib/ClickToCopy/index.d.ts +3 -14
- package/lib/ClickToCopy/index.js +23 -75
- package/lib/CloseButton/index.d.ts +1 -1
- package/lib/CloseButton/index.js +34 -28
- package/lib/CodeBlock/CodeBlock.stories.d.ts +20 -0
- package/lib/CodeBlock/LightBox.d.ts +4 -4
- package/lib/CodeBlock/LightBox.js +5 -4
- package/lib/CodeBlock/index.d.ts +1 -2
- package/lib/CodeBlock/index.js +96 -127
- package/lib/Colors/Colors.stories.d.ts +34 -0
- package/lib/Colors/index.js +8 -4
- package/lib/Colors/themes/default.d.ts +1 -1
- package/lib/Colors/themes/default.js +5 -7
- package/lib/Colors/themes/did-connect.js +43 -44
- package/lib/Colors/themes/temp.js +38 -39
- package/lib/Config/Config.stories.d.ts +14 -0
- package/lib/Config/config-provider.d.ts +8 -8
- package/lib/Config/config-provider.js +50 -44
- package/lib/Config/index.js +7 -2
- package/lib/Config/theme-mode-toggle.js +12 -27
- package/lib/ContactForm/ContactForm.stories.d.ts +23 -0
- package/lib/ContactForm/index.d.ts +2 -1
- package/lib/ContactForm/index.js +137 -164
- package/lib/CookieConsent/CookieConsent.stories.d.ts +18 -0
- package/lib/CookieConsent/index.d.ts +2 -2
- package/lib/CookieConsent/index.js +44 -73
- package/lib/CountDown/CountDown.stories.d.ts +14 -0
- package/lib/CountDown/index.d.ts +2 -2
- package/lib/CountDown/index.js +52 -124
- package/lib/DID/DID.stories.d.ts +15 -0
- package/lib/DID/index.d.ts +3 -1
- package/lib/DID/index.js +262 -327
- package/lib/DIDConnect/app-icon.js +26 -31
- package/lib/DIDConnect/app-info-item.js +76 -82
- package/lib/DIDConnect/auth-apps/auth-apps-info.js +71 -63
- package/lib/DIDConnect/auth-apps/index.d.ts +2 -2
- package/lib/DIDConnect/auth-apps/index.js +184 -183
- package/lib/DIDConnect/did-connect-container.js +231 -247
- package/lib/DIDConnect/did-connect-footer.js +66 -68
- package/lib/DIDConnect/did-connect-logo.js +10 -11
- package/lib/DIDConnect/index.js +22 -10
- package/lib/DIDConnect/landing-page.d.ts +1 -1
- package/lib/DIDConnect/landing-page.js +165 -189
- package/lib/DIDConnect/powered-by.js +55 -46
- package/lib/DIDConnect/request-storage-access-api-dialog.d.ts +5 -2
- package/lib/DIDConnect/request-storage-access-api-dialog.js +230 -292
- package/lib/DIDConnect/with-container.js +200 -236
- package/lib/DIDConnect/with-ux-theme.js +15 -22
- package/lib/Datatable/CustomToolbar.d.ts +1 -15
- package/lib/Datatable/CustomToolbar.js +232 -313
- package/lib/Datatable/Datatable.stories.d.ts +32 -0
- package/lib/Datatable/DatatableContext.js +23 -35
- package/lib/Datatable/TableSearch.d.ts +5 -13
- package/lib/Datatable/TableSearch.js +81 -113
- package/lib/Datatable/index.d.ts +12 -13
- package/lib/Datatable/index.js +226 -479
- package/lib/Datatable/utils.js +55 -120
- package/lib/Dialog/Dialog.stories.d.ts +20 -0
- package/lib/Dialog/confirm.d.ts +4 -25
- package/lib/Dialog/confirm.js +99 -125
- package/lib/Dialog/dialog.d.ts +30 -23
- package/lib/Dialog/dialog.js +62 -148
- package/lib/Dialog/index.d.ts +3 -3
- package/lib/Dialog/index.js +8 -4
- package/lib/Dialog/use-confirm.d.ts +3 -3
- package/lib/Dialog/use-confirm.js +91 -171
- package/lib/DidLogo/Logo.stories.d.ts +8 -0
- package/lib/DidLogo/index.js +19 -19
- package/lib/DriftBot/index.js +23 -33
- package/lib/Earth/Earth.stories.d.ts +18 -0
- package/lib/Earth/countries.json.js +13 -0
- package/lib/Earth/index.js +234 -334
- package/lib/Earth/util.js +36 -45
- package/lib/Empty/Empty.stories.d.ts +17 -0
- package/lib/Empty/index.d.ts +3 -11
- package/lib/Empty/index.js +17 -50
- package/lib/ErrorBoundary/ErrorBoundary.stories.d.ts +12 -0
- package/lib/ErrorBoundary/fallback.js +54 -71
- package/lib/ErrorBoundary/index.js +6 -1
- package/lib/Footer/Footer.stories.d.ts +12 -0
- package/lib/Footer/index.d.ts +1 -12
- package/lib/Footer/index.js +53 -100
- package/lib/Header/Header.stories.d.ts +21 -0
- package/lib/Header/addon-button.js +24 -31
- package/lib/Header/auto-hidden.d.ts +1 -1
- package/lib/Header/auto-hidden.js +9 -16
- package/lib/Header/header-addons.d.ts +1 -1
- package/lib/Header/header-addons.js +40 -37
- package/lib/Header/header.d.ts +2 -1
- package/lib/Header/header.js +64 -109
- package/lib/Header/index.js +8 -3
- package/lib/Header/responsive-header.d.ts +1 -1
- package/lib/Header/responsive-header.js +74 -112
- package/lib/Icon/Icon.stories.d.ts +23 -0
- package/lib/Icon/image.d.ts +1 -1
- package/lib/Icon/image.js +32 -33
- package/lib/Icon/index.d.ts +4 -4
- package/lib/Icon/index.js +30 -53
- package/lib/Img/Img.stories.d.ts +13 -0
- package/lib/Img/index.d.ts +6 -32
- package/lib/Img/index.js +126 -204
- package/lib/InfoRow/InfoRow.stories.d.ts +14 -0
- package/lib/InfoRow/index.js +27 -41
- package/lib/Layout/Layout.stories.d.ts +23 -0
- package/lib/Layout/dashboard/external-link.d.ts +1 -1
- package/lib/Layout/dashboard/external-link.js +23 -44
- package/lib/Layout/dashboard/full-page.d.ts +1 -1
- package/lib/Layout/dashboard/full-page.js +31 -48
- package/lib/Layout/dashboard/index.d.ts +4 -4
- package/lib/Layout/dashboard/index.js +134 -211
- package/lib/Layout/dashboard/sidebar.js +44 -78
- package/lib/Layout/dashboard-legacy/header.d.ts +1 -1
- package/lib/Layout/dashboard-legacy/header.js +70 -87
- package/lib/Layout/dashboard-legacy/index.d.ts +2 -2
- package/lib/Layout/dashboard-legacy/index.js +82 -90
- package/lib/Layout/dashboard-legacy/sidebar.d.ts +1 -1
- package/lib/Layout/dashboard-legacy/sidebar.js +44 -76
- package/lib/Layout/index.d.ts +2 -2
- package/lib/Layout/index.js +129 -189
- package/lib/LoadingMask/index.js +91 -82
- package/lib/Locale/LocaleSelector.stories.d.ts +22 -0
- package/lib/Locale/browser-lang.js +23 -52
- package/lib/Locale/context.d.ts +3 -3
- package/lib/Locale/context.js +71 -123
- package/lib/Locale/languages.js +32 -34
- package/lib/Locale/selector.d.ts +2 -2
- package/lib/Locale/selector.js +104 -139
- package/lib/Locale/util.d.ts +1 -1
- package/lib/Locale/util.js +9 -24
- package/lib/Logo/Logo.stories.d.ts +22 -0
- package/lib/Logo/images/logo-dark-text.svg.js +5 -0
- package/lib/Logo/images/logo-dark-top.svg.js +5 -0
- package/lib/Logo/images/logo-light-text.svg.js +5 -0
- package/lib/Logo/images/logo-light-top.svg.js +5 -0
- package/lib/Logo/index.d.ts +1 -1
- package/lib/Logo/index.js +27 -107
- package/lib/Metric/Metric.stories.d.ts +14 -0
- package/lib/Metric/index.js +50 -53
- package/lib/MuiWrap/index.js +11 -19
- package/lib/NFTDisplay/NFTBroken.svg.js +108 -0
- package/lib/NFTDisplay/NFTDisplay.stories.d.ts +15 -0
- package/lib/NFTDisplay/aspect-ratio-container.js +9 -20
- package/lib/NFTDisplay/broken.js +14 -286
- package/lib/NFTDisplay/displayApi.d.ts +1 -1
- package/lib/NFTDisplay/displayApi.js +17 -44
- package/lib/NFTDisplay/index.d.ts +2 -2
- package/lib/NFTDisplay/index.js +160 -343
- package/lib/NFTDisplay/loading.js +9 -9
- package/lib/NFTDisplay/render-svg.js +15 -22
- package/lib/NFTDisplay/svg-embedder/img.js +13 -29
- package/lib/NFTDisplay/svg-embedder/inline-svg.d.ts +1 -1
- package/lib/NFTDisplay/svg-embedder/inline-svg.js +10 -20
- package/lib/NavMenu/NavMenu.stories.d.ts +17 -0
- package/lib/NavMenu/images/OCAP.svg.js +5 -0
- package/lib/NavMenu/images/abt-network.svg.js +7 -0
- package/lib/NavMenu/images/ai-kit.svg.js +7 -0
- package/lib/NavMenu/images/aigne.svg.js +7 -0
- package/lib/NavMenu/images/aistro.svg.js +5 -0
- package/lib/NavMenu/images/arcsphere.svg.js +10 -0
- package/lib/NavMenu/images/blocklet-framework.svg.js +7 -0
- package/lib/NavMenu/images/blocklet-launcher.svg.js +5 -0
- package/lib/NavMenu/images/blocklet-server.svg.js +7 -0
- package/lib/NavMenu/images/blocklet-store.svg.js +5 -0
- package/lib/NavMenu/images/creator-studio.svg.js +7 -0
- package/lib/NavMenu/images/did-connect.svg.js +5 -0
- package/lib/NavMenu/images/did-name-service.svg.js +5 -0
- package/lib/NavMenu/images/did-wallet.svg.js +7 -0
- package/lib/NavMenu/images/did.svg.js +5 -0
- package/lib/NavMenu/images/nft-studio.svg.js +5 -0
- package/lib/NavMenu/images/vc.svg.js +5 -0
- package/lib/NavMenu/images/web3-kit.svg.js +7 -0
- package/lib/NavMenu/index.js +6 -3
- package/lib/NavMenu/nav-menu-context.js +15 -18
- package/lib/NavMenu/nav-menu.d.ts +17 -7
- package/lib/NavMenu/nav-menu.js +219 -355
- package/lib/NavMenu/products.js +264 -1652
- package/lib/NavMenu/style.d.ts +5 -5
- package/lib/NavMenu/style.js +156 -172
- package/lib/NavMenu/sub-container.d.ts +1 -1
- package/lib/NavMenu/sub-container.js +63 -104
- package/lib/NavMenu/sub-item-group.js +15 -33
- package/lib/PageScroller/index.d.ts +1 -1
- package/lib/PageScroller/index.js +116 -252
- package/lib/PageScroller/story/FifthComponent.js +7 -9
- package/lib/PageScroller/story/FirstComponent.js +7 -9
- package/lib/PageScroller/story/FourthComponent.js +7 -12
- package/lib/PageScroller/story/FullPage.js +52 -45
- package/lib/PageScroller/story/PageContain.js +55 -57
- package/lib/PageScroller/story/PageScroller.stories.d.ts +13 -0
- package/lib/PageScroller/story/SecondComponent.js +7 -9
- package/lib/PageScroller/story/ThirdComponent.js +7 -9
- package/lib/PageScroller/usePrevValue.js +10 -8
- package/lib/Passport/index.d.ts +1 -1
- package/lib/Passport/index.js +4 -2
- package/lib/Passport/passport.d.ts +1 -1
- package/lib/Passport/passport.js +123 -100
- package/lib/PhoneInput/PhoneInput.stories.d.ts +12 -0
- package/lib/PhoneInput/country-select.d.ts +2 -2
- package/lib/PhoneInput/country-select.js +111 -159
- package/lib/PhoneInput/index.js +166 -218
- package/lib/PoweredByArcBlock/index.d.ts +1 -1
- package/lib/PoweredByArcBlock/index.js +16 -22
- package/lib/PricingTable/PricingPlan.js +20 -55
- package/lib/PricingTable/PricingTable.stories.d.ts +8 -0
- package/lib/PricingTable/index.d.ts +1 -1
- package/lib/PricingTable/index.js +34 -37
- package/lib/QRCode/QRCode.stories.d.ts +13 -0
- package/lib/QRCode/index.d.ts +1 -1
- package/lib/QRCode/index.js +31 -49
- package/lib/RelativeTime/RelativeTime.stories.d.ts +20 -0
- package/lib/RelativeTime/index.d.ts +3 -3
- package/lib/RelativeTime/index.js +163 -261
- package/lib/Result/Result.stories.d.ts +21 -0
- package/lib/Result/common.d.ts +2 -2
- package/lib/Result/common.js +97 -129
- package/lib/Result/index.d.ts +1 -1
- package/lib/Result/index.js +21 -22
- package/lib/Result/result.js +45 -32
- package/lib/Result/translations.d.ts +1 -1
- package/lib/Result/translations.js +28 -25
- package/lib/Screenshot/BaseScreenshot/index.d.ts +1 -1
- package/lib/Screenshot/BaseScreenshot/index.js +23 -44
- package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +23 -41
- package/lib/Screenshot/BaseScreenshot/shells/Phone.js +24 -26
- package/lib/Screenshot/Screenshot.stories.d.ts +13 -0
- package/lib/Screenshot/demo/images/bg-01.jpg +0 -0
- package/lib/Screenshot/demo/images/bg-02.jpg +0 -0
- package/lib/Screenshot/demo/images/bg-03.jpg +0 -0
- package/lib/Screenshot/index.d.ts +1 -2
- package/lib/Screenshot/index.js +83 -188
- package/lib/SessionBlocklet/index.d.ts +2 -2
- package/lib/SessionBlocklet/index.js +147 -162
- package/lib/SessionManager/SessionManager.stories.d.ts +9 -0
- package/lib/SessionManager/index.d.ts +1 -1
- package/lib/SessionManager/index.js +4 -2
- package/lib/SessionPermission/index.d.ts +1 -0
- package/lib/SessionPermission/index.js +12 -20
- package/lib/SessionUser/components/did-space.js +65 -117
- package/lib/SessionUser/components/logged-in.d.ts +3 -4
- package/lib/SessionUser/components/logged-in.js +215 -292
- package/lib/SessionUser/components/quick-login-item.js +125 -120
- package/lib/SessionUser/components/session-user-item.d.ts +4 -2
- package/lib/SessionUser/components/session-user-item.js +85 -89
- package/lib/SessionUser/components/session-user-switch.d.ts +1 -1
- package/lib/SessionUser/components/session-user-switch.js +187 -187
- package/lib/SessionUser/components/un-login.js +196 -222
- package/lib/SessionUser/components/user-info.d.ts +1 -1
- package/lib/SessionUser/components/user-info.js +163 -150
- package/lib/SessionUser/images/did-spaces.svg.js +5 -0
- package/lib/SessionUser/index.d.ts +1 -1
- package/lib/SessionUser/index.js +27 -30
- package/lib/SessionUser/libs/translation.d.ts +1 -1
- package/lib/SessionUser/libs/translation.js +25 -24
- package/lib/SessionUser/libs/utils.js +33 -23
- package/lib/SharedBridge/index.d.ts +6 -5
- package/lib/SharedBridge/index.js +76 -93
- package/lib/Sparkline/Sparkline.stories.d.ts +12 -0
- package/lib/Sparkline/index.js +67 -183
- package/lib/Spinner/Spinner.stories.d.ts +18 -0
- package/lib/Spinner/index.d.ts +1 -1
- package/lib/Spinner/index.js +10 -20
- package/lib/SplitButton/SplitButton.stories.d.ts +15 -0
- package/lib/SplitButton/index.d.ts +3 -5
- package/lib/SplitButton/index.js +39 -83
- package/lib/Success/index.js +174 -160
- package/lib/Switch/Switch.stories.d.ts +13 -0
- package/lib/Switch/index.d.ts +3 -7
- package/lib/Switch/index.js +51 -87
- package/lib/Tabs/Tabs.stories.d.ts +14 -0
- package/lib/Tabs/index.d.ts +2 -2
- package/lib/Tabs/index.js +169 -186
- package/lib/Tag/Tag.stories.d.ts +13 -0
- package/lib/Tag/index.d.ts +7 -4
- package/lib/Tag/index.js +40 -88
- package/lib/TextCollapse/TextCollapse.stories.d.ts +28 -0
- package/lib/TextCollapse/index.js +34 -51
- package/lib/Theme/Theme.stories.d.ts +10 -0
- package/lib/Theme/index.d.ts +1 -2
- package/lib/Theme/index.js +25 -17
- package/lib/Theme/theme-provider.d.ts +4 -15
- package/lib/Theme/theme-provider.js +111 -232
- package/lib/Theme/theme.d.ts +1 -8
- package/lib/Theme/theme.js +118 -166
- package/lib/Toast/Toast.stories.d.ts +15 -0
- package/lib/Toast/index.d.ts +1 -1
- package/lib/Toast/index.js +46 -67
- package/lib/Typography/index.d.ts +1 -1
- package/lib/Typography/index.js +73 -109
- package/lib/UserCard/Cards/avatar-only.d.ts +1 -1
- package/lib/UserCard/Cards/avatar-only.js +28 -36
- package/lib/UserCard/Cards/basic-info.d.ts +1 -2
- package/lib/UserCard/Cards/basic-info.js +34 -42
- package/lib/UserCard/Cards/index.d.ts +1 -1
- package/lib/UserCard/Cards/index.js +13 -21
- package/lib/UserCard/Cards/name-only.js +12 -18
- package/lib/UserCard/Container/card.d.ts +2 -2
- package/lib/UserCard/Container/card.js +34 -41
- package/lib/UserCard/Container/dialog.d.ts +1 -1
- package/lib/UserCard/Container/dialog.js +27 -27
- package/lib/UserCard/Content/basic.d.ts +1 -2
- package/lib/UserCard/Content/basic.js +198 -306
- package/lib/UserCard/Content/clock.d.ts +2 -0
- package/lib/UserCard/Content/clock.js +85 -71
- package/lib/UserCard/Content/minimal.d.ts +1 -1
- package/lib/UserCard/Content/minimal.js +81 -71
- package/lib/UserCard/Content/shorten-label.js +11 -35
- package/lib/UserCard/Content/tooltip-avatar.d.ts +1 -1
- package/lib/UserCard/Content/tooltip-avatar.js +43 -51
- package/lib/UserCard/UserCard.stories.d.ts +18 -0
- package/lib/UserCard/components.d.ts +1 -1
- package/lib/UserCard/components.js +53 -66
- package/lib/UserCard/index.d.ts +1 -2
- package/lib/UserCard/index.js +59 -111
- package/lib/UserCard/types.d.ts +1 -1
- package/lib/UserCard/types.js +10 -37
- package/lib/UserCard/utils.js +70 -125
- package/lib/Util/WebWalletOpener.stories.d.ts +5 -0
- package/lib/Util/constant.js +47 -46
- package/lib/Util/deprecate.js +11 -26
- package/lib/Util/federated.d.ts +6 -6
- package/lib/Util/federated.js +77 -92
- package/lib/Util/iframe.js +14 -21
- package/lib/Util/index.d.ts +5 -5
- package/lib/Util/index.js +278 -479
- package/lib/Util/logger.d.ts +1 -1
- package/lib/Util/logger.js +17 -25
- package/lib/Util/passport.js +72 -87
- package/lib/Util/security.js +28 -40
- package/lib/Util/style.d.ts +1 -1
- package/lib/Util/style.js +4 -14
- package/lib/Util/wallet.js +16 -30
- package/lib/VerificationCode/index.d.ts +1 -1
- package/lib/VerificationCode/index.js +69 -64
- package/lib/Video/Video.stories.d.ts +6 -0
- package/lib/Video/index.d.ts +1 -9
- package/lib/Video/index.js +26 -60
- package/lib/Wallet/Action.d.ts +1 -10
- package/lib/Wallet/Action.js +37 -65
- package/lib/Wallet/Action.stories.d.ts +8 -0
- package/lib/Wallet/Download.d.ts +3 -16
- package/lib/Wallet/Download.js +41 -440
- package/lib/Wallet/Download.stories.d.ts +9 -0
- package/lib/Wallet/Open.d.ts +1 -1
- package/lib/Wallet/Open.js +27 -27
- package/lib/Wallet/OpenInWallet.stories.d.ts +5 -0
- package/lib/Wallet/images/android_download.svg.js +5 -0
- package/lib/Wallet/images/app-store.svg.js +5 -0
- package/lib/Wallet/images/google-play.svg.js +5 -0
- package/lib/WalletOSIcon/index.js +15 -73
- package/lib/WebWalletSWKeeper/index.js +39 -106
- package/lib/WechatPrompt/images/android.png +0 -0
- package/lib/WechatPrompt/images/ios.png +0 -0
- package/lib/WechatPrompt/index.js +26 -61
- package/lib/hooks/use-blocklet-logo.d.ts +2 -2
- package/lib/hooks/use-blocklet-logo.js +22 -30
- package/lib/hooks/use-clock.d.ts +1 -3
- package/lib/hooks/use-clock.js +34 -67
- package/lib/hooks/use-location-state.js +55 -79
- package/lib/hooks/use-mobile.js +8 -7
- package/lib/index.d.ts +35 -35
- package/lib/index.js +81 -38
- package/lib/ux.css +1 -0
- package/lib/withTheme/index.d.ts +1 -3
- package/lib/withTheme/index.js +28 -37
- package/lib/withTracker/error_boundary.d.ts +1 -1
- package/lib/withTracker/error_boundary.js +15 -29
- package/lib/withTracker/index.js +21 -48
- package/package.json +48 -57
- package/src/ActionButton/ActionButton.stories.jsx +61 -0
- package/src/ActionButton/index.jsx +30 -14
- package/src/ActivityIndicator/ActivityIndicator.stories.jsx +9 -0
- package/src/ActivityIndicator/index.jsx +2 -11
- package/src/Address/Address.stories.jsx +38 -0
- package/src/Address/compact-text.jsx +9 -11
- package/src/Address/did-address.tsx +8 -4
- package/src/Address/index.tsx +12 -9
- package/src/Address/responsive-did-address.tsx +94 -89
- package/src/Alert/Alert.stories.jsx +100 -0
- package/src/Alert/index.jsx +24 -12
- package/src/AnimationWaiter/AnimationWaiter.stories.jsx +35 -0
- package/src/AnimationWaiter/index.jsx +10 -23
- package/src/Async/index.tsx +2 -2
- package/src/Avatar/Avatar.stories.jsx +11 -0
- package/src/Avatar/did-motif.jsx +1 -8
- package/src/Avatar/index.jsx +36 -13
- package/src/Badge/Badge.stories.jsx +41 -0
- package/src/Badge/index.jsx +22 -18
- package/src/Blocklet/Blocklet.stories.jsx +21 -0
- package/src/Blocklet/blocklet.jsx +13 -30
- package/src/BlockletContext/index.tsx +2 -2
- package/src/BlockletNFT/BlockletNFT.stories.jsx +21 -0
- package/src/BlockletNFT/index.jsx +14 -38
- package/src/BlockletV2/Blocklet.stories.jsx +34 -0
- package/src/BlockletV2/blocklet.tsx +69 -29
- package/src/BlockletV2/components/icon-text.tsx +15 -5
- package/src/Button/Button.stories.jsx +24 -0
- package/src/Button/index.js +1 -1
- package/src/Button/wrap.jsx +20 -13
- package/src/ButtonGroup/index.js +1 -1
- package/src/Center/Center.stories.jsx +20 -0
- package/src/ClickToCopy/ClickToCopy.stories.jsx +24 -0
- package/src/ClickToCopy/copy-button.tsx +4 -4
- package/src/ClickToCopy/index.tsx +28 -12
- package/src/CodeBlock/CodeBlock.stories.jsx +22 -0
- package/src/CodeBlock/index.tsx +1 -2
- package/src/Colors/Colors.stories.jsx +211 -0
- package/src/Colors/themes/did-connect.ts +0 -2
- package/src/Config/Config.stories.jsx +16 -0
- package/src/Config/theme-mode-toggle.tsx +4 -2
- package/src/ContactForm/ContactForm.stories.jsx +32 -0
- package/src/ContactForm/index.tsx +2 -2
- package/src/CookieConsent/CookieConsent.stories.jsx +33 -0
- package/src/CookieConsent/index.tsx +1 -1
- package/src/CountDown/CountDown.stories.jsx +15 -0
- package/src/CountDown/index.tsx +11 -6
- package/src/DID/DID.stories.jsx +37 -0
- package/src/DID/index.tsx +8 -3
- package/src/DIDConnect/app-info-item.tsx +2 -2
- package/src/DIDConnect/did-connect-container.tsx +17 -18
- package/src/DIDConnect/request-storage-access-api-dialog.tsx +210 -183
- package/src/DIDConnect/with-container.tsx +17 -18
- package/src/Datatable/CustomToolbar.jsx +32 -34
- package/src/Datatable/Datatable.stories.jsx +92 -0
- package/src/Datatable/DatatableContext.jsx +2 -2
- package/src/Datatable/TableSearch.jsx +10 -12
- package/src/Datatable/index.jsx +36 -58
- package/src/Datatable/utils.js +7 -7
- package/src/Dialog/Dialog.stories.jsx +21 -0
- package/src/Dialog/confirm.jsx +11 -21
- package/src/Dialog/dialog.jsx +9 -20
- package/src/Dialog/use-confirm.jsx +4 -3
- package/src/DidLogo/Logo.stories.jsx +8 -0
- package/src/DriftBot/index.tsx +4 -6
- package/src/Earth/Earth.stories.jsx +39 -0
- package/src/Earth/index.tsx +1 -1
- package/src/Empty/Empty.stories.jsx +23 -0
- package/src/Empty/index.jsx +1 -6
- package/src/ErrorBoundary/ErrorBoundary.stories.jsx +13 -0
- package/src/ErrorBoundary/fallback.tsx +5 -1
- package/src/Footer/Footer.stories.jsx +13 -0
- package/src/Footer/index.tsx +10 -18
- package/src/Header/Header.stories.jsx +30 -0
- package/src/Header/auto-hidden.tsx +1 -1
- package/src/Header/header.tsx +21 -4
- package/src/Header/responsive-header.tsx +11 -13
- package/src/Icon/Icon.stories.jsx +45 -0
- package/src/Icon/index.tsx +12 -24
- package/src/Img/Img.stories.jsx +17 -0
- package/src/Img/index.jsx +14 -30
- package/src/InfoRow/InfoRow.stories.jsx +14 -0
- package/src/InfoRow/index.tsx +5 -5
- package/src/Layout/Layout.stories.jsx +24 -0
- package/src/Layout/dashboard/full-page.tsx +4 -4
- package/src/Layout/dashboard/index.tsx +24 -21
- package/src/Layout/dashboard/sidebar.tsx +1 -1
- package/src/Layout/dashboard-legacy/header.tsx +25 -14
- package/src/Layout/dashboard-legacy/index.tsx +7 -7
- package/src/Layout/dashboard-legacy/sidebar.tsx +1 -3
- package/src/Layout/index.tsx +8 -6
- package/src/Locale/LocaleSelector.stories.jsx +44 -0
- package/src/Locale/context.tsx +2 -2
- package/src/Locale/selector.tsx +10 -17
- package/src/Logo/Logo.stories.jsx +23 -0
- package/src/Metric/Metric.stories.jsx +29 -0
- package/src/NFTDisplay/NFTDisplay.stories.jsx +30 -0
- package/src/NFTDisplay/broken.tsx +1 -1
- package/src/NFTDisplay/displayApi.ts +1 -0
- package/src/NFTDisplay/index.tsx +0 -1
- package/src/NavMenu/NavMenu.stories.jsx +17 -0
- package/src/NavMenu/nav-menu-context.tsx +3 -3
- package/src/NavMenu/nav-menu.tsx +138 -125
- package/src/NavMenu/products.tsx +7 -1
- package/src/NavMenu/style.ts +1 -1
- package/src/PageScroller/index.tsx +2 -2
- package/src/PageScroller/story/PageScroller.stories.jsx +18 -0
- package/src/PageScroller/usePrevValue.ts +1 -1
- package/src/PhoneInput/PhoneInput.stories.jsx +12 -0
- package/src/PhoneInput/country-select.tsx +107 -103
- package/src/PhoneInput/index.tsx +12 -4
- package/src/PricingTable/PricingPlan.tsx +1 -4
- package/src/PricingTable/PricingTable.stories.jsx +38 -0
- package/src/PricingTable/index.tsx +16 -4
- package/src/QRCode/QRCode.stories.jsx +13 -0
- package/src/RelativeTime/RelativeTime.stories.jsx +20 -0
- package/src/RelativeTime/index.tsx +20 -5
- package/src/Result/Result.stories.jsx +61 -0
- package/src/Result/common.tsx +1 -2
- package/src/Result/result.tsx +22 -6
- package/src/Screenshot/Screenshot.stories.jsx +44 -0
- package/src/Screenshot/index.tsx +33 -15
- package/src/SessionManager/SessionManager.stories.jsx +9 -0
- package/src/SessionPermission/index.tsx +1 -0
- package/src/SessionUser/components/logged-in.tsx +0 -2
- package/src/SessionUser/components/quick-login-item.tsx +3 -3
- package/src/SessionUser/components/session-user-item.tsx +68 -70
- package/src/SessionUser/components/session-user-switch.tsx +9 -1
- package/src/SessionUser/components/un-login.tsx +8 -1
- package/src/SharedBridge/index.tsx +106 -111
- package/src/Sparkline/Sparkline.stories.jsx +13 -0
- package/src/Spinner/Spinner.stories.jsx +98 -0
- package/src/Spinner/index.tsx +1 -1
- package/src/SplitButton/SplitButton.stories.jsx +32 -0
- package/src/SplitButton/index.tsx +15 -9
- package/src/Switch/Switch.stories.jsx +16 -0
- package/src/Switch/index.jsx +2 -6
- package/src/Tabs/Tabs.stories.jsx +18 -0
- package/src/Tabs/index.tsx +3 -3
- package/src/Tag/Tag.stories.jsx +15 -0
- package/src/Tag/index.jsx +20 -11
- package/src/TextCollapse/TextCollapse.stories.jsx +73 -0
- package/src/TextCollapse/index.tsx +1 -1
- package/src/Theme/Theme.stories.jsx +10 -0
- package/src/Theme/theme-provider.tsx +10 -18
- package/src/Theme/theme.ts +7 -2
- package/src/Toast/Toast.stories.jsx +28 -0
- package/src/Toast/index.tsx +2 -2
- package/src/Typography/index.tsx +6 -2
- package/src/UserCard/Cards/basic-info.tsx +9 -5
- package/src/UserCard/Container/card.tsx +2 -2
- package/src/UserCard/Content/basic.tsx +39 -38
- package/src/UserCard/Content/clock.tsx +13 -6
- package/src/UserCard/Content/minimal.tsx +23 -7
- package/src/UserCard/Content/tooltip-avatar.tsx +14 -11
- package/src/UserCard/UserCard.stories.jsx +18 -0
- package/src/UserCard/components.tsx +6 -3
- package/src/UserCard/index.tsx +0 -1
- package/src/Util/WebWalletOpener.stories.jsx +5 -0
- package/src/Util/index.ts +37 -3
- package/src/VerificationCode/index.tsx +16 -14
- package/src/Video/Video.stories.jsx +6 -0
- package/src/Video/index.tsx +16 -8
- package/src/Wallet/Action.stories.jsx +8 -0
- package/src/Wallet/Action.tsx +20 -9
- package/src/Wallet/Download.stories.jsx +9 -0
- package/src/Wallet/Download.tsx +36 -14
- package/src/Wallet/Open.tsx +1 -1
- package/src/Wallet/OpenInWallet.stories.jsx +5 -0
- package/src/WechatPrompt/index.tsx +1 -2
- package/src/hooks/use-clock.tsx +2 -1
- package/src/withTheme/index.tsx +1 -4
- package/vite.config.mjs +34 -0
- package/babel.config.es.js +0 -28
- package/lib/Dialog/types.d.ts +0 -20
- package/lib/Earth/countries.json +0 -8057
- package/lib/Header/demo/images/boards.svg +0 -3
- package/lib/Header/demo/images/chatbot.svg +0 -3
- package/lib/Header/demo/images/gallery.svg +0 -3
- package/lib/Logo/images/logo-dark-text.svg +0 -3
- package/lib/Logo/images/logo-dark-top.svg +0 -6
- package/lib/Logo/images/logo-light-text.svg +0 -3
- package/lib/Logo/images/logo-light-top.svg +0 -6
- package/lib/NFTDisplay/NFTBroken.svg +0 -34
- package/lib/NFTDisplay/README.md +0 -59
- package/lib/NFTDisplay/demo/data/asset-state-bad-url.json +0 -7
- package/lib/NFTDisplay/demo/data/asset-state-did-space-svg.json +0 -7
- package/lib/NFTDisplay/demo/data/asset-state-did-space.json +0 -7
- package/lib/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
- package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
- package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
- package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
- package/lib/NFTDisplay/demo/data/asset-state-svg.json +0 -29
- package/lib/NFTDisplay/demo/data/asset-state-url.json +0 -10
- package/lib/NavMenu/images/OCAP.svg +0 -16
- package/lib/NavMenu/images/abt-network.svg +0 -18
- package/lib/NavMenu/images/ai-kit.svg +0 -46
- package/lib/NavMenu/images/aigne.svg +0 -8
- package/lib/NavMenu/images/aistro.svg +0 -14
- package/lib/NavMenu/images/arcsphere.svg +0 -13
- package/lib/NavMenu/images/blocklet-framework.svg +0 -25
- package/lib/NavMenu/images/blocklet-launcher.svg +0 -9
- package/lib/NavMenu/images/blocklet-server.svg +0 -19
- package/lib/NavMenu/images/blocklet-store.svg +0 -11
- package/lib/NavMenu/images/creator-studio.svg +0 -42
- package/lib/NavMenu/images/did-connect.svg +0 -26
- package/lib/NavMenu/images/did-name-service.svg +0 -3
- package/lib/NavMenu/images/did-wallet.svg +0 -33
- package/lib/NavMenu/images/did.svg +0 -3
- package/lib/NavMenu/images/nft-studio.svg +0 -19
- package/lib/NavMenu/images/vc.svg +0 -7
- package/lib/NavMenu/images/web3-kit.svg +0 -56
- package/lib/PageScroller/story/index.css +0 -115
- package/lib/Result/demo/fixtures/result-image-404.svg +0 -1
- package/lib/Screenshot/devices.css +0 -1366
- package/lib/SessionUser/images/did-spaces.svg +0 -17
- package/lib/Wallet/images/android_download.svg +0 -22
- package/lib/Wallet/images/app-store.svg +0 -30
- package/lib/Wallet/images/google-play.svg +0 -69
- package/lib/global.d.ts +0 -28
- package/lib/type.d.ts +0 -44
- package/lib/withTracker/README.md +0 -37
- /package/src/PageScroller/story/{FifthComponent.js → FifthComponent.jsx} +0 -0
- /package/src/PageScroller/story/{FirstComponent.js → FirstComponent.jsx} +0 -0
- /package/src/PageScroller/story/{FourthComponent.js → FourthComponent.jsx} +0 -0
- /package/src/PageScroller/story/{FullPage.js → FullPage.jsx} +0 -0
- /package/src/PageScroller/story/{PageContain.js → PageContain.jsx} +0 -0
- /package/src/PageScroller/story/{SecondComponent.js → SecondComponent.jsx} +0 -0
- /package/src/PageScroller/story/{ThirdComponent.js → ThirdComponent.jsx} +0 -0
@@ -1,7 +1,4 @@
|
|
1
|
-
import Typography from '@mui/material
|
2
|
-
import Box from '@mui/material/Box';
|
3
|
-
import Grid from '@mui/material/Grid';
|
4
|
-
import useTheme from '@mui/material/styles/useTheme';
|
1
|
+
import { Typography, Box, Grid, useTheme } from '@mui/material';
|
5
2
|
import { useCreation, useMemoizedFn } from 'ahooks';
|
6
3
|
import styled from '@emotion/styled';
|
7
4
|
import isArray from 'lodash/isArray';
|
@@ -12,8 +9,8 @@ import PhoneIcon from '@arcblock/icons/lib/Phone';
|
|
12
9
|
import LocationIcon from '@arcblock/icons/lib/Location';
|
13
10
|
import EmailIcon from '@arcblock/icons/lib/Email';
|
14
11
|
import TimezoneIcon from '@arcblock/icons/lib/Timezone';
|
15
|
-
import {
|
16
|
-
import {
|
12
|
+
import { withoutProtocol } from 'ufo';
|
13
|
+
import { useMemo, useCallback } from 'react';
|
17
14
|
|
18
15
|
import { User } from '../types';
|
19
16
|
import Clock from './clock';
|
@@ -50,7 +47,6 @@ const iconSize = {
|
|
50
47
|
};
|
51
48
|
interface BasicContentProps {
|
52
49
|
user: User;
|
53
|
-
isFull?: boolean;
|
54
50
|
renderFields?: string[];
|
55
51
|
}
|
56
52
|
|
@@ -65,7 +61,13 @@ function TimeZoneField({ value }: { value: string }) {
|
|
65
61
|
const theme = useTheme();
|
66
62
|
const isDark = theme.palette.mode === 'dark';
|
67
63
|
return (
|
68
|
-
<Box
|
64
|
+
<Box
|
65
|
+
className="user-card__timezone-field"
|
66
|
+
sx={{
|
67
|
+
display: 'flex',
|
68
|
+
alignItems: 'center',
|
69
|
+
gap: 1,
|
70
|
+
}}>
|
69
71
|
<TimezoneIcon {...iconSize} style={convertIconColor(isDark)} />
|
70
72
|
<Clock value={value} variant="body2" color="grey.800" />
|
71
73
|
</Box>
|
@@ -73,34 +75,12 @@ function TimeZoneField({ value }: { value: string }) {
|
|
73
75
|
}
|
74
76
|
|
75
77
|
function LinkField({ value }: { value: string }) {
|
76
|
-
const [useFallback, setUseFallback] = useState(false);
|
77
78
|
const theme = useTheme();
|
78
79
|
const isDark = theme.palette.mode === 'dark';
|
79
|
-
const faviconUrl = useCreation(() => {
|
80
|
-
try {
|
81
|
-
const url = new URL(value);
|
82
|
-
return joinURL(url.origin, 'favicon.ico');
|
83
|
-
} catch (e) {
|
84
|
-
return '';
|
85
|
-
}
|
86
|
-
}, [value]);
|
87
|
-
|
88
|
-
const handleImageError = () => {
|
89
|
-
setUseFallback(true);
|
90
|
-
};
|
91
80
|
|
92
81
|
return (
|
93
82
|
<Box display="flex" alignItems="center" gap={1} className="user-card__link-field">
|
94
|
-
{
|
95
|
-
<img
|
96
|
-
src={faviconUrl}
|
97
|
-
alt="site icon"
|
98
|
-
style={{ width: 16, height: 16, objectFit: 'contain' }}
|
99
|
-
onError={handleImageError}
|
100
|
-
/>
|
101
|
-
) : (
|
102
|
-
<LinkIcon {...iconSize} style={convertIconColor(isDark)} />
|
103
|
-
)}
|
83
|
+
<LinkIcon {...iconSize} style={convertIconColor(isDark)} />
|
104
84
|
<LineText variant="body2" color="grey.800">
|
105
85
|
<Typography
|
106
86
|
component="a"
|
@@ -108,8 +88,10 @@ function LinkField({ value }: { value: string }) {
|
|
108
88
|
style={{ textDecoration: 'none', color: 'inherit', fontSize: 'inherit' }}
|
109
89
|
target="_blank"
|
110
90
|
variant="body2"
|
111
|
-
|
112
|
-
|
91
|
+
rel="noopener noreferrer"
|
92
|
+
sx={{
|
93
|
+
color: 'grey.800',
|
94
|
+
}}>
|
113
95
|
{formatLinkDisplay(value)}
|
114
96
|
</Typography>
|
115
97
|
</LineText>
|
@@ -123,7 +105,14 @@ function BasicField({ field, value, children }: { field: string; value: string;
|
|
123
105
|
const isDark = theme.palette.mode === 'dark';
|
124
106
|
const iconColor = convertIconColor(isDark);
|
125
107
|
return (
|
126
|
-
<Box
|
108
|
+
<Box
|
109
|
+
key={field}
|
110
|
+
className={`user-card__${field}-field`}
|
111
|
+
sx={{
|
112
|
+
display: 'flex',
|
113
|
+
alignItems: 'center',
|
114
|
+
gap: 1,
|
115
|
+
}}>
|
127
116
|
{Icon ? (
|
128
117
|
<Icon {...iconSize} style={iconColor} />
|
129
118
|
) : (
|
@@ -136,7 +125,7 @@ function BasicField({ field, value, children }: { field: string; value: string;
|
|
136
125
|
);
|
137
126
|
}
|
138
127
|
|
139
|
-
function BasicContent({ user,
|
128
|
+
function BasicContent({ user, renderFields }: BasicContentProps) {
|
140
129
|
const fields = useCreation(() => {
|
141
130
|
return renderFields ?? ['bio', 'email', 'phone', 'location', 'timezone', 'link'];
|
142
131
|
}, [renderFields]);
|
@@ -291,7 +280,14 @@ function BasicContent({ user, isFull = false, renderFields }: BasicContentProps)
|
|
291
280
|
};
|
292
281
|
|
293
282
|
return (
|
294
|
-
<Box
|
283
|
+
<Box
|
284
|
+
className="user-card__basic-content"
|
285
|
+
sx={{
|
286
|
+
mt: 1,
|
287
|
+
display: 'flex',
|
288
|
+
flexDirection: 'column',
|
289
|
+
gap: 1.5,
|
290
|
+
}}>
|
295
291
|
{includeBio && user.metadata?.bio && (
|
296
292
|
<LineText variant="body2" color="grey.800" className="user-card__bio-field">
|
297
293
|
{user.metadata.bio}
|
@@ -301,13 +297,18 @@ function BasicContent({ user, isFull = false, renderFields }: BasicContentProps)
|
|
301
297
|
{useDoubleColumn ? (
|
302
298
|
<Grid container spacing={0.5}>
|
303
299
|
{renderItems.map((item) => (
|
304
|
-
<Grid
|
300
|
+
<Grid key={item.key} size={6}>
|
305
301
|
{renderItem(item)}
|
306
302
|
</Grid>
|
307
303
|
))}
|
308
304
|
</Grid>
|
309
305
|
) : (
|
310
|
-
<Box
|
306
|
+
<Box
|
307
|
+
sx={{
|
308
|
+
display: 'flex',
|
309
|
+
flexDirection: 'column',
|
310
|
+
gap: 0.5,
|
311
|
+
}}>
|
311
312
|
{renderItems.map((item) => renderItem(item))}
|
312
313
|
</Box>
|
313
314
|
)}
|
@@ -1,6 +1,4 @@
|
|
1
|
-
import Tooltip from '@mui/material
|
2
|
-
import Typography from '@mui/material/Typography';
|
3
|
-
import Box from '@mui/material/Box';
|
1
|
+
import { Tooltip, Typography, Box, type SxProps } from '@mui/material';
|
4
2
|
import { useMemoizedFn } from 'ahooks';
|
5
3
|
import useClock from '../../hooks/use-clock';
|
6
4
|
import { translate } from '../../Locale/util';
|
@@ -26,7 +24,7 @@ const translations = {
|
|
26
24
|
},
|
27
25
|
},
|
28
26
|
};
|
29
|
-
export default function Clock({ value, ...props }: { value: string; [key: string]: any }) {
|
27
|
+
export default function Clock({ value, ...props }: { value: string; sx?: SxProps; [key: string]: any }) {
|
30
28
|
const { locale } = useLocaleContext() || { locale: 'en' };
|
31
29
|
const t = useMemoizedFn((key, data = {}) => {
|
32
30
|
return translate(translations, key, locale, 'en', data);
|
@@ -34,7 +32,16 @@ export default function Clock({ value, ...props }: { value: string; [key: string
|
|
34
32
|
const timeInfo = useClock(value, locale);
|
35
33
|
|
36
34
|
return (
|
37
|
-
<Box
|
35
|
+
<Box
|
36
|
+
sx={{
|
37
|
+
display: 'flex',
|
38
|
+
alignItems: 'center',
|
39
|
+
gap: 1,
|
40
|
+
flex: 1,
|
41
|
+
justifyContent: 'flex-start',
|
42
|
+
overflow: 'hidden',
|
43
|
+
width: '100%',
|
44
|
+
}}>
|
38
45
|
<Typography
|
39
46
|
{...props}
|
40
47
|
noWrap
|
@@ -57,9 +64,9 @@ export default function Clock({ value, ...props }: { value: string; [key: string
|
|
57
64
|
arrow>
|
58
65
|
<Typography
|
59
66
|
component="span"
|
60
|
-
fontSize={14}
|
61
67
|
noWrap
|
62
68
|
sx={{
|
69
|
+
fontSize: 14,
|
63
70
|
whiteSpace: 'nowrap',
|
64
71
|
overflow: 'hidden',
|
65
72
|
textOverflow: 'ellipsis',
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { memo } from 'react';
|
2
2
|
import { Typography, Box } from '@mui/material';
|
3
|
-
import DID from '../../DID';
|
3
|
+
import { DID } from '../../DID';
|
4
4
|
import { User, UserCardProps } from '../types';
|
5
5
|
import TooltipAvatar from './tooltip-avatar';
|
6
6
|
import { renderTopRight } from '../components';
|
@@ -32,8 +32,22 @@ function MinimalContent(props: MinimalContentProps) {
|
|
32
32
|
} = props;
|
33
33
|
|
34
34
|
return (
|
35
|
-
<Box
|
36
|
-
|
35
|
+
<Box
|
36
|
+
className="user-card__avatar-content"
|
37
|
+
sx={{
|
38
|
+
display: 'flex',
|
39
|
+
justifyContent: 'space-between',
|
40
|
+
alignItems: 'center',
|
41
|
+
}}>
|
42
|
+
<Box
|
43
|
+
sx={{
|
44
|
+
display: 'flex',
|
45
|
+
justifyContent: 'flex-start',
|
46
|
+
alignItems: 'center',
|
47
|
+
gap: 1,
|
48
|
+
flex: 1,
|
49
|
+
minWidth: 0,
|
50
|
+
}}>
|
37
51
|
<TooltipAvatar
|
38
52
|
user={user}
|
39
53
|
avatarSize={avatarSize}
|
@@ -45,12 +59,14 @@ function MinimalContent(props: MinimalContentProps) {
|
|
45
59
|
<Box>
|
46
60
|
<Typography
|
47
61
|
variant="subtitle1"
|
48
|
-
fontWeight={500}
|
49
|
-
color="text.primary"
|
50
62
|
className="user-card__full-name-label"
|
51
|
-
fontSize={18}
|
52
63
|
noWrap
|
53
|
-
sx={{
|
64
|
+
sx={{
|
65
|
+
fontWeight: 500,
|
66
|
+
color: 'text.primary',
|
67
|
+
fontSize: 18,
|
68
|
+
lineHeight: 1.1,
|
69
|
+
}}>
|
54
70
|
{renderName ? (
|
55
71
|
renderName(user)
|
56
72
|
) : (
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
2
|
+
import { Zoom, Tooltip } from '@mui/material';
|
3
3
|
|
4
|
-
import Zoom from '@mui/material/Zoom';
|
5
4
|
import { User, UserCardProps } from '../types';
|
6
5
|
import { renderAvatar } from '../components';
|
7
6
|
|
@@ -53,18 +52,22 @@ function TooltipAvatar({
|
|
53
52
|
title={renderCardContent ? renderCardContent() : null}
|
54
53
|
placement="bottom"
|
55
54
|
arrow={false}
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
55
|
+
{...(tooltipProps ?? {})}
|
56
|
+
slotProps={{
|
57
|
+
popper: {
|
58
|
+
sx: {
|
59
|
+
'& .MuiTooltip-tooltip': {
|
60
|
+
backgroundColor: 'transparent',
|
61
|
+
p: 0,
|
62
|
+
maxWidth: 500,
|
63
|
+
zIndex: 1000,
|
64
|
+
},
|
64
65
|
},
|
65
66
|
},
|
66
67
|
}}
|
67
|
-
{
|
68
|
+
slots={{
|
69
|
+
transition: Zoom,
|
70
|
+
}}>
|
68
71
|
{avatarElement}
|
69
72
|
</Tooltip>
|
70
73
|
);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export { default as Basic } from './demo/basic';
|
2
|
+
export { default as AvatarWithHover } from './demo/avatarWithHover';
|
3
|
+
export { default as DetailedCard } from './demo/detailedCard';
|
4
|
+
export { default as DidControl } from './demo/didControl';
|
5
|
+
export { default as TopRightContent } from './demo/topRightContent';
|
6
|
+
export { default as CustomFooter } from './demo/customFooter';
|
7
|
+
export { default as DidOnlyAvatar } from './demo/did-only-avatar';
|
8
|
+
|
9
|
+
export default {
|
10
|
+
title: 'Data Display/UserCard',
|
11
|
+
parameters: {
|
12
|
+
docs: {
|
13
|
+
description: {
|
14
|
+
component: 'Used to display user information.',
|
15
|
+
},
|
16
|
+
},
|
17
|
+
},
|
18
|
+
};
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import Box from '@mui/material
|
3
|
-
import MaterialAvatar from '@mui/material/Avatar';
|
2
|
+
import { Box, Avatar as MaterialAvatar } from '@mui/material';
|
4
3
|
import Avatar from '../Avatar';
|
5
4
|
import { User, UserCardProps } from './types';
|
6
5
|
import { createNameOnlyAvatar } from './utils';
|
@@ -43,7 +42,11 @@ export const renderAvatar = (
|
|
43
42
|
|
44
43
|
// 显示用户头像
|
45
44
|
return (
|
46
|
-
<Box
|
45
|
+
<Box
|
46
|
+
className="user-card__avatar"
|
47
|
+
sx={{
|
48
|
+
display: 'flex',
|
49
|
+
}}>
|
47
50
|
<Avatar
|
48
51
|
size={avatarSize}
|
49
52
|
did={user.did}
|
package/src/UserCard/index.tsx
CHANGED
package/src/Util/index.ts
CHANGED
@@ -8,6 +8,14 @@ import pRetry from 'p-retry';
|
|
8
8
|
import Cookies from 'js-cookie';
|
9
9
|
import colorConvert from 'color-convert';
|
10
10
|
import deepmerge, { type DeepmergeOptions } from '@mui/utils/deepmerge';
|
11
|
+
import dayjs from 'dayjs';
|
12
|
+
import 'dayjs/locale/zh-cn';
|
13
|
+
import utc from 'dayjs/plugin/utc';
|
14
|
+
import timezone from 'dayjs/plugin/timezone';
|
15
|
+
import relativeTime from 'dayjs/plugin/relativeTime';
|
16
|
+
import updateLocale from 'dayjs/plugin/updateLocale';
|
17
|
+
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
18
|
+
|
11
19
|
import { DID_PREFIX, BLOCKLET_SERVICE_PATH_PREFIX } from './constant';
|
12
20
|
import type { $TSFixMe, Locale } from '../type';
|
13
21
|
import { getFederatedEnabled } from './federated';
|
@@ -164,9 +172,10 @@ export function mergeProps<P extends object>(
|
|
164
172
|
jsonAttrs: string[] = []
|
165
173
|
) {
|
166
174
|
const newProps = Object.assign({}, props);
|
167
|
-
|
175
|
+
const defaultProps = (component as any).defaultProps || {};
|
176
|
+
Object.keys(defaultProps).forEach((x) => {
|
168
177
|
if (typeof newProps[x] === 'string' && newProps[x].indexOf('::prop::') === 0) {
|
169
|
-
newProps[x] =
|
178
|
+
newProps[x] = defaultProps[x];
|
170
179
|
}
|
171
180
|
});
|
172
181
|
|
@@ -248,7 +257,32 @@ const createDateFormatter =
|
|
248
257
|
(format: string) =>
|
249
258
|
(date: string | number | Date, { locale, tz, isUtc }: { locale?: Locale; tz?: string; isUtc?: boolean } = {}) => {
|
250
259
|
if (dateTool === null) {
|
251
|
-
|
260
|
+
// 作为默认的 dateTool 使用
|
261
|
+
dayjs.extend(localizedFormat);
|
262
|
+
dayjs.extend(utc);
|
263
|
+
dayjs.extend(timezone);
|
264
|
+
dayjs.extend(updateLocale);
|
265
|
+
dayjs.extend(relativeTime);
|
266
|
+
dayjs.updateLocale('zh-cn', {
|
267
|
+
// copy with https://github.com/iamkun/dayjs/blob/dev/src/locale/zh-cn.js
|
268
|
+
relativeTime: {
|
269
|
+
future: '%s后',
|
270
|
+
past: '%s前',
|
271
|
+
s: '几秒',
|
272
|
+
m: '1 分钟',
|
273
|
+
mm: '%d 分钟',
|
274
|
+
h: '1 小时',
|
275
|
+
hh: '%d 小时',
|
276
|
+
d: '1 天',
|
277
|
+
dd: '%d 天',
|
278
|
+
M: '1 个月',
|
279
|
+
MM: '%d 个月',
|
280
|
+
y: '1 年',
|
281
|
+
yy: '%d 年',
|
282
|
+
},
|
283
|
+
});
|
284
|
+
setDateTool(dayjs);
|
285
|
+
// throw new Error('call setDateTool to set the date tool library, such as: setDateTool(dayjs)');
|
252
286
|
}
|
253
287
|
|
254
288
|
if (isNil(date) || date === '') {
|
@@ -45,20 +45,6 @@ export default function VerificationCode({
|
|
45
45
|
key={`code-input-${index}`}
|
46
46
|
value={trim(code[index]) || ''}
|
47
47
|
type="number"
|
48
|
-
inputProps={{
|
49
|
-
maxLength: 1,
|
50
|
-
sx: {
|
51
|
-
textAlign: 'center',
|
52
|
-
fontSize: '1.5rem',
|
53
|
-
'&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
|
54
|
-
WebkitAppearance: 'none',
|
55
|
-
margin: 0,
|
56
|
-
},
|
57
|
-
},
|
58
|
-
autoComplete: 'off',
|
59
|
-
pattern: '[0-9]',
|
60
|
-
inputMode: 'numeric',
|
61
|
-
}}
|
62
48
|
onChange={(e) => {
|
63
49
|
const newCode = code.split('');
|
64
50
|
newCode[index] = e.target.value;
|
@@ -74,6 +60,22 @@ export default function VerificationCode({
|
|
74
60
|
}}
|
75
61
|
required
|
76
62
|
autoComplete="off"
|
63
|
+
slotProps={{
|
64
|
+
htmlInput: {
|
65
|
+
maxLength: 1,
|
66
|
+
sx: {
|
67
|
+
textAlign: 'center',
|
68
|
+
fontSize: '1.5rem',
|
69
|
+
'&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
|
70
|
+
WebkitAppearance: 'none',
|
71
|
+
margin: 0,
|
72
|
+
},
|
73
|
+
},
|
74
|
+
autoComplete: 'off',
|
75
|
+
pattern: '[0-9]',
|
76
|
+
inputMode: 'numeric',
|
77
|
+
},
|
78
|
+
}}
|
77
79
|
/>
|
78
80
|
))}
|
79
81
|
</Box>
|
package/src/Video/index.tsx
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { useState } from 'react';
|
2
2
|
import Player from 'react-player';
|
3
|
-
import CircularProgress from '@mui/material
|
3
|
+
import { CircularProgress } from '@mui/material';
|
4
|
+
import isUndefined from 'lodash/isUndefined';
|
4
5
|
|
5
6
|
import { mergeProps } from '../Util';
|
6
7
|
import { styled } from '../Theme';
|
@@ -12,7 +13,20 @@ export interface VideoProps {
|
|
12
13
|
style?: React.CSSProperties;
|
13
14
|
}
|
14
15
|
|
15
|
-
export default function Video(
|
16
|
+
export default function Video(rawProps: VideoProps) {
|
17
|
+
const props = Object.assign({}, rawProps);
|
18
|
+
// eslint-disable-next-line react/prop-types
|
19
|
+
if (isUndefined(props.width)) {
|
20
|
+
props.width = 640;
|
21
|
+
}
|
22
|
+
// eslint-disable-next-line react/prop-types
|
23
|
+
if (isUndefined(props.height)) {
|
24
|
+
props.height = 400;
|
25
|
+
}
|
26
|
+
// eslint-disable-next-line react/prop-types
|
27
|
+
if (isUndefined(props.style)) {
|
28
|
+
props.style = {};
|
29
|
+
}
|
16
30
|
const newProps = mergeProps(props, Video, ['style']);
|
17
31
|
const { url, width, height, style } = newProps;
|
18
32
|
const [loaded, setLoaded] = useState(false);
|
@@ -40,12 +54,6 @@ export default function Video(props: VideoProps) {
|
|
40
54
|
);
|
41
55
|
}
|
42
56
|
|
43
|
-
Video.defaultProps = {
|
44
|
-
width: 640,
|
45
|
-
height: 400,
|
46
|
-
style: {},
|
47
|
-
};
|
48
|
-
|
49
57
|
const Placeholder = styled('div')`
|
50
58
|
background-color: #222222;
|
51
59
|
display: flex;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export { default as DifferentSizes } from './demo/action-different-sizes';
|
2
|
+
export { default as DifferentAction } from './demo/action-different-action';
|
3
|
+
export { default as TextLayout } from './demo/action-text-layout';
|
4
|
+
export { default as CustomizeStyle } from './demo/action-customize-style';
|
5
|
+
|
6
|
+
export default {
|
7
|
+
title: 'ArcBlock/Wallet/Action',
|
8
|
+
};
|
package/src/Wallet/Action.tsx
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import Typography from '@mui/material
|
1
|
+
import { Typography } from '@mui/material';
|
2
|
+
import isUndefined from 'lodash/isUndefined';
|
2
3
|
|
3
4
|
import logo from './images/abtwallet.png';
|
4
5
|
import { mergeProps } from '../Util';
|
@@ -13,7 +14,24 @@ export interface WalletActionProps {
|
|
13
14
|
style?: React.CSSProperties;
|
14
15
|
}
|
15
16
|
|
16
|
-
export default function WalletAction(
|
17
|
+
export default function WalletAction(rawProps: WalletActionProps) {
|
18
|
+
const props = Object.assign({}, rawProps);
|
19
|
+
// eslint-disable-next-line react/prop-types
|
20
|
+
if (isUndefined(props.action)) {
|
21
|
+
props.action = 'Login';
|
22
|
+
}
|
23
|
+
// eslint-disable-next-line react/prop-types
|
24
|
+
if (isUndefined(props.textLayout)) {
|
25
|
+
props.textLayout = 'vertical';
|
26
|
+
}
|
27
|
+
// eslint-disable-next-line react/prop-types
|
28
|
+
if (isUndefined(props.size)) {
|
29
|
+
props.size = 'medium';
|
30
|
+
}
|
31
|
+
// eslint-disable-next-line react/prop-types
|
32
|
+
if (isUndefined(props.style)) {
|
33
|
+
props.style = {};
|
34
|
+
}
|
17
35
|
const newProps = mergeProps(props, WalletAction, ['style']);
|
18
36
|
const { action, size, textLayout, style = {}, ...rest } = newProps;
|
19
37
|
const styles = Object.assign({}, style, { border: 'none', padding: 0 });
|
@@ -38,13 +56,6 @@ export default function WalletAction(props: WalletActionProps) {
|
|
38
56
|
);
|
39
57
|
}
|
40
58
|
|
41
|
-
WalletAction.defaultProps = {
|
42
|
-
action: 'Login',
|
43
|
-
textLayout: 'vertical' as const,
|
44
|
-
size: 'medium' as const,
|
45
|
-
style: {},
|
46
|
-
};
|
47
|
-
|
48
59
|
const sizes = {
|
49
60
|
logo: {
|
50
61
|
small: 32,
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export { default as VerticalLayout } from './demo/download-vertical-layout';
|
2
|
+
export { default as CustomTitle } from './demo/download-custom-title';
|
3
|
+
export { default as HorizontalLayout1 } from './demo/download-horizontal-layout1';
|
4
|
+
export { default as HorizontalLayout2 } from './demo/download-horizontal-layout2';
|
5
|
+
export { default as HorizontalLayout3 } from './demo/download-horizontal-layout3';
|
6
|
+
|
7
|
+
export default {
|
8
|
+
title: 'ArcBlock/Wallet/Download',
|
9
|
+
};
|
package/src/Wallet/Download.tsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import Typography from '@mui/material/Typography';
|
2
1
|
import useBrowser from '@arcblock/react-hooks/lib/useBrowser';
|
3
|
-
import { type SxProps } from '@mui/material';
|
2
|
+
import { Typography, type SxProps } from '@mui/material';
|
3
|
+
import isUndefined from 'lodash/isUndefined';
|
4
4
|
|
5
5
|
import AppStoreIcon from './images/app-store.svg?react';
|
6
6
|
import GooglePlayIcon from './images/google-play.svg?react';
|
@@ -23,8 +23,41 @@ export interface WalletDownloadProps extends React.HTMLAttributes<HTMLDivElement
|
|
23
23
|
sx?: SxProps;
|
24
24
|
}
|
25
25
|
|
26
|
-
export default function WalletDownload(
|
26
|
+
export default function WalletDownload(rawProps: WalletDownloadProps) {
|
27
27
|
const browser = useBrowser();
|
28
|
+
const props = Object.assign({}, rawProps);
|
29
|
+
// eslint-disable-next-line react/prop-types
|
30
|
+
if (isUndefined(props.title)) {
|
31
|
+
props.title = 'Download DID Wallet';
|
32
|
+
}
|
33
|
+
// eslint-disable-next-line react/prop-types
|
34
|
+
if (isUndefined(props.layout)) {
|
35
|
+
props.layout = 'vertical';
|
36
|
+
}
|
37
|
+
// eslint-disable-next-line react/prop-types
|
38
|
+
if (isUndefined(props.storeLayout)) {
|
39
|
+
props.storeLayout = 'horizontal';
|
40
|
+
}
|
41
|
+
// eslint-disable-next-line react/prop-types
|
42
|
+
if (isUndefined(props.locale)) {
|
43
|
+
props.locale = 'zh';
|
44
|
+
}
|
45
|
+
// eslint-disable-next-line react/prop-types
|
46
|
+
if (isUndefined(props.iosLink)) {
|
47
|
+
props.iosLink = 'https://itunes.apple.com/app/id1460083542';
|
48
|
+
}
|
49
|
+
// eslint-disable-next-line react/prop-types
|
50
|
+
if (isUndefined(props.androidLink)) {
|
51
|
+
props.androidLink = 'https://play.google.com/store/apps/details?id=com.arcblock.wallet.app.product';
|
52
|
+
}
|
53
|
+
// eslint-disable-next-line react/prop-types
|
54
|
+
if (isUndefined(props.androidDownLoadUrl)) {
|
55
|
+
props.androidDownLoadUrl = 'https://releases.arcblockio.cn/arcwallet_android/latest/abtwallet.apk';
|
56
|
+
}
|
57
|
+
// eslint-disable-next-line react/prop-types
|
58
|
+
if (isUndefined(props.style)) {
|
59
|
+
props.style = {};
|
60
|
+
}
|
28
61
|
const newProps = mergeProps(props, WalletDownload, ['style']) as WalletDownloadProps;
|
29
62
|
const { title, children, iosLink, androidLink, androidDownLoadUrl, locale, ...rest } = newProps;
|
30
63
|
|
@@ -87,17 +120,6 @@ export default function WalletDownload(props: WalletDownloadProps) {
|
|
87
120
|
);
|
88
121
|
}
|
89
122
|
|
90
|
-
WalletDownload.defaultProps = {
|
91
|
-
title: 'Download DID Wallet',
|
92
|
-
layout: 'vertical',
|
93
|
-
storeLayout: 'horizontal',
|
94
|
-
iosLink: 'https://itunes.apple.com/app/id1460083542',
|
95
|
-
androidLink: 'https://play.google.com/store/apps/details?id=com.arcblock.wallet.app.product',
|
96
|
-
androidDownLoadUrl: 'https://releases.arcblockio.cn/arcwallet_android/latest/abtwallet.apk',
|
97
|
-
style: {},
|
98
|
-
locale: 'zh',
|
99
|
-
} as const;
|
100
|
-
|
101
123
|
type ContainerProps = {
|
102
124
|
layout?: WalletDownloadProps['layout'];
|
103
125
|
storeLayout?: WalletDownloadProps['storeLayout'];
|
package/src/Wallet/Open.tsx
CHANGED