@reown/appkit-react-native 0.0.0-feat-multichain-20250818141206 → 0.0.0-feat-multichain-20250902153701

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 (306) hide show
  1. package/lib/commonjs/AppKit.js +62 -45
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/modal/w3m-modal/index.js +1 -6
  4. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  5. package/lib/commonjs/modal/w3m-router/index.js +7 -4
  6. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  7. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +7 -97
  8. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  9. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +4 -9
  10. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  11. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +90 -0
  12. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  13. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +7 -42
  14. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  15. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +8 -4
  16. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  17. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +7 -38
  18. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  19. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +2 -2
  20. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  21. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +4 -4
  22. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +6 -1
  24. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-header/index.js +2 -1
  26. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-selector-modal/index.js +69 -56
  28. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-selector-modal/styles.js +9 -11
  30. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  31. package/lib/commonjs/views/w3m-account-default-view/index.js +2 -2
  32. package/lib/commonjs/views/w3m-all-wallets-view/index.js +5 -22
  33. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  34. package/lib/commonjs/views/w3m-connect-view/index.js +1 -1
  35. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  36. package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -4
  37. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  38. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +1 -0
  39. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +1 -1
  40. package/lib/commonjs/views/w3m-connecting-social-view/index.js +35 -30
  41. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  42. package/lib/commonjs/views/w3m-networks-view/index.js +7 -4
  43. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  44. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +160 -152
  45. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  46. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +4 -4
  47. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  48. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
  49. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
  50. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +3 -2
  51. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  52. package/lib/commonjs/views/w3m-onramp-settings-view/index.js +6 -4
  53. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  54. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js +4 -1
  55. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js.map +1 -1
  56. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js +3 -2
  57. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js.map +1 -1
  58. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
  59. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +5 -2
  60. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  61. package/lib/commonjs/views/w3m-onramp-view/index.js +4 -3
  62. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  63. package/lib/commonjs/views/w3m-onramp-view/styles.js +3 -0
  64. package/lib/commonjs/views/w3m-onramp-view/styles.js.map +1 -1
  65. package/lib/commonjs/views/w3m-swap-preview-view/styles.js +0 -3
  66. package/lib/commonjs/views/w3m-swap-preview-view/styles.js.map +1 -1
  67. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +157 -0
  68. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  69. package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  70. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  71. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  72. package/lib/commonjs/views/w3m-swap-view/index.js +9 -12
  73. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  74. package/lib/commonjs/views/w3m-swap-view/styles.js +0 -8
  75. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  76. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +5 -11
  77. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  78. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  79. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  80. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +2 -4
  81. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  82. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  83. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  84. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +4 -2
  85. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  86. package/lib/commonjs/views/w3m-wallet-send-view/index.js +5 -2
  87. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  88. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +0 -3
  89. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  90. package/lib/module/AppKit.js +62 -45
  91. package/lib/module/AppKit.js.map +1 -1
  92. package/lib/module/modal/w3m-modal/index.js +2 -7
  93. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  94. package/lib/module/modal/w3m-router/index.js +7 -4
  95. package/lib/module/modal/w3m-router/index.js.map +1 -1
  96. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +8 -98
  97. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  98. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +4 -9
  99. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  100. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +86 -0
  101. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  102. package/lib/module/partials/w3m-all-wallets-list/index.js +7 -42
  103. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  104. package/lib/module/partials/w3m-all-wallets-list/styles.js +8 -4
  105. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  106. package/lib/module/partials/w3m-all-wallets-search/index.js +8 -39
  107. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  108. package/lib/module/partials/w3m-all-wallets-search/styles.js +2 -2
  109. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  110. package/lib/module/partials/w3m-connecting-mobile/index.js +4 -4
  111. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  112. package/lib/module/partials/w3m-connecting-qrcode/index.js +6 -1
  113. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  114. package/lib/module/partials/w3m-header/index.js +2 -1
  115. package/lib/module/partials/w3m-header/index.js.map +1 -1
  116. package/lib/module/partials/w3m-selector-modal/index.js +71 -58
  117. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  118. package/lib/module/partials/w3m-selector-modal/styles.js +9 -11
  119. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  120. package/lib/module/views/w3m-account-default-view/index.js +2 -2
  121. package/lib/module/views/w3m-all-wallets-view/index.js +6 -23
  122. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  123. package/lib/module/views/w3m-connect-view/index.js +1 -1
  124. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  125. package/lib/module/views/w3m-connecting-external-view/index.js +4 -4
  126. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  127. package/lib/module/views/w3m-connecting-siwe-view/index.js +2 -1
  128. package/lib/module/views/w3m-connecting-siwe-view/index.js.map +1 -1
  129. package/lib/module/views/w3m-connecting-social-view/index.js +35 -30
  130. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  131. package/lib/module/views/w3m-networks-view/index.js +8 -5
  132. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  133. package/lib/module/views/w3m-onramp-checkout-view/index.js +162 -154
  134. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  135. package/lib/module/views/w3m-onramp-loading-view/index.js +4 -4
  136. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  137. package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
  138. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  139. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +3 -2
  140. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  141. package/lib/module/views/w3m-onramp-settings-view/index.js +6 -4
  142. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  143. package/lib/module/views/w3m-onramp-settings-view/styles.js +4 -1
  144. package/lib/module/views/w3m-onramp-settings-view/styles.js.map +1 -1
  145. package/lib/module/views/w3m-onramp-view/components/Currency.js +3 -2
  146. package/lib/module/views/w3m-onramp-view/components/Currency.js.map +1 -1
  147. package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
  148. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +6 -3
  149. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  150. package/lib/module/views/w3m-onramp-view/index.js +4 -3
  151. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  152. package/lib/module/views/w3m-onramp-view/styles.js +3 -0
  153. package/lib/module/views/w3m-onramp-view/styles.js.map +1 -1
  154. package/lib/module/views/w3m-swap-preview-view/styles.js +0 -3
  155. package/lib/module/views/w3m-swap-preview-view/styles.js.map +1 -1
  156. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +152 -0
  157. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  158. package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  159. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  160. package/lib/module/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  161. package/lib/module/views/w3m-swap-view/index.js +10 -13
  162. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  163. package/lib/module/views/w3m-swap-view/styles.js +0 -8
  164. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  165. package/lib/module/views/w3m-unsupported-chain-view/index.js +7 -13
  166. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  167. package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
  168. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  169. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +3 -5
  170. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  171. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  172. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  173. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +4 -2
  174. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  175. package/lib/module/views/w3m-wallet-send-view/index.js +5 -2
  176. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  177. package/lib/module/views/w3m-wallet-send-view/styles.js +0 -3
  178. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  179. package/lib/typescript/AppKit.d.ts +1 -1
  180. package/lib/typescript/AppKit.d.ts.map +1 -1
  181. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  182. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  183. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +2 -4
  184. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  185. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +2 -3
  186. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  187. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +12 -0
  188. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -0
  189. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -3
  190. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  191. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +7 -3
  192. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  193. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -4
  194. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  195. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +1 -1
  196. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  197. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  198. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  199. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +6 -8
  200. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  201. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  202. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +1 -1
  203. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  204. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  205. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  206. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  207. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +3 -1
  208. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  209. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  210. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts +4 -1
  211. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts.map +1 -1
  212. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts +3 -1
  213. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts.map +1 -1
  214. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  215. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  216. package/lib/typescript/views/w3m-onramp-view/styles.d.ts +3 -0
  217. package/lib/typescript/views/w3m-onramp-view/styles.d.ts.map +1 -1
  218. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts +0 -3
  219. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts.map +1 -1
  220. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/index.d.ts +2 -1
  221. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -0
  222. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts +6 -2
  223. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts.map +1 -1
  224. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts.map +1 -0
  225. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  226. package/lib/typescript/views/w3m-swap-view/styles.d.ts +0 -8
  227. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  228. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  229. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  230. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +0 -3
  231. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  232. package/package.json +5 -5
  233. package/src/AppKit.ts +77 -48
  234. package/src/modal/w3m-modal/index.tsx +2 -3
  235. package/src/modal/w3m-router/index.tsx +3 -4
  236. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +4 -35
  237. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +4 -11
  238. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +95 -0
  239. package/src/partials/w3m-all-wallets-list/index.tsx +8 -39
  240. package/src/partials/w3m-all-wallets-list/styles.ts +8 -4
  241. package/src/partials/w3m-all-wallets-search/index.tsx +6 -43
  242. package/src/partials/w3m-all-wallets-search/styles.ts +2 -2
  243. package/src/partials/w3m-connecting-mobile/index.tsx +8 -8
  244. package/src/partials/w3m-connecting-qrcode/index.tsx +4 -1
  245. package/src/partials/w3m-header/index.tsx +4 -1
  246. package/src/partials/w3m-selector-modal/index.tsx +80 -60
  247. package/src/partials/w3m-selector-modal/styles.ts +9 -11
  248. package/src/views/w3m-account-default-view/index.tsx +2 -2
  249. package/src/views/w3m-all-wallets-view/index.tsx +9 -32
  250. package/src/views/w3m-connect-view/index.tsx +1 -1
  251. package/src/views/w3m-connecting-external-view/index.tsx +8 -8
  252. package/src/views/w3m-connecting-siwe-view/index.tsx +3 -0
  253. package/src/views/w3m-connecting-social-view/index.tsx +26 -28
  254. package/src/views/w3m-networks-view/index.tsx +6 -8
  255. package/src/views/w3m-onramp-checkout-view/index.tsx +147 -143
  256. package/src/views/w3m-onramp-loading-view/index.tsx +3 -7
  257. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  258. package/src/views/w3m-onramp-settings-view/components/Country.tsx +8 -3
  259. package/src/views/w3m-onramp-settings-view/index.tsx +4 -2
  260. package/src/views/w3m-onramp-settings-view/styles.ts +4 -1
  261. package/src/views/w3m-onramp-view/components/Currency.tsx +4 -3
  262. package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
  263. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +6 -3
  264. package/src/views/w3m-onramp-view/index.tsx +3 -2
  265. package/src/views/w3m-onramp-view/styles.ts +3 -0
  266. package/src/views/w3m-swap-preview-view/styles.ts +0 -3
  267. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +183 -0
  268. package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.ts +6 -2
  269. package/src/views/w3m-swap-view/index.tsx +8 -7
  270. package/src/views/w3m-swap-view/styles.ts +0 -8
  271. package/src/views/w3m-unsupported-chain-view/index.tsx +4 -6
  272. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  273. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +3 -5
  274. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +1 -1
  275. package/src/views/w3m-wallet-send-select-token-view/index.tsx +2 -2
  276. package/src/views/w3m-wallet-send-view/index.tsx +2 -2
  277. package/src/views/w3m-wallet-send-view/styles.ts +0 -3
  278. package/lib/commonjs/views/w3m-network-switch-view/index.js +0 -127
  279. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +0 -1
  280. package/lib/commonjs/views/w3m-network-switch-view/styles.js +0 -31
  281. package/lib/commonjs/views/w3m-network-switch-view/styles.js.map +0 -1
  282. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js +0 -145
  283. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  284. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  285. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  286. package/lib/module/views/w3m-network-switch-view/index.js +0 -123
  287. package/lib/module/views/w3m-network-switch-view/index.js.map +0 -1
  288. package/lib/module/views/w3m-network-switch-view/styles.js +0 -27
  289. package/lib/module/views/w3m-network-switch-view/styles.js.map +0 -1
  290. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js +0 -140
  291. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  292. package/lib/module/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  293. package/lib/module/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  294. package/lib/typescript/views/w3m-network-switch-view/index.d.ts +0 -2
  295. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +0 -1
  296. package/lib/typescript/views/w3m-network-switch-view/styles.d.ts +0 -24
  297. package/lib/typescript/views/w3m-network-switch-view/styles.d.ts.map +0 -1
  298. package/lib/typescript/views/w3m-swap-view/components/select-token-view/index.d.ts.map +0 -1
  299. package/lib/typescript/views/w3m-swap-view/components/select-token-view/utils.d.ts.map +0 -1
  300. package/src/views/w3m-network-switch-view/index.tsx +0 -132
  301. package/src/views/w3m-network-switch-view/styles.ts +0 -23
  302. package/src/views/w3m-swap-view/components/select-token-view/index.tsx +0 -176
  303. /package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  304. /package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  305. /package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.d.ts +0 -0
  306. /package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.ts +0 -0
