@b3dotfun/sdk 0.0.65-alpha.0 → 0.0.65-test.3

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 (268) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +77 -35
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +2 -2
  3. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +1 -1
  4. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +1 -1
  5. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  6. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +5 -3
  7. package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  8. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  9. package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  10. package/dist/cjs/anyspend/react/components/common/OrderHistory.js +7 -3
  11. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  12. package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  13. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
  14. package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
  15. package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  16. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +184 -35
  17. package/dist/cjs/global-account/react/components/B3DynamicModal.js +23 -12
  18. package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  19. package/dist/cjs/global-account/react/components/Deposit/Deposit.js +65 -0
  20. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  21. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +37 -0
  22. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  23. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +113 -279
  24. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  25. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +331 -0
  26. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  27. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +34 -0
  28. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +6 -5
  29. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  30. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +23 -0
  31. package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  32. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +120 -0
  33. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  34. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +43 -0
  35. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  36. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +16 -0
  37. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +24 -193
  38. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  39. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +15 -0
  40. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  41. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +47 -0
  42. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  43. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +50 -0
  44. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  45. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +8 -0
  46. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  47. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +106 -0
  48. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  49. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +22 -0
  50. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  51. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +12 -0
  52. package/dist/cjs/global-account/react/components/Send/Send.d.ts +5 -0
  53. package/dist/cjs/global-account/react/components/Send/Send.js +187 -0
  54. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +3 -1
  55. package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +3 -0
  56. package/dist/cjs/global-account/react/components/icons/BellIcon.js +5 -0
  57. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  58. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +7 -0
  59. package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  60. package/dist/cjs/global-account/react/components/icons/CopyIcon.js +7 -0
  61. package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  62. package/dist/cjs/global-account/react/components/icons/LinkIcon.js +5 -0
  63. package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +3 -0
  64. package/dist/cjs/global-account/react/components/icons/LockIcon.js +5 -0
  65. package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  66. package/dist/cjs/global-account/react/components/icons/WalletIcon.js +7 -0
  67. package/dist/cjs/global-account/react/components/index.d.ts +5 -4
  68. package/dist/cjs/global-account/react/components/index.js +14 -9
  69. package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
  70. package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
  71. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  72. package/dist/cjs/global-account/react/hooks/index.js +3 -1
  73. package/dist/cjs/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  74. package/dist/cjs/global-account/react/hooks/useAccountWallet.js +18 -0
  75. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +2 -2
  76. package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  77. package/dist/cjs/global-account/react/hooks/useUserQuery.d.ts +2 -2
  78. package/dist/cjs/global-account/react/stores/index.d.ts +1 -0
  79. package/dist/cjs/global-account/react/stores/index.js +3 -1
  80. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +31 -6
  81. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  82. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +36 -0
  83. package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +2 -0
  84. package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
  85. package/dist/cjs/shared/constants/chains/supported.d.ts +3 -3
  86. package/dist/cjs/shared/utils/ipfs.js +10 -3
  87. package/dist/esm/anyspend/react/components/AnySpend.js +78 -36
  88. package/dist/esm/anyspend/react/components/AnySpendCustom.js +2 -2
  89. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +1 -1
  90. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +1 -1
  91. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  92. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +5 -3
  93. package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  94. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  95. package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  96. package/dist/esm/anyspend/react/components/common/OrderHistory.js +6 -5
  97. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  98. package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  99. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
  100. package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
  101. package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  102. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +186 -37
  103. package/dist/esm/global-account/react/components/B3DynamicModal.js +23 -12
  104. package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  105. package/dist/esm/global-account/react/components/Deposit/Deposit.js +59 -0
  106. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  107. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +34 -0
  108. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  109. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +113 -280
  110. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  111. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +325 -0
  112. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  113. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +32 -0
  114. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +6 -5
  115. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  116. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +21 -0
  117. package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  118. package/dist/esm/global-account/react/components/ManageAccount/Header.js +81 -0
  119. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  120. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +41 -0
  121. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  122. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +10 -0
  123. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +26 -195
  124. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  125. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +13 -0
  126. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  127. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +45 -0
  128. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  129. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +45 -0
  130. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  131. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +6 -0
  132. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  133. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +101 -0
  134. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  135. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +20 -0
  136. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  137. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +10 -0
  138. package/dist/esm/global-account/react/components/Send/Send.d.ts +5 -0
  139. package/dist/esm/global-account/react/components/Send/Send.js +181 -0
  140. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +4 -2
  141. package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +3 -0
  142. package/dist/esm/global-account/react/components/icons/BellIcon.js +3 -0
  143. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  144. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +4 -0
  145. package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  146. package/dist/esm/global-account/react/components/icons/CopyIcon.js +4 -0
  147. package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  148. package/dist/esm/global-account/react/components/icons/LinkIcon.js +3 -0
  149. package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +3 -0
  150. package/dist/esm/global-account/react/components/icons/LockIcon.js +3 -0
  151. package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  152. package/dist/esm/global-account/react/components/icons/WalletIcon.js +4 -0
  153. package/dist/esm/global-account/react/components/index.d.ts +5 -4
  154. package/dist/esm/global-account/react/components/index.js +9 -5
  155. package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
  156. package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
  157. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  158. package/dist/esm/global-account/react/hooks/index.js +1 -1
  159. package/dist/esm/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  160. package/dist/esm/global-account/react/hooks/useAccountWallet.js +17 -0
  161. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +2 -2
  162. package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  163. package/dist/esm/global-account/react/hooks/useUserQuery.d.ts +2 -2
  164. package/dist/esm/global-account/react/stores/index.d.ts +1 -0
  165. package/dist/esm/global-account/react/stores/index.js +1 -0
  166. package/dist/esm/global-account/react/stores/useModalStore.d.ts +31 -6
  167. package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  168. package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +33 -0
  169. package/dist/esm/global-account/react/utils/profileDisplay.d.ts +2 -0
  170. package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
  171. package/dist/esm/shared/constants/chains/supported.d.ts +3 -3
  172. package/dist/esm/shared/utils/ipfs.js +10 -3
  173. package/dist/styles/index.css +1 -1
  174. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  175. package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  176. package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
  177. package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  178. package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  179. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  180. package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  181. package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  182. package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  183. package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  184. package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  185. package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  186. package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  187. package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  188. package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  189. package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  190. package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  191. package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  192. package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  193. package/dist/types/global-account/react/components/Send/Send.d.ts +5 -0
  194. package/dist/types/global-account/react/components/icons/BellIcon.d.ts +3 -0
  195. package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  196. package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  197. package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  198. package/dist/types/global-account/react/components/icons/LockIcon.d.ts +3 -0
  199. package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  200. package/dist/types/global-account/react/components/index.d.ts +5 -4
  201. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  202. package/dist/types/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  203. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +2 -2
  204. package/dist/types/global-account/react/hooks/useUserQuery.d.ts +2 -2
  205. package/dist/types/global-account/react/stores/index.d.ts +1 -0
  206. package/dist/types/global-account/react/stores/useModalStore.d.ts +31 -6
  207. package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  208. package/dist/types/global-account/react/utils/profileDisplay.d.ts +2 -0
  209. package/dist/types/shared/constants/chains/supported.d.ts +3 -3
  210. package/package.json +1 -1
  211. package/src/anyspend/react/components/AnySpend.tsx +229 -170
  212. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -3
  213. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +0 -2
  214. package/src/anyspend/react/components/AnyspendDepositHype.tsx +0 -2
  215. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +7 -14
  216. package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
  217. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
  218. package/src/anyspend/react/components/common/OrderHistory.tsx +8 -13
  219. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
  220. package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
  221. package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
  222. package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +115 -25
  223. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +360 -128
  224. package/src/global-account/react/components/B3DynamicModal.tsx +28 -14
  225. package/src/global-account/react/components/Deposit/Deposit.tsx +211 -0
  226. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +84 -0
  227. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +332 -433
  228. package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +490 -0
  229. package/src/global-account/react/components/ManageAccount/AppsContent.tsx +79 -0
  230. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +6 -10
  231. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +83 -0
  232. package/src/global-account/react/components/ManageAccount/Header.tsx +230 -0
  233. package/src/global-account/react/components/ManageAccount/HomeActions.tsx +118 -0
  234. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +42 -0
  235. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +73 -589
  236. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +24 -0
  237. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +72 -0
  238. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +87 -0
  239. package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +31 -0
  240. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +180 -0
  241. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +41 -0
  242. package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +50 -0
  243. package/src/global-account/react/components/Send/Send.tsx +585 -0
  244. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +11 -7
  245. package/src/global-account/react/components/icons/BellIcon.tsx +15 -0
  246. package/src/global-account/react/components/icons/ChevronDownIcon.tsx +17 -0
  247. package/src/global-account/react/components/icons/CopyIcon.tsx +22 -0
  248. package/src/global-account/react/components/icons/LinkIcon.tsx +15 -0
  249. package/src/global-account/react/components/icons/LockIcon.tsx +15 -0
  250. package/src/global-account/react/components/icons/WalletIcon.tsx +21 -0
  251. package/src/global-account/react/components/index.ts +11 -5
  252. package/src/global-account/react/components/ui/Tabs.tsx +5 -13
  253. package/src/global-account/react/components/ui/dialog.tsx +32 -14
  254. package/src/global-account/react/hooks/index.ts +3 -0
  255. package/src/global-account/react/hooks/useAccountWallet.tsx +26 -0
  256. package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +1 -0
  257. package/src/global-account/react/stores/index.ts +1 -0
  258. package/src/global-account/react/stores/useModalStore.ts +35 -6
  259. package/src/global-account/react/stores/useRecentAddressesStore.ts +55 -0
  260. package/src/global-account/react/utils/profileDisplay.ts +4 -2
  261. package/src/shared/utils/ipfs.ts +10 -3
  262. package/src/styles/index.css +6 -1
  263. package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  264. package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.js +0 -141
  265. package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  266. package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.js +0 -135
  267. package/dist/types/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  268. package/src/global-account/react/components/ProfileEditor/ProfileEditor.tsx +0 -265
