@reown/appkit-react-native 0.0.0-fix-height-calc-20250815174808 → 0.0.0-fix-improvements-20250827190629

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 (255) hide show
  1. package/lib/commonjs/AppKit.js +7 -5
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/connectors/WalletConnectConnector.js +1 -2
  4. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  5. package/lib/commonjs/partials/w3m-account-activity/index.js +3 -4
  6. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  7. package/lib/commonjs/partials/w3m-account-activity/styles.js +1 -4
  8. package/lib/commonjs/partials/w3m-account-activity/styles.js.map +1 -1
  9. package/lib/commonjs/partials/w3m-account-tokens/index.js +1 -2
  10. package/lib/commonjs/partials/w3m-account-tokens/index.js.map +1 -1
  11. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +87 -0
  12. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -0
  13. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +47 -0
  14. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -0
  15. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +17 -55
  16. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  17. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +3 -2
  18. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  19. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +17 -47
  20. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  21. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +2 -2
  22. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +1 -3
  24. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +1 -0
  26. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-connecting-web/index.js +1 -3
  28. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-header/index.js +1 -1
  30. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  31. package/lib/commonjs/partials/w3m-selector-modal/index.js +29 -2
  32. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  33. package/lib/commonjs/partials/w3m-selector-modal/styles.js +3 -2
  34. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  35. package/lib/commonjs/views/w3m-account-default-view/index.js +2 -12
  36. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  37. package/lib/commonjs/views/w3m-account-view/index.js +2 -3
  38. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  39. package/lib/commonjs/views/w3m-all-wallets-view/index.js +1 -1
  40. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  41. package/lib/commonjs/views/w3m-connect-socials-view/index.js +1 -9
  42. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  43. package/lib/commonjs/views/w3m-connect-view/index.js +3 -10
  44. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  45. package/lib/commonjs/views/w3m-connecting-external-view/index.js +1 -3
  46. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  47. package/lib/commonjs/views/w3m-connecting-view/index.js +0 -2
  48. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  49. package/lib/commonjs/views/w3m-get-wallet-view/index.js +2 -10
  50. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  51. package/lib/commonjs/views/w3m-networks-view/index.js +26 -33
  52. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  53. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +1 -3
  54. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  55. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -2
  56. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  57. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +51 -13
  58. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  59. package/lib/commonjs/views/w3m-onramp-view/index.js +16 -18
  60. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  61. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -9
  62. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  63. package/lib/commonjs/views/w3m-swap-view/index.js +6 -9
  64. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  65. package/lib/commonjs/views/w3m-swap-view/styles.js +2 -1
  66. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  67. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +2 -12
  68. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  69. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -8
  70. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  71. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -8
  72. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  73. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +17 -6
  74. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  75. package/lib/commonjs/views/w3m-wallet-send-select-token-view/styles.js +2 -1
  76. package/lib/commonjs/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  77. package/lib/commonjs/views/w3m-wallet-send-view/index.js +6 -10
  78. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +2 -1
  80. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  81. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +2 -10
  82. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  83. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +2 -11
  84. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  85. package/lib/module/AppKit.js +7 -5
  86. package/lib/module/AppKit.js.map +1 -1
  87. package/lib/module/connectors/WalletConnectConnector.js +1 -2
  88. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  89. package/lib/module/partials/w3m-account-activity/index.js +4 -5
  90. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  91. package/lib/module/partials/w3m-account-activity/styles.js +1 -4
  92. package/lib/module/partials/w3m-account-activity/styles.js.map +1 -1
  93. package/lib/module/partials/w3m-account-tokens/index.js +2 -3
  94. package/lib/module/partials/w3m-account-tokens/index.js.map +1 -1
  95. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +83 -0
  96. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -0
  97. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +42 -0
  98. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -0
  99. package/lib/module/partials/w3m-all-wallets-list/index.js +20 -58
  100. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  101. package/lib/module/partials/w3m-all-wallets-list/styles.js +3 -2
  102. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  103. package/lib/module/partials/w3m-all-wallets-search/index.js +20 -50
  104. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  105. package/lib/module/partials/w3m-all-wallets-search/styles.js +2 -2
  106. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  107. package/lib/module/partials/w3m-connecting-mobile/index.js +2 -4
  108. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  109. package/lib/module/partials/w3m-connecting-qrcode/index.js +1 -0
  110. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  111. package/lib/module/partials/w3m-connecting-web/index.js +2 -4
  112. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  113. package/lib/module/partials/w3m-header/index.js +1 -1
  114. package/lib/module/partials/w3m-header/index.js.map +1 -1
  115. package/lib/module/partials/w3m-selector-modal/index.js +30 -3
  116. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  117. package/lib/module/partials/w3m-selector-modal/styles.js +3 -2
  118. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  119. package/lib/module/views/w3m-account-default-view/index.js +3 -12
  120. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  121. package/lib/module/views/w3m-account-view/index.js +2 -3
  122. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  123. package/lib/module/views/w3m-all-wallets-view/index.js +1 -1
  124. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  125. package/lib/module/views/w3m-connect-socials-view/index.js +1 -9
  126. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  127. package/lib/module/views/w3m-connect-view/index.js +4 -11
  128. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  129. package/lib/module/views/w3m-connecting-external-view/index.js +2 -4
  130. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  131. package/lib/module/views/w3m-connecting-view/index.js +0 -2
  132. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  133. package/lib/module/views/w3m-get-wallet-view/index.js +3 -11
  134. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  135. package/lib/module/views/w3m-networks-view/index.js +28 -35
  136. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  137. package/lib/module/views/w3m-onramp-loading-view/index.js +2 -4
  138. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  139. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +2 -3
  140. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  141. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +53 -15
  142. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  143. package/lib/module/views/w3m-onramp-view/index.js +16 -18
  144. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  145. package/lib/module/views/w3m-swap-preview-view/index.js +1 -9
  146. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  147. package/lib/module/views/w3m-swap-view/index.js +7 -10
  148. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  149. package/lib/module/views/w3m-swap-view/styles.js +2 -1
  150. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  151. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +2 -12
  152. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  153. package/lib/module/views/w3m-wallet-receive-view/index.js +2 -9
  154. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  155. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -8
  156. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  157. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +17 -6
  158. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  159. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js +2 -1
  160. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  161. package/lib/module/views/w3m-wallet-send-view/index.js +6 -10
  162. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  163. package/lib/module/views/w3m-wallet-send-view/styles.js +2 -1
  164. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  165. package/lib/module/views/w3m-what-is-a-network-view/index.js +3 -11
  166. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  167. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +2 -11
  168. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  169. package/lib/typescript/AppKit.d.ts.map +1 -1
  170. package/lib/typescript/partials/w3m-account-activity/index.d.ts.map +1 -1
  171. package/lib/typescript/partials/w3m-account-activity/styles.d.ts +0 -3
  172. package/lib/typescript/partials/w3m-account-activity/styles.d.ts.map +1 -1
  173. package/lib/typescript/partials/w3m-account-tokens/index.d.ts.map +1 -1
  174. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +10 -0
  175. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -0
  176. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +15 -0
  177. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -0
  178. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  179. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +2 -1
  180. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  181. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  182. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +1 -1
  183. package/lib/typescript/partials/w3m-connecting-mobile/index.d.ts.map +1 -1
  184. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  185. package/lib/typescript/partials/w3m-connecting-web/index.d.ts.map +1 -1
  186. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  187. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +2 -1
  188. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  189. package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
  190. package/lib/typescript/views/w3m-connect-socials-view/index.d.ts.map +1 -1
  191. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  192. package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
  193. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  194. package/lib/typescript/views/w3m-get-wallet-view/index.d.ts.map +1 -1
  195. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  196. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  197. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  198. package/lib/typescript/views/w3m-swap-preview-view/index.d.ts.map +1 -1
  199. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  200. package/lib/typescript/views/w3m-swap-view/styles.d.ts +1 -0
  201. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  202. package/lib/typescript/views/w3m-wallet-compatible-networks-view/index.d.ts.map +1 -1
  203. package/lib/typescript/views/w3m-wallet-receive-view/index.d.ts.map +1 -1
  204. package/lib/typescript/views/w3m-wallet-send-preview-view/index.d.ts.map +1 -1
  205. package/lib/typescript/views/w3m-wallet-send-select-token-view/index.d.ts.map +1 -1
  206. package/lib/typescript/views/w3m-wallet-send-select-token-view/styles.d.ts +1 -0
  207. package/lib/typescript/views/w3m-wallet-send-select-token-view/styles.d.ts.map +1 -1
  208. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  209. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +1 -0
  210. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  211. package/lib/typescript/views/w3m-what-is-a-network-view/index.d.ts.map +1 -1
  212. package/lib/typescript/views/w3m-what-is-a-wallet-view/index.d.ts.map +1 -1
  213. package/package.json +5 -5
  214. package/src/AppKit.ts +13 -5
  215. package/src/connectors/WalletConnectConnector.ts +2 -2
  216. package/src/partials/w3m-account-activity/index.tsx +5 -5
  217. package/src/partials/w3m-account-activity/styles.ts +1 -4
  218. package/src/partials/w3m-account-tokens/index.tsx +3 -9
  219. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +45 -0
  220. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +47 -0
  221. package/src/partials/w3m-all-wallets-list/index.tsx +21 -61
  222. package/src/partials/w3m-all-wallets-list/styles.ts +3 -2
  223. package/src/partials/w3m-all-wallets-search/index.tsx +23 -58
  224. package/src/partials/w3m-all-wallets-search/styles.ts +2 -2
  225. package/src/partials/w3m-connecting-mobile/index.tsx +4 -3
  226. package/src/partials/w3m-connecting-qrcode/index.tsx +1 -0
  227. package/src/partials/w3m-connecting-web/index.tsx +4 -3
  228. package/src/partials/w3m-header/index.tsx +1 -1
  229. package/src/partials/w3m-selector-modal/index.tsx +30 -3
  230. package/src/partials/w3m-selector-modal/styles.ts +3 -2
  231. package/src/views/w3m-account-default-view/index.tsx +4 -7
  232. package/src/views/w3m-account-view/index.tsx +3 -3
  233. package/src/views/w3m-all-wallets-view/index.tsx +1 -1
  234. package/src/views/w3m-connect-socials-view/index.tsx +2 -4
  235. package/src/views/w3m-connect-view/index.tsx +5 -6
  236. package/src/views/w3m-connecting-external-view/index.tsx +4 -3
  237. package/src/views/w3m-connecting-view/index.tsx +0 -2
  238. package/src/views/w3m-get-wallet-view/index.tsx +4 -10
  239. package/src/views/w3m-networks-view/index.tsx +26 -29
  240. package/src/views/w3m-onramp-loading-view/index.tsx +4 -8
  241. package/src/views/w3m-onramp-view/components/LoadingView.tsx +3 -3
  242. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +46 -11
  243. package/src/views/w3m-onramp-view/index.tsx +20 -20
  244. package/src/views/w3m-swap-preview-view/index.tsx +2 -4
  245. package/src/views/w3m-swap-view/index.tsx +4 -12
  246. package/src/views/w3m-swap-view/styles.ts +2 -1
  247. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +3 -11
  248. package/src/views/w3m-wallet-receive-view/index.tsx +3 -4
  249. package/src/views/w3m-wallet-send-preview-view/index.tsx +2 -4
  250. package/src/views/w3m-wallet-send-select-token-view/index.tsx +18 -6
  251. package/src/views/w3m-wallet-send-select-token-view/styles.ts +2 -1
  252. package/src/views/w3m-wallet-send-view/index.tsx +4 -6
  253. package/src/views/w3m-wallet-send-view/styles.ts +2 -1
  254. package/src/views/w3m-what-is-a-network-view/index.tsx +4 -5
  255. package/src/views/w3m-what-is-a-wallet-view/index.tsx +3 -11
