@b3dotfun/sdk 0.0.64-alpha.2 → 0.0.65-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +73 -33
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
  3. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
  4. package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  5. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  6. package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  7. package/dist/cjs/anyspend/react/components/common/OrderHistory.js +7 -3
  8. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  9. package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  10. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
  11. package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  12. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +139 -33
  13. package/dist/cjs/global-account/react/components/B3DynamicModal.js +25 -6
  14. package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  15. package/dist/cjs/global-account/react/components/Deposit/Deposit.js +65 -0
  16. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  17. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +113 -279
  18. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  19. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +331 -0
  20. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  21. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +34 -0
  22. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  23. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  24. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +23 -0
  25. package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  26. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +120 -0
  27. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  28. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +43 -0
  29. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  30. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +16 -0
  31. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +24 -193
  32. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  33. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +15 -0
  34. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  35. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +44 -0
  36. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  37. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +50 -0
  38. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  39. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +8 -0
  40. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  41. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +38 -0
  42. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  43. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +22 -0
  44. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  45. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +12 -0
  46. package/dist/cjs/global-account/react/components/Send/Send.d.ts +5 -0
  47. package/dist/cjs/global-account/react/components/Send/Send.js +187 -0
  48. package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +3 -0
  49. package/dist/cjs/global-account/react/components/icons/BellIcon.js +5 -0
  50. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  51. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +7 -0
  52. package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  53. package/dist/cjs/global-account/react/components/icons/CopyIcon.js +7 -0
  54. package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  55. package/dist/cjs/global-account/react/components/icons/LinkIcon.js +5 -0
  56. package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +3 -0
  57. package/dist/cjs/global-account/react/components/icons/LockIcon.js +5 -0
  58. package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  59. package/dist/cjs/global-account/react/components/icons/WalletIcon.js +7 -0
  60. package/dist/cjs/global-account/react/components/index.d.ts +4 -2
  61. package/dist/cjs/global-account/react/components/index.js +11 -4
  62. package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
  63. package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
  64. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  65. package/dist/cjs/global-account/react/hooks/index.js +3 -1
  66. package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  67. package/dist/cjs/global-account/react/stores/index.d.ts +1 -0
  68. package/dist/cjs/global-account/react/stores/index.js +3 -1
  69. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +34 -3
  70. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  71. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +36 -0
  72. package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +2 -0
  73. package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
  74. package/dist/cjs/shared/constants/chains/supported.d.ts +2 -2
  75. package/dist/cjs/shared/utils/ipfs.js +1 -1
  76. package/dist/esm/anyspend/react/components/AnySpend.js +74 -34
  77. package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
  78. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +1 -1
  79. package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  80. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  81. package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  82. package/dist/esm/anyspend/react/components/common/OrderHistory.js +6 -5
  83. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  84. package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  85. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
  86. package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  87. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +140 -34
  88. package/dist/esm/global-account/react/components/B3DynamicModal.js +25 -6
  89. package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  90. package/dist/esm/global-account/react/components/Deposit/Deposit.js +59 -0
  91. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  92. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +113 -280
  93. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  94. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +325 -0
  95. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  96. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +32 -0
  97. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +2 -2
  98. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  99. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +21 -0
  100. package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  101. package/dist/esm/global-account/react/components/ManageAccount/Header.js +81 -0
  102. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  103. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +41 -0
  104. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  105. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +10 -0
  106. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +26 -195
  107. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  108. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +13 -0
  109. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  110. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +42 -0
  111. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  112. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +45 -0
  113. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  114. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +6 -0
  115. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  116. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +36 -0
  117. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  118. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +20 -0
  119. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  120. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +10 -0
  121. package/dist/esm/global-account/react/components/Send/Send.d.ts +5 -0
  122. package/dist/esm/global-account/react/components/Send/Send.js +181 -0
  123. package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +3 -0
  124. package/dist/esm/global-account/react/components/icons/BellIcon.js +3 -0
  125. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  126. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +4 -0
  127. package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  128. package/dist/esm/global-account/react/components/icons/CopyIcon.js +4 -0
  129. package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  130. package/dist/esm/global-account/react/components/icons/LinkIcon.js +3 -0
  131. package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +3 -0
  132. package/dist/esm/global-account/react/components/icons/LockIcon.js +3 -0
  133. package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  134. package/dist/esm/global-account/react/components/icons/WalletIcon.js +4 -0
  135. package/dist/esm/global-account/react/components/index.d.ts +4 -2
  136. package/dist/esm/global-account/react/components/index.js +7 -2
  137. package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
  138. package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
  139. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  140. package/dist/esm/global-account/react/hooks/index.js +1 -1
  141. package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  142. package/dist/esm/global-account/react/stores/index.d.ts +1 -0
  143. package/dist/esm/global-account/react/stores/index.js +1 -0
  144. package/dist/esm/global-account/react/stores/useModalStore.d.ts +34 -3
  145. package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  146. package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +33 -0
  147. package/dist/esm/global-account/react/utils/profileDisplay.d.ts +2 -0
  148. package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
  149. package/dist/esm/shared/constants/chains/supported.d.ts +2 -2
  150. package/dist/esm/shared/utils/ipfs.js +1 -1
  151. package/dist/styles/index.css +1 -1
  152. package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  153. package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  154. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  155. package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  156. package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  157. package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  158. package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  159. package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  160. package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  161. package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  162. package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  163. package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  164. package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  165. package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  166. package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  167. package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  168. package/dist/types/global-account/react/components/Send/Send.d.ts +5 -0
  169. package/dist/types/global-account/react/components/icons/BellIcon.d.ts +3 -0
  170. package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  171. package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  172. package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  173. package/dist/types/global-account/react/components/icons/LockIcon.d.ts +3 -0
  174. package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  175. package/dist/types/global-account/react/components/index.d.ts +4 -2
  176. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  177. package/dist/types/global-account/react/stores/index.d.ts +1 -0
  178. package/dist/types/global-account/react/stores/useModalStore.d.ts +34 -3
  179. package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  180. package/dist/types/global-account/react/utils/profileDisplay.d.ts +2 -0
  181. package/dist/types/shared/constants/chains/supported.d.ts +2 -2
  182. package/package.json +1 -1
  183. package/src/anyspend/react/components/AnySpend.tsx +225 -167
  184. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
  185. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +1 -1
  186. package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
  187. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
  188. package/src/anyspend/react/components/common/OrderHistory.tsx +8 -13
  189. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
  190. package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
  191. package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
  192. package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +115 -25
  193. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +303 -126
  194. package/src/global-account/react/components/B3DynamicModal.tsx +28 -6
  195. package/src/global-account/react/components/Deposit/Deposit.tsx +211 -0
  196. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +332 -433
  197. package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +490 -0
  198. package/src/global-account/react/components/ManageAccount/AppsContent.tsx +79 -0
  199. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +2 -3
  200. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +83 -0
  201. package/src/global-account/react/components/ManageAccount/Header.tsx +230 -0
  202. package/src/global-account/react/components/ManageAccount/HomeActions.tsx +118 -0
  203. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +42 -0
  204. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +73 -589
  205. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +24 -0
  206. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +74 -0
  207. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +87 -0
  208. package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +31 -0
  209. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +74 -0
  210. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +41 -0
  211. package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +50 -0
  212. package/src/global-account/react/components/Send/Send.tsx +585 -0
  213. package/src/global-account/react/components/icons/BellIcon.tsx +15 -0
  214. package/src/global-account/react/components/icons/ChevronDownIcon.tsx +17 -0
  215. package/src/global-account/react/components/icons/CopyIcon.tsx +22 -0
  216. package/src/global-account/react/components/icons/LinkIcon.tsx +15 -0
  217. package/src/global-account/react/components/icons/LockIcon.tsx +15 -0
  218. package/src/global-account/react/components/icons/WalletIcon.tsx +21 -0
  219. package/src/global-account/react/components/index.ts +9 -2
  220. package/src/global-account/react/components/ui/Tabs.tsx +5 -13
  221. package/src/global-account/react/components/ui/dialog.tsx +32 -14
  222. package/src/global-account/react/hooks/index.ts +3 -0
  223. package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +1 -0
  224. package/src/global-account/react/stores/index.ts +1 -0
  225. package/src/global-account/react/stores/useModalStore.ts +39 -2
  226. package/src/global-account/react/stores/useRecentAddressesStore.ts +55 -0
  227. package/src/global-account/react/utils/profileDisplay.ts +4 -2
  228. package/src/shared/utils/ipfs.ts +1 -1
  229. package/src/styles/index.css +6 -1