@@ -19,10 +19,12 @@ import { useEffect, useRef } from "react";
19
19
  import { useSetActiveWallet } from "thirdweb/react";
20
20
  import { AvatarEditor } from "./AvatarEditor/AvatarEditor";
21
21
  import { useB3 } from "./B3Provider/useB3";
22
+ import { Deposit } from "./Deposit/Deposit";
22
23
  import { LinkAccount } from "./LinkAccount/LinkAccount";
23
- import { ProfileEditor } from "./ProfileEditor/ProfileEditor";
24
+ import { LinkNewAccount } from "./LinkAccount/LinkNewAccount";
24
25
  import { ManageAccount } from "./ManageAccount/ManageAccount";
25
26
  import { RequestPermissions } from "./RequestPermissions/RequestPermissions";
27
+ import { Send } from "./Send/Send";
26
28
  import { SignInWithB3Flow } from "./SignInWithB3/SignInWithB3Flow";
27
29
  import { Dialog, DialogContent, DialogDescription, DialogTitle } from "./ui/dialog";
28
30
  import { Drawer, DrawerContent, DrawerDescription, DrawerTitle } from "./ui/drawer";
@@ -30,7 +32,10 @@ import { Drawer, DrawerContent, DrawerDescription, DrawerTitle } from "./ui/draw
30
32
  const debug = debugB3React("B3DynamicModal");