package/src/AppKit.ts CHANGED
@@ -663,6 +663,7 @@ export class AppKit {
663
663
  OptionsController.setEnableAnalytics(options.enableAnalytics);
664
664
  OptionsController.setDebug(options.debug);
665
665
  OptionsController.setFeatures(options.features);
666
+ OptionsController.setRequestedNetworks(this.networks);
666
667
 
667
668
  if (options.defaultNetwork) {
668
669
  const network = NetworkUtil.formatNetwork(options.defaultNetwork, this.projectId);
@@ -709,14 +710,17 @@ export class AppKit {
709
710
  const wallets = await StorageUtil.getRecentWallets();
710
711
  const filteredWallets = wallets.filter(wallet => {
711
712
  const { includeWalletIds, excludeWalletIds } = options;
712
- if (includeWalletIds) {
713
+
714
+ if (includeWalletIds?.length) {
713
715
  return includeWalletIds.includes(wallet.id);
714
716
  }
715
- if (excludeWalletIds) {
717
+ if (excludeWalletIds?.length) {
716
718
  return !excludeWalletIds.includes(wallet.id);
717
719
  }
718
720
 
719
- return true;
721
+ return this.networks.some(
722
+ network => wallet.chains?.some(chain => network.caipNetworkId === chain)
723
+ );
720
724
  });
721
725
 
722
726
  WcController.setRecentWallets(filteredWallets);
@@ -740,8 +744,12 @@ export class AppKit {
740
744
 
741
745
  const customList = [...(customWallets ?? [])];
742
746
 
743
- const addPhantom =
747
+ const isSolanaEnabled =
744
748
  adapters.some(adapter => adapter.getSupportedNamespace() === 'solana') &&
749
+ this.networks.some(network => network.chainNamespace === 'solana');
750
+
751
+ const addPhantom =
752
+ isSolanaEnabled &&
745
753
  extraConnectors?.some(connector => connector.type.toLowerCase() === 'phantom') &&
746
754
  !customList.some(wallet => wallet.id === ConstantsUtil.PHANTOM_CUSTOM_WALLET.id);
747
755
 
@@ -750,7 +758,7 @@ export class AppKit {
750
758
  }
751
759
 
752
760
  const addSolflare =
753
- adapters.some(adapter => adapter.getSupportedNamespace() === 'solana') &&
761
+ isSolanaEnabled &&
754
762
  extraConnectors?.some(connector => connector.type.toLowerCase() === 'solflare') &&
755
763
  !customList.some(wallet => wallet.id === ConstantsUtil.SOLFLARE_CUSTOM_WALLET.id);
756
764
 
@@ -210,12 +210,12 @@ export class WalletConnectConnector extends WalletConnector {
210
210
  const provider = this.provider as IUniversalProvider;
211
211
 
212
212
  if (namespace) {
213
- const _chainId = this.getChainId(namespace);
214
-
215
213
  // @ts-ignore
216
214
  return {
217
215
  ...provider,
218
216
  request: (args: RequestArguments, chainId?: CaipNetworkId) => {
217
+ const _chainId = this.getChainId(namespace);
218
+
219
219
  return provider.request(args, chainId || _chainId);
220
220
  }
221
221
  };
@@ -1,6 +1,6 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useCallback, useEffect, useMemo, useState } from 'react';
3
- import { ScrollView, View, type StyleProp, type ViewStyle, RefreshControl } from 'react-native';
3
+ import { View, type StyleProp, type ViewStyle, RefreshControl } from 'react-native';
4
4
  import {
5
5
  FlexView,
6
6
  Link,
@@ -8,7 +8,8 @@ import {
8
8
  LoadingSpinner,
9
9
  Text,
10
10
  TransactionUtil,
11
- useTheme
11
+ useTheme,
12
+ ScrollView
12
13
  } from '@reown/appkit-ui-react-native';
13
14
  import { type Transaction, type TransactionImage } from '@reown/appkit-common-react-native';
14
15
  import {
@@ -121,9 +122,8 @@ export function AccountActivity({ style }: Props) {
121
122
 
122
123
  return (
123
124
  <ScrollView
124
- style={[styles.container, style]}
125
- fadingEdgeLength={20}
126
- contentContainerStyle={[styles.contentContainer]}
125
+ style={style}
126
+ contentContainerStyle={styles.contentContainer}
127
127
  refreshControl={
128
128
  <RefreshControl
129
129
  refreshing={refreshing}
@@ -2,11 +2,8 @@ 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
- paddingHorizontal: Spacing.xs
7
- },
8
5
  contentContainer: {
9
- paddingBottom: Spacing.m
6
+ paddingBottom: Spacing.xl
10
7
  },
11
8
  separatorText: {
12
9
  marginVertical: Spacing.xs
@@ -1,11 +1,5 @@
1
1
  import { useCallback, useState } from 'react';
2
- import {
3
- RefreshControl,
4
- ScrollView,
5
- StyleSheet,
6
- type StyleProp,
7
- type ViewStyle
8
- } from 'react-native';
2
+ import { RefreshControl, StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
9
3
  import { useSnapshot } from 'valtio';
10
4
  import {
11
5
  AssetController,
@@ -20,7 +14,8 @@ import {
20
14
  ListToken,
21
15
  useTheme,
22
16
  Spacing,
23
- LoadingSpinner
17
+ LoadingSpinner,
18
+ ScrollView
24
19
  } from '@reown/appkit-ui-react-native';
25
20
 
26
21
  interface Props {
@@ -70,7 +65,6 @@ export function AccountTokens({ style, isLoading }: Props) {
70
65
 
71
66
  return (
72
67
  <ScrollView
73
- fadingEdgeLength={20}
74
68
  style={style}
75
69
  refreshControl={
76
70
  <RefreshControl
@@ -0,0 +1,45 @@
1
+ import { CardSelectLoader, FlexView, useCustomDimensions } from '@reown/appkit-ui-react-native';
2
+ import { memo } from 'react';
3
+ import { type StyleProp, type ViewStyle, StyleSheet } from 'react-native';
4
+
5
+ interface LoadingProps {
6
+ itemWidth?: number;
7
+ containerStyle?: StyleProp<ViewStyle>;
8
+ }
9
+
10
+ function _Loading({ itemWidth, containerStyle }: LoadingProps) {
11
+ const { maxWidth, maxHeight } = useCustomDimensions();
12
+
13
+ return (
14
+ <FlexView
15
+ flexDirection="row"
16
+ flexWrap="wrap"
17
+ alignSelf="center"
18
+ style={[styles.container, { maxWidth, maxHeight }]}
19
+ >
20
+ <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
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
+ </FlexView>
33
+ );
34
+ }
35
+
36
+ const styles = StyleSheet.create({
37
+ container: {
38
+ alignSelf: 'center',
39
+ justifyContent: 'center'
40
+ }
41
+ });
42
+
43
+ export const Loading = memo(_Loading, () => {
44
+ return true;
45
+ });
@@ -0,0 +1,47 @@
1
+ import { useSnapshot } from 'valtio';
2
+ import { ApiController, AssetController, AssetUtil } from '@reown/appkit-core-react-native';
3
+ import { CardSelect, CardSelectLoader } from '@reown/appkit-ui-react-native';
4
+ import type { WcWallet } from '@reown/appkit-common-react-native';
5
+ import type { StyleProp, ViewStyle } from 'react-native';
6
+ import { memo } from 'react';
7
+
8
+ interface WalletItemProps {
9
+ containerStyle?: StyleProp<ViewStyle>;
10
+ item: WcWallet;
11
+ itemWidth?: number;
12
+ imageHeaders?: Record<string, string>;
13
+ onItemPress: (wallet: WcWallet) => void;
14
+ style?: StyleProp<ViewStyle>;
15
+ }
16
+
17
+ export function WalletItem({
18
+ containerStyle,
19
+ item,
20
+ itemWidth,
21
+ imageHeaders,
22
+ onItemPress,
23
+ style
24
+ }: WalletItemProps) {
25
+ const { walletImages } = useSnapshot(AssetController.state);
26
+ const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
27
+ const imageSrc = AssetUtil.getWalletImage(item, walletImages);
28
+
29
+ if (!item?.id) {
30
+ return <CardSelectLoader style={[containerStyle, { width: itemWidth }, style]} />;
31
+ }
32
+
33
+ return (
34
+ <CardSelect
35
+ imageSrc={imageSrc}
36
+ style={[containerStyle, { width: itemWidth }, style]}
37
+ imageHeaders={imageHeaders}
38
+ name={item?.name ?? 'Unknown'}
39
+ onPress={() => onItemPress(item)}
40
+ installed={!!isInstalled}
41
+ />
42
+ );
43
+ }
44
+
45
+ export const MemoizedWalletItem = memo(WalletItem, (prevProps, nextProps) => {
46
+ return prevProps.item.id === nextProps.item.id;
47
+ });
@@ -1,26 +1,18 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { useSnapshot } from 'valtio';
3
- import { FlatList, View } from 'react-native';
3
+ import { FlatList } from 'react-native';
4
4
  import {
5
5
  ApiController,
6
- AssetController,
7
- AssetUtil,
8
6
  OptionsController,
9
7
  SnackController,
10
8
  type OptionsControllerState
11
9
  } from '@reown/appkit-core-react-native';
12
10
  import { type WcWallet } from '@reown/appkit-common-react-native';
13
- import {
14
- CardSelect,
15
- CardSelectLoader,
16
- CardSelectHeight,
17
- FlexView,
18
- Spacing,
19
- useCustomDimensions
20
- } from '@reown/appkit-ui-react-native';
11
+ import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
21
12
  import styles from './styles';
22
- import { UiUtil } from '../../utils/UiUtil';
23
13
  import { Placeholder } from '../w3m-placeholder';
14
+ import { Loading } from './components/Loading';
15
+ import { WalletItem } from './components/WalletItem';
24
16
 
25
17
  interface AllWalletsListProps {
26
18
  columns: number;
@@ -29,6 +21,8 @@ interface AllWalletsListProps {
29
21
  headerHeight?: number;
30
22
  }
31
23
 
24
+ const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
25
+
32
26
  export function AllWalletsList({
33
27
  columns,
34
28
  itemWidth,
@@ -38,9 +32,8 @@ export function AllWalletsList({
38
32
  const [loading, setLoading] = useState<boolean>(ApiController.state.wallets.length === 0);
39
33
  const [loadingError, setLoadingError] = useState<boolean>(false);
40
34
  const [pageLoading, setPageLoading] = useState<boolean>(false);
41
- const { maxWidth, maxHeight, padding } = useCustomDimensions();
35
+ const { maxHeight, padding } = useCustomDimensions();
42
36
  const { installed, featured, recommended, wallets } = useSnapshot(ApiController.state);
43
- const { walletImages } = useSnapshot(AssetController.state);
44
37
  const { customWallets } = useSnapshot(OptionsController.state) as OptionsControllerState;
45
38
  const imageHeaders = ApiController._getApiHeaders();
46
39
  const preloadedWallets = installed.length + featured.length + recommended.length;
@@ -64,55 +57,11 @@ export function AllWalletsList({
64
57
  ...(pageLoading ? (Array.from({ length: loadingItems }) as WcWallet[]) : [])
65
58
  ];
66
59
 
67
- const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
68
-
69
- const loadingTemplate = (items: number) => {
70
- return (
71
- <FlexView
72
- flexDirection="row"
73
- flexWrap="wrap"
74
- alignSelf="center"
75
- padding={['0', '0', 's', 'xs']}
76
- style={{ maxWidth, maxHeight }}
77
- >
78
- {Array.from({ length: items }).map((_, index) => (
79
- <View key={index} style={[styles.itemContainer, { width: itemWidth }]}>
80
- <CardSelectLoader />
81
- </View>
82
- ))}
83
- </FlexView>
84
- );
85
- };
86
-
87
- const walletTemplate = ({ item }: { item: WcWallet; index: number }) => {
88
- const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
89
- if (!item?.id) {
90
- return (
91
- <View style={[styles.itemContainer, { width: itemWidth }]}>
92
- <CardSelectLoader />
93
- </View>
94
- );
95
- }
96
-
97
- return (
98
- <View style={[styles.itemContainer, { width: itemWidth }]}>
99
- <CardSelect
100
- imageSrc={AssetUtil.getWalletImage(item, walletImages)}
101
- imageHeaders={imageHeaders}
102
- name={item?.name ?? 'Unknown'}
103
- onPress={() => onItemPress(item)}
104
- installed={!!isInstalled}
105
- />
106
- </View>
107
- );
108
- };
109
-
110
60
  const initialFetch = async () => {
111
61
  try {
112
62
  setLoading(true);
113
63
  setLoadingError(false);
114
64
  await ApiController.fetchWallets({ page: 1 });
115
- UiUtil.createViewTransition();
116
65
  setLoading(false);
117
66
  } catch (error) {
118
67
  SnackController.showError('Failed to load wallets');
@@ -146,7 +95,7 @@ export function AllWalletsList({
146
95
  }, []);
147
96
 
148
97
  if (loading) {
149
- return loadingTemplate(20);
98
+ return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
150
99
  }
151
100
 
152
101
  if (loadingError) {
@@ -171,9 +120,20 @@ export function AllWalletsList({
171
120
  bounces={false}
172
121
  numColumns={columns}
173
122
  data={walletList}
174
- renderItem={walletTemplate}
123
+ renderItem={({ item }) => (
124
+ <WalletItem
125
+ item={item}
126
+ itemWidth={itemWidth}
127
+ imageHeaders={imageHeaders}
128
+ onItemPress={onItemPress}
129
+ style={styles.itemContainer}
130
+ />
131
+ )}
175
132
  style={{ maxHeight: maxHeight - headerHeight - Spacing['4xl'] }}
176
- contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding + Spacing.xs }]}
133
+ contentContainerStyle={[
134
+ styles.contentContainer,
135
+ { paddingHorizontal: padding + Spacing['2xs'] }
136
+ ]}
177
137
  onEndReached={fetchNextPage}
178
138
  onEndReachedThreshold={2}
179
139
  keyExtractor={(item, index) => item?.id ?? index}
@@ -3,12 +3,13 @@ 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']
7
8
  },
8
9
  itemContainer: {
9
10
  alignItems: 'center',
10
11
  justifyContent: 'center',
11
- marginVertical: Spacing.xs
12
+ margin: Spacing['4xs']
12
13
  },
13
14
  pageLoader: {
14
15
  marginTop: Spacing.xl
@@ -1,23 +1,13 @@
1
1
  import { useCallback, useEffect, useState } from 'react';
2
- import { FlatList, View } from 'react-native';
3
- import {
4
- ApiController,
5
- AssetController,
6
- AssetUtil,
7
- SnackController
8
- } from '@reown/appkit-core-react-native';
2
+ import { FlatList } from 'react-native';
3
+ import { ApiController, SnackController } from '@reown/appkit-core-react-native';
9
4
  import { type WcWallet } from '@reown/appkit-common-react-native';
10
- import {
11
- CardSelect,
12
- CardSelectHeight,
13
- CardSelectLoader,
14
- FlexView,
15
- Spacing,
16
- useCustomDimensions
17
- } from '@reown/appkit-ui-react-native';
5
+ import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
18
6
  import { Placeholder } from '../w3m-placeholder';
19
7
  import styles from './styles';
20
- import { useSnapshot } from 'valtio';
8
+
9
+ import { Loading } from '../w3m-all-wallets-list/components/Loading';
10
+ import { WalletItem } from '../w3m-all-wallets-list/components/WalletItem';
21
11
 
22
12
  export interface AllWalletsSearchProps {
23
13
  columns: number;
@@ -27,6 +17,8 @@ export interface AllWalletsSearchProps {
27
17
  headerHeight?: number;
28
18
  }
29
19
 
20
+ const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
21
+
30
22
  export function AllWalletsSearch({
31
23
  searchQuery,
32
24
  columns,
@@ -38,45 +30,7 @@ export function AllWalletsSearch({
38
30
  const [loadingError, setLoadingError] = useState<boolean>(false);
39
31
  const [prevSearchQuery, setPrevSearchQuery] = useState<string>('');
40
32
  const imageHeaders = ApiController._getApiHeaders();
41
- const { maxWidth, maxHeight, padding, isLandscape } = useCustomDimensions();
42
- const { walletImages } = useSnapshot(AssetController.state);
43
-
44
- const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
45
-
46
- const walletTemplate = ({ item }: { item: WcWallet }) => {
47
- const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
48
-
49
- return (
50
- <View key={item?.id} style={[styles.itemContainer, { width: itemWidth }]}>
51
- <CardSelect
52
- imageSrc={AssetUtil.getWalletImage(item, walletImages)}
53
- imageHeaders={imageHeaders}
54
- name={item?.name ?? 'Unknown'}
55
- onPress={() => onItemPress(item)}
56
- installed={!!isInstalled}
57
- testID={`wallet-search-item-${item?.id}`}
58
- />
59
- </View>
60
- );
61
- };
62
-
63
- const loadingTemplate = (items: number) => {
64
- return (
65
- <FlexView
66
- flexDirection="row"
67
- flexWrap="wrap"
68
- alignSelf="center"
69
- padding={['0', '0', 's', 'xs']}
70
- style={{ maxWidth, maxHeight: maxHeight - headerHeight }}
71
- >
72
- {Array.from({ length: items }).map((_, index) => (
73
- <View key={index} style={[styles.itemContainer, { width: itemWidth }]}>
74
- <CardSelectLoader />
75
- </View>
76
- ))}
77
- </FlexView>
78
- );
79
- };
33
+ const { maxHeight, padding, isLandscape } = useCustomDimensions();
80
34
 
81
35
  const emptyTemplate = () => {
82
36
  return (
@@ -109,7 +63,7 @@ export function AllWalletsSearch({
109
63
  }, [searchQuery, prevSearchQuery, searchFetch]);
110
64
 
111
65
  if (loading) {
112
- return loadingTemplate(20);
66
+ return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
113
67
  }
114
68
 
115
69
  if (loadingError) {
@@ -138,9 +92,20 @@ export function AllWalletsSearch({
138
92
  bounces={false}
139
93
  numColumns={columns}
140
94
  data={ApiController.state.search}
141
- renderItem={walletTemplate}
95
+ renderItem={({ item }) => (
96
+ <WalletItem
97
+ item={item}
98
+ itemWidth={itemWidth}
99
+ imageHeaders={imageHeaders}
100
+ onItemPress={onItemPress}
101
+ style={styles.itemContainer}
102
+ />
103
+ )}
142
104
  style={{ maxHeight: maxHeight - headerHeight - Spacing['2xl'] }}
143
- contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding + Spacing.xs }]}
105
+ contentContainerStyle={[
106
+ styles.contentContainer,
107
+ { paddingHorizontal: padding + Spacing['2xs'] }
108
+ ]}
144
109
  keyExtractor={item => item.id}
145
110
  getItemLayout={(_, index) => ({
146
111
  length: ITEM_HEIGHT,
@@ -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
@@ -1,6 +1,6 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useCallback, useEffect, useState } from 'react';
3
- import { Platform, ScrollView } from 'react-native';
3
+ import { Platform } from 'react-native';
4
4
  import {
5
5
  RouterController,
6
6
  ApiController,
@@ -19,7 +19,8 @@ import {
19
19
  WalletImage,
20
20
  Link,
21
21
  IconBox,
22
- useCustomDimensions
22
+ useCustomDimensions,
23
+ ScrollView
23
24
  } from '@reown/appkit-ui-react-native';
24
25
 
25
26
  import { StoreLink } from './components/StoreLink';
@@ -100,7 +101,7 @@ export function ConnectingMobile({ onRetry, onCopyUri, isInstalled }: Props) {
100
101
  }, [wcUri, onConnect]);
101
102
 
102
103
  return (
103
- <ScrollView bounces={false} fadingEdgeLength={20} contentContainerStyle={styles.container}>
104
+ <ScrollView contentContainerStyle={styles.container}>
104
105
  <FlexView
105
106
  alignItems="center"
106
107
  alignSelf="center"
@@ -64,6 +64,7 @@ export function ConnectingQrCode() {
64
64
  iconLeft="copySmall"
65
65
  color="fg-200"
66
66
  style={styles.copyButton}
67
+ disabled={!wcUri}
67
68
  onPress={onCopyAddress}
68
69
  testID="copy-link"
69
70
  >
@@ -1,6 +1,6 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useCallback } from 'react';
3
- import { Linking, ScrollView } from 'react-native';
3
+ import { Linking } from 'react-native';
4
4
  import {
5
5
  RouterController,
6
6
  ApiController,
@@ -17,7 +17,8 @@ import {
17
17
  LoadingThumbnail,
18
18
  WalletImage,
19
19
  Link,
20
- IconBox
20
+ IconBox,
21
+ ScrollView
21
22
  } from '@reown/appkit-ui-react-native';
22
23
 
23
24
  import { ConnectingBody, getMessage } from '../w3m-connecting-body';
@@ -65,7 +66,7 @@ export function ConnectingWeb({ onCopyUri }: ConnectingWebProps) {
65
66
  }, [data?.wallet, wcUri]);
66
67
 
67
68
  return (
68
- <ScrollView bounces={false} fadingEdgeLength={20}>
69
+ <ScrollView>
69
70
  <FlexView alignItems="center" padding={['2xl', 'm', '3xl', 'm']}>
70
71
  <LoadingThumbnail paused={wcError}>
71
72
  <WalletImage
@@ -14,7 +14,7 @@ export function Header() {
14
14
  const { close, back } = useInternalAppKit();
15
15
  const { data, view } = useSnapshot(RouterController.state);
16
16
  const onHelpPress = () => {
17
- RouterController.push('WhatIsAWallet');
17
+ RouterController.push('WhatIsAWallet', undefined, 'backward');
18
18
  EventsController.sendEvent({ type: 'track', event: 'CLICK_WALLET_HELP' });
19
19
  };
20
20
 
@@ -1,5 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { FlatList, View, Modal } from 'react-native';
2
+ import { FlatList, View, Modal, Animated } from 'react-native';
3
3
  import {
4
4
  FlexView,
5
5
  IconBox,
@@ -13,6 +13,7 @@ import {
13
13
  } from '@reown/appkit-ui-react-native';
14
14
  import styles from './styles';
15
15
  import { AssetController, AssetUtil, ConnectionsController } from '@reown/appkit-core-react-native';
16
+ import { useEffect, useRef } from 'react';
16
17
 
17
18
  interface SelectorModalProps {
18
19
  title?: string;
@@ -47,6 +48,32 @@ export function SelectorModal({
47
48
  const { activeNetwork } = useSnapshot(ConnectionsController.state);
48
49
  const { networkImages } = useSnapshot(AssetController.state);
49
50
  const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages);
51
+ const backdropOpacity = useRef(new Animated.Value(0)).current;
52
+
53
+ // Handle backdrop animation
54
+ useEffect(() => {
55
+ let backdropAnimation: Animated.CompositeAnimation;
56
+
57
+ if (visible) {
58
+ backdropAnimation = Animated.timing(backdropOpacity, {
59
+ toValue: 1,
60
+ duration: 300,
61
+ useNativeDriver: true
62
+ });
63
+ backdropAnimation.start();
64
+ } else {
65
+ backdropAnimation = Animated.timing(backdropOpacity, {
66
+ toValue: 0,
67
+ duration: 50,
68
+ useNativeDriver: true
69
+ });
70
+ backdropAnimation.start();
71
+ }
72
+
73
+ return () => {
74
+ backdropAnimation?.stop();
75
+ };
76
+ }, [visible, backdropOpacity]);
50
77
 
51
78
  const renderSeparator = () => {
52
79
  return <View style={{ height: SEPARATOR_HEIGHT }} />;
@@ -54,7 +81,7 @@ export function SelectorModal({
54
81
 
55
82
  return (
56
83
  <Modal visible={visible} transparent animationType="slide" onRequestClose={onClose}>
57
- <View style={styles.modal}>
84
+ <Animated.View style={[styles.modal, { opacity: backdropOpacity }]}>
58
85
  <FlexView style={[styles.container, { backgroundColor: Theme['bg-100'] }]}>
59
86
  <FlexView
60
87
  alignItems="center"
@@ -115,7 +142,7 @@ export function SelectorModal({
115
142
  }
116
143
  />
117
144
  </FlexView>
118
- </View>
145
+ </Animated.View>
119
146
  </Modal>
120
147
  );
121
148
  }
@@ -5,14 +5,15 @@ export default StyleSheet.create({
5
5
  modal: {
6
6
  flex: 1,
7
7
  margin: 0,
8
- justifyContent: 'flex-end'
8
+ justifyContent: 'flex-end',
9
+ backgroundColor: 'rgba(0, 0, 0, 0.5)'
9
10
  },
10
11
  header: {
11
12
  marginBottom: Spacing.s,
12
13
  paddingHorizontal: Spacing.m
13
14
  },
14
15
  container: {
15
- height: '80%',
16
+ height: '90%',
16
17
  borderTopLeftRadius: BorderRadius.l,
17
18
  borderTopRightRadius: BorderRadius.l,
18
19
  paddingTop: Spacing.m