@@ -0,0 +1,21 @@
1
+ import { SVGProps } from "react";
2
+
3
+ export function WalletIcon({ className, ...props }: SVGProps<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ width="40"
7
+ height="40"
8
+ viewBox="0 0 40 40"
9
+ fill="none"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ className={className}
12
+ {...props}
13
+ >
14
+ <rect width="40" height="40" rx="20" fill="#F4F4F5" />
15
+ <path
16
+ d="M28 16H27V14C27 13.4696 26.7893 12.9609 26.4142 12.5858C26.0391 12.2107 25.5304 12 25 12H15C14.4696 12 13.9609 12.2107 13.5858 12.5858C13.2107 12.9609 13 13.4696 13 14V26C13 26.5304 13.2107 27.0391 13.5858 27.4142C13.9609 27.7893 14.4696 28 15 28H27C27.5304 28 28.0391 27.7893 28.4142 27.4142C28.7893 27.0391 29 26.5304 29 26V18C29 17.4696 28.7893 16.9609 28.4142 16.5858C28.0391 16.2107 27.5304 16 27 16ZM15 14H25V16H15V14ZM27 22H25C24.7348 22 24.4804 21.8946 24.2929 21.7071C24.1054 21.5196 24 21.2652 24 21C24 20.7348 24.1054 20.4804 24.2929 20.2929C24.4804 20.1054 24.7348 20 25 20H27V22Z"
17
+ fill="#71717A"
18
+ />
19
+ </svg>
20
+ );
21
+ }
@@ -19,6 +19,13 @@ export { getConnectOptionsFromStrategy, isWalletType, type AllowedStrategy } fro
19
19
  // ManageAccount Components