@@ -13,7 +13,6 @@ import { ConnectingSocialView } from '../../views/w3m-connecting-social-view';
13
13
  import { ConnectingSiweView } from '../../views/w3m-connecting-siwe-view';
14
14
  import { GetWalletView } from '../../views/w3m-get-wallet-view';
15
15
  import { NetworksView } from '../../views/w3m-networks-view';
16
- import { NetworkSwitchView } from '../../views/w3m-network-switch-view';
17
16
  import { OnRampLoadingView } from '../../views/w3m-onramp-loading-view';
18
17
  import { OnRampView } from '../../views/w3m-onramp-view';
19
18
  import { OnRampCheckoutView } from '../../views/w3m-onramp-checkout-view';
@@ -35,9 +34,11 @@ import { UiUtil } from '../../utils/UiUtil';
35
34
  import { useRouteTransition } from '../../hooks/useRouteTransition';
36
35
 
37
36
  import { Animated } from 'react-native';
37
+ import { useCustomDimensions } from '@reown/appkit-ui-react-native';
38
38
 
39
39
  export function AppKitRouter() {
40
40
  const { view } = useSnapshot(RouterController.state);
41
+ const { maxHeight } = useCustomDimensions();
41
42
  const { animateTransition, getAnimatedStyle } = useRouteTransition({
42
43
  duration: 300,
43
44
  useNativeDriver: true
@@ -83,8 +84,6 @@ export function AppKitRouter() {
83
84
  return OnRampSettingsView;
84
85
  case 'OnRampLoading':
85
86
  return OnRampLoadingView;
86
- case 'SwitchNetwork':
87
- return NetworkSwitchView;
88
87
  case 'OnRampTransaction':
89
88
  return OnRampTransactionView;
90
89
  case 'Swap':
@@ -117,7 +116,7 @@ export function AppKitRouter() {
117
116
  }, [view]);
118
117
 
119
118
  return (
120
- <Animated.View style={[getAnimatedStyle()]}>
119
+ <Animated.View style={[getAnimatedStyle(), { maxHeight }]}>
121
120
  <ViewComponent />
122
121
  </Animated.View>
123
122
  );
@@ -1,44 +1,13 @@
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';
4
3
 
5
4
  interface LoadingProps {
6
- itemWidth?: number;
7
- containerStyle?: StyleProp<ViewStyle>;
5
+ loadingItems?: number;
8
6
  }
9
7
 
10
- function _Loading({ itemWidth, containerStyle }: LoadingProps) {
11
- const { maxWidth, maxHeight } = useCustomDimensions();
12
-
8
+ function _Loading({ loadingItems = 20 }: LoadingProps) {
13
9
  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>
10
+ <WalletList data={[]} onItemPress={() => {}} isLoading={true} loadingItems={loadingItems} />
42
11
  );
43
12
  }
44
13
 
@@ -6,32 +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;
12
+ style?: StyleProp<ViewStyle>;
14
13
  }
15
14
 
16
- export function WalletItem({
17
- containerStyle,
18
- item,
19
- itemWidth,
20
- imageHeaders,
21
- onItemPress
22
- }: WalletItemProps) {
15
+ export function WalletItem({ item, imageHeaders, onItemPress, style }: WalletItemProps) {
23
16
  const { walletImages } = useSnapshot(AssetController.state);
24
17
  const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
25
18
  const imageSrc = AssetUtil.getWalletImage(item, walletImages);
26
19
 
27
20
  if (!item?.id) {
28
- return <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />;
21
+ return <CardSelectLoader style={style} />;
29
22
  }
30
23
 
31
24
  return (
32
25
  <CardSelect
33
26
  imageSrc={imageSrc}
34
- style={[containerStyle, { width: itemWidth }]}
27
+ style={style}
35
28
  imageHeaders={imageHeaders}
36
29
  name={item?.name ?? 'Unknown'}
37
30
  onPress={() => onItemPress(item)}
@@ -0,0 +1,95 @@
1
+ import { FlatList, StyleSheet } 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
+ }
27
+
28
+ export function WalletList({
29
+ data,
30
+ onItemPress,
31
+ onEndReached,
32
+ onEndReachedThreshold,
33
+ isLoading = false,
34
+ loadingItems = 20
35
+ }: Props) {
36
+ const { padding, maxHeight } = useCustomDimensions();
37
+
38
+ // Create loading data if isLoading is true
39
+ const displayData = isLoading
40
+ ? Array.from({ length: loadingItems }, (_, index) => ({ id: `loading-${index}` }) as WcWallet)
41
+ : data;
42
+
43
+ return (
44
+ <FlatList
45
+ fadingEdgeLength={20}
46
+ bounces={false}
47
+ numColumns={4}
48
+ data={displayData}
49
+ style={[styles.list, { height: maxHeight }]}
50
+ columnWrapperStyle={styles.columnWrapperStyle}
51
+ renderItem={({ item }) => {
52
+ if (isLoading) {
53
+ return <CardSelectLoader style={styles.itemContainer} />;
54
+ }
55
+
56
+ return (
57
+ <WalletItem
58
+ item={item}
59
+ imageHeaders={imageHeaders}
60
+ onItemPress={onItemPress}
61
+ style={styles.itemContainer}
62
+ />
63
+ );
64
+ }}
65
+ contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding }]}
66
+ onEndReached={onEndReached}
67
+ onEndReachedThreshold={onEndReachedThreshold}
68
+ keyExtractor={(item, index) => item?.id ?? `item-${index}`}
69
+ getItemLayout={(_, index) => ({
70
+ length: ITEM_HEIGHT_WITH_GAP,
71
+ offset: ITEM_HEIGHT_WITH_GAP * index,
72
+ index
73
+ })}
74
+ />
75
+ );
76
+ }
77
+
78
+ const styles = StyleSheet.create({
79
+ list: {
80
+ paddingTop: Spacing['3xs']
81
+ },
82
+ contentContainer: {
83
+ paddingBottom: Spacing['4xl'],
84
+ paddingTop: Spacing['3xs'],
85
+ gap: Spacing['3xs'],
86
+ alignItems: 'center'
87
+ },
88
+ columnWrapperStyle: {
89
+ justifyContent: 'space-around'
90
+ },
91
+ itemContainer: {
92
+ width: '23%',
93
+ minWidth: ITEM_WIDTH
94
+ }
95
+ });
@@ -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,36 +7,23 @@ 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
28
  const combinedWallets = [
43
29
  ...(customWallets ?? []),
@@ -52,6 +38,8 @@ export function AllWalletsList({
52
38
  new Map(combinedWallets.map(wallet => [wallet?.id, wallet])).values()
53
39
  ).filter(wallet => wallet?.id); // Filter out any undefined wallets
54
40
 
41
+ const loadingItems = 4 - ((100 + uniqueWallets.length) % 4);
42
+
55
43
  const walletList = [
56
44
  ...uniqueWallets,
57
45
  ...(pageLoading ? (Array.from({ length: loadingItems }) as WcWallet[]) : [])
@@ -95,7 +83,7 @@ export function AllWalletsList({
95
83
  }, []);
96
84
 
97
85
  if (loading) {
98
- return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
86
+ return <Loading loadingItems={20} />;
99
87
  }
100
88
 
101
89
  if (loadingError) {
@@ -114,30 +102,11 @@ export function AllWalletsList({
114
102
  }
115
103
 
116
104
  return (
117
- <FlatList
118
- key={columns}
119
- fadingEdgeLength={20}
120
- bounces={false}
121
- numColumns={columns}
105
+ <WalletList
122
106
  data={walletList}
123
- renderItem={({ item }) => (
124
- <WalletItem
125
- item={item}
126
- itemWidth={itemWidth}
127
- imageHeaders={imageHeaders}
128
- onItemPress={onItemPress}
129
- />
130
- )}
131
- style={{ maxHeight: maxHeight - headerHeight - Spacing['4xl'] }}
132
- contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding + Spacing.xs }]}
133
107
  onEndReached={fetchNextPage}
134
108
  onEndReachedThreshold={2}
135
- keyExtractor={(item, index) => item?.id ?? index}
136
- getItemLayout={(_, index) => ({
137
- length: ITEM_HEIGHT,
138
- offset: ITEM_HEIGHT * index,
139
- index
140
- })}
109
+ onItemPress={onItemPress}
141
110
  />
142
111
  );
143
112
  }
@@ -3,12 +3,16 @@ import { StyleSheet } from 'react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  contentContainer: {
6
- paddingBottom: Spacing['2xl']
6
+ paddingBottom: Spacing['4xl'],
7
+ paddingTop: Spacing['3xs'],
8
+ gap: Spacing['3xs'],
9
+ alignItems: 'center'
10
+ },
11
+ columnWrapperStyle: {
12
+ justifyContent: 'space-around'
7
13
  },
8
14
  itemContainer: {
9
- alignItems: 'center',
10
- justifyContent: 'center',
11
- marginVertical: Spacing.xs
15
+ width: '23%'
12
16
  },
13
17
  pageLoader: {
14
18
  marginTop: Spacing.xl
@@ -1,36 +1,23 @@
1
1
  import { useCallback, useEffect, useState } from 'react';
2
- import { FlatList } from 'react-native';
3
2
  import { ApiController, SnackController } from '@reown/appkit-core-react-native';
4
3
  import { type WcWallet } from '@reown/appkit-common-react-native';
5
- import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
4
+ import { useCustomDimensions } from '@reown/appkit-ui-react-native';
6
5
  import { Placeholder } from '../w3m-placeholder';
7
6
  import styles from './styles';
8
7
 
9
8
  import { Loading } from '../w3m-all-wallets-list/components/Loading';
10
- import { WalletItem } from '../w3m-all-wallets-list/components/WalletItem';
9
+ import { WalletList } from '../w3m-all-wallets-list/components/WalletList';
11
10
 
12
11
  export interface AllWalletsSearchProps {
13
- columns: number;
14
12
  onItemPress: (wallet: WcWallet) => void;
15
- itemWidth?: number;
16
13
  searchQuery?: string;
17
- headerHeight?: number;
18
14
  }
19
15
 
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) {
16
+ export function AllWalletsSearch({ searchQuery, onItemPress }: AllWalletsSearchProps) {
29
17
  const [loading, setLoading] = useState<boolean>(false);
30
18
  const [loadingError, setLoadingError] = useState<boolean>(false);
31
19
  const [prevSearchQuery, setPrevSearchQuery] = useState<string>('');
32
- const imageHeaders = ApiController._getApiHeaders();
33
- const { maxHeight, padding, isLandscape } = useCustomDimensions();
20
+ const { isLandscape } = useCustomDimensions();
34
21
 
35
22
  const emptyTemplate = () => {
36
23
  return (
@@ -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={20} />;
67
54
  }
68
55
 
69
56
  if (loadingError) {
@@ -85,29 +72,5 @@ export function AllWalletsSearch({
85
72
  return emptyTemplate();
86
73
  }
87
74
 
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
- />
102
- )}
103
- style={{ maxHeight: maxHeight - headerHeight - Spacing['2xl'] }}
104
- contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding + Spacing.xs }]}
105
- keyExtractor={item => item.id}
106
- getItemLayout={(_, index) => ({
107
- length: ITEM_HEIGHT,
108
- offset: ITEM_HEIGHT * index,
109
- index
110
- })}
111
- />
112
- );
75
+ return <WalletList onItemPress={onItemPress} data={ApiController.state.search} />;
113
76
  }
