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

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 (514) hide show
  1. package/lib/commonjs/AppKit.js +59 -93
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/AppKitContext.js +16 -10
  4. package/lib/commonjs/AppKitContext.js.map +1 -1
  5. package/lib/commonjs/connectors/WalletConnectConnector.js +36 -63
  6. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  7. package/lib/commonjs/hooks/useAccount.js +9 -4
  8. package/lib/commonjs/hooks/useAccount.js.map +1 -1
  9. package/lib/commonjs/hooks/useAppKit.js +12 -12
  10. package/lib/commonjs/hooks/useAppKit.js.map +1 -1
  11. package/lib/commonjs/hooks/useAppKitState.js +32 -0
  12. package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
  13. package/lib/commonjs/hooks/useProvider.js +14 -8
  14. package/lib/commonjs/hooks/useProvider.js.map +1 -1
  15. package/lib/commonjs/hooks/useWalletInfo.js +6 -4
  16. package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
  17. package/lib/commonjs/index.js +14 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/modal/w3m-modal/index.js +16 -5
  20. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  21. package/lib/commonjs/modal/w3m-router/index.js +25 -21
  22. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-account-activity/index.js +1 -1
  24. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +9 -97
  26. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +6 -10
  28. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +96 -0
  30. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  31. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +19 -45
  32. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  33. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +10 -4
  34. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  35. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +25 -49
  36. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  37. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +3 -1
  38. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  39. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +4 -4
  40. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  41. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
  42. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
  43. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +7 -2
  44. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  45. package/lib/commonjs/partials/w3m-connecting-web/index.js +2 -1
  46. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  47. package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
  48. package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
  49. package/lib/commonjs/partials/w3m-header/index.js +5 -4
  50. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  51. package/lib/commonjs/partials/w3m-selector-modal/index.js +72 -57
  52. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  53. package/lib/commonjs/partials/w3m-selector-modal/styles.js +9 -11
  54. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  55. package/lib/commonjs/utils/SIWXUtil.js +282 -0
  56. package/lib/commonjs/utils/SIWXUtil.js.map +1 -0
  57. package/lib/commonjs/views/w3m-account-default-view/index.js +3 -3
  58. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  59. package/lib/commonjs/views/w3m-account-view/index.js +2 -2
  60. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  61. package/lib/commonjs/views/w3m-account-view/styles.js +0 -5
  62. package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
  63. package/lib/commonjs/views/w3m-all-wallets-view/index.js +7 -24
  64. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  65. package/lib/commonjs/views/w3m-connect-socials-view/index.js +2 -2
  66. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  67. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +18 -13
  68. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  69. package/lib/commonjs/views/w3m-connect-view/index.js +4 -12
  70. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  71. package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -4
  72. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  73. package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
  74. package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
  75. package/lib/commonjs/views/w3m-connecting-social-view/index.js +35 -30
  76. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  77. package/lib/commonjs/views/w3m-connecting-view/index.js +11 -31
  78. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-get-wallet-view/index.js +1 -1
  80. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  81. package/lib/commonjs/views/w3m-network-switch-view/index.js +61 -80
  82. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  83. package/lib/commonjs/views/w3m-networks-view/index.js +25 -14
  84. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  85. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +160 -152
  86. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  87. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +4 -4
  88. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  89. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
  90. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
  91. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +5 -2
  92. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  93. package/lib/commonjs/views/w3m-onramp-settings-view/index.js +16 -7
  94. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  95. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js +4 -1
  96. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js.map +1 -1
  97. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
  98. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
  99. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +1 -1
  100. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
  101. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js +3 -2
  102. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js.map +1 -1
  103. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
  104. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -1
  105. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  106. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +5 -2
  107. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  108. package/lib/commonjs/views/w3m-onramp-view/index.js +5 -4
  109. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  110. package/lib/commonjs/views/w3m-onramp-view/styles.js +3 -0
  111. package/lib/commonjs/views/w3m-onramp-view/styles.js.map +1 -1
  112. package/lib/commonjs/views/w3m-siwx-sign-view/index.js +109 -0
  113. package/lib/commonjs/views/w3m-siwx-sign-view/index.js.map +1 -0
  114. package/lib/commonjs/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  115. package/lib/commonjs/views/w3m-siwx-sign-view/styles.js.map +1 -0
  116. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -1
  117. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  118. package/lib/commonjs/views/w3m-swap-preview-view/styles.js +0 -3
  119. package/lib/commonjs/views/w3m-swap-preview-view/styles.js.map +1 -1
  120. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +156 -0
  121. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  122. package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  123. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  124. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  125. package/lib/commonjs/views/w3m-swap-view/index.js +15 -15
  126. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  127. package/lib/commonjs/views/w3m-swap-view/styles.js +0 -8
  128. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  129. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +6 -12
  130. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  131. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  132. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  133. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +3 -5
  134. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  135. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  136. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  137. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -1
  138. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  139. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -1
  140. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  141. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +5 -3
  142. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  143. package/lib/commonjs/views/w3m-wallet-send-view/index.js +11 -5
  144. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  145. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +0 -3
  146. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  147. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +1 -1
  148. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  149. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +1 -1
  150. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  151. package/lib/module/AppKit.js +59 -93
  152. package/lib/module/AppKit.js.map +1 -1
  153. package/lib/module/AppKitContext.js +17 -11
  154. package/lib/module/AppKitContext.js.map +1 -1
  155. package/lib/module/connectors/WalletConnectConnector.js +34 -62
  156. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  157. package/lib/module/hooks/useAccount.js +9 -5
  158. package/lib/module/hooks/useAccount.js.map +1 -1
  159. package/lib/module/hooks/useAppKit.js +13 -13
  160. package/lib/module/hooks/useAppKit.js.map +1 -1
  161. package/lib/module/hooks/useAppKitState.js +27 -0
  162. package/lib/module/hooks/useAppKitState.js.map +1 -0
  163. package/lib/module/hooks/useProvider.js +13 -8
  164. package/lib/module/hooks/useProvider.js.map +1 -1
  165. package/lib/module/hooks/useWalletInfo.js +6 -4
  166. package/lib/module/hooks/useWalletInfo.js.map +1 -1
  167. package/lib/module/index.js +4 -0
  168. package/lib/module/index.js.map +1 -1
  169. package/lib/module/modal/w3m-modal/index.js +17 -6
  170. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  171. package/lib/module/modal/w3m-router/index.js +26 -22
  172. package/lib/module/modal/w3m-router/index.js.map +1 -1
  173. package/lib/module/partials/w3m-account-activity/index.js +1 -1
  174. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  175. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +10 -98
  176. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  177. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +6 -10
  178. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  179. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +92 -0
  180. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  181. package/lib/module/partials/w3m-all-wallets-list/index.js +19 -45
  182. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  183. package/lib/module/partials/w3m-all-wallets-list/styles.js +10 -4
  184. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  185. package/lib/module/partials/w3m-all-wallets-search/index.js +27 -51
  186. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  187. package/lib/module/partials/w3m-all-wallets-search/styles.js +3 -1
  188. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  189. package/lib/module/partials/w3m-connecting-mobile/index.js +4 -4
  190. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  191. package/lib/module/partials/w3m-connecting-mobile/styles.js +2 -1
  192. package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
  193. package/lib/module/partials/w3m-connecting-qrcode/index.js +7 -2
  194. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  195. package/lib/module/partials/w3m-connecting-web/index.js +2 -1
  196. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  197. package/lib/module/partials/w3m-connecting-web/styles.js +3 -0
  198. package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
  199. package/lib/module/partials/w3m-header/index.js +5 -4
  200. package/lib/module/partials/w3m-header/index.js.map +1 -1
  201. package/lib/module/partials/w3m-selector-modal/index.js +74 -59
  202. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  203. package/lib/module/partials/w3m-selector-modal/styles.js +9 -11
  204. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  205. package/lib/module/utils/SIWXUtil.js +279 -0
  206. package/lib/module/utils/SIWXUtil.js.map +1 -0
  207. package/lib/module/views/w3m-account-default-view/index.js +3 -3
  208. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  209. package/lib/module/views/w3m-account-view/index.js +2 -2
  210. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  211. package/lib/module/views/w3m-account-view/styles.js +1 -6
  212. package/lib/module/views/w3m-account-view/styles.js.map +1 -1
  213. package/lib/module/views/w3m-all-wallets-view/index.js +8 -25
  214. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  215. package/lib/module/views/w3m-connect-socials-view/index.js +2 -2
  216. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  217. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +19 -14
  218. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  219. package/lib/module/views/w3m-connect-view/index.js +4 -12
  220. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  221. package/lib/module/views/w3m-connecting-external-view/index.js +4 -4
  222. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  223. package/lib/module/views/w3m-connecting-external-view/styles.js +1 -1
  224. package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
  225. package/lib/module/views/w3m-connecting-social-view/index.js +35 -30
  226. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  227. package/lib/module/views/w3m-connecting-view/index.js +12 -32
  228. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  229. package/lib/module/views/w3m-get-wallet-view/index.js +1 -1
  230. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  231. package/lib/module/views/w3m-network-switch-view/index.js +65 -85
  232. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  233. package/lib/module/views/w3m-networks-view/index.js +25 -15
  234. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  235. package/lib/module/views/w3m-onramp-checkout-view/index.js +162 -154
  236. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  237. package/lib/module/views/w3m-onramp-loading-view/index.js +4 -4
  238. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  239. package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
  240. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  241. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +5 -2
  242. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  243. package/lib/module/views/w3m-onramp-settings-view/index.js +17 -8
  244. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  245. package/lib/module/views/w3m-onramp-settings-view/styles.js +4 -1
  246. package/lib/module/views/w3m-onramp-settings-view/styles.js.map +1 -1
  247. package/lib/module/views/w3m-onramp-settings-view/utils.js +14 -0
  248. package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
  249. package/lib/module/views/w3m-onramp-transaction-view/index.js +1 -1
  250. package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
  251. package/lib/module/views/w3m-onramp-view/components/Currency.js +3 -2
  252. package/lib/module/views/w3m-onramp-view/components/Currency.js.map +1 -1
  253. package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
  254. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +1 -1
  255. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  256. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +6 -3
  257. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  258. package/lib/module/views/w3m-onramp-view/index.js +5 -4
  259. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  260. package/lib/module/views/w3m-onramp-view/styles.js +3 -0
  261. package/lib/module/views/w3m-onramp-view/styles.js.map +1 -1
  262. package/lib/module/views/w3m-siwx-sign-view/index.js +104 -0
  263. package/lib/module/views/w3m-siwx-sign-view/index.js.map +1 -0
  264. package/lib/module/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  265. package/lib/module/views/w3m-siwx-sign-view/styles.js.map +1 -0
  266. package/lib/module/views/w3m-swap-preview-view/index.js +1 -1
  267. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  268. package/lib/module/views/w3m-swap-preview-view/styles.js +0 -3
  269. package/lib/module/views/w3m-swap-preview-view/styles.js.map +1 -1
  270. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +151 -0
  271. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  272. package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  273. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  274. package/lib/module/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  275. package/lib/module/views/w3m-swap-view/index.js +16 -16
  276. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  277. package/lib/module/views/w3m-swap-view/styles.js +0 -8
  278. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  279. package/lib/module/views/w3m-unsupported-chain-view/index.js +8 -14
  280. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  281. package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
  282. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  283. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +4 -6
  284. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  285. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  286. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  287. package/lib/module/views/w3m-wallet-receive-view/index.js +1 -1
  288. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  289. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -1
  290. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  291. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +5 -3
  292. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  293. package/lib/module/views/w3m-wallet-send-view/index.js +11 -5
  294. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  295. package/lib/module/views/w3m-wallet-send-view/styles.js +0 -3
  296. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  297. package/lib/module/views/w3m-what-is-a-network-view/index.js +1 -1
  298. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  299. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +1 -1
  300. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  301. package/lib/typescript/AppKit.d.ts +1 -3
  302. package/lib/typescript/AppKit.d.ts.map +1 -1
  303. package/lib/typescript/AppKitContext.d.ts.map +1 -1
  304. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  305. package/lib/typescript/hooks/useAccount.d.ts +33 -1
  306. package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
  307. package/lib/typescript/hooks/useAppKit.d.ts +0 -1
  308. package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
  309. package/lib/typescript/hooks/useAppKitEvents.d.ts +6 -4
  310. package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
  311. package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
  312. package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
  313. package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
  314. package/lib/typescript/hooks/useWalletInfo.d.ts +1 -0
  315. package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
  316. package/lib/typescript/index.d.ts +4 -0
  317. package/lib/typescript/index.d.ts.map +1 -1
  318. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  319. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  320. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +4 -4
  321. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  322. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +2 -3
  323. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  324. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +15 -0
  325. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -0
  326. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -3
  327. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  328. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +9 -3
  329. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  330. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -4
  331. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  332. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +2 -0
  333. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
  334. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
  335. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
  336. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  337. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
  338. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
  339. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  340. package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
  341. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  342. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +6 -8
  343. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  344. package/lib/typescript/types.d.ts +5 -7
  345. package/lib/typescript/types.d.ts.map +1 -1
  346. package/lib/typescript/utils/SIWXUtil.d.ts +34 -0
  347. package/lib/typescript/utils/SIWXUtil.d.ts.map +1 -0
  348. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  349. package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -3
  350. package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
  351. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  352. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
  353. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  354. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  355. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  356. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  357. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  358. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  359. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  360. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +4 -1
  361. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  362. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  363. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts +4 -1
  364. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts.map +1 -1
  365. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +2 -0
  366. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
  367. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts +3 -1
  368. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts.map +1 -1
  369. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  370. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  371. package/lib/typescript/views/w3m-onramp-view/styles.d.ts +3 -0
  372. package/lib/typescript/views/w3m-onramp-view/styles.d.ts.map +1 -1
  373. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts +2 -0
  374. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts.map +1 -0
  375. package/lib/typescript/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.d.ts +0 -7
  376. package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts.map +1 -0
  377. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts +0 -3
  378. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts.map +1 -1
  379. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/index.d.ts +2 -1
  380. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -0
  381. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts +6 -2
  382. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts.map +1 -1
  383. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts.map +1 -0
  384. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  385. package/lib/typescript/views/w3m-swap-view/styles.d.ts +0 -8
  386. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  387. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  388. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  389. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  390. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +0 -3
  391. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  392. package/package.json +10 -9
  393. package/src/AppKit.ts +62 -107
  394. package/src/AppKitContext.tsx +19 -11
  395. package/src/connectors/WalletConnectConnector.ts +47 -75
  396. package/src/hooks/useAccount.ts +15 -5
  397. package/src/hooks/useAppKit.ts +17 -12
  398. package/src/hooks/useAppKitState.ts +26 -0
  399. package/src/hooks/useProvider.ts +11 -5
  400. package/src/hooks/useWalletInfo.ts +5 -2
  401. package/src/index.ts +11 -0
  402. package/src/modal/w3m-modal/index.tsx +13 -4
  403. package/src/modal/w3m-router/index.tsx +19 -20
  404. package/src/partials/w3m-account-activity/index.tsx +1 -1
  405. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +12 -35
  406. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +5 -12
  407. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +103 -0
  408. package/src/partials/w3m-all-wallets-list/index.tsx +25 -51
  409. package/src/partials/w3m-all-wallets-list/styles.ts +10 -4
  410. package/src/partials/w3m-all-wallets-search/index.tsx +25 -60
  411. package/src/partials/w3m-all-wallets-search/styles.ts +3 -1
  412. package/src/partials/w3m-connecting-mobile/index.tsx +8 -8
  413. package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
  414. package/src/partials/w3m-connecting-qrcode/index.tsx +5 -2
  415. package/src/partials/w3m-connecting-web/index.tsx +2 -2
  416. package/src/partials/w3m-connecting-web/styles.ts +3 -0
  417. package/src/partials/w3m-header/index.tsx +7 -4
  418. package/src/partials/w3m-selector-modal/index.tsx +81 -61
  419. package/src/partials/w3m-selector-modal/styles.ts +9 -11
  420. package/src/types.ts +6 -8
  421. package/src/utils/SIWXUtil.ts +364 -0
  422. package/src/views/w3m-account-default-view/index.tsx +3 -3
  423. package/src/views/w3m-account-view/index.tsx +1 -9
  424. package/src/views/w3m-account-view/styles.ts +1 -4
  425. package/src/views/w3m-all-wallets-view/index.tsx +11 -34
  426. package/src/views/w3m-connect-socials-view/index.tsx +2 -2
  427. package/src/views/w3m-connect-view/components/all-wallet-list.tsx +28 -21
  428. package/src/views/w3m-connect-view/index.tsx +3 -7
  429. package/src/views/w3m-connecting-external-view/index.tsx +8 -8
  430. package/src/views/w3m-connecting-external-view/styles.ts +1 -1
  431. package/src/views/w3m-connecting-social-view/index.tsx +26 -28
  432. package/src/views/w3m-connecting-view/index.tsx +13 -32
  433. package/src/views/w3m-get-wallet-view/index.tsx +1 -1
  434. package/src/views/w3m-network-switch-view/index.tsx +70 -98
  435. package/src/views/w3m-networks-view/index.tsx +26 -22
  436. package/src/views/w3m-onramp-checkout-view/index.tsx +147 -143
  437. package/src/views/w3m-onramp-loading-view/index.tsx +3 -7
  438. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  439. package/src/views/w3m-onramp-settings-view/components/Country.tsx +10 -3
  440. package/src/views/w3m-onramp-settings-view/index.tsx +17 -5
  441. package/src/views/w3m-onramp-settings-view/styles.ts +4 -1
  442. package/src/views/w3m-onramp-settings-view/utils.ts +18 -0
  443. package/src/views/w3m-onramp-transaction-view/index.tsx +1 -1
  444. package/src/views/w3m-onramp-view/components/Currency.tsx +4 -3
  445. package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
  446. package/src/views/w3m-onramp-view/components/LoadingView.tsx +1 -1
  447. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +6 -3
  448. package/src/views/w3m-onramp-view/index.tsx +4 -3
  449. package/src/views/w3m-onramp-view/styles.ts +3 -0
  450. package/src/views/w3m-siwx-sign-view/index.tsx +96 -0
  451. package/src/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.ts +0 -7
  452. package/src/views/w3m-swap-preview-view/index.tsx +1 -1
  453. package/src/views/w3m-swap-preview-view/styles.ts +0 -3
  454. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +181 -0
  455. package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.ts +6 -2
  456. package/src/views/w3m-swap-view/index.tsx +10 -9
  457. package/src/views/w3m-swap-view/styles.ts +0 -8
  458. package/src/views/w3m-unsupported-chain-view/index.tsx +5 -7
  459. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  460. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +4 -6
  461. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +1 -1
  462. package/src/views/w3m-wallet-receive-view/index.tsx +1 -1
  463. package/src/views/w3m-wallet-send-preview-view/index.tsx +1 -1
  464. package/src/views/w3m-wallet-send-select-token-view/index.tsx +3 -3
  465. package/src/views/w3m-wallet-send-view/index.tsx +5 -4
  466. package/src/views/w3m-wallet-send-view/styles.ts +0 -3
  467. package/src/views/w3m-what-is-a-network-view/index.tsx +1 -1
  468. package/src/views/w3m-what-is-a-wallet-view/index.tsx +1 -1
  469. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -45
  470. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  471. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -41
  472. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  473. package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
  474. package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
  475. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +0 -145
  476. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +0 -1
  477. package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  478. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js +0 -145
  479. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  480. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  481. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  482. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -41
  483. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  484. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -37
  485. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  486. package/lib/module/views/w3m-connect-view/utils.js +0 -9
  487. package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
  488. package/lib/module/views/w3m-connecting-siwe-view/index.js +0 -140
  489. package/lib/module/views/w3m-connecting-siwe-view/index.js.map +0 -1
  490. package/lib/module/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  491. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js +0 -140
  492. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  493. package/lib/module/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  494. package/lib/module/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  495. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -9
  496. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
  497. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -9
  498. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
  499. package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
  500. package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
  501. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts +0 -2
  502. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +0 -1
  503. package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts.map +0 -1
  504. package/lib/typescript/views/w3m-swap-view/components/select-token-view/index.d.ts.map +0 -1
  505. package/lib/typescript/views/w3m-swap-view/components/select-token-view/utils.d.ts.map +0 -1
  506. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -51
  507. package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -45
  508. package/src/views/w3m-connect-view/utils.ts +0 -14
  509. package/src/views/w3m-connecting-siwe-view/index.tsx +0 -126
  510. package/src/views/w3m-swap-view/components/select-token-view/index.tsx +0 -176
  511. /package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  512. /package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  513. /package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.d.ts +0 -0
  514. /package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.ts +0 -0