20
20
  export { ManageAccount } from "./ManageAccount/ManageAccount";
21
21
 
22
+ // Deposit Components
23
+ export { Deposit } from "./Deposit/Deposit";
24
+
25
+ // Send Components
26
+ export { Send } from "./Send/Send";
27
+
28
+ // B3 Global Branding Wrapper
22
29
  // Profile Components
23
30
  export { AvatarEditor } from "./AvatarEditor/AvatarEditor";
24
31
  export { ProfileEditor } from "./ProfileEditor/ProfileEditor";
@@ -100,12 +107,12 @@ export { ScrollArea, ScrollBar } from "./ui/scroll-area";
100
107
  export { ShinyButton } from "./ui/ShinyButton";
101
108
  export { Skeleton } from "./ui/skeleton";
102
109
  export {
103
- TabTrigger as TabTriggerPrimitive,
104
110
  TabsContent as TabsContentPrimitive,
105
111
  TabsList as TabsListPrimitive,
106
112
  Tabs as TabsPrimitive,
113
+ TabTrigger as TabTriggerPrimitive,
107
114
  } from "./ui/Tabs";
108
- export { TabTrigger, Tabs, TabsContent, TabsList, TabsTransitionWrapper } from "./ui/TabSystem";
115
+ export { Tabs, TabsContent, TabsList, TabsTransitionWrapper, TabTrigger } from "./ui/TabSystem";
109
116
  export { TextLoop } from "./ui/text-loop";
110
117
  export { TextShimmer } from "./ui/text-shimmer";