@@ -3,7 +3,7 @@ import { StyleSheet } from 'react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  contentContainer: {
6
- paddingBottom: Spacing['2xl']
6
+ paddingBottom: Spacing['4xl']
7
7
  },
8
8
  placeholderContainer: {
9
9
  flex: 0,
@@ -19,7 +19,7 @@ export default StyleSheet.create({
19
19
  itemContainer: {
20
20
  alignItems: 'center',
21
21
  justifyContent: 'center',
22
- marginVertical: Spacing.xs
22
+ margin: Spacing['4xs']
23
23
  },
24
24
  text: {
25
25
  marginTop: Spacing.xs
@@ -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"
@@ -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 = () => {
@@ -59,6 +59,7 @@ export function Header() {
59
59
  };
60
60
 
61
61
  const noCloseViews = ['OnRampSettings'];
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) {
@@ -9,10 +9,12 @@ import {
9
9
  Separator,
10
10
  Spacing,
11
11
  Text,
12
+ useCustomDimensions,
12
13
  useTheme
13
14
  } from '@reown/appkit-ui-react-native';
14
- import styles from './styles';
15
15
  import { AssetController, AssetUtil, ConnectionsController } from '@reown/appkit-core-react-native';
16
+ import { Placeholder } from '../w3m-placeholder';
17
+ import styles from './styles';
16
18
 
17
19
  interface SelectorModalProps {
18
20
  title?: string;
@@ -44,6 +46,7 @@ export function SelectorModal({
44
46
  showNetwork
45
47
  }: SelectorModalProps) {
46
48
  const Theme = useTheme();
49
+ const { maxHeight } = useCustomDimensions();
47
50
  const { activeNetwork } = useSnapshot(ConnectionsController.state);
48
51
  const { networkImages } = useSnapshot(AssetController.state);
49
52
  const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages);
@@ -55,66 +58,83 @@ export function SelectorModal({
55
58
  return (
56
59
  <Modal visible={visible} transparent animationType="slide" onRequestClose={onClose}>
57
60
  <View style={styles.modal}>
58
- <FlexView style={[styles.container, { backgroundColor: Theme['bg-100'] }]}>
59
- <FlexView
60
- alignItems="center"
61
- justifyContent="space-between"
62
- flexDirection="row"
63
- style={styles.header}
64
- >
65
- <IconLink icon="chevronLeft" onPress={onClose} testID="selector-modal-button-back" />
66
- {!!title && <Text variant="paragraph-600">{title}</Text>}
67
- {showNetwork ? (
68
- networkImage ? (
69
- <FlexView
70
- alignItems="center"
71
- justifyContent="center"
72
- style={styles.iconPlaceholder}
73
- >
74
- <Image source={networkImage} style={styles.networkImage} />
75
- </FlexView>
76
- ) : (
77
- <IconBox
78
- style={styles.iconPlaceholder}
79
- icon="networkPlaceholder"
80
- background
81
- iconColor="fg-200"
82
- size="sm"
61
+ <FlatList
62
+ data={items}
63
+ renderItem={renderItem}
64
+ fadingEdgeLength={20}
65
+ automaticallyAdjustKeyboardInsets={false}
66
+ keyboardShouldPersistTaps="always"
67
+ style={[styles.container, { backgroundColor: Theme['bg-100'], maxHeight }]}
68
+ ListHeaderComponentStyle={styles.header}
69
+ ListEmptyComponent={
70
+ <Placeholder
71
+ icon="coinPlaceholder"
72
+ title="No tokens found"
73
+ description="There's no available tokens for this network"
74
+ />
75
+ }
76
+ ListHeaderComponent={
77
+ <>
78
+ <FlexView
79
+ alignItems="center"
80
+ justifyContent="space-between"
81
+ flexDirection="row"
82
+ style={styles.headerTop}
83
+ >
84
+ <IconLink
85
+ icon="chevronLeft"
86
+ onPress={onClose}
87
+ testID="selector-modal-button-back"
83
88
  />
84
- )
85
- ) : (
86
- <View style={styles.iconPlaceholder} />
87
- )}
88
- </FlexView>
89
- <SearchBar
90
- onChangeText={onSearch}
91
- style={styles.searchBar}
92
- placeholder={searchPlaceholder}
93
- />
94
- {selectedItem ? (
95
- <FlexView style={styles.selectedContainer}>
96
- {renderItem({ item: selectedItem })}
97
- <Separator style={styles.separator} color="gray-glass-020" />
98
- </FlexView>
99
- ) : null}
100
- <FlatList
101
- data={items}
102
- renderItem={renderItem}
103
- fadingEdgeLength={20}
104
- contentContainerStyle={styles.listContent}
105
- ItemSeparatorComponent={renderSeparator}
106
- keyExtractor={keyExtractor}
107
- getItemLayout={
108
- itemHeight
109
- ? (_, index) => ({
110
- length: itemHeight + SEPARATOR_HEIGHT,
111
- offset: (itemHeight + SEPARATOR_HEIGHT) * index,
112
- index
113
- })
114
- : undefined
115
- }
116
- />
117
- </FlexView>
89
+ {!!title && <Text variant="paragraph-600">{title}</Text>}
90
+ {showNetwork ? (
91
+ networkImage ? (
92
+ <FlexView
93
+ alignItems="center"
94
+ justifyContent="center"
95
+ style={styles.iconPlaceholder}
96
+ >
97
+ <Image source={networkImage} style={styles.networkImage} />
98
+ </FlexView>
99
+ ) : (
100
+ <IconBox
101
+ style={styles.iconPlaceholder}
102
+ icon="networkPlaceholder"
103
+ background
104
+ iconColor="fg-200"
105
+ size="sm"
106
+ />
107
+ )
108
+ ) : (
109
+ <View style={styles.iconPlaceholder} />
110
+ )}
111
+ </FlexView>
112
+ <SearchBar
113
+ onChangeText={onSearch}
114
+ style={styles.searchBar}
115
+ placeholder={searchPlaceholder}
116
+ />
117
+ {selectedItem ? (
118
+ <FlexView>
119
+ {renderItem({ item: selectedItem })}
120
+ <Separator style={styles.separator} color="gray-glass-005" />
121
+ </FlexView>
122
+ ) : null}
123
+ </>
124
+ }
125
+ contentContainerStyle={styles.listContent}
126
+ ItemSeparatorComponent={renderSeparator}
127
+ keyExtractor={keyExtractor}
128
+ getItemLayout={
129
+ itemHeight
130
+ ? (_, index) => ({
131
+ length: itemHeight + SEPARATOR_HEIGHT,
132
+ offset: (itemHeight + SEPARATOR_HEIGHT) * index,
133
+ index
134
+ })
135
+ : undefined
136
+ }
137
+ />
118
138
  </View>
119
139
  </Modal>
120
140
  );