@@ -1,6 +1,4 @@
1
- import { useContext } from 'react';
2
- import { useSnapshot } from 'valtio';
3
- import { ModalController } from '@reown/appkit-core-react-native';
1
+ import { useContext, useMemo } from 'react';
4
2
 
5
3
  import type { AppKit } from '../AppKit';
6
4
  import { AppKitContext } from '../AppKitContext';
@@ -10,26 +8,33 @@ interface UseAppKitReturn {
10
8
  close: AppKit['close'];
11
9
  disconnect: (namespace?: string) => void;
12
10
  switchNetwork: AppKit['switchNetwork'];
13
- isOpen: boolean;
14
11
  }
15
12
 
16
13
  export const useAppKit = (): UseAppKitReturn => {
17
14
  const context = useContext(AppKitContext);
18
- const { open } = useSnapshot(ModalController.state);
19
15
 
20
16
  if (context === undefined) {
21
17
  throw new Error('useAppKit must be used within an AppKitProvider');
22
18
  }
19
+
23
20
  if (!context.appKit) {
24
21
  // This might happen if the provider is rendered before AppKit is initialized
25
22
  throw new Error('AppKit instance is not yet available in context.');
26
23
  }
27
24
 
28
- return {
29
- open: context.appKit.open.bind(context.appKit),
30
- close: context.appKit.close.bind(context.appKit),
31
- disconnect: (namespace?: string) => context.appKit?.disconnect.bind(context.appKit)(namespace),
32
- switchNetwork: context.appKit.switchNetwork.bind(context.appKit),
33
- isOpen: open
34
- };
25
+ const stableFunctions = useMemo(() => {
26
+ if (!context.appKit) {
27
+ throw new Error('AppKit instance is not available');
28
+ }
29
+
30
+ return {
31
+ open: context.appKit.open.bind(context.appKit),
32
+ close: context.appKit.close.bind(context.appKit),
33
+ disconnect: (namespace?: string) =>
34
+ context.appKit!.disconnect.bind(context.appKit!)(namespace),
35
+ switchNetwork: context.appKit.switchNetwork.bind(context.appKit)
36
+ };
37
+ }, [context.appKit]);
38
+
39
+ return stableFunctions;
35
40
  };