31
33
 
32
34
  export function B3DynamicModal() {
33
- const { isOpen, setB3ModalOpen, contentType, history, navigateBack } = useModalStore();
35
+ const isOpen = useModalStore(state => state.isOpen);
36
+ const setB3ModalOpen = useModalStore(state => state.setB3ModalOpen);
37
+ const contentType = useModalStore(state => state.contentType);
38
+ const navigateBack = useModalStore(state => state.navigateBack);
34
39
  const { theme } = useB3();
35
40
  const isMobile = useIsMobile();
36
41
  const prevIsOpenRef = useRef(isOpen);
@@ -64,8 +69,10 @@ export function B3DynamicModal() {
64
69
  "anySpendSignatureMint",
65
70
  "anySpendBondKit",
66
71
  "linkAccount",
72
+ "linkNewAccount",
67
73
  "avatarEditor",
68
- "profileEditor",
74
+ "deposit",
75
+ "send",
69
76
  ];
70
77
 
71
78
  const freestyleTypes = [
@@ -83,7 +90,7 @@ export function B3DynamicModal() {
83
90
 
84
91
  // Check if current content type is in freestyle types
85
92
  const isFreestyleType = freestyleTypes.includes(contentType?.type as string);
86
- const hideCloseButton = isFreestyleType;
93
+ const hideCloseButton = true;
87
94
 
88
95
  // Build content class using cn utility
89
96
  // eslint-disable-next-line tailwindcss/no-custom-classname
@@ -121,7 +128,7 @@ export function B3DynamicModal() {
121
128
  case "anySpendFundTournament":
122
129
  return <AnySpendTournament {...contentType} mode="modal" action="fund" />;
123
130
  case "anySpendOrderHistory":
124
- return <OrderHistory onBack={() => {}} mode="modal" />;
131
+ return <OrderHistory {...contentType} mode="modal" />;
125
132
  case "anySpendStakeB3":
126
133
  return <AnySpendStakeB3 {...contentType} mode="modal" />;
127
134
  case "anySpendStakeB3ExactIn":
@@ -138,12 +145,16 @@ export function B3DynamicModal() {
138
145
  return <AnySpendBondKit {...contentType} />;
139
146
  case "linkAccount":
140
147
  return <LinkAccount {...contentType} />;
148
+ case "linkNewAccount":
149
+ return <LinkNewAccount {...contentType} />;
141
150
  case "anySpendDepositHype":
142
151
  return <AnySpendDepositHype {...contentType} mode="modal" />;
143
152
  case "avatarEditor":
144
153
  return <AvatarEditor onSetAvatar={contentType.onSuccess} />;
145
- case "profileEditor":
146
- return <ProfileEditor onSuccess={contentType.onSuccess} />;
154
+ case "deposit":
155
+ return <Deposit />;
156
+ case "send":
157
+ return <Send {...contentType} />;
147
158
  // Add other modal types here
148
159
  default:
149
160
  return null;
@@ -162,17 +173,20 @@ export function B3DynamicModal() {
162
173
  contentClass,
163
174
  "rounded-2xl bg-white shadow-xl dark:bg-gray-900",
164
175
  "border border-gray-200 dark:border-gray-800",
165
- // Remove default width classes for avatar editor and profile editor
166
- contentType?.type === "avatarEditor" || contentType?.type === "profileEditor"
167
- ? "!w-[90vw] !max-w-none" // Use !important to override default styles
168
- : "mx-auto w-full max-w-md sm:max-w-lg",
176
+ (contentType?.type === "manageAccount" ||
177
+ contentType?.type === "deposit" ||
178
+ contentType?.type === "send" ||
179
+ contentType?.type === "avatarEditor") &&
180
+ "p-0",
181
+ "mx-auto w-full max-w-md sm:max-w-lg",
169
182
  )}
170
183
  hideCloseButton={hideCloseButton}
171
184
  >
172
185
  <ModalTitle className="sr-only hidden">{contentType?.type || "Modal"}</ModalTitle>
173
186
  <ModalDescription className="sr-only hidden">{contentType?.type || "Modal Body"}</ModalDescription>
187
+
174
188
  <div className={cn("no-scrollbar max-h-[90dvh] overflow-auto sm:max-h-[80dvh]")}>
175
- {history.length > 0 && contentType?.showBackButton && (
189
+ {(!hideCloseButton || contentType?.showBackButton) && (
176
190
  <button
177
191
  onClick={navigateBack}
178
192
  className="flex items-center gap-2 px-6 py-4 text-gray-600 transition-colors hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
@@ -193,13 +207,13 @@ export function B3DynamicModal() {
193
207
  strokeLinejoin="round"
194
208
  />
195
209
  </svg>
196
- <span className="text-sm font-medium">Back</span>
210
+ <span className="font-inter text-sm font-semibold">Back</span>
197
211
  </button>
198
212
  )}
199
213
  {renderContent()}
200
214
  </div>
201
215
  </ModalContent>
202
- {(contentType?.type === "avatarEditor" || contentType?.type === "profileEditor") && (
216
+ {contentType?.type === "avatarEditor" && (
203
217
  <button
204
218
  onClick={() => setB3ModalOpen(false)}
205
219
  className="fixed right-5 top-5 z-[100] cursor-pointer text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white"
@@ -0,0 +1,211 @@
1
+ import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "@b3dotfun/sdk/anyspend/constants";
2
+ import type { components } from "@b3dotfun/sdk/anyspend/types/api";
3
+ import { ALL_CHAINS } from "@b3dotfun/sdk/anyspend/utils/chain";
4
+ import { useAccountWallet, useModalStore } from "@b3dotfun/sdk/global-account/react";
5
+ import { TokenSelector } from "@relayprotocol/relay-kit-ui";
6
+ import { ChevronDown, Copy } from "lucide-react";
7
+ import { QRCodeSVG } from "qrcode.react";
8
+ import { useMemo, useState } from "react";
9
+ import { toast } from "sonner";
10
+ import { base } from "thirdweb/chains";
11
+ import ModalHeader from "../ModalHeader/ModalHeader";
12
+ import { Button } from "../ui/button";
13
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../ui/dropdown-menu";
14
+
15
+ // Coinbase logo SVG
16
+ const CoinbaseLogo = () => (
17
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
18
+ <path
19
+ d="M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z"
20
+ fill="#0052FF"
21
+ />
22
+ <path
23
+ d="M8.00065 11.3337C6.16065 11.3337 4.66732 9.84033 4.66732 8.00033C4.66732 6.16033 6.16065 4.66699 8.00065 4.66699C9.47399 4.66699 10.734 5.64699 11.1607 7.00033H13.2273C12.774 4.54699 10.6273 2.66699 8.00065 2.66699C5.05399 2.66699 2.66732 5.05366 2.66732 8.00033C2.66732 10.947 5.05399 13.3337 8.00065 13.3337C10.6273 13.3337 12.774 11.4537 13.2273 9.00033H11.1607C10.734 10.3537 9.47399 11.3337 8.00065 11.3337Z"
24
+ fill="white"
25
+ />
26
+ </svg>
27
+ );
28
+
29
+ export function Deposit() {
30
+ const { address } = useAccountWallet();
31
+ const navigateBack = useModalStore(state => state.navigateBack);
32
+ const setB3ModalOpen = useModalStore(state => state.setB3ModalOpen);
33
+ const history = useModalStore(state => state.history);
34
+
35
+ const [selectedChainId, setSelectedChainId] = useState(base.id);
36
+ const [selectedToken, setSelectedToken] = useState<components["schemas"]["Token"]>({
37
+ address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
38
+ chainId: base.id,
39
+ decimals: 6,
40
+ symbol: "USDC",
41
+ name: "USD Coin",
42
+ metadata: {
43
+ logoURI: "https://assets.relay.link/icons/1/light/usdc.png",
44
+ },
45
+ });
46
+
47
+ // Get the selected chain object
48
+ const selectedChain = useMemo(() => ALL_CHAINS[selectedChainId], [selectedChainId]);
49
+
50
+ // Get all supported chains for the dropdown
51
+ const supportedChains = useMemo(() => Object.values(ALL_CHAINS), []);
52
+
53
+ // The deposit address is the user's active wallet address
54
+ const depositAddress = address || "0x0000000000000000000000000000000000000000";
55
+
56
+ const handleTokenSelect = (token: any) => {
57
+ setSelectedChainId(token.chainId);
58
+ setSelectedToken({
59
+ address: token.address,
60
+ chainId: token.chainId,
61
+ decimals: token.decimals,
62
+ metadata: { logoURI: token.logoURI },
63
+ name: token.name,
64
+ symbol: token.symbol,
65
+ });
66
+ };
67
+
68
+ const handleCopyAddress = async () => {
69
+ try {
70
+ await navigator.clipboard.writeText(depositAddress);
71
+ toast.success("Address copied to clipboard");
72
+ } catch (error) {
73
+ toast.error("Failed to copy address");
74
+ }
75
+ };
76
+
77
+ return (
78
+ <div className="flex w-full flex-col">
79
+ <ModalHeader title="Deposit" showCloseButton={false} />
80
+
81
+ {/* Content */}
82
+ <div className="flex flex-col pb-5 pt-5">
83
+ {/* Header text */}
84
+ <div className="mb-4 px-5">
85
+ <p className="font-neue-montreal-medium text-base leading-snug text-[#3f3f46]">
86
+ Send any accepted token and we'll convert it to B3 on Base for you to use.
87
+ </p>
88
+ </div>
89
+
90
+ {/* Chain and Token Selectors */}
91
+ <div className="space-y-3 px-5">
92
+ {/* Chain Selector */}
93
+ <div>
94
+ <label className="mb-1.5 block text-sm font-medium text-[#3f3f46]">Chain</label>
95
+ <DropdownMenu>
96
+ <DropdownMenuTrigger asChild>
97
+ <button className="flex h-10 w-full items-center justify-between rounded-lg border border-[#d1d1d6] bg-white px-2.5 py-2 transition-colors hover:bg-[#fafafa]">
98
+ <div className="flex items-center gap-2">
99
+ {selectedChain?.logoUrl && (
100
+ <img src={selectedChain.logoUrl} alt={selectedChain.name} className="h-6 w-6 rounded-full" />
101
+ )}
102
+ <span className="text-base text-[#18181b]">{selectedChain?.name || "Select Chain"}</span>
103
+ </div>
104
+ <ChevronDown className="h-4 w-4 text-[#51525c]" />
105
+ </button>
106
+ </DropdownMenuTrigger>
107
+ <DropdownMenuContent className="max-h-[300px] w-full overflow-y-auto">
108
+ {supportedChains.map(chain => (
109
+ <DropdownMenuItem key={chain.id} onClick={() => setSelectedChainId(chain.id)}>
110
+ <div className="flex items-center gap-2">
111
+ {chain.logoUrl && <img src={chain.logoUrl} alt={chain.name} className="h-6 w-6 rounded-full" />}
112
+ <span className="text-[#18181b]">{chain.name}</span>
113
+ </div>
114
+ </DropdownMenuItem>
115
+ ))}
116
+ </DropdownMenuContent>
117
+ </DropdownMenu>
118
+ </div>
119
+
120
+ {/* Accepted Tokens Selector */}
121
+ <div>
122
+ <label className="mb-1.5 block text-sm font-medium text-[#3f3f46]">Accepted tokens</label>
123
+ <TokenSelector
124
+ address={address}
125
+ chainIdsFilter={[selectedChainId]}
126
+ context="from"
127
+ fromChainWalletVMSupported={true}
128
+ isValidAddress={true}
129
+ lockedChainIds={[selectedChainId]}
130
+ multiWalletSupportEnabled={true}
131
+ onAnalyticEvent={undefined}
132
+ popularChainIds={[1, 8453, RELAY_SOLANA_MAINNET_CHAIN_ID]}
133
+ setToken={handleTokenSelect}
134
+ supportedWalletVMs={["evm", "svm"]}
135
+ token={undefined}
136
+ trigger={
137
+ <button className="flex h-10 w-full items-center justify-between rounded-lg border border-[#d1d1d6] bg-white px-2.5 py-2 transition-colors hover:bg-[#fafafa]">
138
+ <div className="flex items-center gap-2">
139
+ {selectedToken?.metadata?.logoURI && (
140
+ <img
141
+ src={selectedToken.metadata.logoURI}
142
+ alt={selectedToken.symbol}
143
+ className="h-6 w-6 rounded-full"
144
+ />
145
+ )}
146
+ <span className="text-base text-[#18181b]">{selectedToken.symbol}</span>
147
+ </div>
148
+ <ChevronDown className="h-4 w-4 text-[#51525c]" />
149
+ </button>
150
+ }
151
+ />
152
+ </div>
153
+ </div>
154
+
155
+ {/* QR Code and Address Container */}
156
+ <div className="mx-5 mt-4 flex items-start rounded-xl border border-[#e4e4e7] bg-[#fafafa]">
157
+ {/* QR Code Section */}
158
+ <div className="flex flex-1 flex-col items-center gap-2 px-5 pb-3 pt-5">
159
+ <div className="flex w-full items-center justify-center">
160
+ <div className="w-full">
161
+ <div className="flex aspect-[144/146] w-full flex-col items-center justify-center overflow-hidden">
162
+ <QRCodeSVG value={depositAddress} size={144} level="M" />
163
+ </div>
164
+ </div>
165
+ </div>
166
+ <div className="flex items-center gap-2">
167
+ <span className="text-xs font-semibold leading-[18px] text-[#0b57c2]">SCAN WITH</span>
168
+ <CoinbaseLogo />
169
+ </div>
170
+ </div>
171
+
172
+ {/* Deposit Address Section */}
173
+ <div className="relative flex flex-1 flex-col gap-2 self-stretch border-l border-[#e4e4e7] p-6">
174
+ <label className="text-sm font-medium leading-5 text-[#3f3f46]">Deposit address:</label>
175
+ <div className="relative flex w-full flex-wrap items-center gap-2">
176
+ <p className="h-[74px] flex-1 overflow-hidden text-ellipsis whitespace-pre-wrap break-all pr-6 text-base font-semibold leading-6 text-[#18181b]">
177
+ {depositAddress}
178
+ </p>
179
+ <button
180
+ onClick={handleCopyAddress}
181
+ className="absolute bottom-0 right-0 h-4 w-4 transition-opacity hover:opacity-70"
182
+ aria-label="Copy address"
183
+ >
184
+ <Copy className="h-full w-full text-[#51525c]" />
185
+ </button>
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ {/* Warning Text */}
191
+ <div className="mx-5 mt-4">
192
+ <p className="font-neue-montreal-italic text-center text-sm leading-[1.3] text-[#3f3f46]">
193
+ Do not send any tokens other than the ones specified.
194
+ <br />
195
+ Tokens not accepted will not be converted.
196
+ </p>
197
+ </div>
198
+
199
+ {/* Action Button */}
200
+ <div className="mt-4 px-5">
201
+ <Button
202
+ onClick={handleCopyAddress}
203
+ className="h-12 w-full rounded-xl bg-[#0c68e9] text-base font-semibold text-white shadow-[inset_0px_0px_0px_1px_rgba(10,13,18,0.18),inset_0px_-2px_0px_0px_rgba(10,13,18,0.05)] hover:bg-[#0b5fd4]"
204
+ >
205
+ Copy deposit address
206
+ </Button>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ );
211
+ }
@@ -0,0 +1,84 @@
1
+ "use client";
2
+
3
+ import { client as defaultClient } from "@b3dotfun/sdk/shared/utils/thirdweb";
4
+ import type { ThirdwebClient } from "thirdweb";
5
+ import { MediaRenderer } from "thirdweb/react";
6
+
7
+ // Primary IPFS gateway URL - matches our allowed list in profileDisplay.ts
8
+ // Note: MediaRenderer expects the base gateway URL without /ipfs path
9
+ const IPFS_GATEWAY_URL = "https://cloudflare-ipfs.com";
10
+
11
+ interface IPFSMediaRendererProps {
12
+ /** The source URL - can be IPFS URL (ipfs://...) or HTTP URL */
13
+ src: string | null | undefined;
14
+ /** Alt text for the media */
15
+ alt?: string;
16
+ /** CSS class name */
17
+ className?: string;
18
+ /** Thirdweb client instance (optional, uses default if not provided) */
19
+ client?: ThirdwebClient;
20
+ /** Width of the media */
21
+ width?: string | number;
22
+ /** Height of the media */
23
+ height?: string | number;
24
+ /** Controls property for video/audio */
25
+ controls?: boolean;
26
+ /** Style object */
27
+ style?: React.CSSProperties;
28
+ }
29
+
30
+ /**
31
+ * IPFSMediaRenderer - A wrapper around Thirdweb's MediaRenderer that configures
32
+ * the IPFS gateway URL to use our validated gateway.
33
+ *
34
+ * Features:
35
+ * - Configures MediaRenderer to use cloudflare-ipfs.com gateway
36
+ * - Gateway matches our allowed list in profileDisplay.ts
37
+ * - Provides fallback for missing sources
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * <IPFSMediaRenderer
42
+ * src="ipfs://QmX..."
43
+ * alt="Profile Avatar"
44
+ * className="size-14 rounded-full"
45
+ * />
46
+ * ```
47
+ */
48
+ export function IPFSMediaRenderer({
49
+ src,
50
+ alt = "Media",
51
+ className,
52
+ client = defaultClient,
53
+ width,
54
+ height,
55
+ controls,
56
+ style,
57
+ }: IPFSMediaRendererProps) {
58
+ // If no source, render fallback
59
+ if (!src) {
60
+ return (
61
+ <div className={className} style={style} aria-label={alt}>
62
+ <div className="bg-b3-primary-wash flex h-full w-full items-center justify-center">
63
+ <span className="text-b3-grey font-neue-montreal-semibold text-xs">{alt.charAt(0).toUpperCase()}</span>
64
+ </div>
65
+ </div>
66
+ );
67
+ }
68
+
69
+ // Convert IPFS URLs to HTTP gateway URLs if needed
70
+ // This handles both ipfs:// URLs and existing HTTP gateway URLs
71
+
72
+ return (
73
+ <MediaRenderer
74
+ src={src}
75
+ client={client}
76
+ alt={alt}
77
+ className={className}
78
+ width={width ? width.toString() : undefined}
79
+ height={height ? height.toString() : undefined}
80
+ controls={controls}
81
+ style={style}
82
+ />
83
+ );
84
+ }