@reown/appkit-react-native 0.0.0-fix-height-calc-20250815195135 → 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 (243) 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 +9 -35
  12. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  13. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +4 -3
  14. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  15. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +3 -2
  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 +3 -2
  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-selector-modal/index.js +29 -2
  30. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  31. package/lib/commonjs/partials/w3m-selector-modal/styles.js +3 -2
  32. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  33. package/lib/commonjs/views/w3m-account-default-view/index.js +2 -12
  34. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  35. package/lib/commonjs/views/w3m-account-view/index.js +2 -3
  36. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  37. package/lib/commonjs/views/w3m-all-wallets-view/index.js +1 -1
  38. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  39. package/lib/commonjs/views/w3m-connect-socials-view/index.js +1 -9
  40. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  41. package/lib/commonjs/views/w3m-connect-view/index.js +3 -10
  42. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  43. package/lib/commonjs/views/w3m-connecting-external-view/index.js +1 -3
  44. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  45. package/lib/commonjs/views/w3m-get-wallet-view/index.js +2 -10
  46. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  47. package/lib/commonjs/views/w3m-networks-view/index.js +26 -33
  48. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  49. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +1 -3
  50. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  51. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -2
  52. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  53. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +51 -13
  54. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  55. package/lib/commonjs/views/w3m-onramp-view/index.js +16 -18
  56. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  57. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -9
  58. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  59. package/lib/commonjs/views/w3m-swap-view/index.js +6 -9
  60. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  61. package/lib/commonjs/views/w3m-swap-view/styles.js +2 -1
  62. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  63. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +2 -12
  64. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  65. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -8
  66. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  67. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -8
  68. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  69. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +17 -6
  70. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  71. package/lib/commonjs/views/w3m-wallet-send-select-token-view/styles.js +2 -1
  72. package/lib/commonjs/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  73. package/lib/commonjs/views/w3m-wallet-send-view/index.js +6 -10
  74. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  75. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +2 -1
  76. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  77. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +2 -10
  78. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +2 -11
  80. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  81. package/lib/module/AppKit.js +7 -5
  82. package/lib/module/AppKit.js.map +1 -1
  83. package/lib/module/connectors/WalletConnectConnector.js +1 -2
  84. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  85. package/lib/module/partials/w3m-account-activity/index.js +4 -5
  86. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  87. package/lib/module/partials/w3m-account-activity/styles.js +1 -4
  88. package/lib/module/partials/w3m-account-activity/styles.js.map +1 -1
  89. package/lib/module/partials/w3m-account-tokens/index.js +2 -3
  90. package/lib/module/partials/w3m-account-tokens/index.js.map +1 -1
  91. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +9 -35
  92. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  93. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +4 -3
  94. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  95. package/lib/module/partials/w3m-all-wallets-list/index.js +3 -2
  96. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  97. package/lib/module/partials/w3m-all-wallets-list/styles.js +3 -2
  98. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  99. package/lib/module/partials/w3m-all-wallets-search/index.js +3 -2
  100. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  101. package/lib/module/partials/w3m-all-wallets-search/styles.js +2 -2
  102. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  103. package/lib/module/partials/w3m-connecting-mobile/index.js +2 -4
  104. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  105. package/lib/module/partials/w3m-connecting-qrcode/index.js +1 -0
  106. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  107. package/lib/module/partials/w3m-connecting-web/index.js +2 -4
  108. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  109. package/lib/module/partials/w3m-selector-modal/index.js +30 -3
  110. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  111. package/lib/module/partials/w3m-selector-modal/styles.js +3 -2
  112. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  113. package/lib/module/views/w3m-account-default-view/index.js +3 -12
  114. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  115. package/lib/module/views/w3m-account-view/index.js +2 -3
  116. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  117. package/lib/module/views/w3m-all-wallets-view/index.js +1 -1
  118. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  119. package/lib/module/views/w3m-connect-socials-view/index.js +1 -9
  120. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  121. package/lib/module/views/w3m-connect-view/index.js +4 -11
  122. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  123. package/lib/module/views/w3m-connecting-external-view/index.js +2 -4
  124. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  125. package/lib/module/views/w3m-get-wallet-view/index.js +3 -11
  126. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  127. package/lib/module/views/w3m-networks-view/index.js +28 -35
  128. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  129. package/lib/module/views/w3m-onramp-loading-view/index.js +2 -4
  130. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  131. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +2 -3
  132. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  133. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +53 -15
  134. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  135. package/lib/module/views/w3m-onramp-view/index.js +16 -18
  136. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  137. package/lib/module/views/w3m-swap-preview-view/index.js +1 -9
  138. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  139. package/lib/module/views/w3m-swap-view/index.js +7 -10
  140. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  141. package/lib/module/views/w3m-swap-view/styles.js +2 -1
  142. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  143. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +2 -12
  144. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  145. package/lib/module/views/w3m-wallet-receive-view/index.js +2 -9
  146. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  147. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -8
  148. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  149. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +17 -6
  150. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  151. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js +2 -1
  152. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  153. package/lib/module/views/w3m-wallet-send-view/index.js +6 -10
  154. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  155. package/lib/module/views/w3m-wallet-send-view/styles.js +2 -1
  156. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  157. package/lib/module/views/w3m-what-is-a-network-view/index.js +3 -11
  158. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  159. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +2 -11
  160. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  161. package/lib/typescript/AppKit.d.ts.map +1 -1
  162. package/lib/typescript/partials/w3m-account-activity/index.d.ts.map +1 -1
  163. package/lib/typescript/partials/w3m-account-activity/styles.d.ts +0 -3
  164. package/lib/typescript/partials/w3m-account-activity/styles.d.ts.map +1 -1
  165. package/lib/typescript/partials/w3m-account-tokens/index.d.ts.map +1 -1
  166. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  167. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +2 -1
  168. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  169. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  170. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +2 -1
  171. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  172. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  173. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +1 -1
  174. package/lib/typescript/partials/w3m-connecting-mobile/index.d.ts.map +1 -1
  175. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  176. package/lib/typescript/partials/w3m-connecting-web/index.d.ts.map +1 -1
  177. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  178. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +2 -1
  179. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  180. package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
  181. package/lib/typescript/views/w3m-connect-socials-view/index.d.ts.map +1 -1
  182. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  183. package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
  184. package/lib/typescript/views/w3m-get-wallet-view/index.d.ts.map +1 -1
  185. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  186. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  187. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  188. package/lib/typescript/views/w3m-swap-preview-view/index.d.ts.map +1 -1
  189. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  190. package/lib/typescript/views/w3m-swap-view/styles.d.ts +1 -0
  191. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  192. package/lib/typescript/views/w3m-wallet-compatible-networks-view/index.d.ts.map +1 -1
  193. package/lib/typescript/views/w3m-wallet-receive-view/index.d.ts.map +1 -1
  194. package/lib/typescript/views/w3m-wallet-send-preview-view/index.d.ts.map +1 -1
  195. package/lib/typescript/views/w3m-wallet-send-select-token-view/index.d.ts.map +1 -1
  196. package/lib/typescript/views/w3m-wallet-send-select-token-view/styles.d.ts +1 -0
  197. package/lib/typescript/views/w3m-wallet-send-select-token-view/styles.d.ts.map +1 -1
  198. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  199. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +1 -0
  200. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  201. package/lib/typescript/views/w3m-what-is-a-network-view/index.d.ts.map +1 -1
  202. package/lib/typescript/views/w3m-what-is-a-wallet-view/index.d.ts.map +1 -1
  203. package/package.json +5 -5
  204. package/src/AppKit.ts +13 -5
  205. package/src/connectors/WalletConnectConnector.ts +2 -2
  206. package/src/partials/w3m-account-activity/index.tsx +5 -5
  207. package/src/partials/w3m-account-activity/styles.ts +1 -4
  208. package/src/partials/w3m-account-tokens/index.tsx +3 -9
  209. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +9 -11
  210. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +5 -3
  211. package/src/partials/w3m-all-wallets-list/index.tsx +5 -1
  212. package/src/partials/w3m-all-wallets-list/styles.ts +3 -2
  213. package/src/partials/w3m-all-wallets-search/index.tsx +5 -1
  214. package/src/partials/w3m-all-wallets-search/styles.ts +2 -2
  215. package/src/partials/w3m-connecting-mobile/index.tsx +4 -3
  216. package/src/partials/w3m-connecting-qrcode/index.tsx +1 -0
  217. package/src/partials/w3m-connecting-web/index.tsx +4 -3
  218. package/src/partials/w3m-selector-modal/index.tsx +30 -3
  219. package/src/partials/w3m-selector-modal/styles.ts +3 -2
  220. package/src/views/w3m-account-default-view/index.tsx +4 -7
  221. package/src/views/w3m-account-view/index.tsx +3 -3
  222. package/src/views/w3m-all-wallets-view/index.tsx +1 -1
  223. package/src/views/w3m-connect-socials-view/index.tsx +2 -4
  224. package/src/views/w3m-connect-view/index.tsx +5 -6
  225. package/src/views/w3m-connecting-external-view/index.tsx +4 -3
  226. package/src/views/w3m-get-wallet-view/index.tsx +4 -10
  227. package/src/views/w3m-networks-view/index.tsx +26 -29
  228. package/src/views/w3m-onramp-loading-view/index.tsx +4 -8
  229. package/src/views/w3m-onramp-view/components/LoadingView.tsx +3 -3
  230. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +46 -11
  231. package/src/views/w3m-onramp-view/index.tsx +20 -20
  232. package/src/views/w3m-swap-preview-view/index.tsx +2 -4
  233. package/src/views/w3m-swap-view/index.tsx +4 -12
  234. package/src/views/w3m-swap-view/styles.ts +2 -1
  235. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +3 -11
  236. package/src/views/w3m-wallet-receive-view/index.tsx +3 -4
  237. package/src/views/w3m-wallet-send-preview-view/index.tsx +2 -4
  238. package/src/views/w3m-wallet-send-select-token-view/index.tsx +18 -6
  239. package/src/views/w3m-wallet-send-select-token-view/styles.ts +2 -1
  240. package/src/views/w3m-wallet-send-view/index.tsx +4 -6
  241. package/src/views/w3m-wallet-send-view/styles.ts +2 -1
  242. package/src/views/w3m-what-is-a-network-view/index.tsx +4 -5
  243. package/src/views/w3m-what-is-a-wallet-view/index.tsx +3 -11
