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.
Files changed (453) hide show
  1. package/dist/cjs/client/client.js +1 -0
  2. package/dist/cjs/client/client.js.map +1 -1
  3. package/dist/cjs/exports/react.js +32 -3
  4. package/dist/cjs/exports/react.js.map +1 -1
  5. package/dist/cjs/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  6. package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js +5 -0
  7. package/dist/cjs/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
  8. package/dist/cjs/extensions/pack/createNewPack.js +2 -1
  9. package/dist/cjs/extensions/pack/createNewPack.js.map +1 -1
  10. package/dist/cjs/extensions/prebuilts/deploy-pack.js +1 -0
  11. package/dist/cjs/extensions/prebuilts/deploy-pack.js.map +1 -1
  12. package/dist/cjs/extensions/thirdweb/write/publish.js +4 -0
  13. package/dist/cjs/extensions/thirdweb/write/publish.js.map +1 -1
  14. package/dist/cjs/react/core/hooks/others/useChainQuery.js +3 -3
  15. package/dist/cjs/react/core/hooks/rpc/useBlockNumber.js +1 -1
  16. package/dist/cjs/react/core/hooks/wallets/useCapabilities.js +1 -1
  17. package/dist/cjs/react/core/hooks/wallets/useSendCalls.js +3 -3
  18. package/dist/cjs/react/core/providers/connection-manager.js +3 -0
  19. package/dist/cjs/react/core/providers/connection-manager.js.map +1 -1
  20. package/dist/cjs/react/core/utils/wallet.js +2 -1
  21. package/dist/cjs/react/core/utils/wallet.js.map +1 -1
  22. package/dist/cjs/react/core/utils/walletIcon.js +2 -0
  23. package/dist/cjs/react/core/utils/walletIcon.js.map +1 -1
  24. package/dist/cjs/react/native/hooks/wallets/useProfiles.js +1 -1
  25. package/dist/cjs/react/native/providers/thirdweb-provider.js +1 -0
  26. package/dist/cjs/react/native/providers/thirdweb-provider.js.map +1 -1
  27. package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js +1 -0
  28. package/dist/cjs/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
  29. package/dist/cjs/react/native/ui/connect/ConnectModal.js +1 -0
  30. package/dist/cjs/react/native/ui/connect/ConnectModal.js.map +1 -1
  31. package/dist/cjs/react/native/ui/transaction/TransactionButton.js +1 -0
  32. package/dist/cjs/react/native/ui/transaction/TransactionButton.js.map +1 -1
  33. package/dist/cjs/react/web/hooks/wallets/useProfiles.js +1 -1
  34. package/dist/cjs/react/web/providers/thirdweb-provider.js +1 -0
  35. package/dist/cjs/react/web/providers/thirdweb-provider.js.map +1 -1
  36. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js +1 -0
  37. package/dist/cjs/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  38. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js +19 -4
  39. package/dist/cjs/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  40. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
  41. package/dist/cjs/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  42. package/dist/cjs/react/web/ui/ConnectWallet/Details.js +18 -13
  43. package/dist/cjs/react/web/ui/ConnectWallet/Details.js.map +1 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
  45. package/dist/cjs/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  46. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
  47. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  48. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
  49. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  50. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
  51. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  52. package/dist/cjs/react/web/ui/PayEmbed.js +1 -0
  53. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  54. package/dist/cjs/react/web/ui/SiteEmbed.js +3 -2
  55. package/dist/cjs/react/web/ui/SiteEmbed.js.map +1 -1
  56. package/dist/cjs/react/web/ui/SiteLink.js +2 -1
  57. package/dist/cjs/react/web/ui/SiteLink.js.map +1 -1
  58. package/dist/cjs/react/web/ui/TransactionButton/index.js +1 -0
  59. package/dist/cjs/react/web/ui/TransactionButton/index.js.map +1 -1
  60. package/dist/cjs/react/web/ui/prebuilt/Account/address.js +49 -0
  61. package/dist/cjs/react/web/ui/prebuilt/Account/address.js.map +1 -0
  62. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js +144 -0
  63. package/dist/cjs/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
  64. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js +122 -0
  65. package/dist/cjs/react/web/ui/prebuilt/Account/balance.js.map +1 -0
  66. package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js +16 -0
  67. package/dist/cjs/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
  68. package/dist/cjs/react/web/ui/prebuilt/Account/name.js +106 -0
  69. package/dist/cjs/react/web/ui/prebuilt/Account/name.js.map +1 -0
  70. package/dist/cjs/react/web/ui/prebuilt/Account/provider.js +43 -0
  71. package/dist/cjs/react/web/ui/prebuilt/Account/provider.js.map +1 -0
  72. package/dist/cjs/react/web/ui/prebuilt/NFT/description.js +69 -0
  73. package/dist/cjs/react/web/ui/prebuilt/NFT/description.js.map +1 -0
  74. package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js +45 -0
  75. package/dist/cjs/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
  76. package/dist/cjs/react/web/ui/prebuilt/NFT/media.js +82 -0
  77. package/dist/cjs/react/web/ui/prebuilt/NFT/media.js.map +1 -0
  78. package/dist/cjs/react/web/ui/prebuilt/NFT/name.js +68 -0
  79. package/dist/cjs/react/web/ui/prebuilt/NFT/name.js.map +1 -0
  80. package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js +55 -0
  81. package/dist/cjs/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
  82. package/dist/cjs/react/web/ui/prebuilt/Token/icon.js +113 -0
  83. package/dist/cjs/react/web/ui/prebuilt/Token/icon.js.map +1 -0
  84. package/dist/cjs/react/web/ui/prebuilt/Token/name.js +137 -0
  85. package/dist/cjs/react/web/ui/prebuilt/Token/name.js.map +1 -0
  86. package/dist/cjs/react/web/ui/prebuilt/Token/provider.js +54 -0
  87. package/dist/cjs/react/web/ui/prebuilt/Token/provider.js.map +1 -0
  88. package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js +134 -0
  89. package/dist/cjs/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
  90. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
  91. package/dist/cjs/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
  92. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
  93. package/dist/cjs/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  94. package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
  95. package/dist/cjs/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
  96. package/dist/cjs/storage/unpin.js +1 -1
  97. package/dist/cjs/storage/upload.js +1 -0
  98. package/dist/cjs/storage/upload.js.map +1 -1
  99. package/dist/cjs/transaction/actions/to-serializable-transaction.js +1 -1
  100. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +5 -0
  101. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  102. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +5 -0
  103. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  104. package/dist/cjs/utils/config.js +9 -0
  105. package/dist/cjs/utils/config.js.map +1 -1
  106. package/dist/cjs/utils/json.js +7 -4
  107. package/dist/cjs/utils/json.js.map +1 -1
  108. package/dist/cjs/version.js +1 -1
  109. package/dist/cjs/version.js.map +1 -1
  110. package/dist/cjs/wallets/eip5792/get-calls-status.js +1 -1
  111. package/dist/cjs/wallets/eip5792/get-capabilities.js +1 -1
  112. package/dist/cjs/wallets/eip5792/send-calls.js +2 -2
  113. package/dist/cjs/wallets/eip5792/wait-for-bundle.js +1 -1
  114. package/dist/cjs/wallets/in-app/core/users/getUser.js +1 -1
  115. package/dist/cjs/wallets/in-app/web/ecosystem.js +7 -17
  116. package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
  117. package/dist/cjs/wallets/in-app/web/in-app.js +2 -17
  118. package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
  119. package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -0
  120. package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
  121. package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js +17 -16
  122. package/dist/cjs/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
  123. package/dist/cjs/wallets/smart/smart-wallet.js +1 -0
  124. package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -1
  125. package/dist/esm/client/client.js +1 -0
  126. package/dist/esm/client/client.js.map +1 -1
  127. package/dist/esm/exports/react.js +17 -1
  128. package/dist/esm/exports/react.js.map +1 -1
  129. package/dist/esm/extensions/erc721/lazyMinting/read/getBatchesToReveal.js +1 -1
  130. package/dist/esm/extensions/modules/common/checkModulesCompatibility.js +5 -0
  131. package/dist/esm/extensions/modules/common/checkModulesCompatibility.js.map +1 -1
  132. package/dist/esm/extensions/pack/createNewPack.js +2 -1
  133. package/dist/esm/extensions/pack/createNewPack.js.map +1 -1
  134. package/dist/esm/extensions/prebuilts/deploy-pack.js +1 -0
  135. package/dist/esm/extensions/prebuilts/deploy-pack.js.map +1 -1
  136. package/dist/esm/extensions/thirdweb/write/publish.js +4 -0
  137. package/dist/esm/extensions/thirdweb/write/publish.js.map +1 -1
  138. package/dist/esm/react/core/hooks/others/useChainQuery.js +3 -3
  139. package/dist/esm/react/core/hooks/rpc/useBlockNumber.js +1 -1
  140. package/dist/esm/react/core/hooks/wallets/useCapabilities.js +1 -1
  141. package/dist/esm/react/core/hooks/wallets/useSendCalls.js +3 -3
  142. package/dist/esm/react/core/providers/connection-manager.js +3 -0
  143. package/dist/esm/react/core/providers/connection-manager.js.map +1 -1
  144. package/dist/esm/react/core/utils/wallet.js +2 -1
  145. package/dist/esm/react/core/utils/wallet.js.map +1 -1
  146. package/dist/esm/react/core/utils/walletIcon.js +2 -0
  147. package/dist/esm/react/core/utils/walletIcon.js.map +1 -1
  148. package/dist/esm/react/native/hooks/wallets/useProfiles.js +1 -1
  149. package/dist/esm/react/native/providers/thirdweb-provider.js +1 -0
  150. package/dist/esm/react/native/providers/thirdweb-provider.js.map +1 -1
  151. package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js +1 -0
  152. package/dist/esm/react/native/ui/AutoConnect/AutoConnect.js.map +1 -1
  153. package/dist/esm/react/native/ui/connect/ConnectModal.js +1 -0
  154. package/dist/esm/react/native/ui/connect/ConnectModal.js.map +1 -1
  155. package/dist/esm/react/native/ui/transaction/TransactionButton.js +1 -0
  156. package/dist/esm/react/native/ui/transaction/TransactionButton.js.map +1 -1
  157. package/dist/esm/react/web/hooks/wallets/useProfiles.js +1 -1
  158. package/dist/esm/react/web/providers/thirdweb-provider.js +1 -0
  159. package/dist/esm/react/web/providers/thirdweb-provider.js.map +1 -1
  160. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js +1 -0
  161. package/dist/esm/react/web/ui/AutoConnect/AutoConnect.js.map +1 -1
  162. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js +19 -4
  163. package/dist/esm/react/web/ui/ConnectWallet/Blobbie.js.map +1 -1
  164. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js +21 -19
  165. package/dist/esm/react/web/ui/ConnectWallet/ConnectButton.js.map +1 -1
  166. package/dist/esm/react/web/ui/ConnectWallet/Details.js +19 -14
  167. package/dist/esm/react/web/ui/ConnectWallet/Details.js.map +1 -1
  168. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js +1 -0
  169. package/dist/esm/react/web/ui/ConnectWallet/Modal/ConnectEmbed.js.map +1 -1
  170. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +9 -0
  171. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  172. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +15 -2
  173. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
  174. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +2 -2
  175. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
  176. package/dist/esm/react/web/ui/PayEmbed.js +1 -0
  177. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  178. package/dist/esm/react/web/ui/SiteEmbed.js +3 -2
  179. package/dist/esm/react/web/ui/SiteEmbed.js.map +1 -1
  180. package/dist/esm/react/web/ui/SiteLink.js +2 -1
  181. package/dist/esm/react/web/ui/SiteLink.js.map +1 -1
  182. package/dist/esm/react/web/ui/TransactionButton/index.js +1 -0
  183. package/dist/esm/react/web/ui/TransactionButton/index.js.map +1 -1
  184. package/dist/esm/react/web/ui/prebuilt/Account/address.js +46 -0
  185. package/dist/esm/react/web/ui/prebuilt/Account/address.js.map +1 -0
  186. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js +141 -0
  187. package/dist/esm/react/web/ui/prebuilt/Account/avatar.js.map +1 -0
  188. package/dist/esm/react/web/ui/prebuilt/Account/balance.js +119 -0
  189. package/dist/esm/react/web/ui/prebuilt/Account/balance.js.map +1 -0
  190. package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js +13 -0
  191. package/dist/esm/react/web/ui/prebuilt/Account/blobbie.js.map +1 -0
  192. package/dist/esm/react/web/ui/prebuilt/Account/name.js +103 -0
  193. package/dist/esm/react/web/ui/prebuilt/Account/name.js.map +1 -0
  194. package/dist/esm/react/web/ui/prebuilt/Account/provider.js +39 -0
  195. package/dist/esm/react/web/ui/prebuilt/Account/provider.js.map +1 -0
  196. package/dist/esm/react/web/ui/prebuilt/NFT/description.js +66 -0
  197. package/dist/esm/react/web/ui/prebuilt/NFT/description.js.map +1 -0
  198. package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js +41 -0
  199. package/dist/esm/react/web/ui/prebuilt/NFT/hooks.js.map +1 -0
  200. package/dist/esm/react/web/ui/prebuilt/NFT/media.js +79 -0
  201. package/dist/esm/react/web/ui/prebuilt/NFT/media.js.map +1 -0
  202. package/dist/esm/react/web/ui/prebuilt/NFT/name.js +65 -0
  203. package/dist/esm/react/web/ui/prebuilt/NFT/name.js.map +1 -0
  204. package/dist/esm/react/web/ui/prebuilt/NFT/provider.js +50 -0
  205. package/dist/esm/react/web/ui/prebuilt/NFT/provider.js.map +1 -0
  206. package/dist/esm/react/web/ui/prebuilt/Token/icon.js +110 -0
  207. package/dist/esm/react/web/ui/prebuilt/Token/icon.js.map +1 -0
  208. package/dist/esm/react/web/ui/prebuilt/Token/name.js +134 -0
  209. package/dist/esm/react/web/ui/prebuilt/Token/name.js.map +1 -0
  210. package/dist/esm/react/web/ui/prebuilt/Token/provider.js +50 -0
  211. package/dist/esm/react/web/ui/prebuilt/Token/provider.js.map +1 -0
  212. package/dist/esm/react/web/ui/prebuilt/Token/symbol.js +131 -0
  213. package/dist/esm/react/web/ui/prebuilt/Token/symbol.js.map +1 -0
  214. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js +1 -0
  215. package/dist/esm/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.js.map +1 -1
  216. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js +1 -0
  217. package/dist/esm/react/web/ui/prebuilt/thirdweb/ClaimButton/index.js.map +1 -1
  218. package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js +1 -0
  219. package/dist/esm/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.js.map +1 -1
  220. package/dist/esm/storage/unpin.js +1 -1
  221. package/dist/esm/storage/upload.js +1 -0
  222. package/dist/esm/storage/upload.js.map +1 -1
  223. package/dist/esm/transaction/actions/to-serializable-transaction.js +1 -1
  224. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +5 -0
  225. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  226. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +5 -0
  227. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  228. package/dist/esm/utils/config.js +9 -0
  229. package/dist/esm/utils/config.js.map +1 -1
  230. package/dist/esm/utils/json.js +6 -2
  231. package/dist/esm/utils/json.js.map +1 -1
  232. package/dist/esm/version.js +1 -1
  233. package/dist/esm/version.js.map +1 -1
  234. package/dist/esm/wallets/eip5792/get-calls-status.js +1 -1
  235. package/dist/esm/wallets/eip5792/get-capabilities.js +1 -1
  236. package/dist/esm/wallets/eip5792/send-calls.js +2 -2
  237. package/dist/esm/wallets/eip5792/wait-for-bundle.js +1 -1
  238. package/dist/esm/wallets/in-app/core/users/getUser.js +1 -1
  239. package/dist/esm/wallets/in-app/web/ecosystem.js +7 -17
  240. package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
  241. package/dist/esm/wallets/in-app/web/in-app.js +2 -17
  242. package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
  243. package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -0
  244. package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
  245. package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js +18 -17
  246. package/dist/esm/wallets/in-app/web/lib/auth/passkeys.js.map +1 -1
  247. package/dist/esm/wallets/smart/smart-wallet.js +1 -0
  248. package/dist/esm/wallets/smart/smart-wallet.js.map +1 -1
  249. package/dist/types/client/client.d.ts +1 -0
  250. package/dist/types/client/client.d.ts.map +1 -1
  251. package/dist/types/exports/react.d.ts +14 -1
  252. package/dist/types/exports/react.d.ts.map +1 -1
  253. package/dist/types/extensions/erc721/lazyMinting/read/getBatchesToReveal.d.ts +1 -1
  254. package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts +5 -0
  255. package/dist/types/extensions/modules/common/checkModulesCompatibility.d.ts.map +1 -1
  256. package/dist/types/extensions/pack/createNewPack.d.ts +2 -2
  257. package/dist/types/extensions/pack/createNewPack.d.ts.map +1 -1
  258. package/dist/types/extensions/prebuilts/deploy-pack.d.ts +1 -0
  259. package/dist/types/extensions/prebuilts/deploy-pack.d.ts.map +1 -1
  260. package/dist/types/extensions/thirdweb/write/publish.d.ts +4 -0
  261. package/dist/types/extensions/thirdweb/write/publish.d.ts.map +1 -1
  262. package/dist/types/react/core/hooks/others/useChainQuery.d.ts +3 -3
  263. package/dist/types/react/core/hooks/rpc/useBlockNumber.d.ts +1 -1
  264. package/dist/types/react/core/hooks/wallets/useCapabilities.d.ts +1 -1
  265. package/dist/types/react/core/hooks/wallets/useSendCalls.d.ts +3 -3
  266. package/dist/types/react/core/providers/connection-manager.d.ts +3 -0
  267. package/dist/types/react/core/providers/connection-manager.d.ts.map +1 -1
  268. package/dist/types/react/core/utils/wallet.d.ts +2 -1
  269. package/dist/types/react/core/utils/wallet.d.ts.map +1 -1
  270. package/dist/types/react/core/utils/walletIcon.d.ts +2 -0
  271. package/dist/types/react/core/utils/walletIcon.d.ts.map +1 -1
  272. package/dist/types/react/native/hooks/wallets/useProfiles.d.ts +1 -1
  273. package/dist/types/react/native/providers/thirdweb-provider.d.ts +1 -0
  274. package/dist/types/react/native/providers/thirdweb-provider.d.ts.map +1 -1
  275. package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts +1 -0
  276. package/dist/types/react/native/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
  277. package/dist/types/react/native/ui/connect/ConnectModal.d.ts +1 -0
  278. package/dist/types/react/native/ui/connect/ConnectModal.d.ts.map +1 -1
  279. package/dist/types/react/native/ui/transaction/TransactionButton.d.ts +1 -0
  280. package/dist/types/react/native/ui/transaction/TransactionButton.d.ts.map +1 -1
  281. package/dist/types/react/web/hooks/wallets/useProfiles.d.ts +1 -1
  282. package/dist/types/react/web/providers/thirdweb-provider.d.ts +1 -0
  283. package/dist/types/react/web/providers/thirdweb-provider.d.ts.map +1 -1
  284. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts +1 -0
  285. package/dist/types/react/web/ui/AutoConnect/AutoConnect.d.ts.map +1 -1
  286. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts +22 -5
  287. package/dist/types/react/web/ui/ConnectWallet/Blobbie.d.ts.map +1 -1
  288. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts +2 -1
  289. package/dist/types/react/web/ui/ConnectWallet/ConnectButton.d.ts.map +1 -1
  290. package/dist/types/react/web/ui/ConnectWallet/Details.d.ts.map +1 -1
  291. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts +1 -0
  292. package/dist/types/react/web/ui/ConnectWallet/Modal/ConnectEmbed.d.ts.map +1 -1
  293. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  294. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
  295. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
  296. package/dist/types/react/web/ui/PayEmbed.d.ts +2 -2
  297. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  298. package/dist/types/react/web/ui/SiteEmbed.d.ts +3 -2
  299. package/dist/types/react/web/ui/SiteEmbed.d.ts.map +1 -1
  300. package/dist/types/react/web/ui/SiteLink.d.ts +2 -1
  301. package/dist/types/react/web/ui/SiteLink.d.ts.map +1 -1
  302. package/dist/types/react/web/ui/TransactionButton/index.d.ts +1 -0
  303. package/dist/types/react/web/ui/TransactionButton/index.d.ts.map +1 -1
  304. package/dist/types/react/web/ui/prebuilt/Account/address.d.ts +52 -0
  305. package/dist/types/react/web/ui/prebuilt/Account/address.d.ts.map +1 -0
  306. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts +142 -0
  307. package/dist/types/react/web/ui/prebuilt/Account/avatar.d.ts.map +1 -0
  308. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts +137 -0
  309. package/dist/types/react/web/ui/prebuilt/Account/balance.d.ts.map +1 -0
  310. package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts +8 -0
  311. package/dist/types/react/web/ui/prebuilt/Account/blobbie.d.ts.map +1 -0
  312. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts +119 -0
  313. package/dist/types/react/web/ui/prebuilt/Account/name.d.ts.map +1 -0
  314. package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts +45 -0
  315. package/dist/types/react/web/ui/prebuilt/Account/provider.d.ts.map +1 -0
  316. package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts +59 -0
  317. package/dist/types/react/web/ui/prebuilt/NFT/description.d.ts.map +1 -0
  318. package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts +14 -0
  319. package/dist/types/react/web/ui/prebuilt/NFT/hooks.d.ts.map +1 -0
  320. package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts +75 -0
  321. package/dist/types/react/web/ui/prebuilt/NFT/media.d.ts.map +1 -0
  322. package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts +59 -0
  323. package/dist/types/react/web/ui/prebuilt/NFT/name.d.ts.map +1 -0
  324. package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts +55 -0
  325. package/dist/types/react/web/ui/prebuilt/NFT/provider.d.ts.map +1 -0
  326. package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts +95 -0
  327. package/dist/types/react/web/ui/prebuilt/Token/icon.d.ts.map +1 -0
  328. package/dist/types/react/web/ui/prebuilt/Token/name.d.ts +140 -0
  329. package/dist/types/react/web/ui/prebuilt/Token/name.d.ts.map +1 -0
  330. package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts +61 -0
  331. package/dist/types/react/web/ui/prebuilt/Token/provider.d.ts.map +1 -0
  332. package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts +137 -0
  333. package/dist/types/react/web/ui/prebuilt/Token/symbol.d.ts.map +1 -0
  334. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts +1 -0
  335. package/dist/types/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.d.ts.map +1 -1
  336. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts +1 -0
  337. package/dist/types/react/web/ui/prebuilt/thirdweb/ClaimButton/index.d.ts.map +1 -1
  338. package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts +1 -0
  339. package/dist/types/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.d.ts.map +1 -1
  340. package/dist/types/storage/unpin.d.ts +1 -1
  341. package/dist/types/storage/upload.d.ts +1 -0
  342. package/dist/types/storage/upload.d.ts.map +1 -1
  343. package/dist/types/transaction/actions/to-serializable-transaction.d.ts +1 -1
  344. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts +5 -0
  345. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
  346. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts +5 -0
  347. package/dist/types/utils/any-evm/zksync/isZkSyncChain.d.ts.map +1 -1
  348. package/dist/types/utils/config.d.ts +9 -0
  349. package/dist/types/utils/config.d.ts.map +1 -1
  350. package/dist/types/utils/json.d.ts +1 -1
  351. package/dist/types/utils/json.d.ts.map +1 -1
  352. package/dist/types/version.d.ts +1 -1
  353. package/dist/types/version.d.ts.map +1 -1
  354. package/dist/types/wallets/eip5792/get-calls-status.d.ts +1 -1
  355. package/dist/types/wallets/eip5792/get-capabilities.d.ts +1 -1
  356. package/dist/types/wallets/eip5792/send-calls.d.ts +2 -2
  357. package/dist/types/wallets/eip5792/wait-for-bundle.d.ts +1 -1
  358. package/dist/types/wallets/in-app/core/users/getUser.d.ts +1 -1
  359. package/dist/types/wallets/in-app/web/ecosystem.d.ts +7 -17
  360. package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
  361. package/dist/types/wallets/in-app/web/in-app.d.ts +2 -17
  362. package/dist/types/wallets/in-app/web/in-app.d.ts.map +1 -1
  363. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -0
  364. package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
  365. package/dist/types/wallets/in-app/web/lib/auth/passkeys.d.ts.map +1 -1
  366. package/dist/types/wallets/smart/smart-wallet.d.ts +1 -0
  367. package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -1
  368. package/package.json +2 -2
  369. package/src/client/client.ts +1 -0
  370. package/src/exports/react.ts +56 -2
  371. package/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts +1 -1
  372. package/src/extensions/modules/common/checkModulesCompatibility.ts +5 -0
  373. package/src/extensions/pack/createNewPack.ts +8 -3
  374. package/src/extensions/prebuilts/deploy-pack.ts +1 -0
  375. package/src/extensions/thirdweb/write/publish.ts +4 -0
  376. package/src/react/core/hooks/others/useChainQuery.ts +3 -3
  377. package/src/react/core/hooks/rpc/useBlockNumber.ts +1 -1
  378. package/src/react/core/hooks/wallets/useCapabilities.ts +1 -1
  379. package/src/react/core/hooks/wallets/useSendCalls.ts +3 -3
  380. package/src/react/core/providers/connection-manager.tsx +3 -0
  381. package/src/react/core/utils/wallet.ts +2 -1
  382. package/src/react/core/utils/walletIcon.ts +2 -0
  383. package/src/react/native/hooks/wallets/useProfiles.ts +1 -1
  384. package/src/react/native/providers/thirdweb-provider.tsx +1 -0
  385. package/src/react/native/ui/AutoConnect/AutoConnect.tsx +1 -0
  386. package/src/react/native/ui/connect/ConnectModal.tsx +1 -0
  387. package/src/react/native/ui/transaction/TransactionButton.tsx +1 -0
  388. package/src/react/web/hooks/wallets/useProfiles.ts +1 -1
  389. package/src/react/web/providers/thirdweb-provider.tsx +1 -0
  390. package/src/react/web/ui/AutoConnect/AutoConnect.tsx +1 -0
  391. package/src/react/web/ui/ConnectWallet/Blobbie.tsx +31 -4
  392. package/src/react/web/ui/ConnectWallet/ConnectButton.tsx +36 -32
  393. package/src/react/web/ui/ConnectWallet/Details.tsx +91 -58
  394. package/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +1 -0
  395. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +23 -0
  396. package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +43 -2
  397. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +2 -3
  398. package/src/react/web/ui/PayEmbed.tsx +2 -2
  399. package/src/react/web/ui/SiteEmbed.tsx +3 -2
  400. package/src/react/web/ui/SiteLink.tsx +2 -1
  401. package/src/react/web/ui/TransactionButton/index.tsx +1 -0
  402. package/src/react/web/ui/prebuilt/Account/address.test.tsx +28 -0
  403. package/src/react/web/ui/prebuilt/Account/address.tsx +64 -0
  404. package/src/react/web/ui/prebuilt/Account/avatar.test.tsx +48 -0
  405. package/src/react/web/ui/prebuilt/Account/avatar.tsx +221 -0
  406. package/src/react/web/ui/prebuilt/Account/balance.test.tsx +54 -0
  407. package/src/react/web/ui/prebuilt/Account/balance.tsx +202 -0
  408. package/src/react/web/ui/prebuilt/Account/blobbie.tsx +12 -0
  409. package/src/react/web/ui/prebuilt/Account/name.test.tsx +62 -0
  410. package/src/react/web/ui/prebuilt/Account/name.tsx +175 -0
  411. package/src/react/web/ui/prebuilt/Account/provider.test.tsx +38 -0
  412. package/src/react/web/ui/prebuilt/Account/provider.tsx +69 -0
  413. package/src/react/web/ui/prebuilt/NFT/NFT.test.tsx +17 -14
  414. package/src/react/web/ui/prebuilt/NFT/description.tsx +87 -0
  415. package/src/react/web/ui/prebuilt/NFT/hooks.tsx +53 -0
  416. package/src/react/web/ui/prebuilt/NFT/media.tsx +119 -0
  417. package/src/react/web/ui/prebuilt/NFT/name.tsx +85 -0
  418. package/src/react/web/ui/prebuilt/NFT/provider.tsx +75 -0
  419. package/src/react/web/ui/prebuilt/Token/icon.tsx +164 -0
  420. package/src/react/web/ui/prebuilt/Token/name.tsx +201 -0
  421. package/src/react/web/ui/prebuilt/Token/provider.tsx +86 -0
  422. package/src/react/web/ui/prebuilt/Token/symbol.tsx +201 -0
  423. package/src/react/web/ui/prebuilt/thirdweb/BuyDirectListingButton/index.tsx +1 -0
  424. package/src/react/web/ui/prebuilt/thirdweb/ClaimButton/index.tsx +1 -0
  425. package/src/react/web/ui/prebuilt/thirdweb/CreateDirectListingButton/index.tsx +1 -0
  426. package/src/storage/unpin.ts +1 -1
  427. package/src/storage/upload.ts +1 -0
  428. package/src/transaction/actions/to-serializable-transaction.ts +1 -1
  429. package/src/transaction/actions/zksync/send-eip712-transaction.ts +5 -0
  430. package/src/utils/any-evm/zksync/isZkSyncChain.ts +5 -0
  431. package/src/utils/config.ts +9 -0
  432. package/src/utils/json.ts +8 -2
  433. package/src/version.ts +1 -1
  434. package/src/wallets/eip5792/get-calls-status.ts +1 -1
  435. package/src/wallets/eip5792/get-capabilities.ts +1 -1
  436. package/src/wallets/eip5792/send-calls.ts +2 -2
  437. package/src/wallets/eip5792/wait-for-bundle.ts +1 -1
  438. package/src/wallets/in-app/core/users/getUser.ts +1 -1
  439. package/src/wallets/in-app/web/ecosystem.ts +7 -17
  440. package/src/wallets/in-app/web/in-app.ts +2 -17
  441. package/src/wallets/in-app/web/lib/auth/index.ts +1 -0
  442. package/src/wallets/in-app/web/lib/auth/passkeys.ts +24 -23
  443. package/src/wallets/smart/smart-wallet.ts +1 -0
  444. package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js +0 -217
  445. package/dist/cjs/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
  446. package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js +0 -212
  447. package/dist/esm/react/web/ui/prebuilt/NFT/NFT.js.map +0 -1
  448. package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts +0 -76
  449. package/dist/types/react/web/ui/prebuilt/NFT/NFT.d.ts.map +0 -1
  450. package/src/extensions/prebuilts/deploy-published.test.ts +0 -132
  451. package/src/react/web/ui/prebuilt/NFT/NFT.tsx +0 -272
  452. package/src/wallets/smart/smart-wallet-integration-v07.test.ts +0 -270
  453. 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"}