@@ -0,0 +1,26 @@
1
+ /* eslint-disable valtio/state-snapshot-rule */
2
+ import { useMemo } from 'react';
3
+ import { useSnapshot } from 'valtio';
4
+ import { ConnectionsController, ModalController } from '@reown/appkit-core-react-native';
5
+ import { useAppKit } from './useAppKit';
6
+
7
+ export function useAppKitState() {
8
+ useAppKit(); // Use the hook for checks
9
+ const { activeAddress: address, connection, networks } = useSnapshot(ConnectionsController.state);
10
+ const { open, loading } = useSnapshot(ModalController.state);
11
+
12
+ const activeChain = useMemo(
13
+ () =>
14
+ connection?.caipNetwork
15
+ ? networks.find(network => network.caipNetworkId === connection?.caipNetwork)
16
+ : undefined,
17
+ [connection?.caipNetwork, networks]
18
+ );
19
+
20
+ return {
21
+ isOpen: open,
22
+ isLoading: loading,
23
+ isConnected: !!address,
24
+ chain: activeChain
25
+ };
26
+ }
@@ -1,3 +1,5 @@
1
+ /* eslint-disable valtio/state-snapshot-rule */
2
+ import { useMemo } from 'react';
1
3
  import { useSnapshot } from 'valtio';