@@ -1,5 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { ScrollView, View } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import {
4
4
  ApiController,
5
5
  EventUtil,
@@ -14,7 +14,7 @@ import {
14
14
  ListItem,
15
15
  Separator,
16
16
  Text,
17
- useCustomDimensions
17
+ ScrollView
18
18
  } from '@reown/appkit-ui-react-native';
19
19
  import { Placeholder } from '../../partials/w3m-placeholder';
20
20
  import { CustomWalletList } from './components/custom-wallet-list';
@@ -28,7 +28,6 @@ import { WcHelpersUtil } from '../../utils/HelpersUtil';
28
28
  export function ConnectView() {
29
29
  const { prefetchError } = useSnapshot(ApiController.state);
30
30
  const { features } = useSnapshot(OptionsController.state);
31
- const { padding } = useCustomDimensions();
32
31
 
33
32
  const isSocialEnabled = features?.socials && features?.socials.length > 0;
34
33
  const showConnectWalletsButton = isSocialEnabled && !features?.showWallets;
@@ -61,8 +60,8 @@ export function ConnectView() {
61
60
  };
62
61
 
63
62
  return (
64
- <ScrollView style={{ paddingHorizontal: padding }} bounces={false}>
65
- <FlexView padding={['xs', '0', '2xl', '0']}>
63
+ <ScrollView>
64
+ <FlexView padding={['xs', '0', 'xl', '0']}>
66
65
  {isSocialEnabled ? (
67
66
  <>
68
67
  <SocialLoginList options={features?.socials} />
@@ -70,7 +69,7 @@ export function ConnectView() {
70
69
  </>
71
70
  ) : null}
72
71
 
73
- <FlexView padding={['0', 's', 'xs', 's']}>
72
+ <FlexView padding={['0', 's', '0', 's']}>
74
73
  {showConnectWalletsButton ? (
75
74
  <ListItem contentStyle={styles.connectWalletButton} onPress={onViewAllPress}>
76
75
  <Icon name="wallet" size="lg" />
@@ -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,
@@ -16,7 +16,8 @@ import {
16
16
  IconBox,
17
17
  LoadingThumbnail,
18
18
  WalletImage,
19
- useCustomDimensions
19
+ useCustomDimensions,
20
+ ScrollView
20
21
  } from '@reown/appkit-ui-react-native';
21
22
 
22
23
  import { ConnectingBody, getMessage, type BodyErrorType } from '../../partials/w3m-connecting-body';
@@ -92,7 +93,7 @@ export function ConnectingExternalView() {
92
93
  }, [onConnect]);
93
94
 
94
95
  return (
95
- <ScrollView bounces={false} fadingEdgeLength={20} contentContainerStyle={styles.container}>
96
+ <ScrollView contentContainerStyle={styles.container}>
96
97
  <FlexView
97
98
  alignItems="center"
98
99
  alignSelf="center"
@@ -1,5 +1,5 @@
1
- import { Linking, Platform, ScrollView } from 'react-native';
2
- import { FlexView, ListWallet, useCustomDimensions } from '@reown/appkit-ui-react-native';
1
+ import { Linking, Platform } from 'react-native';
2
+ import { FlexView, ListWallet, ScrollView } from '@reown/appkit-ui-react-native';
3
3
  import { ApiController, AssetController, AssetUtil } from '@reown/appkit-core-react-native';
4
4
  import { type WcWallet } from '@reown/appkit-common-react-native';
5
5
  import styles from './styles';
@@ -7,7 +7,6 @@ import { useSnapshot } from 'valtio';
7
7
 
8
8
  export function GetWalletView() {
9
9
  const { walletImages } = useSnapshot(AssetController.state);
10
- const { padding } = useCustomDimensions();
11
10
  const imageHeaders = ApiController._getApiHeaders();
12
11
 
13
12
  const onWalletPress = (wallet: WcWallet) => {
@@ -32,13 +31,8 @@ export function GetWalletView() {
32
31
  };
33
32
 
34
33
  return (
35
- <ScrollView
36
- bounces={false}
37
- style={{ paddingHorizontal: padding }}
38
- fadingEdgeLength={20}
39
- testID="get-a-wallet-view"
40
- >
41
- <FlexView padding={['s', 's', '3xl', 's']}>
34
+ <ScrollView testID="get-a-wallet-view">
35
+ <FlexView padding={['s', 's', 'xl', 's']}>
42
36
  {listTemplate()}
43
37
  <ListWallet
44
38
  name="Explore all"
@@ -1,4 +1,5 @@
1
- import { ScrollView, View } from 'react-native';
1
+ import { useSnapshot } from 'valtio';
2
+ import { View } from 'react-native';
2
3
  import {
3
4
  CardSelect,
4
5
  CardSelectWidth,
@@ -7,7 +8,8 @@ import {
7
8
  Separator,
8
9
  Spacing,
9
10
  Text,
10
- useCustomDimensions
11
+ useCustomDimensions,
12
+ ScrollView
11
13
  } from '@reown/appkit-ui-react-native';
12
14
  import {
13
15
  ApiController,
@@ -21,13 +23,12 @@ import {
21
23
  import type { AppKitNetwork } from '@reown/appkit-common-react-native';
22
24
  import styles from './styles';
23
25
  import { useInternalAppKit } from '../../AppKitContext';
24
- import { useSnapshot } from 'valtio';
25
26
 
26
27
  export function NetworksView() {
27
28
  const { networks, isConnected } = useSnapshot(ConnectionsController.state);
28
29
  const { networkImages } = useSnapshot(AssetController.state);
29
30
  const imageHeaders = ApiController._getApiHeaders();
30
- const { maxWidth: width, padding } = useCustomDimensions();
31
+ const { maxWidth: width } = useCustomDimensions();
31
32
  const numColumns = 4;
32
33
  const usableWidth = width - Spacing.xs * 2 - Spacing['4xs'];
33
34
  const itemWidth = Math.abs(Math.trunc(usableWidth / numColumns));
@@ -83,35 +84,31 @@ export function NetworksView() {
83
84
 
84
85
  return (
85
86
  <>
86
- <ScrollView
87
- bounces={false}
88
- fadingEdgeLength={20}
89
- style={{ paddingHorizontal: padding, marginBottom: Spacing.xl }}
90
- >
87
+ <ScrollView>
91
88
  <FlexView flexDirection="row" flexWrap="wrap" padding={['xs', 'xs', '4xl', 'xs']}>
92
89
  {networksTemplate()}
93
90
  </FlexView>
94
- </ScrollView>
95
- <Separator />
96
- <FlexView
97
- padding={['s', 's', '3xl', 's']}
98
- alignItems="center"
99
- alignSelf="center"
100
- style={{ width }}
101
- >
102
- <Text variant="small-400" color="fg-300" center>
103
- Your connected wallet may not support some of the networks available for this dApp
104
- </Text>
105
- <Link
106
- size="sm"
107
- iconLeft="helpCircle"
108
- onPress={onHelpPress}
109
- style={styles.helpButton}
110
- testID="what-is-a-network-button"
91
+ <Separator />
92
+ <FlexView
93
+ padding={['s', 's', '2xl', 's']}
94
+ alignItems="center"
95
+ alignSelf="center"
96
+ style={{ width }}
111
97
  >
112
- What is a network?
113
- </Link>
114
- </FlexView>
98
+ <Text variant="small-400" color="fg-300" center>
99
+ Your connected wallet may not support some of the networks available for this dApp
100
+ </Text>
101
+ <Link
102
+ size="sm"
103
+ iconLeft="helpCircle"
104
+ onPress={onHelpPress}
105
+ style={styles.helpButton}
106
+ testID="what-is-a-network-button"
107
+ >
108
+ What is a network?
109
+ </Link>
110
+ </FlexView>
111
+ </ScrollView>
115
112
  </>
116
113
  );
117
114
  }
@@ -1,6 +1,6 @@
1
1
  import { useCallback, useEffect } from 'react';
2
2
  import { useSnapshot } from 'valtio';
3
- import { Linking, ScrollView } from 'react-native';
3
+ import { Linking } from 'react-native';
4
4
  import {
5
5
  RouterController,
6
6
  OnRampController,
@@ -13,7 +13,8 @@ import {
13
13
  IconLink,
14
14
  Button,
15
15
  Text,
16
- useCustomDimensions
16
+ useCustomDimensions,
17
+ ScrollView
17
18
  } from '@reown/appkit-ui-react-native';
18
19
 
19
20
  import { ConnectingBody } from '../../partials/w3m-connecting-body';
@@ -107,12 +108,7 @@ export function OnRampLoadingView() {
107
108
  }, [onConnect]);
108
109
 
109
110
  return (
110
- <ScrollView
111
- bounces={false}
112
- fadingEdgeLength={20}
113
- contentContainerStyle={styles.container}
114
- testID="onramp-loading-widget-view"
115
- >
111
+ <ScrollView contentContainerStyle={styles.container} testID="onramp-loading-widget-view">
116
112
  <FlexView
117
113
  alignItems="center"
118
114
  alignSelf="center"
@@ -1,5 +1,5 @@
1
- import { FlexView, Text, Shimmer } from '@reown/appkit-ui-react-native';
2
- import { Dimensions, ScrollView } from 'react-native';
1
+ import { FlexView, Text, Shimmer, ScrollView } from '@reown/appkit-ui-react-native';
2
+ import { Dimensions } from 'react-native';
3
3
  import { Header } from './Header';
4
4
  import styles from '../styles';
5
5
 
@@ -9,7 +9,7 @@ export function LoadingView() {
9
9
  return (
10
10
  <>
11
11
  <Header onSettingsPress={() => {}} />
12
- <ScrollView bounces={false} testID="onramp-loading-view">
12
+ <ScrollView testID="onramp-loading-view">
13
13
  <FlexView padding={['s', 'l', '4xl', 'l']}>
14
14
  <FlexView flexDirection="row" alignItems="center" justifyContent="space-between">
15
15
  <Text variant="small-400" color="fg-150">
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable valtio/state-snapshot-rule */
2
2
  import { useSnapshot } from 'valtio';
3
3
  import { useRef, useState, useMemo, useEffect } from 'react';
4
- import { FlatList, StyleSheet, View, Modal } from 'react-native';
4
+ import { FlatList, StyleSheet, View, Modal, Animated } from 'react-native';
5
5
  import {
6
6
  FlexView,
7
7
  IconLink,
@@ -9,7 +9,8 @@ import {
9
9
  Text,
10
10
  useTheme,
11
11
  Separator,
12
- BorderRadius
12
+ BorderRadius,
13
+ useCustomDimensions
13
14
  } from '@reown/appkit-ui-react-native';
14
15
  import { OnRampController } from '@reown/appkit-core-react-native';
15
16
  import { Quote, ITEM_HEIGHT as QUOTE_ITEM_HEIGHT } from './Quote';
@@ -27,6 +28,7 @@ const SEPARATOR_HEIGHT = Spacing.s;
27
28
  export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentModalProps) {
28
29
  const Theme = useTheme();
29
30
  const { selectedQuote, quotes, selectedPaymentMethod } = useSnapshot(OnRampController.state);
31
+ const { padding } = useCustomDimensions();
30
32
 
31
33
  const paymentMethodsRef = useRef<FlatList>(null);
32
34
  const [paymentMethods, setPaymentMethods] = useState<OnRampPaymentMethod[]>(
@@ -116,6 +118,33 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
116
118
  );
117
119
  };
118
120
 
121
+ const backdropOpacity = useRef(new Animated.Value(0)).current;
122
+
123
+ // Handle backdrop animation
124
+ useEffect(() => {
125
+ let backdropAnimation: Animated.CompositeAnimation;
126
+
127
+ if (visible) {
128
+ backdropAnimation = Animated.timing(backdropOpacity, {
129
+ toValue: 1,
130
+ duration: 300,
131
+ useNativeDriver: true
132
+ });
133
+ backdropAnimation.start();
134
+ } else {
135
+ backdropAnimation = Animated.timing(backdropOpacity, {
136
+ toValue: 0,
137
+ duration: 50,
138
+ useNativeDriver: true
139
+ });
140
+ backdropAnimation.start();
141
+ }
142
+
143
+ return () => {
144
+ backdropAnimation?.stop();
145
+ };
146
+ }, [visible, backdropOpacity]);
147
+
119
148
  useEffect(() => {
120
149
  if (visible && OnRampController.state.selectedPaymentMethod) {
121
150
  const methods = [
@@ -132,7 +161,7 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
132
161
 
133
162
  return (
134
163
  <Modal visible={visible} transparent animationType="slide" onRequestClose={onClose}>
135
- <View style={styles.modalContent}>
164
+ <Animated.View style={[styles.modalContent, { opacity: backdropOpacity }]}>
136
165
  <FlexView style={[styles.container, { backgroundColor: Theme['bg-100'] }]}>
137
166
  <FlexView
138
167
  alignItems="center"
@@ -144,10 +173,10 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
144
173
  {!!title && <Text variant="paragraph-600">{title}</Text>}
145
174
  <View style={styles.iconPlaceholder} />
146
175
  </FlexView>
147
- <Text variant="small-500" color="fg-150" style={styles.subtitle}>
148
- Pay with
149
- </Text>
150
- <FlexView>
176
+ <FlexView style={{ paddingHorizontal: padding }}>
177
+ <Text variant="small-500" color="fg-150" style={styles.subtitle}>
178
+ Pay with
179
+ </Text>
151
180
  <FlatList
152
181
  data={availablePaymentMethods}
153
182
  renderItem={renderPaymentMethod}
@@ -161,7 +190,11 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
161
190
  />
162
191
  </FlexView>
163
192
  <Separator style={styles.separator} color="gray-glass-010" />
164
- <Text variant="small-500" color="fg-150" style={styles.subtitle}>
193
+ <Text
194
+ variant="small-500"
195
+ color="fg-150"
196
+ style={[styles.subtitle, { paddingHorizontal: padding }]}
197
+ >
165
198
  Providers
166
199
  </Text>
167
200
  <FlatList
@@ -169,6 +202,7 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
169
202
  bounces={false}
170
203
  renderItem={renderQuote}
171
204
  extraData={selectedPaymentMethod}
205
+ style={{ paddingHorizontal: padding }}
172
206
  contentContainerStyle={styles.listContent}
173
207
  ItemSeparatorComponent={renderSeparator}
174
208
  fadingEdgeLength={20}
@@ -180,7 +214,7 @@ export function SelectPaymentModal({ title, visible, onClose }: SelectPaymentMod
180
214
  })}
181
215
  />
182
216
  </FlexView>
183
- </View>
217
+ </Animated.View>
184
218
  </Modal>
185
219
  );
186
220
  }
@@ -188,7 +222,8 @@ const styles = StyleSheet.create({
188
222
  modalContent: {
189
223
  margin: 0,
190
224
  flex: 1,
191
- justifyContent: 'flex-end'
225
+ justifyContent: 'flex-end',
226
+ backgroundColor: 'rgba(0, 0, 0, 0.5)'
192
227
  },
193
228
  header: {
194
229
  marginBottom: Spacing.l,
@@ -196,7 +231,7 @@ const styles = StyleSheet.create({
196
231
  paddingTop: Spacing.m
197
232
  },
198
233
  container: {
199
- height: '80%',
234
+ height: '90%',
200
235
  borderTopLeftRadius: BorderRadius.l,
201
236
  borderTopRightRadius: BorderRadius.l
202
237
  },
@@ -1,6 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { memo, useCallback, useEffect, useState } from 'react';
3
- import { ScrollView } from 'react-native';
4
3
  import {
5
4
  OnRampController,
6
5
  ThemeController,
@@ -18,7 +17,8 @@ import {
18
17
  Image,
19
18
  Text,
20
19
  TokenButton,
21
- useTheme
20
+ useTheme,
21
+ ScrollView
22
22
  } from '@reown/appkit-ui-react-native';
23
23
  import {
24
24
  NumberUtil,
@@ -176,7 +176,7 @@ export function OnRampView() {
176
176
  return (
177
177
  <>
178
178
  <Header onSettingsPress={() => RouterController.push('OnRampSettings')} />
179
- <ScrollView bounces={false}>
179
+ <ScrollView>
180
180
  <FlexView padding={['s', 'l', '4xl', 'l']}>
181
181
  <FlexView flexDirection="row" alignItems="center" justifyContent="space-between">
182
182
  <Text variant="small-400" color="fg-150">
@@ -245,25 +245,25 @@ export function OnRampView() {
245
245
  Continue
246
246
  </Button>
247
247
  </FlexView>
248
- <SelectPaymentModal
249
- visible={isPaymentMethodModalVisible}
250
- onClose={onModalClose}
251
- title="Payment"
252
- />
253
- <SelectorModal
254
- selectedItem={purchaseCurrency}
255
- visible={isCurrencyModalVisible}
256
- onClose={onModalClose}
257
- items={getPurchaseCurrencies(searchValue, true)}
258
- onSearch={handleSearch}
259
- renderItem={renderCurrencyItem}
260
- keyExtractor={item => item.currencyCode}
261
- title="Select token"
262
- itemHeight={CURRENCY_ITEM_HEIGHT}
263
- showNetwork
264
- />
265
248
  </FlexView>
266
249
  </ScrollView>
250
+ <SelectPaymentModal
251
+ visible={isPaymentMethodModalVisible}
252
+ onClose={onModalClose}
253
+ title="Payment"
254
+ />
255
+ <SelectorModal
256
+ selectedItem={purchaseCurrency}
257
+ visible={isCurrencyModalVisible}
258
+ onClose={onModalClose}
259
+ items={getPurchaseCurrencies(searchValue, true)}
260
+ onSearch={handleSearch}
261
+ renderItem={renderCurrencyItem}
262
+ keyExtractor={item => item.currencyCode}
263
+ title="Select token"
264
+ itemHeight={CURRENCY_ITEM_HEIGHT}
265
+ showNetwork
266
+ />
267
267
  </>
268
268
  );
269
269
  }
@@ -1,6 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useEffect } from 'react';
3
- import { ScrollView } from 'react-native';
4
3
  import { NumberUtil } from '@reown/appkit-common-react-native';
5
4
  import { RouterController, SwapController } from '@reown/appkit-core-react-native';
6
5
  import {
@@ -10,13 +9,12 @@ import {
10
9
  Text,
11
10
  TokenButton,
12
11
  UiUtil,
13
- useCustomDimensions
12
+ ScrollView
14
13
  } from '@reown/appkit-ui-react-native';
15
14
  import { SwapDetails } from '../../partials/w3m-swap-details';
16
15
  import styles from './styles';
17
16
 
18
17
  export function SwapPreviewView() {
19
- const { padding } = useCustomDimensions();
20
18
  const {
21
19
  sourceToken,
22
20
  sourceTokenAmount,
@@ -67,7 +65,7 @@ export function SwapPreviewView() {
67
65
  }, []);
68
66
 
69
67
  return (
70
- <ScrollView style={{ paddingHorizontal: padding }} bounces={false}>
68
+ <ScrollView>
71
69
  <FlexView padding={['l', 'l', '2xl', 'l']} justifyContent="center">
72
70
  <FlexView flexDirection="row" justifyContent="space-between">
73
71
  <FlexView>
@@ -1,6 +1,6 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useEffect, useState } from 'react';
3
- import { ScrollView, Modal } from 'react-native';
3
+ import { Modal } from 'react-native';
4
4
  import {
5
5
  ConnectionsController,
6
6
  ConstantsUtil,
@@ -8,13 +8,7 @@ import {
8
8
  RouterController,
9
9
  SwapController
10
10
  } from '@reown/appkit-core-react-native';
11
- import {
12
- Button,
13
- FlexView,
14
- IconLink,
15
- useTheme,
16
- useCustomDimensions
17
- } from '@reown/appkit-ui-react-native';
11
+ import { Button, FlexView, IconLink, useTheme, ScrollView } from '@reown/appkit-ui-react-native';
18
12
  import { NumberUtil, type SwapInputTarget } from '@reown/appkit-common-react-native';
19
13
 
20
14
  import { useKeyboard } from '../../hooks/useKeyboard';
@@ -39,8 +33,7 @@ export function SwapView() {
39
33
  inputError
40
34
  } = useSnapshot(SwapController.state);
41
35
  const Theme = useTheme();
42
- const { padding } = useCustomDimensions();
43
- const { keyboardShown } = useKeyboard();
36
+ const { keyboardShown, keyboardHeight } = useKeyboard();
44
37
  const [showModal, setShowModal] = useState<SwapInputTarget | undefined>();
45
38
  const showDetails = !!sourceToken && !!toToken && !inputError;
46
39
 
@@ -157,8 +150,7 @@ export function SwapView() {
157
150
  return (
158
151
  <>
159
152
  <ScrollView
160
- style={[{ paddingHorizontal: padding }, keyboardShown && styles.withKeyboard]}
161
- bounces={false}
153
+ style={keyboardShown ? [styles.withKeyboard, { marginBottom: keyboardHeight }] : undefined}
162
154
  keyboardShouldPersistTaps="always"
163
155
  >
164
156
  <FlexView padding={['l', 'l', '2xl', 'l']} alignItems="center" justifyContent="center">
@@ -26,6 +26,7 @@ export default StyleSheet.create({
26
26
  justifyContent: 'flex-end'
27
27
  },
28
28
  withKeyboard: {
29
- height: '100%'
29
+ height: '100%',
30
+ maxHeight: '100%'
30
31
  }
31
32
  });
@@ -1,12 +1,5 @@
1
- import { ScrollView } from 'react-native';
2
1
  import { useSnapshot } from 'valtio';
3
- import {
4
- FlexView,
5
- Text,
6
- Banner,
7
- NetworkImage,
8
- useCustomDimensions
9
- } from '@reown/appkit-ui-react-native';
2
+ import { FlexView, Text, Banner, NetworkImage, ScrollView } from '@reown/appkit-ui-react-native';
10
3
  import {
11
4
  ApiController,
12
5
  AssetController,
@@ -16,7 +9,6 @@ import {
16
9
  import styles from './styles';
17
10
 
18
11
  export function WalletCompatibleNetworks() {
19
- const { padding } = useCustomDimensions();
20
12
  const { networks, accountType } = useSnapshot(ConnectionsController.state);
21
13
  const { networkImages } = useSnapshot(AssetController.state);
22
14
  const isSmartAccount = accountType === 'smartAccount';
@@ -30,8 +22,8 @@ export function WalletCompatibleNetworks() {
30
22
  const imageHeaders = ApiController._getApiHeaders();
31
23
 
32
24
  return (
33
- <ScrollView bounces={false} style={{ paddingHorizontal: padding }} fadingEdgeLength={20}>
34
- <FlexView padding={['xl', 's', '2xl', 's']} margin={['0', '0', '2xl', '0']}>
25
+ <ScrollView>
26
+ <FlexView padding={['xl', 's', 'l', 's']}>
35
27
  <Banner icon="warningCircle" text="You can only receive assets on these networks." />
36
28
  {approvedNetworks.map((network, index) => (
37
29
  <FlexView
@@ -1,5 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { ScrollView, StyleSheet } from 'react-native';
2
+ import { StyleSheet } from 'react-native';
3
3
  import {
4
4
  Chip,
5
5
  CompatibleNetwork,
@@ -8,7 +8,7 @@ import {
8
8
  Spacing,
9
9
  Text,
10
10
  UiUtil,
11
- useCustomDimensions
11
+ ScrollView
12
12
  } from '@reown/appkit-ui-react-native';
13
13
  import {
14
14
  ApiController,
@@ -28,7 +28,6 @@ export function WalletReceiveView() {
28
28
  );
29
29
  const address = CoreHelperUtil.getPlainAddress(activeAddress);
30
30
  const networkImage = AssetUtil.getNetworkImage(activeNetwork, networkImages);
31
- const { padding } = useCustomDimensions();
32
31
  const canCopy = OptionsController.isClipboardAvailable();
33
32
  const isSmartAccount = accountType === 'smartAccount';
34
33
 
@@ -68,7 +67,7 @@ export function WalletReceiveView() {
68
67
  if (!address) return;
69
68
 
70
69
  return (
71
- <ScrollView bounces={false} style={{ paddingHorizontal: padding }}>
70
+ <ScrollView>
72
71
  <FlexView padding={['xl', 'xl', '2xl', 'xl']} alignItems="center">
73
72
  <Chip
74
73
  label={label}
@@ -1,5 +1,4 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { ScrollView } from 'react-native';
3
2
  import {
4
3
  Avatar,
5
4
  Button,
@@ -8,7 +7,7 @@ import {
8
7
  Image,
9
8
  Text,
10
9
  UiUtil,
11
- useCustomDimensions
10
+ ScrollView
12
11
  } from '@reown/appkit-ui-react-native';
13
12
  import { NumberUtil } from '@reown/appkit-common-react-native';
14
13
  import {
@@ -21,7 +20,6 @@ import styles from './styles';
21
20
  import { PreviewSendDetails } from './components/preview-send-details';
22
21
 
23
22
  export function WalletSendPreviewView() {
24
- const { padding } = useCustomDimensions();
25
23
  const { activeNetwork } = useSnapshot(ConnectionsController.state);
26
24
  const { token, receiverAddress, receiverProfileName, receiverProfileImageUrl, loading } =
27
25
  useSnapshot(SendController.state);
@@ -69,7 +67,7 @@ export function WalletSendPreviewView() {
69
67
  };
70
68
 
71
69
  return (
72
- <ScrollView style={{ paddingHorizontal: padding }}>
70
+ <ScrollView>
73
71
  <FlexView padding={['l', 'xl', '3xl', 'xl']}>
74
72
  <FlexView flexDirection="row" alignItems="center" justifyContent="space-between">
75
73
  <FlexView>