111
118
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
@@ -16,26 +16,18 @@ export const Tabs = ({
16
16
  );
17
17
 
18
18
  export function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {
19
- return (
20
- <TabsPrimitive.List
21
- className={cn(
22
- "border-b3-react-border bg-b3-react-background inline-flex h-12 w-full items-center justify-center rounded-lg border",
23
- className,
24
- )}
25
- {...props}
26
- />
27
- );
19
+ return <TabsPrimitive.List className={cn("", className)} {...props} />;
28
20
  }
29
21
 
30
22
  export function TabTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {
31
23
  return (
32
24
  <TabsPrimitive.Trigger
33
25
  className={cn(
34
- "inline-flex h-full items-center justify-center whitespace-nowrap px-3 text-sm font-medium transition-all",
26
+ "text-md inline-flex h-full items-center justify-center whitespace-nowrap px-3 font-semibold transition-all",
35
27
  "focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
36
- "data-[state=active]:bg-b3-react-subtle data-[state=active]:text-b3-react-primary data-[state=active]:font-bold",
37
- "border-b3-react-border hover:text-b3-react-foreground data-[state=inactive]:border-b3-react-border data-[state=inactive]:text-b3-react-muted-foreground",
38
- "flex-1 border-r",
28
+ "data-[state=active]:text-b3-react-primary data-[state=active]:font-bold",
29
+ "hover:text-b3-react-foreground data-[state=inactive]:text-b3-react-muted-foreground",
30
+ "flex-1",
39
31
  className,
40
32
  )}
41
33
  {...props}
@@ -42,7 +42,7 @@ type DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.
42
42
 
43
43
  const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<DialogContentElement>> =
44
44
  React.forwardRef<DialogContentElement, DialogContentProps>(
45
- ({ className, children, hideCloseButton = false, closeBtnClassName, ...props }, ref) => {
45
+ ({ className, children, hideCloseButton = true, closeBtnClassName, ...props }, ref) => {
46
46
  const container = typeof window !== "undefined" ? document.getElementById("b3-root") : null;
47
47
  return (
48
48
  <DialogPortal container={container}>
@@ -50,7 +50,7 @@ const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.
50
50
  <DialogPrimitive.Content
51
51
  ref={ref}
52
52
  className={cn(
53
- "bg-b3-react-background fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg !outline-none",
53
+ "fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border shadow-lg !outline-none",
54
54
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-500",
55
55
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
56
56
  "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
@@ -60,18 +60,36 @@ const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.
60
60
  )}
61
61
  {...props}
62
62
  >
63
- {children}
64
- {!hideCloseButton && (
65
- <DialogPrimitive.Close
66
- className={cn(
67
- "modal-close-button data-[state=open]:bg-b3-react-background data-[state=open]:text-b3-react-muted-foreground absolute right-2 top-2 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400",
68
- closeBtnClassName,
69
- )}
70
- >
71
- <X className="h-5 w-5" />
72
- <span className="sr-only">Close</span>
73
- </DialogPrimitive.Close>
74
- )}
63
+ <div className="flex flex-1 flex-col overflow-hidden rounded-xl border border-[#D1D1D6] bg-white shadow-[0_20px_24px_-4px_rgba(10,13,18,0.08),0_8px_8px_-4px_rgba(10,13,18,0.03),0_3px_3px_-1.5px_rgba(10,13,18,0.04)]">
64
+ {children}
65
+ {!hideCloseButton && (
66
+ <DialogPrimitive.Close
67
+ className={cn(
68
+ "modal-close-button data-[state=open]:bg-b3-react-background data-[state=open]:text-b3-react-muted-foreground absolute right-2 top-2 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400",
69
+ closeBtnClassName,
70
+ )}
71
+ >
72
+ <X className="h-5 w-5" />
73
+ <span className="sr-only">Close</span>
74
+ </DialogPrimitive.Close>
75
+ )}
76
+ </div>
77
+ {/* Global Account Footer */}
78
+ <div className="flex items-center justify-center gap-1.5 pt-[10px]">
79
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
80
+ <path
81
+ d="M2 4.66667C2 3.19391 3.19391 2 4.66667 2H11.3333C12.8061 2 14 3.19391 14 4.66667V11.3333C14 12.8061 12.8061 14 11.3333 14H4.66667C3.19391 14 2 12.8061 2 11.3333V4.66667Z"
82
+ fill="#0B57C2"
83
+ />
84
+ <path
85
+ d="M5.33333 6C5.33333 5.63181 5.63181 5.33333 6 5.33333H10C10.3682 5.33333 10.6667 5.63181 10.6667 6V10C10.6667 10.3682 10.3682 10.6667 10 10.6667H6C5.63181 10.6667 5.33333 10.3682 5.33333 10V6Z"
86
+ fill="white"
87
+ />
88
+ </svg>
89
+ <span className="font-neue-montreal-semibold text-xs uppercase leading-none tracking-[0.72px] text-[#0B57C2]">
90
+ Global Account
91
+ </span>
92
+ </div>
75
93
  </DialogPrimitive.Content>
76
94
  </DialogPortal>
77
95
  );
@@ -26,9 +26,12 @@ export { useOneBalance } from "./useOneBalance";
26
26
  export {
27
27
  useProfile,
28
28
  useProfilePreference,
29
+ useProfileSettings,
30
+ useDisplayName,
29
31
  type CombinedProfile,
30
32
  type PreferenceRequestBody,
31
33
  type Profile,
34
+ type DisplayNameRequestBody,
32
35
  } from "./useProfile";
33
36
  export { useQueryB3 } from "./useQueryB3";
34
37
  export { useQueryBSMNT } from "./useQueryBSMNT";
@@ -104,6 +104,7 @@ export function useB3BalanceFromAddresses(
104
104
  enabled: (options?.enabled ?? true) && normalizedAddresses.length > 0,
105
105
  refetchInterval: options?.refetchInterval ?? 30000, // Default 30s refresh
106
106
  staleTime: 10000, // Consider data stale after 10s
107
+ structuralSharing: false, // Disable structural sharing because data contains BigInt values
107
108
  });
108
109
  }
109
110
 
@@ -1,5 +1,6 @@
1
1
  export { useAuthStore } from "./useAuthStore";
2
2
  export { useModalStore } from "./useModalStore";
3
+ export { useRecentAddressesStore } from "./useRecentAddressesStore";
3
4
 
4
5
  export type {
5
6
  AnySpendBuySpinProps,
@@ -82,9 +82,9 @@ export interface ManageAccountModalProps extends BaseModalProps {
82
82
  /** Partner ID */
83
83
  partnerId: string;
84
84
  /** Active Tab */
85
- activeTab?: "overview" | "tokens" | "nfts" | "apps" | "settings";
85
+ activeTab?: "home" | "tokens" | "nfts" | "apps" | "settings" | "swap";
86
86
  /** Function to set the active tab */
87
- setActiveTab?: (tab: "overview" | "tokens" | "nfts" | "apps" | "settings") => void;
87
+ setActiveTab?: (tab: "home" | "tokens" | "nfts" | "apps" | "settings" | "swap") => void;
88
88
  /** Whether to show the referral information */
89
89
  showReferralInfo?: boolean;
90
90
  /** Whether to show the swap button */
@@ -345,6 +345,16 @@ export interface LinkAccountModalProps extends BaseModalProps {
345
345
  chain: Chain;
346
346
  }
347
347
 
348
+ export interface LinkNewAccountModalProps extends BaseModalProps {
349
+ type: "linkNewAccount";
350
+ showBackButton?: boolean;
351
+ onSuccess?: () => void;
352
+ onError?: (error: Error) => void;
353
+ onClose?: () => void;
354
+ partnerId: string;
355
+ chain: Chain;
356
+ }
357
+
348
358
  export interface AnySpendDepositHypeProps extends BaseModalProps {
349
359
  /** Modal type identifier */
350
360
  type: "anySpendDepositHype";
@@ -380,6 +390,30 @@ export interface ProfileEditorModalProps extends BaseModalProps {
380
390
  onSuccess?: () => void;
381
391
  }
382
392
 
393
+ /**
394
+ * Props for the Deposit modal
395
+ * Allows users to deposit tokens into their global account
396
+ */
397
+ export interface DepositModalProps extends BaseModalProps {
398
+ /** Modal type identifier */
399
+ type: "deposit";
400
+ /** Callback function called when deposit is successful */
401
+ onSuccess?: () => void;
402
+ }
403
+
404
+ /**
405
+ * Props for the Send modal
406
+ * Allows users to send tokens from their global account to another address
407
+ */
408
+ export interface SendModalProps extends BaseModalProps {
409
+ /** Modal type identifier */
410
+ type: "send";
411
+ /** Pre-filled recipient address (optional) */
412
+ recipientAddress?: string;
413
+ /** Callback function called when send is successful */
414
+ onSuccess?: (txHash?: string) => void;
415
+ }
416
+
383
417
  /**
384
418
  * Union type of all possible modal content types
385
419
  */
@@ -401,8 +435,11 @@ export type ModalContentType =
401
435
  | AnySpendSignatureMintProps
402
436
  | AnySpendBondKitProps
403
437
  | LinkAccountModalProps
438
+ | LinkNewAccountModalProps
404
439
  | AnySpendDepositHypeProps
405
440
  | AvatarEditorModalProps
441
+ | DepositModalProps
442
+ | SendModalProps
406
443
  | ProfileEditorModalProps;
407
444
  // Add other modal types here like: | OtherModalProps | AnotherModalProps
408
445
 
@@ -0,0 +1,55 @@
1
+ import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+
4
+ interface RecentAddress {
5
+ address: string;
6
+ timestamp: number;
7
+ }
8
+
9
+ interface RecentAddressesStore {
10
+ recentAddresses: RecentAddress[];
11
+ addRecentAddress: (address: string) => void;
12
+ clearRecentAddresses: () => void;
13
+ }
14
+
15
+ /**
16
+ * Store for managing recently used addresses in the Send flow
17
+ * Persists to localStorage and keeps the last 6 unique addresses
18
+ */
19
+ export const useRecentAddressesStore = create<RecentAddressesStore>()(
20
+ persist(
21
+ set => ({
22
+ recentAddresses: [],
23
+
24
+ /**
25
+ * Add a new address to the recent addresses list
26
+ * Deduplicates and maintains a maximum of 6 addresses
27
+ */
28
+ addRecentAddress: (address: string) => {
29
+ set(state => {
30
+ // Remove any existing entry with the same address
31
+ const filtered = state.recentAddresses.filter(item => item.address.toLowerCase() !== address.toLowerCase());
32
+
33
+ // Add the new address at the beginning
34
+ const updated = [{ address, timestamp: Date.now() }, ...filtered];
35
+
36
+ // Keep only the last 6 addresses
37
+ return {
38
+ recentAddresses: updated.slice(0, 6),
39
+ };
40
+ });
41
+ },
42
+
43
+ /**
44
+ * Clear all recent addresses
45
+ */
46
+ clearRecentAddresses: () => {
47
+ set({ recentAddresses: [] });
48
+ },
49
+ }),
50
+ {
51
+ name: "b3-recent-addresses-storage",
52
+ },
53
+ ),
54
+ );
55
+
@@ -71,6 +71,8 @@ export interface ExtendedProfileDetails {
71
71
  name?: string;
72
72
  username?: string;
73
73
  profileImageUrl?: string;
74
+ picture?: string; // Google OAuth uses 'picture' field
75
+ pfpUrl?: string; // Farcaster uses 'pfpUrl' field
74
76
  }
75
77
 
76
78
  export interface ExtendedProfile extends Omit<Profile, "details"> {
@@ -112,7 +114,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
112
114
  displayInfo = {
113
115
  title: details.name || details.username || "Unknown",
114
116
  subtitle: details.username ? `@${details.username}` : "Farcaster Account",
115
- imageUrl: validateImageUrl(details.profileImageUrl),
117
+ imageUrl: validateImageUrl(details.pfpUrl || details.profileImageUrl),
116
118
  initial: "F",
117
119
  type,
118
120
  };
@@ -121,7 +123,7 @@ export function getProfileDisplayInfo(profile: ExtendedProfile): ProfileDisplayI
121
123
  displayInfo = {
122
124
  title: details.name || details.email || "Unknown",
123
125
  subtitle: details.email || "Google Account",
124
- imageUrl: validateImageUrl(details.profileImageUrl),
126
+ imageUrl: validateImageUrl(details.picture || details.profileImageUrl),
125
127
  initial: "G",
126
128
  type,
127
129
  };
@@ -1,6 +1,6 @@
1
1
  const IPFS_GATEWAYS = [
2
- "https://ipfs.io/ipfs",
3
2
  "https://cloudflare-ipfs.com/ipfs",
3
+ "https://ipfs.io/ipfs",
4
4
  // Can add more gateways as needed
5
5
  ] as const;
6
6
 
@@ -278,10 +278,15 @@ html[data-theme="dark"] .b3-root,
278
278
 
279
279
  /* Custom component styles */
280
280
  .b3-modal {
281
- @apply bg-b3-react-background text-b3-react-foreground rounded-2xl border;
281
+ @apply text-b3-react-foreground rounded-2xl border;
282
282
  border: 1px solid var(--border);
283
283
  overflow: hidden;
284
284
  outline: none;
285
+ padding: 10px;
286
+
287
+ @media (min-width: 768px) {
288
+ background: #e4e4e7;
289
+ }
285
290
  }
286
291
 
287
292
  .b3-modal-freestyle {