@arcblock/ux 2.13.69 → 3.0.0
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 +5 -4
- package/lib/RelativeTime/index.js +163 -255
- 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 +227 -307
- 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 +7 -6
- package/lib/Util/index.js +278 -478
- 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 +28 -8
- 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 +43 -14
- 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 +44 -5
- 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
@@ -5,7 +5,7 @@ import lockOutlineIcon from '@iconify-icons/material-symbols/lock-outline';
|
|
5
5
|
import checkCircleIcon from '@iconify-icons/material-symbols/check-circle';
|
6
6
|
import rocketLaunchRoundedIcon from '@iconify-icons/material-symbols/rocket-launch-rounded';
|
7
7
|
import { useMemoizedFn, useReactive } from 'ahooks';
|
8
|
-
import {
|
8
|
+
import { memo, useImperativeHandle, useRef } from 'react';
|
9
9
|
import noop from 'lodash/noop';
|
10
10
|
|
11
11
|
import { Locale } from '../type';
|
@@ -67,212 +67,239 @@ const translations: Record<
|
|
67
67
|
},
|
68
68
|
};
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
70
|
+
function RequestStorageAccessApiDialog({
|
71
|
+
ref,
|
72
|
+
locale = 'en',
|
73
|
+
src,
|
74
|
+
storageAccessState,
|
75
|
+
}: {
|
76
|
+
locale?: Locale;
|
77
|
+
src: string;
|
78
|
+
storageAccessState: StorageAccessState;
|
79
|
+
} & {
|
80
|
+
ref?: React.Ref<unknown>;
|
81
|
+
}) {
|
82
|
+
const sharedBridgeRef = useRef<{ callIframe: (method: string) => Promise<any> }>(null);
|
83
|
+
const currentState = useReactive({
|
84
|
+
callback: noop,
|
85
|
+
open: false,
|
86
|
+
get origin() {
|
87
|
+
try {
|
88
|
+
return new URL(src).origin;
|
89
|
+
} catch (error) {
|
90
|
+
return src;
|
91
|
+
}
|
80
92
|
},
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
}
|
93
|
-
},
|
94
|
-
get host() {
|
95
|
-
try {
|
96
|
-
return new URL(src).host;
|
97
|
-
} catch (error) {
|
98
|
-
return src;
|
99
|
-
}
|
100
|
-
},
|
101
|
-
});
|
102
|
-
const t = useMemoizedFn((key, data = {}) => {
|
103
|
-
return translate(translations, key, locale, 'en', data);
|
104
|
-
});
|
93
|
+
get host() {
|
94
|
+
try {
|
95
|
+
return new URL(src).host;
|
96
|
+
} catch (error) {
|
97
|
+
return src;
|
98
|
+
}
|
99
|
+
},
|
100
|
+
});
|
101
|
+
const t = useMemoizedFn((key, data = {}) => {
|
102
|
+
return translate(translations, key, locale, 'en', data);
|
103
|
+
});
|
105
104
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
105
|
+
const reset = useMemoizedFn(() => {
|
106
|
+
currentState.open = false;
|
107
|
+
currentState.callback = noop;
|
108
|
+
});
|
110
109
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
110
|
+
const open = useMemoizedFn(() => {
|
111
|
+
currentState.open = true;
|
112
|
+
});
|
113
|
+
const close = useMemoizedFn(() => {
|
114
|
+
currentState.open = false;
|
115
|
+
});
|
117
116
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
}
|
117
|
+
const _requestStorageAccess = useMemoizedFn(
|
118
|
+
async (callback: (result: boolean, origin?: 'broswer' | 'system') => void) => {
|
119
|
+
const result = await sharedBridgeRef.current?.callIframe('requestStorageAccess');
|
120
|
+
if (result.value) {
|
121
|
+
callback(true, 'broswer');
|
122
|
+
} else if (storageAccessState === undefined) {
|
123
|
+
// 用户未在当前网页交互过,此时必然需要进行一次弹窗
|
124
|
+
callback(false, 'system');
|
125
|
+
} else if (storageAccessState === 'denied') {
|
126
|
+
// 用户已经明确拒绝过跨站授权,直接弹窗
|
127
|
+
callback(false);
|
128
|
+
} else {
|
129
|
+
// NOTICE: 暂时保留这部分逻辑,后续可能会用上
|
130
|
+
// else if (
|
131
|
+
// result.error?.name === 'NotAllowedError' &&
|
132
|
+
// result.error?.message === 'requestStorageAccess not allowed'
|
133
|
+
// ) {
|
134
|
+
// // 操作被浏览器禁止,需要用户手动与 iframe 交互一次才可以
|
135
|
+
// currentState.open = true;
|
136
|
+
// currentState.callback = callback;
|
137
|
+
// }
|
138
|
+
currentState.open = true;
|
139
|
+
currentState.callback = callback;
|
142
140
|
}
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
});
|
141
|
+
}
|
142
|
+
);
|
143
|
+
const requestStorageAccess = useMemoizedFn(() => {
|
144
|
+
return new Promise((resolve) => {
|
145
|
+
_requestStorageAccess((result, origin) => {
|
146
|
+
reset();
|
147
|
+
resolve({ value: result, origin });
|
150
148
|
});
|
151
149
|
});
|
150
|
+
});
|
152
151
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
152
|
+
const handleAllow = useMemoizedFn(() => {
|
153
|
+
currentState.open = false;
|
154
|
+
});
|
155
|
+
const handleClose = useMemoizedFn(() => {
|
156
|
+
currentState.open = false;
|
157
|
+
currentState.callback(false, 'system');
|
158
|
+
});
|
160
159
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
160
|
+
useImperativeHandle(ref, () => ({
|
161
|
+
open,
|
162
|
+
close,
|
163
|
+
requestStorageAccess,
|
164
|
+
}));
|
166
165
|
|
167
|
-
|
168
|
-
|
169
|
-
|
166
|
+
return (
|
167
|
+
<DIDConnectContainer popup open={currentState.open} onClose={handleClose} keepMounted>
|
168
|
+
<Box
|
169
|
+
sx={{
|
170
|
+
backgroundColor: 'background.default',
|
171
|
+
display: 'flex',
|
172
|
+
flexDirection: 'column',
|
173
|
+
height: '100%',
|
174
|
+
position: 'relative',
|
175
|
+
maxWidth: '100%',
|
176
|
+
transition: 'width 0.2s ease-in-out',
|
177
|
+
margin: 'auto',
|
178
|
+
p: 3,
|
179
|
+
gap: 2,
|
180
|
+
}}>
|
181
|
+
<CloseButton
|
182
|
+
onClose={handleClose}
|
170
183
|
sx={{
|
171
|
-
|
184
|
+
position: 'absolute',
|
185
|
+
right: 14,
|
186
|
+
top: 14,
|
187
|
+
}}
|
188
|
+
/>
|
189
|
+
<Typography
|
190
|
+
component="div"
|
191
|
+
variant="h4"
|
192
|
+
sx={{
|
193
|
+
fontWeight: 700,
|
194
|
+
fontFamily: 'Lexend',
|
172
195
|
display: 'flex',
|
173
|
-
|
174
|
-
|
175
|
-
position: 'relative',
|
176
|
-
maxWidth: '100%',
|
177
|
-
transition: 'width 0.2s ease-in-out',
|
178
|
-
margin: 'auto',
|
179
|
-
p: 3,
|
180
|
-
gap: 2,
|
196
|
+
alignItems: 'center',
|
197
|
+
gap: 1,
|
181
198
|
}}>
|
182
|
-
<
|
183
|
-
|
199
|
+
<Box
|
200
|
+
component={Icon}
|
201
|
+
icon={lockOutlineIcon}
|
184
202
|
sx={{
|
185
|
-
|
186
|
-
|
187
|
-
top: 14,
|
203
|
+
fontSize: 28,
|
204
|
+
color: 'warning.main',
|
188
205
|
}}
|
189
206
|
/>
|
207
|
+
{t('title')}
|
208
|
+
</Typography>
|
209
|
+
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>
|
210
|
+
{/* 不需要随意更改以下内容的格式化,否则会影响到 UI 的展示 */}
|
211
|
+
<Typography>
|
212
|
+
{t('reason', {
|
213
|
+
site: (
|
214
|
+
<Chip
|
215
|
+
clickable
|
216
|
+
component="a"
|
217
|
+
href={currentState.origin}
|
218
|
+
label={currentState.host}
|
219
|
+
size="small"
|
220
|
+
deleteIcon={<Icon icon={externalLinkIcon} />}
|
221
|
+
onDelete={() => {}}
|
222
|
+
target="_blank"
|
223
|
+
/>
|
224
|
+
),
|
225
|
+
})}
|
226
|
+
</Typography>
|
227
|
+
<Typography component="div">
|
228
|
+
{t('clickAllow', {
|
229
|
+
allowButton: <Chip label={t('allow')} size="small" color="success" />,
|
230
|
+
})}
|
231
|
+
</Typography>
|
232
|
+
<Box sx={{ mt: 2 }}>
|
233
|
+
<Typography sx={{ display: 'flex', alignItems: 'center', gap: 1, mb: 0.5 }}>
|
234
|
+
<Box
|
235
|
+
component={Icon}
|
236
|
+
icon={checkCircleIcon}
|
237
|
+
sx={{
|
238
|
+
fontSize: 24,
|
239
|
+
color: 'success.main',
|
240
|
+
}}
|
241
|
+
/>
|
242
|
+
{t('afterAllow.title')}
|
243
|
+
</Typography>
|
244
|
+
<List dense sx={{ py: 0, pl: 2 }}>
|
245
|
+
<ListItem sx={{ display: 'flex', alignItems: 'center', gap: 0.8 }}>
|
246
|
+
<Box
|
247
|
+
component={Icon}
|
248
|
+
icon={rocketLaunchRoundedIcon}
|
249
|
+
sx={{
|
250
|
+
fontSize: 20,
|
251
|
+
color: 'success.main',
|
252
|
+
}}
|
253
|
+
/>
|
254
|
+
{t('afterAllow.list1')}
|
255
|
+
</ListItem>
|
256
|
+
<ListItem sx={{ display: 'flex', alignItems: 'center', gap: 0.8 }}>
|
257
|
+
<Box
|
258
|
+
component={Icon}
|
259
|
+
icon={rocketLaunchRoundedIcon}
|
260
|
+
sx={{
|
261
|
+
fontSize: 20,
|
262
|
+
color: 'success.main',
|
263
|
+
}}
|
264
|
+
/>
|
265
|
+
{t('afterAllow.list2')}
|
266
|
+
</ListItem>
|
267
|
+
</List>
|
268
|
+
</Box>
|
269
|
+
|
190
270
|
<Typography
|
191
271
|
component="div"
|
192
|
-
variant="
|
272
|
+
variant="body2"
|
193
273
|
sx={{
|
194
|
-
|
195
|
-
fontFamily: 'Lexend',
|
196
|
-
display: 'flex',
|
197
|
-
alignItems: 'center',
|
198
|
-
gap: 1,
|
274
|
+
color: 'grey.700',
|
199
275
|
}}>
|
200
|
-
|
201
|
-
{t('title')}
|
276
|
+
{t('dataUsage')}
|
202
277
|
</Typography>
|
203
|
-
|
204
|
-
{/* 不需要随意更改以下内容的格式化,否则会影响到 UI 的展示 */}
|
205
|
-
<Typography>
|
206
|
-
{t('reason', {
|
207
|
-
site: (
|
208
|
-
<Chip
|
209
|
-
clickable
|
210
|
-
component="a"
|
211
|
-
href={currentState.origin}
|
212
|
-
label={currentState.host}
|
213
|
-
size="small"
|
214
|
-
deleteIcon={<Icon icon={externalLinkIcon} />}
|
215
|
-
onDelete={() => {}}
|
216
|
-
target="_blank"
|
217
|
-
/>
|
218
|
-
),
|
219
|
-
})}
|
220
|
-
</Typography>
|
221
|
-
<Typography component="div">
|
222
|
-
{t('clickAllow', {
|
223
|
-
allowButton: <Chip label={t('allow')} size="small" color="success" />,
|
224
|
-
})}
|
225
|
-
</Typography>
|
226
|
-
<Box sx={{ mt: 2 }}>
|
227
|
-
<Typography sx={{ display: 'flex', alignItems: 'center', gap: 1, mb: 0.5 }}>
|
228
|
-
<Box component={Icon} icon={checkCircleIcon} fontSize={24} sx={{ color: 'success.main' }} />
|
229
|
-
{t('afterAllow.title')}
|
230
|
-
</Typography>
|
231
|
-
<List dense sx={{ py: 0, pl: 2 }}>
|
232
|
-
<ListItem sx={{ display: 'flex', alignItems: 'center', gap: 0.8 }}>
|
233
|
-
<Box component={Icon} icon={rocketLaunchRoundedIcon} fontSize={20} sx={{ color: 'success.main' }} />
|
234
|
-
{t('afterAllow.list1')}
|
235
|
-
</ListItem>
|
236
|
-
<ListItem sx={{ display: 'flex', alignItems: 'center', gap: 0.8 }}>
|
237
|
-
<Box component={Icon} icon={rocketLaunchRoundedIcon} fontSize={20} sx={{ color: 'success.main' }} />
|
238
|
-
{t('afterAllow.list2')}
|
239
|
-
</ListItem>
|
240
|
-
</List>
|
241
|
-
</Box>
|
242
|
-
|
243
|
-
<Typography component="div" variant="body2" color="grey.700">
|
244
|
-
{t('dataUsage')}
|
245
|
-
</Typography>
|
246
|
-
</Box>
|
278
|
+
</Box>
|
247
279
|
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
<SharedBridge
|
258
|
-
ref={sharedBridgeRef}
|
259
|
-
onClick={({ value, visitorId }) => {
|
260
|
-
if (visitorId) setVisitorId(visitorId);
|
280
|
+
<Box sx={{ display: 'flex', justifyContent: 'center' }}>
|
281
|
+
<Box sx={{ position: 'relative', display: 'inline-block', cursor: 'pointer' }}>
|
282
|
+
<Button variant="contained" color="success" onClick={handleAllow} sx={{ minWidth: 100, letterSpacing: 1 }}>
|
283
|
+
{t('allow')}
|
284
|
+
</Button>
|
285
|
+
<SharedBridge
|
286
|
+
ref={sharedBridgeRef}
|
287
|
+
onClick={({ value, visitorId }) => {
|
288
|
+
if (visitorId) setVisitorId(visitorId);
|
261
289
|
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
</Box>
|
290
|
+
currentState.callback(value, 'broswer');
|
291
|
+
}}
|
292
|
+
locale={locale}
|
293
|
+
src={src}
|
294
|
+
sx={{
|
295
|
+
zIndex: 1,
|
296
|
+
}}
|
297
|
+
/>
|
271
298
|
</Box>
|
272
299
|
</Box>
|
273
|
-
</
|
274
|
-
|
275
|
-
|
276
|
-
|
300
|
+
</Box>
|
301
|
+
</DIDConnectContainer>
|
302
|
+
);
|
303
|
+
}
|
277
304
|
|
278
305
|
export default memo(RequestStorageAccessApiDialog);
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { memo, useRef, useState } from 'react';
|
2
2
|
import { Dialog, DialogContent, useMediaQuery, Box, Backdrop, SwipeableDrawer, Drawer } from '@mui/material';
|
3
3
|
import { useDebounce, useMemoizedFn } from 'ahooks';
|
4
4
|
import { useBrowser } from '@arcblock/react-hooks';
|
@@ -9,23 +9,22 @@ import { mergeSx } from '../Util/style';
|
|
9
9
|
import { hexToRgba } from '../Util';
|
10
10
|
import { Locale } from '../type';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
);
|
12
|
+
// eslint-disable-next-line react/require-default-props
|
13
|
+
const BackdropWrap = memo(({ ref, ...backdropProps }: { ref?: React.Ref<unknown> }) => {
|
14
|
+
return (
|
15
|
+
<Backdrop
|
16
|
+
open
|
17
|
+
ref={ref}
|
18
|
+
style={{
|
19
|
+
backgroundColor: 'rgba(0, 0, 0, 0.6)',
|
20
|
+
backdropFilter: 'blur(3px)',
|
21
|
+
touchAction: 'none',
|
22
|
+
}}
|
23
|
+
{...backdropProps}
|
24
|
+
key="background"
|
25
|
+
/>
|
26
|
+
);
|
27
|
+
});
|
29
28
|
|
30
29
|
export default function withContainer(Component: React.ComponentType<any>) {
|
31
30
|
function WithContainerComponent({
|
@@ -1,21 +1,27 @@
|
|
1
|
-
import { useState, useRef,
|
1
|
+
import { useState, useRef, isValidElement } from 'react';
|
2
2
|
import PropTypes from 'prop-types';
|
3
3
|
import { TableFilter, TableViewCol } from 'mui-datatables';
|
4
4
|
import ReactToPrint, { PrintContextConsumer } from 'react-to-print';
|
5
|
-
import
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
import
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
5
|
+
import {
|
6
|
+
CloudDownload as DownloadIcon,
|
7
|
+
Print as PrintIcon,
|
8
|
+
ViewColumn as ViewColumnIcon,
|
9
|
+
FilterList as FilterIcon,
|
10
|
+
MoreVert as MoreVertIcon,
|
11
|
+
} from '@mui/icons-material';
|
12
|
+
import {
|
13
|
+
ListItemText,
|
14
|
+
useMediaQuery,
|
15
|
+
LinearProgress,
|
16
|
+
ListItemIcon,
|
17
|
+
Popover,
|
18
|
+
Menu,
|
19
|
+
MenuItem,
|
20
|
+
Tooltip,
|
21
|
+
IconButton,
|
22
|
+
} from '@mui/material';
|
23
|
+
import { useDeepCompareEffect } from 'ahooks';
|
24
|
+
|
19
25
|
import { handleCSVDownload } from './utils';
|
20
26
|
import TableSearch from './TableSearch';
|
21
27
|
import { useDatatableContext } from './DatatableContext';
|
@@ -35,19 +41,19 @@ export default function CustomToolbar(props) {
|
|
35
41
|
const { customPreButtons, customButtons, loading, disabled } = useDatatableContext();
|
36
42
|
|
37
43
|
const {
|
38
|
-
data,
|
44
|
+
data = [],
|
39
45
|
options,
|
40
|
-
components,
|
46
|
+
components = {},
|
41
47
|
columns,
|
42
|
-
filterList,
|
43
|
-
filterData,
|
48
|
+
filterList = [],
|
49
|
+
filterData = [],
|
44
50
|
filterUpdate,
|
45
51
|
resetFilters,
|
46
52
|
updateFilterByType,
|
47
53
|
toggleViewColumn,
|
48
54
|
updateColumns,
|
49
|
-
title,
|
50
|
-
searchText,
|
55
|
+
title = '',
|
56
|
+
searchText = null,
|
51
57
|
searchTextUpdate,
|
52
58
|
searchClose,
|
53
59
|
} = props;
|
@@ -64,7 +70,7 @@ export default function CustomToolbar(props) {
|
|
64
70
|
const TableFilterComponent = components.TableFilter || TableFilter;
|
65
71
|
const TableViewColComponent = components.TableViewCol || TableViewCol;
|
66
72
|
|
67
|
-
|
73
|
+
useDeepCompareEffect(() => {
|
68
74
|
if (loading || disabled) {
|
69
75
|
setAllPopsEl({});
|
70
76
|
}
|
@@ -293,13 +299,14 @@ export default function CustomToolbar(props) {
|
|
293
299
|
</div>
|
294
300
|
{customToolbarEle}
|
295
301
|
</Container>
|
296
|
-
|
297
302
|
<Menu
|
298
303
|
anchorEl={menuIconEl}
|
299
304
|
open={!!menuIconEl}
|
300
305
|
onClose={() => setMenuIconEl(null)}
|
301
|
-
|
302
|
-
|
306
|
+
slotProps={{
|
307
|
+
list: {
|
308
|
+
'aria-labelledby': 'more-button',
|
309
|
+
},
|
303
310
|
}}>
|
304
311
|
{!hidePrint &&
|
305
312
|
printArea(({ handlePrint }) => (
|
@@ -343,15 +350,6 @@ CustomToolbar.propTypes = {
|
|
343
350
|
tableRef: PropTypes.func.isRequired,
|
344
351
|
};
|
345
352
|
|
346
|
-
CustomToolbar.defaultProps = {
|
347
|
-
data: [],
|
348
|
-
components: {},
|
349
|
-
filterList: [],
|
350
|
-
filterData: [],
|
351
|
-
title: '',
|
352
|
-
searchText: null,
|
353
|
-
};
|
354
|
-
|
355
353
|
const Container = styled('div')`
|
356
354
|
display: flex;
|
357
355
|
align-items: center;
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import { Box, IconButton } from '@mui/material';
|
2
|
+
import {
|
3
|
+
LightModeOutlined as LightModeOutlinedIcon,
|
4
|
+
Brightness2Outlined as Brightness2OutlinedIcon,
|
5
|
+
} from '@mui/icons-material';
|
6
|
+
|
7
|
+
import Basic from './demo/basic';
|
8
|
+
import Durable from './demo/durable';
|
9
|
+
import Stripped from './demo/stripped';
|
10
|
+
import LocaleZh from './demo/locale-zh';
|
11
|
+
import ElementTitle from './demo/element-title';
|
12
|
+
import CustomButtons from './demo/custom-buttons';
|
13
|
+
import ColumnWidth from './demo/column-width';
|
14
|
+
import SelectItem from './demo/select-item';
|
15
|
+
import SetTableBodyHeight from './demo/set-table-body-height';
|
16
|
+
import HideTableHeader from './demo/hide-table-header';
|
17
|
+
import ParentContainerHasHeight from './demo/parent-container-has-height';
|
18
|
+
import InFlexHeight from './demo/in-flex-height';
|
19
|
+
import EmptyTable from './demo/empty-table';
|
20
|
+
import VerticalKeyWidth from './demo/vertical-key-width';
|
21
|
+
import CustomCellRender from './demo/custom-cell-render';
|
22
|
+
import SearchOpenAndPlaceholder from './demo/search-open-and-placeholder';
|
23
|
+
import DynamicData from './demo/dynamic-data';
|
24
|
+
import LotsOfData from './demo/lots-of-data';
|
25
|
+
import JumpToPage from './demo/jump-to-page';
|
26
|
+
import { ThemeProvider, useColorScheme } from '../Theme';
|
27
|
+
|
28
|
+
export default {
|
29
|
+
title: 'Data Display/Datatable',
|
30
|
+
|
31
|
+
parameters: {
|
32
|
+
docs: {
|
33
|
+
description: {
|
34
|
+
component: 'Enhanced Datatable component, based on mui-datatables',
|
35
|
+
},
|
36
|
+
},
|
37
|
+
},
|
38
|
+
decorators: [
|
39
|
+
(StoryFn) => (
|
40
|
+
<ThemeProvider prefer="system">
|
41
|
+
<Container>
|
42
|
+
<StoryFn />
|
43
|
+
</Container>
|
44
|
+
</ThemeProvider>
|
45
|
+
),
|
46
|
+
],
|
47
|
+
};
|
48
|
+
|
49
|
+
export {
|
50
|
+
Basic,
|
51
|
+
Durable,
|
52
|
+
Stripped,
|
53
|
+
LocaleZh,
|
54
|
+
ElementTitle,
|
55
|
+
CustomButtons,
|
56
|
+
ColumnWidth,
|
57
|
+
SelectItem,
|
58
|
+
SetTableBodyHeight,
|
59
|
+
HideTableHeader,
|
60
|
+
ParentContainerHasHeight,
|
61
|
+
InFlexHeight,
|
62
|
+
EmptyTable,
|
63
|
+
VerticalKeyWidth,
|
64
|
+
CustomCellRender,
|
65
|
+
SearchOpenAndPlaceholder,
|
66
|
+
DynamicData,
|
67
|
+
LotsOfData,
|
68
|
+
JumpToPage,
|
69
|
+
};
|
70
|
+
|
71
|
+
VerticalKeyWidth.parameters = {
|
72
|
+
viewport: {
|
73
|
+
defaultViewport: 'tablet',
|
74
|
+
},
|
75
|
+
};
|
76
|
+
|
77
|
+
// eslint-disable-next-line react/prop-types
|
78
|
+
function Container({ children }) {
|
79
|
+
const { mode, toggleMode } = useColorScheme();
|
80
|
+
|
81
|
+
return (
|
82
|
+
<Box sx={{ p: 4, backgroundColor: 'background.default', color: 'text.primary' }}>
|
83
|
+
<Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }}>
|
84
|
+
{/* 切换浅色/深色模式 */}
|
85
|
+
<IconButton onClick={toggleMode} color="inherit" sx={{ border: 1, borderColor: 'divider' }}>
|
86
|
+
{mode === 'light' ? <Brightness2OutlinedIcon /> : <LightModeOutlinedIcon />}
|
87
|
+
</IconButton>
|
88
|
+
</Box>
|
89
|
+
{children}
|
90
|
+
</Box>
|
91
|
+
);
|
92
|
+
}
|