thirdweb 5.69.0 → 5.70.0-nightly-ecaa304a812188da3c81888bb52ca6064093c139-20241121000332
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/dist/cjs/client/client.js +1 -0
- package/dist/cjs/client/client.js.map +1 -1
- package/dist/cjs/exports/react.js +32 -3
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js +5 -0
- package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
- package/dist/cjs/extensions/pack/createNewPack.js +2 -1
- package/dist/cjs/extensions/pack/createNewPack.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-pack.js +1 -0
- package/dist/cjs/extensions/prebuilts/deploy-pack.js.map +1 -1
- package/dist/cjs/extensions/thirdweb/write/publish.js +4 -0
- package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/cjs/react/core/hooks/others/useChainQuery.js +3 -3
- package/dist/cjs/react/core/hooks/rpc/useBlockNumber.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useCapabilities.js +1 -1
- package/dist/cjs/react/core/hooks/wallets/useSendCalls.js +3 -3
- package/dist/cjs/react/core/providers/connection-manager.js +3 -0
- package/dist/cjs/react/core/providers/connection-manager.js.map +1 -1
- package/dist/cjs/react/core/utils/wallet.js +2 -1
- package/dist/cjs/react/core/utils/wallet.js.map +1 -1
- package/dist/cjs/react/core/utils/walletIcon.js +2 -0
- package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useProfiles.js +1 -1
- package/dist/cjs/react/native/providers/thirdweb-provider.js +1 -0
- package/dist/cjs/react/native/providers/thirdweb-provider.js.map +1 -1
- package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/cjs/react/native/ui/connect/ConnectModal.js +1 -0
- package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/cjs/react/native/ui/transaction/TransactionButton.js +1 -0
- package/dist/cjs/react/native/ui/transaction/TransactionButton.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useProfiles.js +1 -1
- package/dist/cjs/react/web/providers/thirdweb-provider.js +1 -0
- package/dist/cjs/react/web/providers/thirdweb-provider.js.map +1 -1
- package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +19 -4
- package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
- package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js +18 -13
- package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/cjs/react/web/ui/PayEmbed.js +1 -0
- package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/SiteEmbed.js +3 -2
- package/dist/cjs/react/web/ui/SiteEmbed.js.map +1 -1
- package/dist/cjs/react/web/ui/SiteLink.js +2 -1
- package/dist/cjs/react/web/ui/SiteLink.js.map +1 -1
- package/dist/cjs/react/web/ui/TransactionButton/index.js +1 -0
- package/dist/cjs/react/web/ui/TransactionButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js +49 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +144 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +122 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +16 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js +106 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js +43 -0
- package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js +69 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/description.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js +45 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js +82 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/media.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js +68 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js +55 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js +113 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/icon.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js +137 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/name.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/provider.js +54 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/provider.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js +134 -0
- package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
- package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
- package/dist/cjs/storage/unpin.js +1 -1
- package/dist/cjs/storage/upload.js +1 -0
- package/dist/cjs/storage/upload.js.map +1 -1
- package/dist/cjs/transaction/actions/to-serializable-transaction.js +1 -1
- package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +5 -0
- package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +5 -0
- package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/cjs/utils/config.js +9 -0
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/json.js +7 -4
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/eip5792/get-calls-status.js +1 -1
- package/dist/cjs/wallets/eip5792/get-capabilities.js +1 -1
- package/dist/cjs/wallets/eip5792/send-calls.js +2 -2
- package/dist/cjs/wallets/eip5792/wait-for-bundle.js +1 -1
- package/dist/cjs/wallets/in-app/core/users/getUser.js +1 -1
- package/dist/cjs/wallets/in-app/web/ecosystem.js +7 -17
- package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js +2 -17
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -0
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js +17 -16
- package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
- package/dist/cjs/wallets/smart/smart-wallet.js +1 -0
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/esm/client/client.js +1 -0
- package/dist/esm/client/client.js.map +1 -1
- package/dist/esm/exports/react.js +17 -1
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js +5 -0
- package/dist/esm/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
- package/dist/esm/extensions/pack/createNewPack.js +2 -1
- package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-pack.js +1 -0
- package/dist/esm/extensions/prebuilts/deploy-pack.js.map +1 -1
- package/dist/esm/extensions/thirdweb/write/publish.js +4 -0
- package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -1
- package/dist/esm/react/core/hooks/others/useChainQuery.js +3 -3
- package/dist/esm/react/core/hooks/rpc/useBlockNumber.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useCapabilities.js +1 -1
- package/dist/esm/react/core/hooks/wallets/useSendCalls.js +3 -3
- package/dist/esm/react/core/providers/connection-manager.js +3 -0
- package/dist/esm/react/core/providers/connection-manager.js.map +1 -1
- package/dist/esm/react/core/utils/wallet.js +2 -1
- package/dist/esm/react/core/utils/wallet.js.map +1 -1
- package/dist/esm/react/core/utils/walletIcon.js +2 -0
- package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useProfiles.js +1 -1
- package/dist/esm/react/native/providers/thirdweb-provider.js +1 -0
- package/dist/esm/react/native/providers/thirdweb-provider.js.map +1 -1
- package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/esm/react/native/ui/connect/ConnectModal.js +1 -0
- package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
- package/dist/esm/react/native/ui/transaction/TransactionButton.js +1 -0
- package/dist/esm/react/native/ui/transaction/TransactionButton.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useProfiles.js +1 -1
- package/dist/esm/react/web/providers/thirdweb-provider.js +1 -0
- package/dist/esm/react/web/providers/thirdweb-provider.js.map +1 -1
- package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js +1 -0
- package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +19 -4
- package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
- package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Details.js +19 -14
- package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/esm/react/web/ui/PayEmbed.js +1 -0
- package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/SiteEmbed.js +3 -2
- package/dist/esm/react/web/ui/SiteEmbed.js.map +1 -1
- package/dist/esm/react/web/ui/SiteLink.js +2 -1
- package/dist/esm/react/web/ui/SiteLink.js.map +1 -1
- package/dist/esm/react/web/ui/TransactionButton/index.js +1 -0
- package/dist/esm/react/web/ui/TransactionButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/Account/address.js +46 -0
- package/dist/esm/react/web/ui/prebuilt/Account/address.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +141 -0
- package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js +119 -0
- package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +13 -0
- package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/name.js +103 -0
- package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js +39 -0
- package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js +66 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/description.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js +41 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js +79 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/media.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js +65 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js +50 -0
- package/dist/esm/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js +110 -0
- package/dist/esm/react/web/ui/prebuilt/Token/icon.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/name.js +134 -0
- package/dist/esm/react/web/ui/prebuilt/Token/name.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/provider.js +50 -0
- package/dist/esm/react/web/ui/prebuilt/Token/provider.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js +131 -0
- package/dist/esm/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
- package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
- package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
- package/dist/esm/storage/unpin.js +1 -1
- package/dist/esm/storage/upload.js +1 -0
- package/dist/esm/storage/upload.js.map +1 -1
- package/dist/esm/transaction/actions/to-serializable-transaction.js +1 -1
- package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +5 -0
- package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +5 -0
- package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
- package/dist/esm/utils/config.js +9 -0
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/json.js +6 -2
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/eip5792/get-calls-status.js +1 -1
- package/dist/esm/wallets/eip5792/get-capabilities.js +1 -1
- package/dist/esm/wallets/eip5792/send-calls.js +2 -2
- package/dist/esm/wallets/eip5792/wait-for-bundle.js +1 -1
- package/dist/esm/wallets/in-app/core/users/getUser.js +1 -1
- package/dist/esm/wallets/in-app/web/ecosystem.js +7 -17
- package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js +2 -17
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -0
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js +18 -17
- package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
- package/dist/esm/wallets/smart/smart-wallet.js +1 -0
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
- package/dist/types/client/client.d.ts +1 -0
- package/dist/types/client/client.d.ts.map +1 -1
- package/dist/types/exports/react.d.ts +14 -1
- package/dist/types/exports/react.d.ts.map +1 -1
- package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts +5 -0
- package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts.map +1 -1
- package/dist/types/extensions/pack/createNewPack.d.ts +2 -2
- package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
- package/dist/types/extensions/prebuilts/deploy-pack.d.ts +1 -0
- package/dist/types/extensions/prebuilts/deploy-pack.d.ts.map +1 -1
- package/dist/types/extensions/thirdweb/write/publish.d.ts +4 -0
- package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -1
- package/dist/types/react/core/hooks/others/useChainQuery.d.ts +3 -3
- package/dist/types/react/core/hooks/rpc/useBlockNumber.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useCapabilities.d.ts +1 -1
- package/dist/types/react/core/hooks/wallets/useSendCalls.d.ts +3 -3
- package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
- package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
- package/dist/types/react/core/utils/wallet.d.ts +2 -1
- package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
- package/dist/types/react/core/utils/walletIcon.d.ts +2 -0
- package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useProfiles.d.ts +1 -1
- package/dist/types/react/native/providers/thirdweb-provider.d.ts +1 -0
- package/dist/types/react/native/providers/thirdweb-provider.d.ts.map +1 -1
- package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -0
- package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -0
- package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
- package/dist/types/react/native/ui/transaction/TransactionButton.d.ts +1 -0
- package/dist/types/react/native/ui/transaction/TransactionButton.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useProfiles.d.ts +1 -1
- package/dist/types/react/web/providers/thirdweb-provider.d.ts +1 -0
- package/dist/types/react/web/providers/thirdweb-provider.d.ts.map +1 -1
- package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -0
- package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +22 -5
- package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -1
- package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/PayEmbed.d.ts +2 -2
- package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -2
- package/dist/types/react/web/ui/SiteEmbed.d.ts.map +1 -1
- package/dist/types/react/web/ui/SiteLink.d.ts +2 -1
- package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -1
- package/dist/types/react/web/ui/TransactionButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/TransactionButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/Account/address.d.ts +52 -0
- package/dist/types/react/web/ui/prebuilt/Account/address.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts +142 -0
- package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts +137 -0
- package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts +8 -0
- package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts +119 -0
- package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts +45 -0
- package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts +59 -0
- package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts +14 -0
- package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts +75 -0
- package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts +59 -0
- package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts +55 -0
- package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts +95 -0
- package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts +140 -0
- package/dist/types/react/web/ui/prebuilt/Token/name.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts +61 -0
- package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts +137 -0
- package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts.map +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
- package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts +1 -0
- package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts.map +1 -1
- package/dist/types/storage/unpin.d.ts +1 -1
- package/dist/types/storage/upload.d.ts +1 -0
- package/dist/types/storage/upload.d.ts.map +1 -1
- package/dist/types/transaction/actions/to-serializable-transaction.d.ts +1 -1
- package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts +5 -0
- package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +5 -0
- package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts +9 -0
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/json.d.ts +1 -1
- package/dist/types/utils/json.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/eip5792/get-calls-status.d.ts +1 -1
- package/dist/types/wallets/eip5792/get-capabilities.d.ts +1 -1
- package/dist/types/wallets/eip5792/send-calls.d.ts +2 -2
- package/dist/types/wallets/eip5792/wait-for-bundle.d.ts +1 -1
- package/dist/types/wallets/in-app/core/users/getUser.d.ts +1 -1
- package/dist/types/wallets/in-app/web/ecosystem.d.ts +7 -17
- package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/in-app.d.ts +2 -17
- package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -0
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
- package/dist/types/wallets/smart/smart-wallet.d.ts +1 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client/client.ts +1 -0
- package/src/exports/react.ts +56 -2
- package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +1 -1
- package/src/extensions/modules/common/checkModulesCompatibility.ts +5 -0
- package/src/extensions/pack/createNewPack.ts +8 -3
- package/src/extensions/prebuilts/deploy-pack.ts +1 -0
- package/src/extensions/thirdweb/write/publish.ts +4 -0
- package/src/react/core/hooks/others/useChainQuery.ts +3 -3
- package/src/react/core/hooks/rpc/useBlockNumber.ts +1 -1
- package/src/react/core/hooks/wallets/useCapabilities.ts +1 -1
- package/src/react/core/hooks/wallets/useSendCalls.ts +3 -3
- package/src/react/core/providers/connection-manager.tsx +3 -0
- package/src/react/core/utils/wallet.ts +2 -1
- package/src/react/core/utils/walletIcon.ts +2 -0
- package/src/react/native/hooks/wallets/useProfiles.ts +1 -1
- package/src/react/native/providers/thirdweb-provider.tsx +1 -0
- package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -0
- package/src/react/native/ui/connect/ConnectModal.tsx +1 -0
- package/src/react/native/ui/transaction/TransactionButton.tsx +1 -0
- package/src/react/web/hooks/wallets/useProfiles.ts +1 -1
- package/src/react/web/providers/thirdweb-provider.tsx +1 -0
- package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -0
- package/src/react/web/ui/ConnectWallet/Blobbie.tsx +31 -4
- package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +36 -32
- package/src/react/web/ui/ConnectWallet/Details.tsx +91 -58
- package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +1 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +23 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +43 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +2 -3
- package/src/react/web/ui/PayEmbed.tsx +2 -2
- package/src/react/web/ui/SiteEmbed.tsx +3 -2
- package/src/react/web/ui/SiteLink.tsx +2 -1
- package/src/react/web/ui/TransactionButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/Account/address.test.tsx +28 -0
- package/src/react/web/ui/prebuilt/Account/address.tsx +64 -0
- package/src/react/web/ui/prebuilt/Account/avatar.test.tsx +48 -0
- package/src/react/web/ui/prebuilt/Account/avatar.tsx +221 -0
- package/src/react/web/ui/prebuilt/Account/balance.test.tsx +54 -0
- package/src/react/web/ui/prebuilt/Account/balance.tsx +202 -0
- package/src/react/web/ui/prebuilt/Account/blobbie.tsx +12 -0
- package/src/react/web/ui/prebuilt/Account/name.test.tsx +62 -0
- package/src/react/web/ui/prebuilt/Account/name.tsx +175 -0
- package/src/react/web/ui/prebuilt/Account/provider.test.tsx +38 -0
- package/src/react/web/ui/prebuilt/Account/provider.tsx +69 -0
- package/src/react/web/ui/prebuilt/NFT/NFT.test.tsx +17 -14
- package/src/react/web/ui/prebuilt/NFT/description.tsx +87 -0
- package/src/react/web/ui/prebuilt/NFT/hooks.tsx +53 -0
- package/src/react/web/ui/prebuilt/NFT/media.tsx +119 -0
- package/src/react/web/ui/prebuilt/NFT/name.tsx +85 -0
- package/src/react/web/ui/prebuilt/NFT/provider.tsx +75 -0
- package/src/react/web/ui/prebuilt/Token/icon.tsx +164 -0
- package/src/react/web/ui/prebuilt/Token/name.tsx +201 -0
- package/src/react/web/ui/prebuilt/Token/provider.tsx +86 -0
- package/src/react/web/ui/prebuilt/Token/symbol.tsx +201 -0
- package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +1 -0
- package/src/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.tsx +1 -0
- package/src/storage/unpin.ts +1 -1
- package/src/storage/upload.ts +1 -0
- package/src/transaction/actions/to-serializable-transaction.ts +1 -1
- package/src/transaction/actions/zksync/send-eip712-transaction.ts +5 -0
- package/src/utils/any-evm/zksync/isZkSyncChain.ts +5 -0
- package/src/utils/config.ts +9 -0
- package/src/utils/json.ts +8 -2
- package/src/version.ts +1 -1
- package/src/wallets/eip5792/get-calls-status.ts +1 -1
- package/src/wallets/eip5792/get-capabilities.ts +1 -1
- package/src/wallets/eip5792/send-calls.ts +2 -2
- package/src/wallets/eip5792/wait-for-bundle.ts +1 -1
- package/src/wallets/in-app/core/users/getUser.ts +1 -1
- package/src/wallets/in-app/web/ecosystem.ts +7 -17
- package/src/wallets/in-app/web/in-app.ts +2 -17
- package/src/wallets/in-app/web/lib/auth/index.ts +1 -0
- package/src/wallets/in-app/web/lib/auth/passkeys.ts +24 -23
- package/src/wallets/smart/smart-wallet.ts +1 -0
- package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js +0 -217
- package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
- package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js +0 -212
- package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
- package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts +0 -76
- package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts.map +0 -1
- package/src/extensions/prebuilts/deploy-published.test.ts +0 -132
- package/src/react/web/ui/prebuilt/NFT/NFT.tsx +0 -272
- package/src/wallets/smart/smart-wallet-integration-v07.test.ts +0 -270
- package/src/wallets/smart/smart-wallet-integration.test.ts +0 -375
@@ -0,0 +1,122 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.AccountBalance = AccountBalance;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const useActiveWalletChain_js_1 = require("../../../../../react/core/hooks/wallets/useActiveWalletChain.js");
|
8
|
+
const getWalletBalance_js_1 = require("../../../../../wallets/utils/getWalletBalance.js");
|
9
|
+
const provider_js_1 = require("./provider.js");
|
10
|
+
/**
|
11
|
+
* This component fetches and shows the balance of the wallet address on a given chain.
|
12
|
+
* It inherits all the attributes of a HTML <span> component, hence you can style it just like how you would style a normal <span>
|
13
|
+
*
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ### Basic usage
|
17
|
+
* ```tsx
|
18
|
+
* import { AccountProvider, AccountBalance } from "thirdweb/react";
|
19
|
+
* import { ethereum } from "thirdweb/chains";
|
20
|
+
*
|
21
|
+
* <AccountProvider address="0x...">
|
22
|
+
* <AccountBalance chain={ethereum} />
|
23
|
+
* </AccountProvider>
|
24
|
+
* ```
|
25
|
+
* Result:
|
26
|
+
* ```html
|
27
|
+
* <span>1.091435 ETH</span>
|
28
|
+
* ```
|
29
|
+
*
|
30
|
+
*
|
31
|
+
* ### Format the balance (round up, shorten etc.)
|
32
|
+
* The AccountBalance component accepts a `formatFn` which takes in a number and outputs a number
|
33
|
+
* The function is used to modify the display value of the wallet balance
|
34
|
+
*
|
35
|
+
* ```tsx
|
36
|
+
* const roundTo1Decimal = (num: number):number => Math.round(num * 10) / 10;
|
37
|
+
*
|
38
|
+
* <AccountBalance formatFn={roundTo1Decimal} />
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
* Result:
|
42
|
+
* ```html
|
43
|
+
* <span>1.1 ETH</span>
|
44
|
+
* ```
|
45
|
+
*
|
46
|
+
* ### Show a loading sign when the balance is being fetched
|
47
|
+
* ```tsx
|
48
|
+
* import { AccountProvider, AccountBalance } from "thirdweb/react";
|
49
|
+
*
|
50
|
+
* <AccountProvider address="0x...">
|
51
|
+
* <AccountBalance
|
52
|
+
* chain={ethereum}
|
53
|
+
* loadingComponent={<Spinner />}
|
54
|
+
* />
|
55
|
+
* </AccountProvider>
|
56
|
+
* ```
|
57
|
+
*
|
58
|
+
* ### Fallback to something when the balance fails to resolve
|
59
|
+
* ```tsx
|
60
|
+
* <AccountProvider address="0x...">
|
61
|
+
* <AccountBalance
|
62
|
+
* chain={nonExistentChain}
|
63
|
+
* fallbackComponent={"Failed to load"}
|
64
|
+
* />
|
65
|
+
* </AccountProvider>
|
66
|
+
* ```
|
67
|
+
*
|
68
|
+
* ### Custom query options for useQuery
|
69
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
70
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
71
|
+
* ```tsx
|
72
|
+
* <AccountBalance
|
73
|
+
* queryOptions={{
|
74
|
+
* enabled: isEnabled,
|
75
|
+
* retry: 4,
|
76
|
+
* }}
|
77
|
+
* />
|
78
|
+
* ```
|
79
|
+
*
|
80
|
+
* @component
|
81
|
+
* @account
|
82
|
+
* @beta
|
83
|
+
*/
|
84
|
+
function AccountBalance({ chain, tokenAddress, formatFn, loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
85
|
+
const { address, client } = (0, provider_js_1.useAccountContext)();
|
86
|
+
const walletChain = (0, useActiveWalletChain_js_1.useActiveWalletChain)();
|
87
|
+
const chainToLoad = chain || walletChain;
|
88
|
+
const balanceQuery = (0, react_query_1.useQuery)({
|
89
|
+
queryKey: [
|
90
|
+
"walletBalance",
|
91
|
+
chainToLoad?.id || -1,
|
92
|
+
address || "0x0",
|
93
|
+
{ tokenAddress },
|
94
|
+
],
|
95
|
+
queryFn: async () => {
|
96
|
+
if (!chainToLoad) {
|
97
|
+
throw new Error("chain is required");
|
98
|
+
}
|
99
|
+
if (!client) {
|
100
|
+
throw new Error("client is required");
|
101
|
+
}
|
102
|
+
return (0, getWalletBalance_js_1.getWalletBalance)({
|
103
|
+
chain: chainToLoad,
|
104
|
+
client,
|
105
|
+
address,
|
106
|
+
tokenAddress,
|
107
|
+
});
|
108
|
+
},
|
109
|
+
...queryOptions,
|
110
|
+
});
|
111
|
+
if (balanceQuery.isLoading) {
|
112
|
+
return loadingComponent || null;
|
113
|
+
}
|
114
|
+
if (!balanceQuery.data) {
|
115
|
+
return fallbackComponent || null;
|
116
|
+
}
|
117
|
+
const displayValue = formatFn
|
118
|
+
? formatFn(Number(balanceQuery.data.displayValue))
|
119
|
+
: balanceQuery.data.displayValue;
|
120
|
+
return ((0, jsx_runtime_1.jsxs)("span", { ...restProps, children: [displayValue, " ", balanceQuery.data.symbol] }));
|
121
|
+
}
|
122
|
+
//# sourceMappingURL=balance.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Account/balance.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAoJb,wCAqDC;;AAvMD,uDAAuE;AAIvE,6GAAuG;AACvG,0FAG0D;AAC1D,+CAAkD;AA+DlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACQ;IACpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAChD,MAAM,WAAW,GAAG,IAAA,8CAAoB,GAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,IAAI,WAAW,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,sBAAQ,EAAC;QAC5B,QAAQ,EAAE;YACR,eAAe;YACf,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;YACrB,OAAO,IAAI,KAAK;YAChB,EAAE,YAAY,EAAE;SACR;QACV,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,IAAA,sCAAgB,EAAC;gBACtB,KAAK,EAAE,WAAW;gBAClB,MAAM;gBACN,OAAO;gBACP,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;IAEnC,OAAO,CACL,qCAAU,SAAS,aAChB,YAAY,OAAG,YAAY,CAAC,IAAI,CAAC,MAAM,IACnC,CACR,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AccountBlobbie = AccountBlobbie;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const Blobbie_js_1 = require("../../ConnectWallet/Blobbie.js");
|
6
|
+
const provider_js_1 = require("./provider.js");
|
7
|
+
/**
|
8
|
+
* A wrapper for the Blobbie component
|
9
|
+
* @param props BlobbieProps
|
10
|
+
* @beta
|
11
|
+
*/
|
12
|
+
function AccountBlobbie(props) {
|
13
|
+
const { address } = (0, provider_js_1.useAccountContext)();
|
14
|
+
return (0, jsx_runtime_1.jsx)(Blobbie_js_1.Blobbie, { ...props, address: address });
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=blobbie.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"blobbie.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Account/blobbie.tsx"],"names":[],"mappings":";;AAQA,wCAGC;;AAXD,+DAA4E;AAC5E,+CAAkD;AAElD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAoC;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IACxC,OAAO,uBAAC,oBAAO,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;AAClD,CAAC"}
|
@@ -0,0 +1,106 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.AccountName = AccountName;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
7
|
+
const resolve_name_js_1 = require("../../../../../extensions/ens/resolve-name.js");
|
8
|
+
const profiles_js_1 = require("../../../../../social/profiles.js");
|
9
|
+
const provider_js_1 = require("./provider.js");
|
10
|
+
/**
|
11
|
+
* This component is used to display the name of the account.
|
12
|
+
* A "name" in this context is the username, or account of the social profiles that the wallet may have.
|
13
|
+
* In case a name is not found or failed to resolve, you can always fallback to displaying the wallet address instead by using the `fallbackComponent` prop.
|
14
|
+
*
|
15
|
+
* This component inherits all attribute of a native HTML <span> element, so you can style it just like how you would style a <span>.
|
16
|
+
*
|
17
|
+
* @param props
|
18
|
+
* @returns A `<span>` containing the name of the account
|
19
|
+
* ```html
|
20
|
+
* <span>{name}</span>
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* @example
|
24
|
+
* ### Basic usage
|
25
|
+
* ```tsx
|
26
|
+
* import { AccountProvider, AccountName } from "thirdweb/react";
|
27
|
+
*
|
28
|
+
* <AccountProvider address="0x1234...3f3f" client={client}>
|
29
|
+
* <AccountName />
|
30
|
+
* </AccountProvider>
|
31
|
+
* ```
|
32
|
+
*
|
33
|
+
* ### Show wallet address while social name is being loaded
|
34
|
+
* ```tsx
|
35
|
+
* <AccountName
|
36
|
+
* loadingComponent={<AccountAddress />}
|
37
|
+
* />
|
38
|
+
* ```
|
39
|
+
*
|
40
|
+
*
|
41
|
+
* ### Fallback to showing wallet address if fail to resolve social name
|
42
|
+
* ```tsx
|
43
|
+
* <AccountName
|
44
|
+
* fallbackComponent={<AccountAddress />}
|
45
|
+
* />
|
46
|
+
* ```
|
47
|
+
*
|
48
|
+
* ### Transform the account name using `formatFn` prop
|
49
|
+
* ```tsx
|
50
|
+
* import { isAddress, shortenAddress } from "thirdweb/utils";
|
51
|
+
* import { AccountProvider, AccountName } from "thirdweb/react";
|
52
|
+
*
|
53
|
+
* // Let's say we want the name to be capitalized without using CSS
|
54
|
+
* const formatName = (name: string) => name.toUpperCase();
|
55
|
+
*
|
56
|
+
* return <AccountName formatFn={formatName} />
|
57
|
+
* ```
|
58
|
+
*
|
59
|
+
*
|
60
|
+
* ### Custom query options for useQuery
|
61
|
+
* This component uses `@tanstack-query`'s useQuery internally.
|
62
|
+
* You can use the `queryOptions` prop for more fine-grained control
|
63
|
+
* ```tsx
|
64
|
+
* <AccountName
|
65
|
+
* queryOptions={{
|
66
|
+
* enabled: isEnabled,
|
67
|
+
* retry: 3
|
68
|
+
* }}
|
69
|
+
* />
|
70
|
+
* ```
|
71
|
+
*
|
72
|
+
* @component
|
73
|
+
* @account
|
74
|
+
* @beta
|
75
|
+
*/
|
76
|
+
function AccountName({ resolverAddress, resolverChain, socialType, formatFn, queryOptions, loadingComponent, fallbackComponent, ...restProps }) {
|
77
|
+
const { address, client } = (0, provider_js_1.useAccountContext)();
|
78
|
+
const nameQuery = (0, react_query_1.useQuery)({
|
79
|
+
queryKey: ["account-name", address],
|
80
|
+
queryFn: async () => {
|
81
|
+
const [socialData, ensName] = await Promise.all([
|
82
|
+
(0, profiles_js_1.getSocialProfiles)({ address, client }),
|
83
|
+
(0, resolve_name_js_1.resolveName)({
|
84
|
+
client,
|
85
|
+
address,
|
86
|
+
resolverAddress,
|
87
|
+
resolverChain,
|
88
|
+
}),
|
89
|
+
]);
|
90
|
+
const name = socialData?.filter((p) => p.name && (socialType ? p.type === socialType : true))[0]?.name || ensName;
|
91
|
+
if (!name) {
|
92
|
+
throw new Error("Failed to resolve account name");
|
93
|
+
}
|
94
|
+
return formatFn ? formatFn(name) : name;
|
95
|
+
},
|
96
|
+
...queryOptions,
|
97
|
+
});
|
98
|
+
if (nameQuery.isLoading) {
|
99
|
+
return loadingComponent || null;
|
100
|
+
}
|
101
|
+
if (!nameQuery.data) {
|
102
|
+
return fallbackComponent || null;
|
103
|
+
}
|
104
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: nameQuery.data });
|
105
|
+
}
|
106
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Account/name.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgIb,kCA8CC;;AA5KD,uDAAuE;AAGvE,mFAGuD;AACvD,mEAAsE;AAEtE,+CAAkD;AAmDlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,SAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,SAAS,EACK;IACjB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,sBAAQ,EAAC;QACzB,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QACnC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,IAAA,+BAAiB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACtC,IAAA,6BAAW,EAAC;oBACV,MAAM;oBACN,OAAO;oBACP,eAAe;oBACf,aAAa;iBACd,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,GACR,UAAU,EAAE,MAAM,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;YAExB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC;QACD,GAAG,YAAY;KAChB,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,oCAAU,SAAS,YAAG,SAAS,CAAC,IAAI,GAAQ,CAAC;AACtD,CAAC"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.AccountProvider = AccountProvider;
|
5
|
+
exports.useAccountContext = useAccountContext;
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const react_1 = require("react");
|
8
|
+
const AccountProviderContext = /* @__PURE__ */ (0, react_1.createContext)(undefined);
|
9
|
+
/**
|
10
|
+
* A React context provider component that supplies Account-related data to its child components.
|
11
|
+
*
|
12
|
+
* This component serves as a wrapper around the `AccountProviderContext.Provider` and passes
|
13
|
+
* the provided account data down to all of its child components through the context API.
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ```tsx
|
17
|
+
* import { AccountProvider, AccountAvatar, AccountName, AccountAddress } from "thirdweb/react";
|
18
|
+
*
|
19
|
+
* <AccountProvider>
|
20
|
+
* <AccountAvatar />
|
21
|
+
* <AccountName />
|
22
|
+
* <AccountAddress />
|
23
|
+
* </AccountProvider>
|
24
|
+
* ```
|
25
|
+
*
|
26
|
+
* @component
|
27
|
+
* @account
|
28
|
+
* @beta
|
29
|
+
*/
|
30
|
+
function AccountProvider(props) {
|
31
|
+
return ((0, jsx_runtime_1.jsx)(AccountProviderContext.Provider, { value: props, children: props.children }));
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* @internal
|
35
|
+
*/
|
36
|
+
function useAccountContext() {
|
37
|
+
const ctx = (0, react_1.useContext)(AccountProviderContext);
|
38
|
+
if (!ctx) {
|
39
|
+
throw new Error("AccountProviderContext not found. Make sure you are using AccountName, AccountAvatar, etc. inside an <AccountProvider /> component");
|
40
|
+
}
|
41
|
+
return ctx;
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/Account/provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AA+Cb,0CAQC;AAKD,8CAQC;;AAjED,iCAAkD;AAmBlD,MAAM,sBAAsB,GAAG,eAAe,CAAC,IAAA,qBAAa,EAE1D,SAAS,CAAC,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,eAAe,CAC7B,KAAoD;IAEpD,OAAO,CACL,uBAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC1C,KAAK,CAAC,QAAQ,GACiB,CACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,oIAAoI,CACrI,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
"use strict";
|
2
|
+
"use client";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.NFTDescription = NFTDescription;
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
6
|
+
const hooks_js_1 = require("./hooks.js");
|
7
|
+
const provider_js_1 = require("./provider.js");
|
8
|
+
/**
|
9
|
+
* This component fetches and displays an NFT's description. It inherits all the attributes of a <span>
|
10
|
+
* so you can style it just like how you would style a <span> element.
|
11
|
+
* @returns A <span> element containing the description of the NFT
|
12
|
+
*
|
13
|
+
* @example
|
14
|
+
* ### Basic usage
|
15
|
+
* ```tsx
|
16
|
+
* import { NFTProvider, NFTDescription } from "thirdweb/react";
|
17
|
+
*
|
18
|
+
* <NFTProvider>
|
19
|
+
* <NFTDescription />
|
20
|
+
* </NFTProvider>
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* ### Show a loading sign while the description is being fetched
|
24
|
+
* ```tsx
|
25
|
+
* import { NFTProvider, NFTDescription } from "thirdweb/react";
|
26
|
+
*
|
27
|
+
* <NFTProvider>
|
28
|
+
* <NFTDescription loadingComponent={<YourLoadingSign />} />
|
29
|
+
* </NFTProvider>
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* ### Show something in case the description failed to resolve
|
33
|
+
* ```tsx
|
34
|
+
* import { NFTProvider, NFTDescription } from "thirdweb/react";
|
35
|
+
*
|
36
|
+
* <NFTProvider>
|
37
|
+
* <NFTDescription fallbackComponent={<span>Failed to load description</span>} />
|
38
|
+
* </NFTProvider>
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
* ### Custom query options for useQuery (tanstack-query)
|
42
|
+
* ```tsx
|
43
|
+
* import { NFTProvider, NFTDescription } from "thirdweb/react";
|
44
|
+
*
|
45
|
+
* <NFTProvider>
|
46
|
+
* <NFTDescription queryOptions={{ retry: 3, enabled: false, }} />
|
47
|
+
* </NFTProvider>
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* @component
|
51
|
+
* @nft
|
52
|
+
* @beta
|
53
|
+
*/
|
54
|
+
function NFTDescription({ loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
55
|
+
const { contract, tokenId } = (0, provider_js_1.useNFTContext)();
|
56
|
+
const nftQuery = (0, hooks_js_1.useNftInfo)({
|
57
|
+
contract,
|
58
|
+
tokenId,
|
59
|
+
queryOptions,
|
60
|
+
});
|
61
|
+
if (nftQuery.isLoading) {
|
62
|
+
return loadingComponent || null;
|
63
|
+
}
|
64
|
+
if (!nftQuery.data?.metadata?.description) {
|
65
|
+
return fallbackComponent || null;
|
66
|
+
}
|
67
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: nftQuery.data.metadata.description });
|
68
|
+
}
|
69
|
+
//# sourceMappingURL=description.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"description.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/description.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAgEb,wCAsBC;;AAjFD,yCAAwC;AACxC,+CAA8C;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,SAAgB,cAAc,CAAC,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACQ;IACpB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,qBAAU,EAAC;QAC1B,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC1C,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,oCAAU,SAAS,YAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAAC;AAC1E,CAAC"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.useNftInfo = useNftInfo;
|
4
|
+
exports.getNFTInfo = getNFTInfo;
|
5
|
+
const react_query_1 = require("@tanstack/react-query");
|
6
|
+
const getNFT_js_1 = require("../../../../../extensions/erc721/read/getNFT.js");
|
7
|
+
const getNFT_js_2 = require("../../../../../extensions/erc1155/read/getNFT.js");
|
8
|
+
/**
|
9
|
+
* @internal Only used for the NFT prebuilt components
|
10
|
+
*/
|
11
|
+
function useNftInfo(props) {
|
12
|
+
return (0, react_query_1.useQuery)({
|
13
|
+
queryKey: [
|
14
|
+
"__nft_component_internal__",
|
15
|
+
props.contract.chain.id,
|
16
|
+
props.contract.address,
|
17
|
+
props.tokenId.toString(),
|
18
|
+
],
|
19
|
+
queryFn: () => getNFTInfo({ contract: props.contract, tokenId: props.tokenId }),
|
20
|
+
...props.queryOptions,
|
21
|
+
});
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* @internal
|
25
|
+
*/
|
26
|
+
async function getNFTInfo(options) {
|
27
|
+
const nft = await Promise.allSettled([
|
28
|
+
(0, getNFT_js_1.getNFT)(options),
|
29
|
+
(0, getNFT_js_2.getNFT)(options),
|
30
|
+
]).then(([possibleNFT721, possibleNFT1155]) => {
|
31
|
+
// getNFT extension always return an NFT object
|
32
|
+
// so we need to check if the tokenURI exists
|
33
|
+
if (possibleNFT721.status === "fulfilled" &&
|
34
|
+
possibleNFT721.value.tokenURI) {
|
35
|
+
return possibleNFT721.value;
|
36
|
+
}
|
37
|
+
if (possibleNFT1155.status === "fulfilled" &&
|
38
|
+
possibleNFT1155.value.tokenURI) {
|
39
|
+
return possibleNFT1155.value;
|
40
|
+
}
|
41
|
+
throw new Error("Failed to load NFT metadata");
|
42
|
+
});
|
43
|
+
return nft;
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=hooks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/hooks.tsx"],"names":[],"mappings":";;AASA,gCAgBC;AAKD,gCAsBC;AApDD,uDAAuE;AACvE,+EAAsF;AACtF,gFAAwF;AAIxF;;GAEG;AACH,SAAgB,UAAU,CACxB,KAEC;IAED,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE;YACR,4BAA4B;YAC5B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvB,KAAK,CAAC,QAAQ,CAAC,OAAO;YACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;SACzB;QACD,OAAO,EAAE,GAAG,EAAE,CACZ,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,KAAK,CAAC,YAAY;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,OAAyB;IACxD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACnC,IAAA,kBAAS,EAAC,OAAO,CAAC;QAClB,IAAA,kBAAU,EAAC,OAAO,CAAC;KACpB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,EAAE;QAC5C,+CAA+C;QAC/C,6CAA6C;QAC7C,IACE,cAAc,CAAC,MAAM,KAAK,WAAW;YACrC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAC7B,CAAC;YACD,OAAO,cAAc,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,IACE,eAAe,CAAC,MAAM,KAAK,WAAW;YACtC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAC9B,CAAC;YACD,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.NFTMedia = NFTMedia;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const MediaRenderer_js_1 = require("../../MediaRenderer/MediaRenderer.js");
|
6
|
+
const hooks_js_1 = require("./hooks.js");
|
7
|
+
const provider_js_1 = require("./provider.js");
|
8
|
+
/**
|
9
|
+
* This component fetches and displays an NFT's media. It uses thirdweb [`MediaRenderer`](https://portal.thirdweb.com/refernces/typescript/v5/MediaRenderer) under the hood
|
10
|
+
* so you can style it just like how you would style a MediaRenderer.
|
11
|
+
* @returns A MediaRenderer component
|
12
|
+
*
|
13
|
+
* @component
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ### Basic usage
|
17
|
+
* ```tsx
|
18
|
+
* import { NFTProvider, NFTMedia } from "thirdweb/react";
|
19
|
+
*
|
20
|
+
* <NFTProvider>
|
21
|
+
* <NFTMedia />
|
22
|
+
* </NFTProvider>
|
23
|
+
* ```
|
24
|
+
*
|
25
|
+
* ### Show a loading sign while the media is being fetched
|
26
|
+
* ```tsx
|
27
|
+
* import { NFTProvider, NFTMedia } from "thirdweb/react";
|
28
|
+
*
|
29
|
+
* <NFTProvider>
|
30
|
+
* <NFTMedia loadingComponent={<YourLoadingSign />} />
|
31
|
+
* </NFTProvider>
|
32
|
+
* ```
|
33
|
+
*
|
34
|
+
* ### Show something in case the media failed to resolve
|
35
|
+
* ```tsx
|
36
|
+
* import { NFTProvider, NFTMedia } from "thirdweb/react";
|
37
|
+
*
|
38
|
+
* <NFTProvider>
|
39
|
+
* <NFTMedia fallbackComponent={<span>Failed to load media</span>} />
|
40
|
+
* </NFTProvider>
|
41
|
+
* ```
|
42
|
+
*
|
43
|
+
* ### Custom query options for useQuery (tanstack-query)
|
44
|
+
* ```tsx
|
45
|
+
* import { NFTProvider, NFTMedia } from "thirdweb/react";
|
46
|
+
*
|
47
|
+
* <NFTProvider>
|
48
|
+
* <NFTMedia queryOptions={{ retry: 3, enabled: false, }} />
|
49
|
+
* </NFTProvider>
|
50
|
+
* ```
|
51
|
+
*
|
52
|
+
* ### Basic stylings
|
53
|
+
*
|
54
|
+
* You can style NFTMedia with the `style` and `className` props.
|
55
|
+
*
|
56
|
+
* ```tsx
|
57
|
+
* <NFTMedia style={{ borderRadius: "8px" }} className="mx-auto" />
|
58
|
+
* ```
|
59
|
+
* @nft
|
60
|
+
* @beta
|
61
|
+
*/
|
62
|
+
function NFTMedia({ loadingComponent, fallbackComponent, queryOptions, ...mediaRendererProps }) {
|
63
|
+
const { contract, tokenId } = (0, provider_js_1.useNFTContext)();
|
64
|
+
const nftQuery = (0, hooks_js_1.useNftInfo)({
|
65
|
+
contract,
|
66
|
+
tokenId,
|
67
|
+
queryOptions,
|
68
|
+
});
|
69
|
+
if (nftQuery.isLoading) {
|
70
|
+
return loadingComponent || null;
|
71
|
+
}
|
72
|
+
if (!nftQuery.data) {
|
73
|
+
return fallbackComponent || null;
|
74
|
+
}
|
75
|
+
const animation_url = nftQuery.data.metadata.animation_url;
|
76
|
+
const image = nftQuery.data.metadata.image || nftQuery.data.metadata.image_url;
|
77
|
+
if (!animation_url && !image) {
|
78
|
+
return fallbackComponent || null;
|
79
|
+
}
|
80
|
+
return ((0, jsx_runtime_1.jsx)(MediaRenderer_js_1.MediaRenderer, { client: contract.client, src: animation_url || image, poster: image, ...mediaRendererProps }));
|
81
|
+
}
|
82
|
+
//# sourceMappingURL=media.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/media.tsx"],"names":[],"mappings":";;AAiFA,4BAqCC;;AAnHD,2EAAqE;AAErE,yCAAwC;AACxC,+CAA8C;AAqB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,SAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,kBAAkB,EACP;IACd,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAa,GAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,qBAAU,EAAC;QAC1B,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC3D,MAAM,KAAK,GACT,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IAEnE,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,CACL,uBAAC,gCAAa,IACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,aAAa,IAAI,KAAK,EAC3B,MAAM,EAAE,KAAK,KACT,kBAAkB,GACtB,CACH,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.NFTName = NFTName;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const hooks_js_1 = require("./hooks.js");
|
6
|
+
const provider_js_1 = require("./provider.js");
|
7
|
+
/**
|
8
|
+
* This component fetches and displays an NFT's name. It takes in a `className` and `style` props
|
9
|
+
* so you can style it just like how you would style a <span> element.
|
10
|
+
* @returns A <span> element containing the name of the NFT
|
11
|
+
*
|
12
|
+
* @component
|
13
|
+
* @example
|
14
|
+
* ### Basic usage
|
15
|
+
* ```tsx
|
16
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
17
|
+
*
|
18
|
+
* <NFTProvider>
|
19
|
+
* <NFTName />
|
20
|
+
* </NFTProvider>
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* ### Show a loading sign while the name is being fetched
|
24
|
+
* ```tsx
|
25
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
26
|
+
*
|
27
|
+
* <NFTProvider>
|
28
|
+
* <NFTName loadingComponent={<YourLoadingSign />} />
|
29
|
+
* </NFTProvider>
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* ### Show something in case the name failed to resolve
|
33
|
+
* ```tsx
|
34
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
35
|
+
*
|
36
|
+
* <NFTProvider>
|
37
|
+
* <NFTName fallbackComponent={<span>Failed to load name</span>} />
|
38
|
+
* </NFTProvider>
|
39
|
+
* ```
|
40
|
+
*
|
41
|
+
* ### Custom query options for useQuery (tanstack-query)
|
42
|
+
* ```tsx
|
43
|
+
* import { NFTProvider, NFTName } from "thirdweb/react";
|
44
|
+
*
|
45
|
+
* <NFTProvider>
|
46
|
+
* <NFTName queryOptions={{ retry: 3, enabled: false, }} />
|
47
|
+
* </NFTProvider>
|
48
|
+
* ```
|
49
|
+
*
|
50
|
+
* @nft
|
51
|
+
* @beta
|
52
|
+
*/
|
53
|
+
function NFTName({ loadingComponent, fallbackComponent, queryOptions, ...restProps }) {
|
54
|
+
const { contract, tokenId } = (0, provider_js_1.useNFTContext)();
|
55
|
+
const nftQuery = (0, hooks_js_1.useNftInfo)({
|
56
|
+
contract,
|
57
|
+
tokenId,
|
58
|
+
queryOptions,
|
59
|
+
});
|
60
|
+
if (nftQuery.isLoading) {
|
61
|
+
return loadingComponent || null;
|
62
|
+
}
|
63
|
+
if (!nftQuery.data?.metadata?.name) {
|
64
|
+
return fallbackComponent || null;
|
65
|
+
}
|
66
|
+
return (0, jsx_runtime_1.jsx)("span", { ...restProps, children: nftQuery.data.metadata.name });
|
67
|
+
}
|
68
|
+
//# sourceMappingURL=name.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/name.tsx"],"names":[],"mappings":";;AA8DA,0BAsBC;;AAjFD,yCAAwC;AACxC,+CAA8C;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,SAAgB,OAAO,CAAC,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,GAAG,SAAS,EACC;IACb,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAa,GAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAA,qBAAU,EAAC;QAC1B,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,OAAO,iBAAiB,IAAI,IAAI,CAAC;IACnC,CAAC;IACD,OAAO,oCAAU,SAAS,YAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAQ,CAAC;AACnE,CAAC"}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.NFTProviderContext = void 0;
|
4
|
+
exports.useNFTContext = useNFTContext;
|
5
|
+
exports.NFTProvider = NFTProvider;
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const react_1 = require("react");
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
exports.NFTProviderContext = (0, react_1.createContext)(undefined);
|
12
|
+
/**
|
13
|
+
* @internal
|
14
|
+
*/
|
15
|
+
function useNFTContext() {
|
16
|
+
const ctx = (0, react_1.useContext)(exports.NFTProviderContext);
|
17
|
+
if (!ctx) {
|
18
|
+
throw new Error("NFTProviderContext not found. Make sure you are using NFTMedia, NFTDescription, etc. inside a <NFTProvider /> component");
|
19
|
+
}
|
20
|
+
return ctx;
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* A React context provider component that supplies NFT-related data to its child components.
|
24
|
+
*
|
25
|
+
* This component serves as a wrapper around the `NFTProviderContext.Provider` and passes
|
26
|
+
* the provided NFT data down to all of its child components through the context API.
|
27
|
+
*
|
28
|
+
*
|
29
|
+
* @param {React.PropsWithChildren<NFTProviderProps>} props - The props for the NFT provider
|
30
|
+
*
|
31
|
+
* @example
|
32
|
+
* ```tsx
|
33
|
+
* import { getContract } from "thirdweb";
|
34
|
+
* import { NFTProvider, NFTMedia, NFTDescription, NFTName } from "thirdweb/react";
|
35
|
+
*
|
36
|
+
* const contract = getContract({
|
37
|
+
* address: "0x...",
|
38
|
+
* chain: ethereum,
|
39
|
+
* client: yourThirdwebClient,
|
40
|
+
* });
|
41
|
+
*
|
42
|
+
* <NFTProvider contract={contract} tokenId={0n}>
|
43
|
+
* <NFTMedia />
|
44
|
+
* <NFTDescription />
|
45
|
+
* <NFTName />
|
46
|
+
* </NFTProvider>
|
47
|
+
* ```
|
48
|
+
* @component
|
49
|
+
* @nft
|
50
|
+
* @beta
|
51
|
+
*/
|
52
|
+
function NFTProvider(props) {
|
53
|
+
return ((0, jsx_runtime_1.jsx)(exports.NFTProviderContext.Provider, { value: props, children: props.children }));
|
54
|
+
}
|
55
|
+
//# sourceMappingURL=provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/prebuilt/NFT/provider.tsx"],"names":[],"mappings":";;;AA4BA,sCAQC;AAgCD,kCAMC;;AA1ED,iCAAkD;AAkBlD;;GAEG;AACU,QAAA,kBAAkB,GAAmB,IAAA,qBAAa,EAE7D,SAAS,CAAC,CAAC;AAEb;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,WAAW,CAAC,KAAgD;IAC1E,OAAO,CACL,uBAAC,0BAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAK,CAAC,QAAQ,GACa,CAC/B,CAAC;AACJ,CAAC"}
|