@reown/appkit-react-native 2.0.0-alpha.4 → 2.0.0-alpha.5

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 (484) hide show
  1. package/lib/commonjs/AppKit.js +57 -45
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/AppKitContext.js +16 -10
  4. package/lib/commonjs/AppKitContext.js.map +1 -1
  5. package/lib/commonjs/connectors/WalletConnectConnector.js +12 -6
  6. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  7. package/lib/commonjs/hooks/useAccount.js +9 -4
  8. package/lib/commonjs/hooks/useAccount.js.map +1 -1
  9. package/lib/commonjs/hooks/useAppKit.js +12 -12
  10. package/lib/commonjs/hooks/useAppKit.js.map +1 -1
  11. package/lib/commonjs/hooks/useAppKitState.js +32 -0
  12. package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
  13. package/lib/commonjs/hooks/useProvider.js +14 -8
  14. package/lib/commonjs/hooks/useProvider.js.map +1 -1
  15. package/lib/commonjs/hooks/useWalletInfo.js +6 -4
  16. package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
  17. package/lib/commonjs/index.js +7 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/modal/w3m-modal/index.js +16 -5
  20. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  21. package/lib/commonjs/modal/w3m-router/index.js +11 -5
  22. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-account-activity/index.js +1 -1
  24. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +9 -97
  26. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +2 -8
  28. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +94 -0
  30. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  31. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +19 -45
  32. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  33. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +10 -4
  34. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  35. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +24 -49
  36. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  37. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +3 -1
  38. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  39. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +4 -4
  40. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  41. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
  42. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
  43. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +7 -2
  44. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  45. package/lib/commonjs/partials/w3m-connecting-web/index.js +2 -1
  46. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  47. package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
  48. package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
  49. package/lib/commonjs/partials/w3m-header/index.js +5 -4
  50. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  51. package/lib/commonjs/partials/w3m-selector-modal/index.js +72 -57
  52. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  53. package/lib/commonjs/partials/w3m-selector-modal/styles.js +9 -11
  54. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  55. package/lib/commonjs/views/w3m-account-default-view/index.js +3 -3
  56. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  57. package/lib/commonjs/views/w3m-account-view/index.js +2 -2
  58. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  59. package/lib/commonjs/views/w3m-account-view/styles.js +0 -5
  60. package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
  61. package/lib/commonjs/views/w3m-all-wallets-view/index.js +7 -24
  62. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  63. package/lib/commonjs/views/w3m-connect-socials-view/index.js +2 -2
  64. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  65. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +18 -13
  66. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  67. package/lib/commonjs/views/w3m-connect-view/index.js +4 -12
  68. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  69. package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -4
  70. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  71. package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
  72. package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
  73. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +55 -54
  74. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +1 -1
  75. package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js +0 -7
  76. package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js.map +1 -1
  77. package/lib/commonjs/views/w3m-connecting-social-view/index.js +35 -30
  78. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-get-wallet-view/index.js +1 -1
  80. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  81. package/lib/commonjs/views/w3m-network-switch-view/index.js +61 -80
  82. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  83. package/lib/commonjs/views/w3m-networks-view/index.js +25 -14
  84. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  85. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +160 -152
  86. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  87. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +4 -4
  88. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  89. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
  90. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
  91. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +3 -2
  92. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  93. package/lib/commonjs/views/w3m-onramp-settings-view/index.js +15 -7
  94. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  95. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js +4 -1
  96. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js.map +1 -1
  97. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
  98. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
  99. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +1 -1
  100. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
  101. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js +3 -2
  102. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js.map +1 -1
  103. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
  104. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -1
  105. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  106. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +5 -2
  107. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  108. package/lib/commonjs/views/w3m-onramp-view/index.js +5 -4
  109. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  110. package/lib/commonjs/views/w3m-onramp-view/styles.js +3 -0
  111. package/lib/commonjs/views/w3m-onramp-view/styles.js.map +1 -1
  112. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -1
  113. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  114. package/lib/commonjs/views/w3m-swap-preview-view/styles.js +0 -3
  115. package/lib/commonjs/views/w3m-swap-preview-view/styles.js.map +1 -1
  116. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +156 -0
  117. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  118. package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  119. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  120. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  121. package/lib/commonjs/views/w3m-swap-view/index.js +15 -15
  122. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  123. package/lib/commonjs/views/w3m-swap-view/styles.js +0 -8
  124. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  125. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +6 -12
  126. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  127. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  128. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  129. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +3 -5
  130. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  131. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  132. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  133. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -1
  134. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  135. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -1
  136. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  137. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +5 -3
  138. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  139. package/lib/commonjs/views/w3m-wallet-send-view/index.js +11 -5
  140. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  141. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +0 -3
  142. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  143. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +1 -1
  144. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  145. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +1 -1
  146. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  147. package/lib/module/AppKit.js +57 -45
  148. package/lib/module/AppKit.js.map +1 -1
  149. package/lib/module/AppKitContext.js +17 -11
  150. package/lib/module/AppKitContext.js.map +1 -1
  151. package/lib/module/connectors/WalletConnectConnector.js +12 -6
  152. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  153. package/lib/module/hooks/useAccount.js +9 -5
  154. package/lib/module/hooks/useAccount.js.map +1 -1
  155. package/lib/module/hooks/useAppKit.js +13 -13
  156. package/lib/module/hooks/useAppKit.js.map +1 -1
  157. package/lib/module/hooks/useAppKitState.js +27 -0
  158. package/lib/module/hooks/useAppKitState.js.map +1 -0
  159. package/lib/module/hooks/useProvider.js +13 -8
  160. package/lib/module/hooks/useProvider.js.map +1 -1
  161. package/lib/module/hooks/useWalletInfo.js +6 -4
  162. package/lib/module/hooks/useWalletInfo.js.map +1 -1
  163. package/lib/module/index.js +1 -0
  164. package/lib/module/index.js.map +1 -1
  165. package/lib/module/modal/w3m-modal/index.js +17 -6
  166. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  167. package/lib/module/modal/w3m-router/index.js +12 -6
  168. package/lib/module/modal/w3m-router/index.js.map +1 -1
  169. package/lib/module/partials/w3m-account-activity/index.js +1 -1
  170. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  171. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +10 -98
  172. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  173. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +2 -8
  174. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  175. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +90 -0
  176. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  177. package/lib/module/partials/w3m-all-wallets-list/index.js +19 -45
  178. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  179. package/lib/module/partials/w3m-all-wallets-list/styles.js +10 -4
  180. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  181. package/lib/module/partials/w3m-all-wallets-search/index.js +26 -51
  182. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  183. package/lib/module/partials/w3m-all-wallets-search/styles.js +3 -1
  184. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  185. package/lib/module/partials/w3m-connecting-mobile/index.js +4 -4
  186. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  187. package/lib/module/partials/w3m-connecting-mobile/styles.js +2 -1
  188. package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
  189. package/lib/module/partials/w3m-connecting-qrcode/index.js +7 -2
  190. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  191. package/lib/module/partials/w3m-connecting-web/index.js +2 -1
  192. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  193. package/lib/module/partials/w3m-connecting-web/styles.js +3 -0
  194. package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
  195. package/lib/module/partials/w3m-header/index.js +5 -4
  196. package/lib/module/partials/w3m-header/index.js.map +1 -1
  197. package/lib/module/partials/w3m-selector-modal/index.js +74 -59
  198. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  199. package/lib/module/partials/w3m-selector-modal/styles.js +9 -11
  200. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  201. package/lib/module/views/w3m-account-default-view/index.js +3 -3
  202. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  203. package/lib/module/views/w3m-account-view/index.js +2 -2
  204. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  205. package/lib/module/views/w3m-account-view/styles.js +1 -6
  206. package/lib/module/views/w3m-account-view/styles.js.map +1 -1
  207. package/lib/module/views/w3m-all-wallets-view/index.js +8 -25
  208. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  209. package/lib/module/views/w3m-connect-socials-view/index.js +2 -2
  210. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  211. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +19 -14
  212. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  213. package/lib/module/views/w3m-connect-view/index.js +4 -12
  214. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  215. package/lib/module/views/w3m-connecting-external-view/index.js +4 -4
  216. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  217. package/lib/module/views/w3m-connecting-external-view/styles.js +1 -1
  218. package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
  219. package/lib/module/views/w3m-connecting-siwe-view/index.js +57 -56
  220. package/lib/module/views/w3m-connecting-siwe-view/index.js.map +1 -1
  221. package/lib/module/views/w3m-connecting-siwe-view/styles.js +0 -7
  222. package/lib/module/views/w3m-connecting-siwe-view/styles.js.map +1 -1
  223. package/lib/module/views/w3m-connecting-social-view/index.js +35 -30
  224. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  225. package/lib/module/views/w3m-get-wallet-view/index.js +1 -1
  226. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  227. package/lib/module/views/w3m-network-switch-view/index.js +65 -85
  228. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  229. package/lib/module/views/w3m-networks-view/index.js +25 -15
  230. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  231. package/lib/module/views/w3m-onramp-checkout-view/index.js +162 -154
  232. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  233. package/lib/module/views/w3m-onramp-loading-view/index.js +4 -4
  234. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  235. package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
  236. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  237. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +3 -2
  238. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  239. package/lib/module/views/w3m-onramp-settings-view/index.js +16 -8
  240. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  241. package/lib/module/views/w3m-onramp-settings-view/styles.js +4 -1
  242. package/lib/module/views/w3m-onramp-settings-view/styles.js.map +1 -1
  243. package/lib/module/views/w3m-onramp-settings-view/utils.js +14 -0
  244. package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
  245. package/lib/module/views/w3m-onramp-transaction-view/index.js +1 -1
  246. package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
  247. package/lib/module/views/w3m-onramp-view/components/Currency.js +3 -2
  248. package/lib/module/views/w3m-onramp-view/components/Currency.js.map +1 -1
  249. package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
  250. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +1 -1
  251. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  252. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +6 -3
  253. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  254. package/lib/module/views/w3m-onramp-view/index.js +5 -4
  255. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  256. package/lib/module/views/w3m-onramp-view/styles.js +3 -0
  257. package/lib/module/views/w3m-onramp-view/styles.js.map +1 -1
  258. package/lib/module/views/w3m-swap-preview-view/index.js +1 -1
  259. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  260. package/lib/module/views/w3m-swap-preview-view/styles.js +0 -3
  261. package/lib/module/views/w3m-swap-preview-view/styles.js.map +1 -1
  262. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +151 -0
  263. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  264. package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  265. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  266. package/lib/module/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  267. package/lib/module/views/w3m-swap-view/index.js +16 -16
  268. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  269. package/lib/module/views/w3m-swap-view/styles.js +0 -8
  270. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  271. package/lib/module/views/w3m-unsupported-chain-view/index.js +8 -14
  272. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  273. package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
  274. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  275. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +4 -6
  276. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  277. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  278. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  279. package/lib/module/views/w3m-wallet-receive-view/index.js +1 -1
  280. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  281. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -1
  282. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  283. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +5 -3
  284. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  285. package/lib/module/views/w3m-wallet-send-view/index.js +11 -5
  286. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  287. package/lib/module/views/w3m-wallet-send-view/styles.js +0 -3
  288. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  289. package/lib/module/views/w3m-what-is-a-network-view/index.js +1 -1
  290. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  291. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +1 -1
  292. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  293. package/lib/typescript/AppKit.d.ts +1 -1
  294. package/lib/typescript/AppKit.d.ts.map +1 -1
  295. package/lib/typescript/AppKitContext.d.ts.map +1 -1
  296. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  297. package/lib/typescript/hooks/useAccount.d.ts +33 -1
  298. package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
  299. package/lib/typescript/hooks/useAppKit.d.ts +0 -1
  300. package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
  301. package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
  302. package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
  303. package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
  304. package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
  305. package/lib/typescript/index.d.ts +1 -0
  306. package/lib/typescript/index.d.ts.map +1 -1
  307. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  308. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  309. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +4 -4
  310. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  311. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +1 -3
  312. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  313. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +14 -0
  314. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -0
  315. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -3
  316. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  317. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +9 -3
  318. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  319. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -4
  320. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  321. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +2 -0
  322. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
  323. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
  324. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
  325. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  326. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
  327. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
  328. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  329. package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
  330. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  331. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +6 -8
  332. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  333. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  334. package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -3
  335. package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
  336. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  337. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
  338. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  339. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +1 -1
  340. package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts +0 -7
  341. package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts.map +1 -1
  342. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  343. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  344. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  345. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  346. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  347. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +3 -1
  348. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  349. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  350. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts +4 -1
  351. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts.map +1 -1
  352. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +2 -0
  353. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
  354. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts +3 -1
  355. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts.map +1 -1
  356. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  357. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  358. package/lib/typescript/views/w3m-onramp-view/styles.d.ts +3 -0
  359. package/lib/typescript/views/w3m-onramp-view/styles.d.ts.map +1 -1
  360. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts +0 -3
  361. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts.map +1 -1
  362. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/index.d.ts +2 -1
  363. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -0
  364. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts +6 -2
  365. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts.map +1 -1
  366. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts.map +1 -0
  367. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  368. package/lib/typescript/views/w3m-swap-view/styles.d.ts +0 -8
  369. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  370. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  371. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  372. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  373. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +0 -3
  374. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  375. package/package.json +10 -8
  376. package/src/AppKit.ts +66 -52
  377. package/src/AppKitContext.tsx +19 -11
  378. package/src/connectors/WalletConnectConnector.ts +15 -7
  379. package/src/hooks/useAccount.ts +15 -5
  380. package/src/hooks/useAppKit.ts +17 -12
  381. package/src/hooks/useAppKitState.ts +26 -0
  382. package/src/hooks/useProvider.ts +11 -5
  383. package/src/hooks/useWalletInfo.ts +5 -2
  384. package/src/index.ts +1 -0
  385. package/src/modal/w3m-modal/index.tsx +13 -4
  386. package/src/modal/w3m-router/index.tsx +8 -6
  387. package/src/partials/w3m-account-activity/index.tsx +1 -1
  388. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +12 -35
  389. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +3 -12
  390. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +100 -0
  391. package/src/partials/w3m-all-wallets-list/index.tsx +25 -51
  392. package/src/partials/w3m-all-wallets-list/styles.ts +10 -4
  393. package/src/partials/w3m-all-wallets-search/index.tsx +25 -60
  394. package/src/partials/w3m-all-wallets-search/styles.ts +3 -1
  395. package/src/partials/w3m-connecting-mobile/index.tsx +8 -8
  396. package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
  397. package/src/partials/w3m-connecting-qrcode/index.tsx +5 -2
  398. package/src/partials/w3m-connecting-web/index.tsx +2 -2
  399. package/src/partials/w3m-connecting-web/styles.ts +3 -0
  400. package/src/partials/w3m-header/index.tsx +7 -4
  401. package/src/partials/w3m-selector-modal/index.tsx +81 -61
  402. package/src/partials/w3m-selector-modal/styles.ts +9 -11
  403. package/src/views/w3m-account-default-view/index.tsx +3 -3
  404. package/src/views/w3m-account-view/index.tsx +1 -9
  405. package/src/views/w3m-account-view/styles.ts +1 -4
  406. package/src/views/w3m-all-wallets-view/index.tsx +11 -34
  407. package/src/views/w3m-connect-socials-view/index.tsx +2 -2
  408. package/src/views/w3m-connect-view/components/all-wallet-list.tsx +28 -21
  409. package/src/views/w3m-connect-view/index.tsx +3 -7
  410. package/src/views/w3m-connecting-external-view/index.tsx +8 -8
  411. package/src/views/w3m-connecting-external-view/styles.ts +1 -1
  412. package/src/views/w3m-connecting-siwe-view/index.tsx +44 -42
  413. package/src/views/w3m-connecting-siwe-view/styles.ts +0 -7
  414. package/src/views/w3m-connecting-social-view/index.tsx +26 -28
  415. package/src/views/w3m-get-wallet-view/index.tsx +1 -1
  416. package/src/views/w3m-network-switch-view/index.tsx +70 -98
  417. package/src/views/w3m-networks-view/index.tsx +26 -22
  418. package/src/views/w3m-onramp-checkout-view/index.tsx +147 -143
  419. package/src/views/w3m-onramp-loading-view/index.tsx +3 -7
  420. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  421. package/src/views/w3m-onramp-settings-view/components/Country.tsx +8 -3
  422. package/src/views/w3m-onramp-settings-view/index.tsx +16 -5
  423. package/src/views/w3m-onramp-settings-view/styles.ts +4 -1
  424. package/src/views/w3m-onramp-settings-view/utils.ts +18 -0
  425. package/src/views/w3m-onramp-transaction-view/index.tsx +1 -1
  426. package/src/views/w3m-onramp-view/components/Currency.tsx +4 -3
  427. package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
  428. package/src/views/w3m-onramp-view/components/LoadingView.tsx +1 -1
  429. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +6 -3
  430. package/src/views/w3m-onramp-view/index.tsx +4 -3
  431. package/src/views/w3m-onramp-view/styles.ts +3 -0
  432. package/src/views/w3m-swap-preview-view/index.tsx +1 -1
  433. package/src/views/w3m-swap-preview-view/styles.ts +0 -3
  434. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +181 -0
  435. package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.ts +6 -2
  436. package/src/views/w3m-swap-view/index.tsx +10 -9
  437. package/src/views/w3m-swap-view/styles.ts +0 -8
  438. package/src/views/w3m-unsupported-chain-view/index.tsx +5 -7
  439. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  440. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +4 -6
  441. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +1 -1
  442. package/src/views/w3m-wallet-receive-view/index.tsx +1 -1
  443. package/src/views/w3m-wallet-send-preview-view/index.tsx +1 -1
  444. package/src/views/w3m-wallet-send-select-token-view/index.tsx +3 -3
  445. package/src/views/w3m-wallet-send-view/index.tsx +5 -4
  446. package/src/views/w3m-wallet-send-view/styles.ts +0 -3
  447. package/src/views/w3m-what-is-a-network-view/index.tsx +1 -1
  448. package/src/views/w3m-what-is-a-wallet-view/index.tsx +1 -1
  449. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -45
  450. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  451. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -41
  452. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  453. package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
  454. package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
  455. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js +0 -145
  456. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  457. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  458. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  459. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -41
  460. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  461. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -37
  462. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  463. package/lib/module/views/w3m-connect-view/utils.js +0 -9
  464. package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
  465. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js +0 -140
  466. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  467. package/lib/module/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  468. package/lib/module/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  469. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -9
  470. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
  471. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -9
  472. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
  473. package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
  474. package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
  475. package/lib/typescript/views/w3m-swap-view/components/select-token-view/index.d.ts.map +0 -1
  476. package/lib/typescript/views/w3m-swap-view/components/select-token-view/utils.d.ts.map +0 -1
  477. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -51
  478. package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -45
  479. package/src/views/w3m-connect-view/utils.ts +0 -14
  480. package/src/views/w3m-swap-view/components/select-token-view/index.tsx +0 -176
  481. /package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  482. /package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  483. /package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.d.ts +0 -0
  484. /package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.ts +0 -0