2
4
  import { ConnectionsController } from '@reown/appkit-core-react-native';
3
5
  import type { Provider, ChainNamespace } from '@reown/appkit-common-react-native';
@@ -37,10 +39,14 @@ interface ProviderResult {
37
39
  export function useProvider(): ProviderResult {
38
40
  const { connection } = useSnapshot(ConnectionsController.state);
39
41
 
40
- if (!connection) return { provider: undefined, providerType: undefined };
42
+ const returnValue = useMemo(() => {
43
+ if (!connection) return { provider: undefined, providerType: undefined };
41
44
 
42
- return {
43
- provider: connection.adapter.getProvider(),
44
- providerType: connection.adapter.getSupportedNamespace()
45
- };
45
+ return {
46
+ provider: connection.adapter.getProvider(),
47
+ providerType: connection.adapter.getSupportedNamespace()
48
+ };
49
+ }, [connection]);
50
+
51
+ return returnValue;
46
52
  }
@@ -1,10 +1,13 @@
1
+ import { useMemo } from 'react';
1
2
  import { useSnapshot } from 'valtio';
2
3
  import { ConnectionsController } from '@reown/appkit-core-react-native';
3
4
  import { useAppKit } from './useAppKit';
4
5
 
5
6
  export function useWalletInfo() {
6
7
  useAppKit(); // Use the hook for checks
7
- const { walletInfo } = useSnapshot(ConnectionsController.state);
8
+ const { walletInfo: walletInfoSnapshot } = useSnapshot(ConnectionsController.state);
8
9
 
9
- return { walletInfo };
10
+ const walletInfo = useMemo(() => ({ walletInfo: walletInfoSnapshot }), [walletInfoSnapshot]);
11
+
12
+ return walletInfo;
10
13
  }
package/src/index.ts CHANGED
@@ -17,6 +17,13 @@ export { AppKit } from './modal/w3m-modal';
17
17
  /********** Types **********/
18
18
  export type * from '@reown/appkit-core-react-native';
19
19
  export type { AppKitNetwork, Storage } from '@reown/appkit-common-react-native';
20
+ export type {
21
+ SIWXConfig,
22
+ SIWXMessage,
23
+ SIWXSession,
24
+ SIWXStorage,
25
+ SIWXVerifier
26
+ } from '@reown/appkit-common-react-native';
20
27
  export type { AppKitConfig } from './types';
21
28
 
22
29
  /****** Hooks *******/
@@ -25,11 +32,15 @@ export { useProvider } from './hooks/useProvider';
25
32
  export { useAccount } from './hooks/useAccount';
26
33
  export { useWalletInfo } from './hooks/useWalletInfo';
27
34
  export { useAppKitEvents, useAppKitEventSubscription } from './hooks/useAppKitEvents';
35
+ export { useAppKitState } from './hooks/useAppKitState';
28
36
 
29
37
  /********** Networks **********/
30
38
  export { solana, solanaDevnet, solanaTestnet } from '@reown/appkit-common-react-native';
31
39
  export { bitcoin, bitcoinTestnet } from '@reown/appkit-common-react-native';
32
40
 
41
+ /********** SIWX **********/
42
+ export { ReownAuthentication } from '@reown/appkit-core-react-native';
43
+
33
44
  /********** Main **********/
34
45
  export { createAppKit } from './AppKit';
35
46
  export { AppKitProvider } from './AppKitContext';
@@ -1,6 +1,7 @@
1
1
  import { useSnapshot } from 'valtio';
2
2
  import { useCallback, useEffect } from 'react';
3
- import { Card, Modal, ThemeProvider, useCustomDimensions } from '@reown/appkit-ui-react-native';
3
+ import { useColorScheme } from 'react-native';
4
+ import { Card, Modal, ThemeProvider } from '@reown/appkit-ui-react-native';
4
5
  import {
5
6
  ApiController,
6
7
  EventsController,
@@ -9,6 +10,7 @@ import {
9
10
  RouterController,
10
11
  ThemeController
11
12
  } from '@reown/appkit-core-react-native';
13
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
12
14
 
13
15
  import { AppKitRouter } from '../w3m-router';
14
16
  import { Header } from '../../partials/w3m-header';
@@ -17,11 +19,12 @@ import { useInternalAppKit } from '../../AppKitContext';
17
19
  import styles from './styles';
18
20
 
19
21
  export function AppKit() {
22
+ const theme = useColorScheme();
23
+ const { bottom, top } = useSafeAreaInsets();
20
24
  const { close } = useInternalAppKit();
21
25
  const { open } = useSnapshot(ModalController.state);
22
- const { themeMode, themeVariables } = useSnapshot(ThemeController.state);
26
+ const { themeMode, themeVariables, defaultThemeMode } = useSnapshot(ThemeController.state);
23
27
  const { projectId } = useSnapshot(OptionsController.state);
24
- const { maxHeight } = useCustomDimensions();
25
28
 
26
29
  const handleBackPress = () => {
27
30
  if (RouterController.state.history.length > 1) {
@@ -31,6 +34,12 @@ export function AppKit() {
31
34
  return handleModalClose();
32
35
  };
33
36
 
37
+ useEffect(() => {
38
+ if (theme && !defaultThemeMode) {
39
+ ThemeController.setThemeMode(theme);
40
+ }
41
+ }, [theme, defaultThemeMode]);
42
+
34
43
  const prefetch = useCallback(async () => {
35
44
  await ApiController.prefetch();
36
45
  EventsController.sendEvent({ type: 'track', event: 'MODAL_LOADED' });
@@ -54,7 +63,7 @@ export function AppKit() {
54
63
  onBackdropPress={handleModalClose}
55
64
  testID="w3m-modal"
56
65
  >
57
- <Card style={[styles.card, { maxHeight }]}>
66
+ <Card style={[styles.card, { paddingBottom: bottom, marginTop: top }]}>
58
67
  <Header />
59
68
  <AppKitRouter />
60
69
  <Snackbar />
@@ -1,5 +1,5 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { useEffect, useLayoutEffect, useMemo } from 'react';
2
+ import { useMemo } from 'react';
3
3
  import { RouterController } from '@reown/appkit-core-react-native';
4
4
 
5
5
  import { AccountDefaultView } from '../../views/w3m-account-default-view';
@@ -10,7 +10,7 @@ import { ConnectSocialsView } from '../../views/w3m-connect-socials-view';
10
10
  import { ConnectingView } from '../../views/w3m-connecting-view';
11
11
  import { ConnectingExternalView } from '../../views/w3m-connecting-external-view';
12
12
  import { ConnectingSocialView } from '../../views/w3m-connecting-social-view';
13
- import { ConnectingSiweView } from '../../views/w3m-connecting-siwe-view';
13
+ import { SIWXSignMessageView } from '../../views/w3m-siwx-sign-view';
14
14
  import { GetWalletView } from '../../views/w3m-get-wallet-view';
15
15
  import { NetworksView } from '../../views/w3m-networks-view';
16
16
  import { NetworkSwitchView } from '../../views/w3m-network-switch-view';
@@ -31,25 +31,24 @@ import { WalletSendPreviewView } from '../../views/w3m-wallet-send-preview-view'
31
31
  import { WalletSendSelectTokenView } from '../../views/w3m-wallet-send-select-token-view';
32
32
  import { WhatIsANetworkView } from '../../views/w3m-what-is-a-network-view';
33
33
  import { WhatIsAWalletView } from '../../views/w3m-what-is-a-wallet-view';
34
- import { UiUtil } from '../../utils/UiUtil';
35
- import { useRouteTransition } from '../../hooks/useRouteTransition';
34
+ // import { UiUtil } from '../../utils/UiUtil';
35
+ // import { useRouteTransition } from '../../hooks/useRouteTransition';
36
36
 
37
37
  import { Animated } from 'react-native';
38
+ import { useCustomDimensions } from '@reown/appkit-ui-react-native';
38
39
 
39
40
  export function AppKitRouter() {
40
41
  const { view } = useSnapshot(RouterController.state);
41
- const { animateTransition, getAnimatedStyle } = useRouteTransition({
42
- duration: 300,
43
- useNativeDriver: true
44
- });
42
+ const { maxHeight } = useCustomDimensions();
43
+ // const { animateTransition, getAnimatedStyle } = useRouteTransition();
45
44
 
46
- useEffect(() => {
47
- UiUtil.setRouteTransition(animateTransition);
48
- }, [animateTransition]);
45
+ // useEffect(() => {
46
+ // UiUtil.setRouteTransition(animateTransition);
47
+ // }, [animateTransition]);
49
48
 
50
- useLayoutEffect(() => {
51
- UiUtil.createViewTransition();
52
- }, [view]);
49
+ // useEffect(() => {
50
+ // UiUtil.createViewTransition();
51
+ // }, [view]);
53
52
 
54
53
  const ViewComponent = useMemo(() => {
55
54
  switch (view) {
@@ -65,11 +64,11 @@ export function AppKitRouter() {
65
64
  return ConnectSocialsView;
66
65
  case 'ConnectingExternal':
67
66
  return ConnectingExternalView;
68
- case 'ConnectingSiwe':
69
- return ConnectingSiweView;
67
+ case 'SIWXSignMessage':
68
+ return SIWXSignMessageView;
70
69
  case 'ConnectingSocial':
71
70
  return ConnectingSocialView;
72
- case 'ConnectingWalletConnect':
71
+ case 'WalletConnect':
73
72
  return ConnectingView;
74
73
  case 'GetWallet':
75
74
  return GetWalletView;
@@ -83,14 +82,14 @@ export function AppKitRouter() {
83
82
  return OnRampSettingsView;
84
83
  case 'OnRampLoading':
85
84
  return OnRampLoadingView;
86
- case 'SwitchNetwork':
87
- return NetworkSwitchView;
88
85
  case 'OnRampTransaction':
89
86
  return OnRampTransactionView;
90
87
  case 'Swap':
91
88
  return SwapView;
92
89
  case 'SwapPreview':
93
90
  return SwapPreviewView;
91
+ case 'SwitchNetwork':
92
+ return NetworkSwitchView;
94
93
  case 'Transactions':
95
94
  return TransactionsView;
96
95
  case 'UnsupportedChain':
@@ -117,7 +116,7 @@ export function AppKitRouter() {
117
116
  }, [view]);
118
117
 
119
118
  return (
120
- <Animated.View style={[getAnimatedStyle()]}>
119
+ <Animated.View style={{ maxHeight }}>
121
120
  <ViewComponent />
122
121
  </Animated.View>
123
122
  );
@@ -123,7 +123,7 @@ export function AccountActivity({ style }: Props) {
123
123
  <ScrollView
124
124
  style={[styles.container, style]}
125
125
  fadingEdgeLength={20}
126
- contentContainerStyle={[styles.contentContainer]}
126
+ contentContainerStyle={styles.contentContainer}
127
127
  refreshControl={
128
128
  <RefreshControl
129
129
  refreshing={refreshing}
@@ -1,44 +1,21 @@
1
- import { CardSelectLoader, FlexView, useCustomDimensions } from '@reown/appkit-ui-react-native';
2
1
  import { memo } from 'react';
3
- import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { WalletList } from './WalletList';
3
+ import type { StyleProp, ViewStyle } from 'react-native';
4
4
 
5
5
  interface LoadingProps {
6
- itemWidth?: number;
7
- containerStyle?: StyleProp<ViewStyle>;
6
+ loadingItems?: number;
7
+ style?: StyleProp<ViewStyle>;
8
8
  }
9
9
 
10
- function _Loading({ itemWidth, containerStyle }: LoadingProps) {
11
- const { maxWidth, maxHeight } = useCustomDimensions();
12
-
10
+ function _Loading({ loadingItems = 20, style }: LoadingProps) {
13
11
  return (
14
- <FlexView
15
- flexDirection="row"
16
- flexWrap="wrap"
17
- alignSelf="center"
18
- padding={['0', '0', 's', 'xs']}
19
- style={{ maxWidth, maxHeight }}
20
- >
21
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
22
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
23
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
24
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
25
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
26
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
27
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
28
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
29
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
30
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
31
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
32
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
33
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
34
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
35
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
36
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
37
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
38
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
39
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
40
- <CardSelectLoader style={[containerStyle, { width: itemWidth }]} />
41
- </FlexView>
12
+ <WalletList
13
+ data={[]}
14
+ onItemPress={() => {}}
15
+ isLoading={true}
16
+ loadingItems={loadingItems}
17
+ style={style}
18
+ />
42
19
  );
43
20
  }
44
21
 
@@ -6,38 +6,31 @@ import type { StyleProp, ViewStyle } from 'react-native';
6
6
  import { memo } from 'react';
7
7
 
8
8
  interface WalletItemProps {
9
- containerStyle?: StyleProp<ViewStyle>;
10
9
  item: WcWallet;
11
- itemWidth?: number;
12
10
  imageHeaders?: Record<string, string>;
13
11
  onItemPress: (wallet: WcWallet) => void;
14
12
  style?: StyleProp<ViewStyle>;
13
+ testID?: string;
15
14
  }
16
15
 
17
- export function WalletItem({
18
- containerStyle,
19
- item,
20
- itemWidth,
21
- imageHeaders,
22
- onItemPress,
23
- style
24
- }: WalletItemProps) {
16
+ export function WalletItem({ item, imageHeaders, onItemPress, style, testID }: WalletItemProps) {
25
17
  const { walletImages } = useSnapshot(AssetController.state);
26
18
  const isInstalled = ApiController.state.installed.find(wallet => wallet?.id === item?.id);
27
19
  const imageSrc = AssetUtil.getWalletImage(item, walletImages);
28
20
 
29
21
  if (!item?.id) {
30
- return <CardSelectLoader style={[containerStyle, { width: itemWidth }, style]} />;
22
+ return <CardSelectLoader style={style} />;
31
23
  }
32
24
 
33
25
  return (
34
26
  <CardSelect
35
27
  imageSrc={imageSrc}
36
- style={[containerStyle, { width: itemWidth }, style]}
28
+ style={style}
37
29
  imageHeaders={imageHeaders}
38
30
  name={item?.name ?? 'Unknown'}
39
31
  onPress={() => onItemPress(item)}
40
32
  installed={!!isInstalled}
33
+ testID={testID}
41
34
  />
42
35
  );
43
36
  }
@@ -0,0 +1,103 @@
1
+ import { FlatList, StyleSheet, type StyleProp, type ViewStyle } from 'react-native';
2
+ import { WalletItem } from './WalletItem';
3
+ import {
4
+ CardSelectHeight,
5
+ Spacing,
6
+ useCustomDimensions,
7
+ CardSelectLoader,
8
+ CardSelectWidth
9
+ } from '@reown/appkit-ui-react-native';
10
+ import { ApiController } from '@reown/appkit-core-react-native';
11
+ import type { WcWallet } from '@reown/appkit-common-react-native';
12
+
13
+ const imageHeaders = ApiController._getApiHeaders();
14
+
15
+ const ITEM_HEIGHT = CardSelectHeight;
16
+ const ITEM_WIDTH = CardSelectWidth;
17
+ const ITEM_HEIGHT_WITH_GAP = ITEM_HEIGHT + Spacing['3xs'];
18
+
19
+ interface Props {
20
+ data: WcWallet[];
21
+ onItemPress: (wallet: WcWallet) => void;
22
+ onEndReached?: () => void;
23
+ onEndReachedThreshold?: number;
24
+ isLoading?: boolean;
25
+ loadingItems?: number;
26
+ style?: StyleProp<ViewStyle>;
27
+ testIDKey?: string;
28
+ }
29
+
30
+ export function WalletList({
31
+ data,
32
+ onItemPress,
33
+ onEndReached,
34
+ onEndReachedThreshold,
35
+ isLoading = false,
36
+ loadingItems = 20,
37
+ testIDKey,
38
+ style
39
+ }: Props) {
40
+ const { padding, maxHeight } = useCustomDimensions();
41
+
42
+ // Create loading data if isLoading is true
43
+ const displayData = isLoading
44
+ ? Array.from({ length: loadingItems }, (_, index) => ({ id: `loading-${index}` }) as WcWallet)
45
+ : data;
46
+
47
+ return (
48
+ <FlatList
49
+ fadingEdgeLength={20}
50
+ bounces={false}
51
+ numColumns={4}
52
+ data={displayData}
53
+ style={[styles.list, { height: maxHeight }, style]}
54
+ columnWrapperStyle={styles.columnWrapperStyle}
55
+ renderItem={({ item }) => {
56
+ if (isLoading) {
57
+ return <CardSelectLoader style={styles.itemContainer} />;
58
+ }
59
+
60
+ return (
61
+ <WalletItem
62
+ item={item}
63
+ imageHeaders={imageHeaders}
64
+ onItemPress={onItemPress}
65
+ style={styles.itemContainer}
66
+ testID={testIDKey ? `${testIDKey}-${item?.id}` : undefined}
67
+ />
68
+ );
69
+ }}
70
+ contentContainerStyle={[styles.contentContainer, { paddingHorizontal: padding }]}
71
+ initialNumToRender={32}
72
+ maxToRenderPerBatch={12}
73
+ windowSize={10}
74
+ onEndReached={onEndReached}
75
+ onEndReachedThreshold={onEndReachedThreshold}
76
+ keyExtractor={(item, index) => item?.id ?? `item-${index}`}
77
+ getItemLayout={(_, index) => ({
78
+ length: ITEM_HEIGHT_WITH_GAP,
79
+ offset: ITEM_HEIGHT_WITH_GAP * index,
80
+ index
81
+ })}
82
+ />
83
+ );
84
+ }
85
+
86
+ const styles = StyleSheet.create({
87
+ list: {
88
+ paddingTop: Spacing['3xs']
89
+ },
90
+ contentContainer: {
91
+ paddingBottom: Spacing['xs'],
92
+ paddingTop: Spacing['3xs'],
93
+ gap: Spacing['3xs'],
94
+ alignItems: 'center'
95
+ },
96
+ columnWrapperStyle: {
97
+ justifyContent: 'space-around'
98
+ },
99
+ itemContainer: {
100
+ width: '23%',
101
+ minWidth: ITEM_WIDTH
102
+ }
103
+ });
@@ -1,6 +1,5 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { useSnapshot } from 'valtio';
3
- import { FlatList } from 'react-native';
4
3
  import {
5
4
  ApiController,
6
5
  OptionsController,
@@ -8,50 +7,48 @@ import {
8
7
  type OptionsControllerState
9
8
  } from '@reown/appkit-core-react-native';
10
9
  import { type WcWallet } from '@reown/appkit-common-react-native';
11
- import { CardSelectHeight, Spacing, useCustomDimensions } from '@reown/appkit-ui-react-native';
12
10
  import styles from './styles';
13
11
  import { Placeholder } from '../w3m-placeholder';
14
12
  import { Loading } from './components/Loading';
15
- import { WalletItem } from './components/WalletItem';
13
+
14
+ import { WalletList } from './components/WalletList';
16
15
 
17
16
  interface AllWalletsListProps {
18
- columns: number;
19
17
  onItemPress: (wallet: WcWallet) => void;
20
- itemWidth?: number;
21
18
  headerHeight?: number;
22
19
  }
23
20
 
24
- const ITEM_HEIGHT = CardSelectHeight + Spacing.xs * 2;
25
-
26
- export function AllWalletsList({
27
- columns,
28
- itemWidth,
29
- onItemPress,
30
- headerHeight = 0
31
- }: AllWalletsListProps) {
21
+ export function AllWalletsList({ onItemPress }: AllWalletsListProps) {
32
22
  const [loading, setLoading] = useState<boolean>(ApiController.state.wallets.length === 0);
33
23
  const [loadingError, setLoadingError] = useState<boolean>(false);
34
24
  const [pageLoading, setPageLoading] = useState<boolean>(false);
35
- const { maxHeight, padding } = useCustomDimensions();
36
25
  const { installed, featured, recommended, wallets } = useSnapshot(ApiController.state);
37
26
  const { customWallets } = useSnapshot(OptionsController.state) as OptionsControllerState;
38
- const imageHeaders = ApiController._getApiHeaders();
39
- const preloadedWallets = installed.length + featured.length + recommended.length;
40
- const loadingItems = columns - ((100 + preloadedWallets) % columns);
41
27
 
42
- const combinedWallets = [
43
- ...(customWallets ?? []),
44
- ...installed,
45
- ...featured,
46
- ...recommended,
47
- ...wallets
48
- ];
28
+ let combinedWallets = [...installed, ...featured, ...recommended, ...wallets];
29
+
30
+ // Show custom wallets after certified wallets.
31
+ const certifiedIndex = combinedWallets.findLastIndex(wallet => wallet.badge_type === 'certified');
32
+ if (certifiedIndex > -1) {
33
+ const nonCertifiedWallets = combinedWallets.splice(certifiedIndex + 1);
34
+ combinedWallets = combinedWallets.concat(customWallets ?? [], nonCertifiedWallets);
35
+ } else {
36
+ combinedWallets = [
37
+ ...installed,
38
+ ...featured,
39
+ ...recommended,
40
+ ...(customWallets ?? []),
41
+ ...wallets
42
+ ];
43
+ }
49
44
 
50
45
  // Deduplicate by wallet ID
51
46
  const uniqueWallets = Array.from(
52
47
  new Map(combinedWallets.map(wallet => [wallet?.id, wallet])).values()
53
48
  ).filter(wallet => wallet?.id); // Filter out any undefined wallets
54
49
 
50
+ const loadingItems = 4 - ((100 + uniqueWallets.length) % 4);
51
+
55
52
  const walletList = [
56
53
  ...uniqueWallets,
57
54
  ...(pageLoading ? (Array.from({ length: loadingItems }) as WcWallet[]) : [])
@@ -73,7 +70,7 @@ export function AllWalletsList({
73
70
  const fetchNextPage = async () => {
74
71
  try {
75
72
  if (
76
- walletList.length < ApiController.state.count &&
73
+ walletList.length - (customWallets ?? []).length < ApiController.state.count &&
77
74
  !pageLoading &&
78
75
  !loading &&
79
76
  ApiController.state.page > 0
@@ -95,7 +92,7 @@ export function AllWalletsList({
95
92
  }, []);
96
93
 
97
94
  if (loading) {
98
- return <Loading itemWidth={itemWidth} containerStyle={styles.itemContainer} />;
95
+ return <Loading loadingItems={12} style={styles.loadingContainer} />;
99
96
  }
100
97
 
101
98
  if (loadingError) {
@@ -114,34 +111,11 @@ export function AllWalletsList({
114
111
  }
115
112
 
116
113
  return (
117
- <FlatList
118
- key={columns}
119
- fadingEdgeLength={20}
120
- bounces={false}
121
- numColumns={columns}
114
+ <WalletList
122
115
  data={walletList}
123
- renderItem={({ item }) => (
124
- <WalletItem
125
- item={item}
126
- itemWidth={itemWidth}
127
- imageHeaders={imageHeaders}
128
- onItemPress={onItemPress}
129
- style={styles.itemContainer}
130
- />
131
- )}
132
- style={{ maxHeight: maxHeight - headerHeight - Spacing['4xl'] }}
133
- contentContainerStyle={[
134
- styles.contentContainer,
135
- { paddingHorizontal: padding + Spacing['2xs'] }
136
- ]}
137
116
  onEndReached={fetchNextPage}
138
117
  onEndReachedThreshold={2}
139
- keyExtractor={(item, index) => item?.id ?? index}
140
- getItemLayout={(_, index) => ({
141
- length: ITEM_HEIGHT,
142
- offset: ITEM_HEIGHT * index,
143
- index
144
- })}
118
+ onItemPress={onItemPress}
145
119
  />
146
120
  );
147
121
  }
@@ -4,12 +4,15 @@ import { StyleSheet } from 'react-native';
4
4
  export default StyleSheet.create({
5
5
  contentContainer: {
6
6
  paddingBottom: Spacing['4xl'],
7
- paddingTop: Spacing['3xs']
7
+ paddingTop: Spacing['3xs'],
8
+ gap: Spacing['3xs'],
9
+ alignItems: 'center'
10
+ },
11
+ columnWrapperStyle: {
12
+ justifyContent: 'space-around'
8
13
  },
9
14
  itemContainer: {
10
- alignItems: 'center',
11
- justifyContent: 'center',
12
- margin: Spacing['4xs']
15
+ width: '23%'
13
16
  },
14
17
  pageLoader: {
15
18
  marginTop: Spacing.xl
@@ -20,5 +23,8 @@ export default StyleSheet.create({
20
23
  placeholderContainer: {
21
24
  flex: 0,
22
25
  height: '90%'
26
+ },
27
+ loadingContainer: {
28
+ height: 320
23
29
  }
24
30
  });