@@ -1,44 +1,21 @@
1
- import { CardSelectLoader, FlexView, useCustomDimensions } from '@reown/appkit-ui-react-native';
2
1
  import { memo } from 'react';
3
- import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { WalletList } from './WalletList';
3
+ import type { StyleProp, ViewStyle } from 'react-native';
4
4
 
5
5
  interface LoadingProps {
6
- itemWidth?: number;
7
- containerStyle?: StyleProp<ViewStyle>;
6
+ loadingItems?: number;
7
+ style?: StyleProp<ViewStyle>;
8
8
  }
9
9
 
10
- function _Loading({ itemWidth, containerStyle }: LoadingProps) {
11
- const { maxWidth, maxHeight } = useCustomDimensions();
12
-
10
+ function _Loading({ loadingItems = 20, style }: LoadingProps) {
13
11
  return (
14
- <FlexView
15
- flexDirection="row"
16
- flexWrap="wrap"
17
- alignSelf="center"
18
- padding={['0', '0', 's', 'xs']}
19
- style={{ maxWidth, maxHeight }}
20
- >
21
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
22
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
23
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
24
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
25
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
26
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
27
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
28
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
29
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
30
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
31
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
32
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
33
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
34
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
35
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
36
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
37
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
38
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
39
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
40
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
41
- </FlexView>
12
+ <WalletList
13
+ data={[]}
14
+ onItemPress={() => {}}
15
+ isLoading={true}
16
+ loadingItems={loadingItems}
17
+ style={style}
18
+ />
42
19
  );
43
20
  }
44
21
 
@@ -6,34 +6,25 @@ import type { StyleProp, ViewStyle } from 'react-native';
6
6
  import { memo } from 'react';
7
7
 
8
8
  interface WalletItemProps {
9
- containerStyle?: StyleProp<ViewStyle>;
10
9
  item: WcWallet;
11
- itemWidth?: number;
12
10
  imageHeaders?: Record<string, string>;
13
11
  onItemPress: (wallet: WcWallet) => void;
14
12
  style?: StyleProp<ViewStyle>;
15
13
  }
16
14
 
17
- export function WalletItem({
18
- containerStyle,
19
- item,
20
- itemWidth,
21
- imageHeaders,
22
- onItemPress,
23
- style
24
- }: WalletItemProps) {
15
+ export function WalletItem({ item, imageHeaders, onItemPress, style }: WalletItemProps) {
25
16
  const { walletImages } = useSnapshot(AssetController.state);
26
17
  const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
27
18
  const imageSrc = AssetUtil.getWalletImage(item, walletImages);
28
19
 
29
20
  if (!item?.id) {
30
- return <CardSelectLoader style={[containerStyle, { width: itemWidth }, style]} />;
21
+ return <CardSelectLoader style={style} />;
31
22
  }
32
23
 
33
24
  return (
34
25
  <CardSelect
35
26
  imageSrc={imageSrc}
36
- style={[containerStyle, { width: itemWidth }, style]}
27
+ style={style}
37
28
  imageHeaders={imageHeaders}
38
29
  name={item?.name ?? 'Unknown'}
39
30
  onPress={() => onItemPress(item)}
@@ -0,0 +1,100 @@
1
+ import { FlatList, StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
2
+ import { WalletItem } from './WalletItem';
3
+ import {
4
+ CardSelectHeight,
5
+ Spacing,
6
+ useCustomDimensions,
7
+ CardSelectLoader,
8
+ CardSelectWidth
9
+ } from '@reown/appkit-ui-react-native';
10
+ import { ApiController } from '@reown/appkit-core-react-native';
11
+ import type { WcWallet } from '@reown/appkit-common-react-native';
12
+
13
+ const imageHeaders = ApiController._getApiHeaders();
14
+
15
+ const ITEM_HEIGHT = CardSelectHeight;
16
+ const ITEM_WIDTH = CardSelectWidth;
17
+ const ITEM_HEIGHT_WITH_GAP = ITEM_HEIGHT + Spacing['3xs'];
18
+
19
+ interface Props {
20
+ data: WcWallet[];
21
+ onItemPress: (wallet: WcWallet) => void;
22
+ onEndReached?: () => void;
23
+ onEndReachedThreshold?: number;
24
+ isLoading?: boolean;
25
+ loadingItems?: number;
26
+ style?: StyleProp<ViewStyle>;
27
+ }
28
+
29
+ export function WalletList({
30
+ data,
31
+ onItemPress,
32
+ onEndReached,
33
+ onEndReachedThreshold,
34
+ isLoading = false,
35
+ loadingItems = 20,
36
+ style
37
+ }: Props) {
38
+ const { padding, maxHeight } = useCustomDimensions();
39
+
40
+ // Create loading data if isLoading is true
41
+ const displayData = isLoading
42
+ ? Array.from({ length: loadingItems }, (_, index) => ({ id: `loading-${index}` }) as WcWallet)
43
+ : data;
44
+
45
+ return (
46
+ <FlatList
47
+ fadingEdgeLength={20}
48
+ bounces={false}
49
+ numColumns={4}
50
+ data={displayData}
51
+ style={[styles.list, { height: maxHeight }, style]}
52
+ columnWrapperStyle={styles.columnWrapperStyle}
53
+ renderItem={({ item }) => {
54
+ if (isLoading) {
55
+ return <CardSelectLoader style={styles.itemContainer} />;
56
+ }
57
+
58
+ return (
59
+ <WalletItem
60
+ item={item}
61
+ imageHeaders={imageHeaders}
62
+ onItemPress={onItemPress}
63
+ style={styles.itemContainer}
64
+ />
65
+ );
66
+ }}
67
+ contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding }]}
68
+ initialNumToRender={32}
69
+ maxToRenderPerBatch={12}
70
+ windowSize={10}
71
+ onEndReached={onEndReached}
72
+ onEndReachedThreshold={onEndReachedThreshold}
73
+ keyExtractor={(item, index) => item?.id ?? `item-${index}`}
74
+ getItemLayout={(_, index) => ({
75
+ length: ITEM_HEIGHT_WITH_GAP,
76
+ offset: ITEM_HEIGHT_WITH_GAP * index,
77
+ index
78
+ })}
79
+ />
80
+ );
81
+ }
82
+
83
+ const styles = StyleSheet.create({
84
+ list: {
85
+ paddingTop: Spacing['3xs']
86
+ },
87
+ contentContainer: {
88
+ paddingBottom: Spacing['xs'],
89
+ paddingTop: Spacing['3xs'],
90
+ gap: Spacing['3xs'],
91
+ alignItems: 'center'
92
+ },
93
+ columnWrapperStyle: {
94
+ justifyContent: 'space-around'
95
+ },
96
+ itemContainer: {
97
+ width: '23%',
98
+ minWidth: ITEM_WIDTH
99
+ }
100
+ });
@@ -1,6 +1,5 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { useSnapshot } from 'valtio';
3
- import { FlatList } from 'react-native';
4
3
  import {
5
4
  ApiController,
6
5
  OptionsController,
@@ -8,50 +7,48 @@ import {
8
7
  type OptionsControllerState
9
8
  } from '@reown/appkit-core-react-native';
10
9
  import { type WcWallet } from '@reown/appkit-common-react-native';
11
- import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
12
10
  import styles from './styles';
13
11
  import { Placeholder } from '../w3m-placeholder';
14
12
  import { Loading } from './components/Loading';
15
- import { WalletItem } from './components/WalletItem';
13
+
14
+ import { WalletList } from './components/WalletList';
16
15
 
17
16
  interface AllWalletsListProps {
18
- columns: number;
19
17
  onItemPress: (wallet: WcWallet) => void;
20
- itemWidth?: number;
21
18
  headerHeight?: number;
22
19
  }
23
20
 
24
- const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
25
-
26
- export function AllWalletsList({
27
- columns,
28
- itemWidth,
29
- onItemPress,
30
- headerHeight = 0
31
- }: AllWalletsListProps) {
21
+ export function AllWalletsList({ onItemPress }: AllWalletsListProps) {
32
22
  const [loading, setLoading] = useState<boolean>(ApiController.state.wallets.length === 0);
33
23
  const [loadingError, setLoadingError] = useState<boolean>(false);
34
24
  const [pageLoading, setPageLoading] = useState<boolean>(false);
35
- const { maxHeight, padding } = useCustomDimensions();
36
25
  const { installed, featured, recommended, wallets } = useSnapshot(ApiController.state);
37
26
  const { customWallets } = useSnapshot(OptionsController.state) as OptionsControllerState;
38
- const imageHeaders = ApiController._getApiHeaders();
39
- const preloadedWallets = installed.length + featured.length + recommended.length;
40
- const loadingItems = columns - ((100 + preloadedWallets) % columns);
41
27
 
42
- const combinedWallets = [
43
- ...(customWallets ?? []),
44
- ...installed,
45
- ...featured,
46
- ...recommended,
47
- ...wallets
48
- ];
28
+ let combinedWallets = [...installed, ...featured, ...recommended, ...wallets];
29
+
30
+ // Show custom wallets after certified wallets.
31
+ const certifiedIndex = combinedWallets.findLastIndex(wallet => wallet.badge_type === 'certified');
32
+ if (certifiedIndex > -1) {
33
+ const nonCertifiedWallets = combinedWallets.splice(certifiedIndex + 1);
34
+ combinedWallets = combinedWallets.concat(customWallets ?? [], nonCertifiedWallets);
35
+ } else {
36
+ combinedWallets = [
37
+ ...installed,
38
+ ...featured,
39
+ ...recommended,
40
+ ...(customWallets ?? []),
41
+ ...wallets
42
+ ];
43
+ }
49
44
 
50
45
  // Deduplicate by wallet ID
51
46
  const uniqueWallets = Array.from(
52
47
  new Map(combinedWallets.map(wallet => [wallet?.id, wallet])).values()
53
48
  ).filter(wallet => wallet?.id); // Filter out any undefined wallets
54
49
 
50
+ const loadingItems = 4 - ((100 + uniqueWallets.length) % 4);
51
+
55
52
  const walletList = [
56
53
  ...uniqueWallets,
57
54
  ...(pageLoading ? (Array.from({ length: loadingItems }) as WcWallet[]) : [])
@@ -73,7 +70,7 @@ export function AllWalletsList({
73
70
  const fetchNextPage = async () => {
74
71
  try {
75
72
  if (
76
- walletList.length < ApiController.state.count &&
73
+ walletList.length - (customWallets ?? []).length < ApiController.state.count &&
77
74
  !pageLoading &&
78
75
  !loading &&
79
76
  ApiController.state.page > 0
@@ -95,7 +92,7 @@ export function AllWalletsList({
95
92
  }, []);
96
93
 
97
94
  if (loading) {
98
- return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
95
+ return <Loading loadingItems={12} style={styles.loadingContainer} />;
99
96
  }
100
97
 
101
98
  if (loadingError) {
@@ -114,34 +111,11 @@ export function AllWalletsList({
114
111
  }
115
112
 
116
113
  return (
117
- <FlatList
118
- key={columns}
119
- fadingEdgeLength={20}
120
- bounces={false}
121
- numColumns={columns}
114
+ <WalletList
122
115
  data={walletList}
123
- renderItem={({ item }) => (
124
- <WalletItem
125
- item={item}
126
- itemWidth={itemWidth}
127
- imageHeaders={imageHeaders}
128
- onItemPress={onItemPress}
129
- style={styles.itemContainer}
130
- />
131
- )}
132
- style={{ maxHeight: maxHeight - headerHeight - Spacing['4xl'] }}
133
- contentContainerStyle={[
134
- styles.contentContainer,
135
- { paddingHorizontal: padding + Spacing['2xs'] }
136
- ]}
137
116
  onEndReached={fetchNextPage}
138
117
  onEndReachedThreshold={2}
139
- keyExtractor={(item, index) => item?.id ?? index}
140
- getItemLayout={(_, index) => ({
141
- length: ITEM_HEIGHT,
142
- offset: ITEM_HEIGHT * index,
143
- index
144
- })}
118
+ onItemPress={onItemPress}
145
119
  />
146
120
  );
147
121
  }
@@ -4,12 +4,15 @@ import { StyleSheet } from 'react-native';
4
4
  export default StyleSheet.create({
5
5
  contentContainer: {
6
6
  paddingBottom: Spacing['4xl'],
7
- paddingTop: Spacing['3xs']
7
+ paddingTop: Spacing['3xs'],
8
+ gap: Spacing['3xs'],
9
+ alignItems: 'center'
10
+ },
11
+ columnWrapperStyle: {
12
+ justifyContent: 'space-around'
8
13
  },
9
14
  itemContainer: {
10
- alignItems: 'center',
11
- justifyContent: 'center',
12
- margin: Spacing['4xs']
15
+ width: '23%'
13
16
  },
14
17
  pageLoader: {
15
18
  marginTop: Spacing.xl
@@ -20,5 +23,8 @@ export default StyleSheet.create({
20
23
  placeholderContainer: {
21
24
  flex: 0,
22
25
  height: '90%'
26
+ },
27
+ loadingContainer: {
28
+ height: 320
23
29
  }
24
30
  });
@@ -1,51 +1,38 @@
1
+ import { useSnapshot } from 'valtio';
1
2
  import { useCallback, useEffect, useState } from 'react';
2
- import { FlatList } from 'react-native';
3
- import { ApiController, SnackController } from '@reown/appkit-core-react-native';
3
+ import { ApiController, OptionsController, SnackController } from '@reown/appkit-core-react-native';
4
4
  import { type WcWallet } from '@reown/appkit-common-react-native';
5
- import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
5
+ import { useCustomDimensions } from '@reown/appkit-ui-react-native';
6
6
  import { Placeholder } from '../w3m-placeholder';
7
7
  import styles from './styles';
8
8
 
9
9
  import { Loading } from '../w3m-all-wallets-list/components/Loading';
10
- import { WalletItem } from '../w3m-all-wallets-list/components/WalletItem';
10
+ import { WalletList } from '../w3m-all-wallets-list/components/WalletList';
11
11
 
12
12
  export interface AllWalletsSearchProps {
13
- columns: number;
14
13
  onItemPress: (wallet: WcWallet) => void;
15
- itemWidth?: number;
16
14
  searchQuery?: string;
17
- headerHeight?: number;
18
15
  }
19
16
 
20
- const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
21
-
22
- export function AllWalletsSearch({
23
- searchQuery,
24
- columns,
25
- itemWidth,
26
- onItemPress,
27
- headerHeight = 0
28
- }: AllWalletsSearchProps) {
17
+ export function AllWalletsSearch({ searchQuery, onItemPress }: AllWalletsSearchProps) {
18
+ const { search } = useSnapshot(ApiController.state);
19
+ const { customWallets } = useSnapshot(OptionsController.state);
29
20
  const [loading, setLoading] = useState<boolean>(false);
30
21
  const [loadingError, setLoadingError] = useState<boolean>(false);
31
22
  const [prevSearchQuery, setPrevSearchQuery] = useState<string>('');
32
- const imageHeaders = ApiController._getApiHeaders();
33
- const { maxHeight, padding, isLandscape } = useCustomDimensions();
23
+ const { isLandscape } = useCustomDimensions();
34
24
 
35
- const emptyTemplate = () => {
36
- return (
37
- <Placeholder
38
- icon="walletPlaceholder"
39
- description="No results found"
40
- style={[styles.emptyContainer, isLandscape && styles.emptyLandscape]}
41
- />
42
- );
43
- };
25
+ const customWalletResults = (customWallets ?? []).filter(wallet =>
26
+ wallet.name.toLowerCase().includes(searchQuery?.toLowerCase() ?? '')
27
+ );
28
+
29
+ const results = [...search, ...customWalletResults];
44
30
 
45
31
  const searchFetch = useCallback(async () => {
46
32
  try {
47
33
  setLoading(true);
48
34
  setLoadingError(false);
35
+ // eslint-disable-next-line valtio/state-snapshot-rule
49
36
  await ApiController.searchWallet({ search: searchQuery });
50
37
  setLoading(false);
51
38
  } catch (error) {
@@ -63,7 +50,7 @@ export function AllWalletsSearch({
63
50
  }, [searchQuery, prevSearchQuery, searchFetch]);
64
51
 
65
52
  if (loading) {
66
- return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
53
+ return <Loading loadingItems={12} />;
67
54
  }
68
55
 
69
56
  if (loadingError) {
@@ -75,43 +62,21 @@ export function AllWalletsSearch({
75
62
  description={`This might be due to a temporary network issue.\nPlease try reloading to see if that helps.`}
76
63
  actionIcon="refresh"
77
64
  actionPress={searchFetch}
78
- style={styles.placeholderContainer}
65
+ style={[styles.placeholderContainer]}
79
66
  actionTitle="Retry"
80
67
  />
81
68
  );
82
69
  }
83
70
 
84
- if (ApiController.state.search.length === 0) {
85
- return emptyTemplate();
71
+ if (results.length === 0) {
72
+ return (
73
+ <Placeholder
74
+ icon="walletPlaceholder"
75
+ description="No results found"
76
+ style={[styles.emptyContainer, isLandscape && styles.emptyLandscape]}
77
+ />
78
+ );
86
79
  }
87
80
 
88
- return (
89
- <FlatList
90
- key={columns}
91
- fadingEdgeLength={20}
92
- bounces={false}
93
- numColumns={columns}
94
- data={ApiController.state.search}
95
- renderItem={({ item }) => (
96
- <WalletItem
97
- item={item}
98
- itemWidth={itemWidth}
99
- imageHeaders={imageHeaders}
100
- onItemPress={onItemPress}
101
- style={styles.itemContainer}
102
- />
103
- )}
104
- style={{ maxHeight: maxHeight - headerHeight - Spacing['2xl'] }}
105
- contentContainerStyle={[
106
- styles.contentContainer,
107
- { paddingHorizontal: padding + Spacing['2xs'] }
108
- ]}
109
- keyExtractor={item => item.id}
110
- getItemLayout={(_, index) => ({
111
- length: ITEM_HEIGHT,
112
- offset: ITEM_HEIGHT * index,
113
- index
114
- })}
115
- />
116
- );
81
+ return <WalletList onItemPress={onItemPress} data={results} />;
117
82
  }
@@ -3,7 +3,7 @@ import { StyleSheet } from 'react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  contentContainer: {
6
- paddingBottom: Spacing['4xl']
6
+ paddingBottom: Spacing['xs']
7
7
  },
8
8
  placeholderContainer: {
9
9
  flex: 0,
@@ -11,6 +11,8 @@ export default StyleSheet.create({
11
11
  },
12
12
  emptyContainer: {
13
13
  flex: 0,
14
+ justifyContent: 'flex-start',
15
+ paddingTop: Spacing['4xl'],
14
16
  height: '90%'
15
17
  },
16
18
  emptyLandscape: {
@@ -34,7 +34,7 @@ interface Props {
34
34
 
35
35
  export function ConnectingMobile({ onRetry, onCopyUri, isInstalled }: Props) {
36
36
  const { data } = RouterController.state;
37
- const { maxWidth: width } = useCustomDimensions();
37
+ const { padding } = useCustomDimensions();
38
38
  const { wcUri, wcError } = useSnapshot(WcController.state);
39
39
  const { walletImages } = useSnapshot(AssetController.state);
40
40
  const [errorType, setErrorType] = useState<BodyErrorType>();
@@ -100,13 +100,13 @@ export function ConnectingMobile({ onRetry, onCopyUri, isInstalled }: Props) {
100
100
  }, [wcUri, onConnect]);
101
101
 
102
102
  return (
103
- <ScrollView bounces={false} fadingEdgeLength={20} contentContainerStyle={styles.container}>
104
- <FlexView
105
- alignItems="center"
106
- alignSelf="center"
107
- padding={['2xl', 'l', '0', 'l']}
108
- style={{ width }}
109
- >
103
+ <ScrollView
104
+ bounces={false}
105
+ fadingEdgeLength={20}
106
+ style={{ paddingHorizontal: padding }}
107
+ contentContainerStyle={styles.container}
108
+ >
109
+ <FlexView alignItems="center" alignSelf="center" padding={['2xl', 'l', '0', 'l']}>
110
110
  <LoadingThumbnail paused={!!errorType || wcError}>
111
111
  <WalletImage
112
112
  size="xl"
@@ -3,7 +3,8 @@ import { Spacing } from '@reown/appkit-ui-react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  container: {
6
- paddingBottom: Spacing['3xl']
6
+ paddingBottom: Spacing['xs'],
7
+ minHeight: '30%'
7
8
  },
8
9
  retryButton: {
9
10
  marginTop: Spacing.m
@@ -16,11 +16,14 @@ import {
16
16
  } from '@reown/appkit-ui-react-native';
17
17
  import styles from './styles';
18
18
  import { ReownButton } from './components/ReownButton';
19
+ import { useWindowDimensions } from 'react-native';
19
20
 
20
21
  export function ConnectingQrCode() {
22
+ const { height, width } = useWindowDimensions();
23
+ const windowSize = Math.min(height, width);
21
24
  const { wcUri } = useSnapshot(WcController.state);
22
25
  const showCopy = OptionsController.isClipboardAvailable();
23
- const { maxWidth: windowSize, isPortrait } = useCustomDimensions();
26
+ const { isPortrait } = useCustomDimensions();
24
27
  const qrSize = (windowSize - Spacing.xl * 2) / (isPortrait ? 1 : 1.5);
25
28
 
26
29
  const onCopyAddress = () => {
@@ -54,7 +57,7 @@ export function ConnectingQrCode() {
54
57
  alignItems="center"
55
58
  justifyContent="center"
56
59
  flexDirection={isPortrait ? 'column' : 'row'}
57
- padding="xl"
60
+ padding={['xl', 'xl', 'xs', 'xl']}
58
61
  >
59
62
  <QrCode size={qrSize} uri={wcUri} testID="qr-code" />
60
63
  <FlexView alignItems="center" margin="m">
@@ -65,8 +65,8 @@ export function ConnectingWeb({ onCopyUri }: ConnectingWebProps) {
65
65
  }, [data?.wallet, wcUri]);
66
66
 
67
67
  return (
68
- <ScrollView bounces={false} fadingEdgeLength={20}>
69
- <FlexView alignItems="center" padding={['2xl', 'm', '3xl', 'm']}>
68
+ <ScrollView bounces={false} fadingEdgeLength={20} contentContainerStyle={styles.container}>
69
+ <FlexView alignItems="center" padding={['2xl', 'm', 'xs', 'm']}>
70
70
  <LoadingThumbnail paused={wcError}>
71
71
  <WalletImage
72
72
  size="xl"
@@ -2,6 +2,9 @@ import { Spacing } from '@reown/appkit-ui-react-native';
2
2
  import { StyleSheet } from 'react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
+ container: {
6
+ minHeight: '30%'
7
+ },
5
8
  openButton: {
6
9
  marginTop: Spacing.m
7
10
  },
@@ -32,9 +32,9 @@ export function Header() {
32
32
  Connect: 'Connect wallet',
33
33
  ConnectSocials: 'All socials',
34
34
  ConnectingExternal: walletName ?? 'Connect wallet',
35
- ConnectingSiwe: undefined,
35
+ ConnectingSiwe: 'Sign in',
36
36
  ConnectingSocial: socialName ?? 'Connecting Social',
37
- ConnectingWalletConnect: walletName ?? 'WalletConnect',
37
+ WalletConnect: walletName ?? 'WalletConnect',
38
38
  GetWallet: 'Get a wallet',
39
39
  Networks: 'Select network',
40
40
  OnRamp: undefined,
@@ -58,7 +58,8 @@ export function Header() {
58
58
  }[_view];
59
59
  };
60
60
 
61
- const noCloseViews = ['OnRampSettings'];
61
+ const noCloseViews = ['OnRampSettings', 'ConnectingSiwe'];
62
+ const noBackViews = ['UnsupportedChain'];
62
63
  const showClose = !noCloseViews.includes(view);
63
64
  const header = headings(data, view);
64
65
 
@@ -71,7 +72,9 @@ export function Header() {
71
72
  };
72
73
 
73
74
  const dynamicButtonTemplate = () => {
74
- const showBack = RouterController.state.history.length > 1;
75
+ const showBack =
76
+ RouterController.state.history.length > 1 &&
77
+ !noBackViews.includes(RouterController.state.view);
75
78
  const showHelp = RouterController.state.view === 'Connect';
76
79
 
77
80
  if (showHelp) {