@web3auth/modal 10.16.0 → 11.0.0-beta.1

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 (359) hide show
  1. package/dist/lib.cjs/node_modules/style-inject/dist/style-inject.es.js +1 -1
  2. package/dist/lib.cjs/packages/modal/src/account-linking/index.js +12 -0
  3. package/dist/lib.cjs/packages/modal/src/account-linking/react.js +22 -0
  4. package/dist/lib.cjs/packages/modal/src/account-linking/vue.js +22 -0
  5. package/dist/lib.cjs/packages/modal/src/config.js +1 -1
  6. package/dist/lib.cjs/packages/modal/src/modalManager.js +473 -17
  7. package/dist/lib.cjs/packages/modal/src/react/Web3AuthProvider.js +4 -2
  8. package/dist/lib.cjs/packages/modal/src/react/context/WalletServicesInnerContext.js +3 -56
  9. package/dist/lib.cjs/packages/modal/src/react/context/Web3AuthInnerContext.js +15 -152
  10. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  11. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthConnect.js +30 -43
  12. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthInner.js +8 -4
  13. package/dist/lib.cjs/packages/modal/src/react/index.js +61 -28
  14. package/dist/lib.cjs/packages/modal/src/react/solana/index.js +21 -8
  15. package/dist/lib.cjs/packages/modal/src/react/wagmi/provider.js +34 -17
  16. package/dist/lib.cjs/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +15 -18
  17. package/dist/lib.cjs/packages/modal/src/ui/components/Button/Button.js +4 -2
  18. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
  19. package/dist/lib.cjs/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +11 -12
  20. package/dist/lib.cjs/packages/modal/src/ui/components/Footer/Footer.js +7 -7
  21. package/dist/lib.cjs/packages/modal/src/ui/components/Image/Image.js +6 -6
  22. package/dist/lib.cjs/packages/modal/src/ui/components/Loader/Loader.js +132 -44
  23. package/dist/lib.cjs/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
  24. package/dist/lib.cjs/packages/modal/src/ui/components/Modal/Modal.js +20 -19
  25. package/dist/lib.cjs/packages/modal/src/ui/components/Otp/Otp.js +10 -10
  26. package/dist/lib.cjs/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
  27. package/dist/lib.cjs/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +22 -24
  28. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +6 -0
  29. package/dist/lib.cjs/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +30 -0
  30. package/dist/lib.cjs/packages/modal/src/ui/components/Toast/Toast.js +12 -12
  31. package/dist/lib.cjs/packages/modal/src/ui/constants.js +5 -2
  32. package/dist/lib.cjs/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +109 -0
  33. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +77 -29
  34. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +20 -11
  35. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +10 -10
  36. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
  37. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +41 -33
  38. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +13 -11
  39. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +13 -7
  40. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Embed/Embed.js +12 -11
  41. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/Login.js +95 -80
  42. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +12 -12
  43. package/dist/lib.cjs/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +14 -14
  44. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/Root.js +250 -0
  45. package/dist/lib.cjs/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +185 -0
  46. package/dist/lib.cjs/packages/modal/src/ui/containers/Widget/Widget.js +110 -0
  47. package/dist/lib.cjs/packages/modal/src/ui/context/ModalStateContext.js +158 -0
  48. package/dist/lib.cjs/packages/modal/src/ui/context/RootContext.js +64 -21
  49. package/dist/lib.cjs/packages/modal/src/ui/context/WidgetContext.js +52 -0
  50. package/dist/lib.cjs/packages/modal/src/ui/css/index.css.js +1 -1
  51. package/dist/lib.cjs/packages/modal/src/ui/i18n/dutch.json.js +14 -0
  52. package/dist/lib.cjs/packages/modal/src/ui/i18n/english.json.js +14 -0
  53. package/dist/lib.cjs/packages/modal/src/ui/i18n/french.json.js +14 -0
  54. package/dist/lib.cjs/packages/modal/src/ui/i18n/german.json.js +14 -0
  55. package/dist/lib.cjs/packages/modal/src/ui/i18n/japanese.json.js +26 -12
  56. package/dist/lib.cjs/packages/modal/src/ui/i18n/korean.json.js +14 -0
  57. package/dist/lib.cjs/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
  58. package/dist/lib.cjs/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
  59. package/dist/lib.cjs/packages/modal/src/ui/i18n/spanish.json.js +14 -0
  60. package/dist/lib.cjs/packages/modal/src/ui/i18n/turkish.json.js +14 -0
  61. package/dist/lib.cjs/packages/modal/src/ui/interfaces.js +28 -1
  62. package/dist/lib.cjs/packages/modal/src/ui/loginModal.js +186 -46
  63. package/dist/lib.cjs/packages/modal/src/vue/WalletServicesInnerProvider.js +2 -50
  64. package/dist/lib.cjs/packages/modal/src/vue/Web3AuthProvider.js +7 -170
  65. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthConnect.js +31 -33
  66. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  67. package/dist/lib.cjs/packages/modal/src/vue/index.js +61 -28
  68. package/dist/lib.cjs/packages/modal/src/vue/solana/index.js +29 -8
  69. package/dist/lib.cjs/packages/modal/src/vue/wagmi/provider.js +37 -23
  70. package/dist/lib.cjs/packages/modal/src/x402/index.js +12 -0
  71. package/dist/lib.cjs/packages/modal/src/x402/react.js +26 -0
  72. package/dist/lib.cjs/packages/modal/src/x402/vue.js +18 -0
  73. package/dist/lib.cjs/types/account-linking/index.d.ts +1 -0
  74. package/dist/lib.cjs/types/account-linking/react.d.ts +2 -0
  75. package/dist/lib.cjs/types/account-linking/vue.d.ts +2 -0
  76. package/dist/lib.cjs/types/interface.d.ts +2 -2
  77. package/dist/lib.cjs/types/modalManager.d.ts +46 -4
  78. package/dist/lib.cjs/types/react/context/WalletServicesInnerContext.d.ts +12 -5
  79. package/dist/lib.cjs/types/react/context/Web3AuthInnerContext.d.ts +4 -3
  80. package/dist/lib.cjs/types/react/hooks/index.d.ts +16 -14
  81. package/dist/lib.cjs/types/react/hooks/useWallets.d.ts +2 -0
  82. package/dist/lib.cjs/types/react/hooks/useWeb3Auth.d.ts +1 -2
  83. package/dist/lib.cjs/types/react/hooks/useWeb3AuthConnect.d.ts +3 -3
  84. package/dist/lib.cjs/types/react/interfaces.d.ts +3 -2
  85. package/dist/lib.cjs/types/react/solana/hooks/index.d.ts +5 -4
  86. package/dist/lib.cjs/types/react/solana/index.d.ts +1 -0
  87. package/dist/lib.cjs/types/react/solana/provider.d.ts +1 -0
  88. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.d.ts +1 -1
  89. package/dist/lib.cjs/types/ui/components/BottomSheet/BottomSheet.type.d.ts +4 -3
  90. package/dist/lib.cjs/types/ui/components/Button/ButtonWallet/ButtonWallet.type.d.ts +1 -0
  91. package/dist/lib.cjs/types/ui/components/Loader/Loader.type.d.ts +7 -5
  92. package/dist/lib.cjs/types/ui/components/LoginHint/LoginHint.type.d.ts +2 -1
  93. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.d.ts +4 -0
  94. package/dist/lib.cjs/types/ui/components/SpinnerLoader/SpinnerLoader.type.d.ts +9 -0
  95. package/dist/lib.cjs/types/ui/components/SpinnerLoader/index.d.ts +2 -0
  96. package/dist/lib.cjs/types/ui/constants.d.ts +7 -4
  97. package/dist/lib.cjs/types/ui/containers/AccountLinking/AccountLinking.d.ts +6 -0
  98. package/dist/lib.cjs/types/ui/containers/AccountLinking/index.d.ts +1 -0
  99. package/dist/lib.cjs/types/ui/containers/ConnectWallet/ConnectWallet.type.d.ts +7 -0
  100. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.type.d.ts +0 -2
  101. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.type.d.ts +1 -0
  102. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.type.d.ts +3 -9
  103. package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.type.d.ts +0 -2
  104. package/dist/lib.cjs/types/ui/containers/Login/Login.type.d.ts +6 -0
  105. package/dist/lib.cjs/types/ui/{components → containers}/Root/Root.d.ts +1 -1
  106. package/dist/lib.cjs/types/ui/containers/Root/Root.type.d.ts +3 -0
  107. package/dist/lib.cjs/types/ui/containers/Root/RootBodySheets/RootBodySheets.d.ts +1 -0
  108. package/dist/lib.cjs/types/ui/containers/Widget/Widget.type.d.ts +5 -0
  109. package/dist/lib.cjs/types/ui/context/ModalStateContext.d.ts +28 -0
  110. package/dist/lib.cjs/types/ui/context/RootContext.d.ts +19 -7
  111. package/dist/lib.cjs/types/ui/context/WidgetContext.d.ts +45 -0
  112. package/dist/lib.cjs/types/ui/interfaces.d.ts +53 -15
  113. package/dist/lib.cjs/types/ui/loginModal.d.ts +31 -4
  114. package/dist/lib.cjs/types/ui/utils.d.ts +1 -1
  115. package/dist/lib.cjs/types/vue/composables/index.d.ts +3 -14
  116. package/dist/lib.cjs/types/vue/composables/useWallets.d.ts +2 -0
  117. package/dist/lib.cjs/types/vue/composables/useWeb3Auth.d.ts +1 -2
  118. package/dist/lib.cjs/types/vue/composables/useWeb3AuthConnect.d.ts +3 -3
  119. package/dist/lib.cjs/types/vue/interfaces.d.ts +3 -17
  120. package/dist/lib.cjs/types/vue/solana/composables/index.d.ts +3 -4
  121. package/dist/lib.cjs/types/vue/solana/composables/useSolanaClient.d.ts +1 -0
  122. package/dist/lib.cjs/types/vue/solana/constants.d.ts +1 -0
  123. package/dist/lib.cjs/types/vue/solana/index.d.ts +2 -0
  124. package/dist/lib.cjs/types/vue/solana/provider.d.ts +1 -0
  125. package/dist/lib.cjs/types/x402/index.d.ts +1 -0
  126. package/dist/lib.cjs/types/x402/react.d.ts +2 -0
  127. package/dist/lib.cjs/types/x402/vue.d.ts +2 -0
  128. package/dist/lib.esm/node_modules/style-inject/dist/style-inject.es.js +1 -1
  129. package/dist/lib.esm/packages/modal/src/account-linking/index.js +1 -0
  130. package/dist/lib.esm/packages/modal/src/account-linking/react.js +1 -0
  131. package/dist/lib.esm/packages/modal/src/account-linking/vue.js +1 -0
  132. package/dist/lib.esm/packages/modal/src/config.js +1 -1
  133. package/dist/lib.esm/packages/modal/src/modalManager.js +478 -19
  134. package/dist/lib.esm/packages/modal/src/react/Web3AuthProvider.js +4 -2
  135. package/dist/lib.esm/packages/modal/src/react/context/WalletServicesInnerContext.js +4 -57
  136. package/dist/lib.esm/packages/modal/src/react/context/Web3AuthInnerContext.js +12 -151
  137. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3Auth.js +1 -22
  138. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthConnect.js +28 -41
  139. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthInner.js +7 -3
  140. package/dist/lib.esm/packages/modal/src/react/index.js +1 -14
  141. package/dist/lib.esm/packages/modal/src/react/solana/index.js +1 -4
  142. package/dist/lib.esm/packages/modal/src/react/wagmi/provider.js +34 -17
  143. package/dist/lib.esm/packages/modal/src/ui/components/BottomSheet/BottomSheet.js +15 -18
  144. package/dist/lib.esm/packages/modal/src/ui/components/Button/Button.js +4 -2
  145. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonSocial/ButtonSocial.js +4 -4
  146. package/dist/lib.esm/packages/modal/src/ui/components/Button/ButtonWallet/ButtonWallet.js +12 -13
  147. package/dist/lib.esm/packages/modal/src/ui/components/Footer/Footer.js +7 -7
  148. package/dist/lib.esm/packages/modal/src/ui/components/Image/Image.js +7 -7
  149. package/dist/lib.esm/packages/modal/src/ui/components/Loader/Loader.js +133 -45
  150. package/dist/lib.esm/packages/modal/src/ui/components/LoginHint/LoginHint.js +3 -3
  151. package/dist/lib.esm/packages/modal/src/ui/components/Modal/Modal.js +20 -19
  152. package/dist/lib.esm/packages/modal/src/ui/components/Otp/Otp.js +10 -10
  153. package/dist/lib.esm/packages/modal/src/ui/components/PulseLoader/PulseLoader.js +4 -4
  154. package/dist/lib.esm/packages/modal/src/ui/components/SocialLoginList/SocialLoginList.js +22 -24
  155. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.css.js +4 -0
  156. package/dist/lib.esm/packages/modal/src/ui/components/SpinnerLoader/SpinnerLoader.js +28 -0
  157. package/dist/lib.esm/packages/modal/src/ui/components/Toast/Toast.js +14 -14
  158. package/dist/lib.esm/packages/modal/src/ui/constants.js +5 -2
  159. package/dist/lib.esm/packages/modal/src/ui/containers/AccountLinking/AccountLinking.js +107 -0
  160. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWallet.js +81 -32
  161. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.js +20 -11
  162. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.js +10 -10
  163. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.js +9 -8
  164. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.js +41 -33
  165. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.js +15 -13
  166. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.js +13 -7
  167. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Embed/Embed.js +12 -11
  168. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/Login.js +99 -83
  169. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginOtp/LoginOtp.js +12 -12
  170. package/dist/lib.esm/packages/modal/src/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.js +14 -14
  171. package/dist/lib.esm/packages/modal/src/ui/containers/Root/Root.js +253 -0
  172. package/dist/lib.esm/packages/modal/src/ui/containers/Root/RootBodySheets/RootBodySheets.js +183 -0
  173. package/dist/lib.esm/packages/modal/src/ui/containers/Widget/Widget.js +108 -0
  174. package/dist/lib.esm/packages/modal/src/ui/context/ModalStateContext.js +161 -0
  175. package/dist/lib.esm/packages/modal/src/ui/context/RootContext.js +60 -22
  176. package/dist/lib.esm/packages/modal/src/ui/context/WidgetContext.js +49 -0
  177. package/dist/lib.esm/packages/modal/src/ui/css/index.css.js +1 -1
  178. package/dist/lib.esm/packages/modal/src/ui/i18n/dutch.json.js +14 -0
  179. package/dist/lib.esm/packages/modal/src/ui/i18n/english.json.js +14 -0
  180. package/dist/lib.esm/packages/modal/src/ui/i18n/french.json.js +14 -0
  181. package/dist/lib.esm/packages/modal/src/ui/i18n/german.json.js +14 -0
  182. package/dist/lib.esm/packages/modal/src/ui/i18n/japanese.json.js +26 -12
  183. package/dist/lib.esm/packages/modal/src/ui/i18n/korean.json.js +14 -0
  184. package/dist/lib.esm/packages/modal/src/ui/i18n/mandarin.json.js +14 -0
  185. package/dist/lib.esm/packages/modal/src/ui/i18n/portuguese.json.js +14 -0
  186. package/dist/lib.esm/packages/modal/src/ui/i18n/spanish.json.js +14 -0
  187. package/dist/lib.esm/packages/modal/src/ui/i18n/turkish.json.js +14 -0
  188. package/dist/lib.esm/packages/modal/src/ui/interfaces.js +26 -2
  189. package/dist/lib.esm/packages/modal/src/ui/loginModal.js +188 -48
  190. package/dist/lib.esm/packages/modal/src/vue/WalletServicesInnerProvider.js +5 -54
  191. package/dist/lib.esm/packages/modal/src/vue/Web3AuthProvider.js +9 -176
  192. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthConnect.js +28 -30
  193. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthInner.js +2 -5
  194. package/dist/lib.esm/packages/modal/src/vue/index.js +1 -14
  195. package/dist/lib.esm/packages/modal/src/vue/solana/index.js +1 -4
  196. package/dist/lib.esm/packages/modal/src/vue/wagmi/provider.js +33 -19
  197. package/dist/lib.esm/packages/modal/src/x402/index.js +1 -0
  198. package/dist/lib.esm/packages/modal/src/x402/react.js +1 -0
  199. package/dist/lib.esm/packages/modal/src/x402/vue.js +1 -0
  200. package/package.json +94 -47
  201. package/dist/lib.cjs/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -12
  202. package/dist/lib.cjs/packages/modal/src/react/hooks/useChain.js +0 -16
  203. package/dist/lib.cjs/packages/modal/src/react/hooks/useCheckout.js +0 -34
  204. package/dist/lib.cjs/packages/modal/src/react/hooks/useEnableMFA.js +0 -30
  205. package/dist/lib.cjs/packages/modal/src/react/hooks/useFunding.js +0 -34
  206. package/dist/lib.cjs/packages/modal/src/react/hooks/useIdentityToken.js +0 -46
  207. package/dist/lib.cjs/packages/modal/src/react/hooks/useManageMFA.js +0 -30
  208. package/dist/lib.cjs/packages/modal/src/react/hooks/useReceive.js +0 -34
  209. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwap.js +0 -34
  210. package/dist/lib.cjs/packages/modal/src/react/hooks/useSwitchChain.js +0 -32
  211. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -34
  212. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -13
  213. package/dist/lib.cjs/packages/modal/src/react/hooks/useWalletUI.js +0 -34
  214. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -30
  215. package/dist/lib.cjs/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -50
  216. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -36
  217. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -37
  218. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -36
  219. package/dist/lib.cjs/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -68
  220. package/dist/lib.cjs/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -88
  221. package/dist/lib.cjs/packages/modal/src/ui/components/Root/Root.js +0 -513
  222. package/dist/lib.cjs/packages/modal/src/ui/components/Widget/Widget.js +0 -251
  223. package/dist/lib.cjs/packages/modal/src/ui/context/ThemeContext.js +0 -9
  224. package/dist/lib.cjs/packages/modal/src/vue/composables/useChain.js +0 -13
  225. package/dist/lib.cjs/packages/modal/src/vue/composables/useCheckout.js +0 -35
  226. package/dist/lib.cjs/packages/modal/src/vue/composables/useEnableMFA.js +0 -33
  227. package/dist/lib.cjs/packages/modal/src/vue/composables/useFunding.js +0 -35
  228. package/dist/lib.cjs/packages/modal/src/vue/composables/useIdentityToken.js +0 -51
  229. package/dist/lib.cjs/packages/modal/src/vue/composables/useManageMFA.js +0 -33
  230. package/dist/lib.cjs/packages/modal/src/vue/composables/useReceive.js +0 -35
  231. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwap.js +0 -35
  232. package/dist/lib.cjs/packages/modal/src/vue/composables/useSwitchChain.js +0 -33
  233. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -35
  234. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -13
  235. package/dist/lib.cjs/packages/modal/src/vue/composables/useWalletUI.js +0 -35
  236. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -33
  237. package/dist/lib.cjs/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -54
  238. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -37
  239. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -39
  240. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -37
  241. package/dist/lib.cjs/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -67
  242. package/dist/lib.cjs/types/providers/ethereum-mpc-provider/index.d.ts +0 -1
  243. package/dist/lib.cjs/types/react/hooks/useChain.d.ts +0 -6
  244. package/dist/lib.cjs/types/react/hooks/useCheckout.d.ts +0 -8
  245. package/dist/lib.cjs/types/react/hooks/useEnableMFA.d.ts +0 -7
  246. package/dist/lib.cjs/types/react/hooks/useFunding.d.ts +0 -8
  247. package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +0 -13
  248. package/dist/lib.cjs/types/react/hooks/useManageMFA.d.ts +0 -7
  249. package/dist/lib.cjs/types/react/hooks/useReceive.d.ts +0 -8
  250. package/dist/lib.cjs/types/react/hooks/useSwap.d.ts +0 -8
  251. package/dist/lib.cjs/types/react/hooks/useSwitchChain.d.ts +0 -7
  252. package/dist/lib.cjs/types/react/hooks/useWalletConnectScanner.d.ts +0 -8
  253. package/dist/lib.cjs/types/react/hooks/useWalletServicesPlugin.d.ts +0 -2
  254. package/dist/lib.cjs/types/react/hooks/useWalletUI.d.ts +0 -8
  255. package/dist/lib.cjs/types/react/hooks/useWeb3AuthDisconnect.d.ts +0 -9
  256. package/dist/lib.cjs/types/react/hooks/useWeb3AuthUser.d.ts +0 -9
  257. package/dist/lib.cjs/types/react/solana/hooks/useSignAndSendTransaction.d.ts +0 -8
  258. package/dist/lib.cjs/types/react/solana/hooks/useSignMessage.d.ts +0 -8
  259. package/dist/lib.cjs/types/react/solana/hooks/useSignTransaction.d.ts +0 -13
  260. package/dist/lib.cjs/types/react/solana/hooks/useSolanaWallet.d.ts +0 -8
  261. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.d.ts +0 -3
  262. package/dist/lib.cjs/types/ui/components/CircularLoader/CircularLoader.type.d.ts +0 -19
  263. package/dist/lib.cjs/types/ui/components/CircularLoader/index.d.ts +0 -2
  264. package/dist/lib.cjs/types/ui/components/ConnectWallet/ConnectWallet.type.d.ts +0 -27
  265. package/dist/lib.cjs/types/ui/components/Login/Login.type.d.ts +0 -35
  266. package/dist/lib.cjs/types/ui/components/Root/Root.type.d.ts +0 -36
  267. package/dist/lib.cjs/types/ui/components/Widget/Widget.type.d.ts +0 -24
  268. package/dist/lib.cjs/types/ui/context/ThemeContext.d.ts +0 -3
  269. package/dist/lib.cjs/types/vue/composables/useChain.d.ts +0 -7
  270. package/dist/lib.cjs/types/vue/composables/useCheckout.d.ts +0 -9
  271. package/dist/lib.cjs/types/vue/composables/useEnableMFA.d.ts +0 -8
  272. package/dist/lib.cjs/types/vue/composables/useFunding.d.ts +0 -9
  273. package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +0 -9
  274. package/dist/lib.cjs/types/vue/composables/useManageMFA.d.ts +0 -8
  275. package/dist/lib.cjs/types/vue/composables/useReceive.d.ts +0 -9
  276. package/dist/lib.cjs/types/vue/composables/useSwap.d.ts +0 -9
  277. package/dist/lib.cjs/types/vue/composables/useSwitchChain.d.ts +0 -10
  278. package/dist/lib.cjs/types/vue/composables/useWalletConnectScanner.d.ts +0 -9
  279. package/dist/lib.cjs/types/vue/composables/useWalletServicesPlugin.d.ts +0 -2
  280. package/dist/lib.cjs/types/vue/composables/useWalletUI.d.ts +0 -9
  281. package/dist/lib.cjs/types/vue/composables/useWeb3AuthDisconnect.d.ts +0 -10
  282. package/dist/lib.cjs/types/vue/composables/useWeb3AuthUser.d.ts +0 -10
  283. package/dist/lib.cjs/types/vue/solana/composables/useSignAndSendTransaction.d.ts +0 -9
  284. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +0 -9
  285. package/dist/lib.cjs/types/vue/solana/composables/useSignTransaction.d.ts +0 -9
  286. package/dist/lib.cjs/types/vue/solana/composables/useSolanaWallet.d.ts +0 -9
  287. package/dist/lib.esm/packages/modal/src/providers/ethereum-mpc-provider/index.js +0 -1
  288. package/dist/lib.esm/packages/modal/src/react/hooks/useChain.js +0 -14
  289. package/dist/lib.esm/packages/modal/src/react/hooks/useCheckout.js +0 -32
  290. package/dist/lib.esm/packages/modal/src/react/hooks/useEnableMFA.js +0 -28
  291. package/dist/lib.esm/packages/modal/src/react/hooks/useFunding.js +0 -32
  292. package/dist/lib.esm/packages/modal/src/react/hooks/useIdentityToken.js +0 -44
  293. package/dist/lib.esm/packages/modal/src/react/hooks/useManageMFA.js +0 -28
  294. package/dist/lib.esm/packages/modal/src/react/hooks/useReceive.js +0 -32
  295. package/dist/lib.esm/packages/modal/src/react/hooks/useSwap.js +0 -32
  296. package/dist/lib.esm/packages/modal/src/react/hooks/useSwitchChain.js +0 -30
  297. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletConnectScanner.js +0 -32
  298. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletServicesPlugin.js +0 -11
  299. package/dist/lib.esm/packages/modal/src/react/hooks/useWalletUI.js +0 -32
  300. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthDisconnect.js +0 -28
  301. package/dist/lib.esm/packages/modal/src/react/hooks/useWeb3AuthUser.js +0 -48
  302. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignAndSendTransaction.js +0 -34
  303. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignMessage.js +0 -35
  304. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSignTransaction.js +0 -34
  305. package/dist/lib.esm/packages/modal/src/react/solana/hooks/useSolanaWallet.js +0 -64
  306. package/dist/lib.esm/packages/modal/src/ui/components/CircularLoader/CircularLoader.js +0 -86
  307. package/dist/lib.esm/packages/modal/src/ui/components/Root/Root.js +0 -524
  308. package/dist/lib.esm/packages/modal/src/ui/components/Widget/Widget.js +0 -253
  309. package/dist/lib.esm/packages/modal/src/ui/context/ThemeContext.js +0 -7
  310. package/dist/lib.esm/packages/modal/src/vue/composables/useChain.js +0 -11
  311. package/dist/lib.esm/packages/modal/src/vue/composables/useCheckout.js +0 -33
  312. package/dist/lib.esm/packages/modal/src/vue/composables/useEnableMFA.js +0 -31
  313. package/dist/lib.esm/packages/modal/src/vue/composables/useFunding.js +0 -33
  314. package/dist/lib.esm/packages/modal/src/vue/composables/useIdentityToken.js +0 -49
  315. package/dist/lib.esm/packages/modal/src/vue/composables/useManageMFA.js +0 -31
  316. package/dist/lib.esm/packages/modal/src/vue/composables/useReceive.js +0 -33
  317. package/dist/lib.esm/packages/modal/src/vue/composables/useSwap.js +0 -33
  318. package/dist/lib.esm/packages/modal/src/vue/composables/useSwitchChain.js +0 -31
  319. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletConnectScanner.js +0 -33
  320. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletServicesPlugin.js +0 -11
  321. package/dist/lib.esm/packages/modal/src/vue/composables/useWalletUI.js +0 -33
  322. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthDisconnect.js +0 -31
  323. package/dist/lib.esm/packages/modal/src/vue/composables/useWeb3AuthUser.js +0 -52
  324. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignAndSendTransaction.js +0 -35
  325. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignMessage.js +0 -37
  326. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSignTransaction.js +0 -35
  327. package/dist/lib.esm/packages/modal/src/vue/solana/composables/useSolanaWallet.js +0 -65
  328. package/dist/modal.umd.min.js +0 -2
  329. package/dist/modal.umd.min.js.LICENSE.txt +0 -102
  330. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWallet.d.ts +0 -0
  331. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/ConnectWalletChainFilter.d.ts +0 -0
  332. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainFilter/index.d.ts +0 -0
  333. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.d.ts +0 -0
  334. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/ConnectWalletChainNamespaceSelect.type.d.ts +0 -0
  335. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletChainNamespaceSelect/index.d.ts +0 -0
  336. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/ConnectWalletHeader.d.ts +0 -0
  337. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletHeader/index.d.ts +0 -0
  338. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/ConnectWalletList.d.ts +0 -0
  339. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletList/index.d.ts +0 -0
  340. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.d.ts +0 -0
  341. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/ConnectWalletQrCode.type.d.ts +0 -0
  342. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletQrCode/index.d.ts +0 -0
  343. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/ConnectWalletSearch.d.ts +0 -0
  344. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/ConnectWalletSearch/index.d.ts +0 -0
  345. /package/dist/lib.cjs/types/ui/{components → containers}/ConnectWallet/index.d.ts +0 -0
  346. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.d.ts +0 -0
  347. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/Embed.type.d.ts +0 -0
  348. /package/dist/lib.cjs/types/ui/{components → containers}/Embed/index.d.ts +0 -0
  349. /package/dist/lib.cjs/types/ui/{components → containers}/Login/Login.d.ts +0 -0
  350. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.d.ts +0 -0
  351. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/LoginOtp.type.d.ts +0 -0
  352. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginOtp/index.d.ts +0 -0
  353. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.d.ts +0 -0
  354. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/LoginPasswordLess.type.d.ts +0 -0
  355. /package/dist/lib.cjs/types/ui/{components → containers}/Login/LoginPasswordLess/index.d.ts +0 -0
  356. /package/dist/lib.cjs/types/ui/{components → containers}/Login/index.d.ts +0 -0
  357. /package/dist/lib.cjs/types/ui/{components → containers}/Root/index.d.ts +0 -0
  358. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/Widget.d.ts +0 -0
  359. /package/dist/lib.cjs/types/ui/{components → containers}/Widget/index.d.ts +0 -0
@@ -3,15 +3,15 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import './css/index.css.js';
5
5
  import { LANGUAGES, applyWhiteLabelTheme, THEME_MODES, SafeEventEmitter } from '@web3auth/auth';
6
- import { log, WIDGET_TYPE, WalletInitializationError, WALLET_CONNECTORS, ANALYTICS_EVENTS, getWhitelabelAnalyticsProperties, CONNECTOR_EVENTS, LOGIN_MODE, CONNECTOR_INITIAL_AUTHENTICATION_MODE } from '@web3auth/no-modal';
6
+ import { log, WIDGET_TYPE, WalletInitializationError, WALLET_CONNECTORS, CONNECTOR_INITIAL_AUTHENTICATION_MODE, ANALYTICS_EVENTS, getWhitelabelAnalyticsProperties, CONNECTOR_EVENTS, LOGIN_MODE } from '@web3auth/no-modal';
7
7
  import Bowser from 'bowser';
8
8
  import { createRoot } from 'react-dom/client';
9
9
  import { getLoginModalAnalyticsProperties } from '../utils.js';
10
- import Widget from './components/Widget/Widget.js';
11
10
  import { DEFAULT_PRIMARY_COLOR, DEFAULT_ON_PRIMARY_COLOR, PAGES, DEFAULT_LOGO_DARK, DEFAULT_LOGO_LIGHT } from './constants.js';
11
+ import Widget from './containers/Widget/Widget.js';
12
12
  import { AnalyticsContext } from './context/AnalyticsContext.js';
13
- import { ThemedContext } from './context/ThemeContext.js';
14
- import { MODAL_STATUS } from './interfaces.js';
13
+ import { WidgetProvider } from './context/WidgetContext.js';
14
+ import { MODAL_STATUS, DEFAULT_ACCOUNT_LINKING_STATE, ACCOUNT_LINKING_STATUS, ACCOUNT_LINKING_INTENT } from './interfaces.js';
15
15
  import i18nInstance from './localeImport.js';
16
16
  import { getUserLanguage } from './utils.js';
17
17
  import { jsx } from 'react/jsx-runtime';
@@ -38,15 +38,12 @@ class LoginModal {
38
38
  constructor(_uiConfig, callbacks) {
39
39
  _defineProperty(this, "uiConfig", void 0);
40
40
  _defineProperty(this, "stateEmitter", void 0);
41
- _defineProperty(this, "chainNamespaces", void 0);
42
- _defineProperty(this, "walletRegistry", void 0);
43
41
  _defineProperty(this, "callbacks", void 0);
44
42
  _defineProperty(this, "externalWalletsConfig", void 0);
45
43
  _defineProperty(this, "analytics", void 0);
44
+ _defineProperty(this, "modalStatus", MODAL_STATUS.INITIALIZED);
45
+ _defineProperty(this, "accountLinkingState", _objectSpread({}, DEFAULT_ACCOUNT_LINKING_STATE));
46
46
  _defineProperty(this, "initModal", async () => {
47
- const darkState = {
48
- isDark: this.isDark
49
- };
50
47
  const useLang = this.uiConfig.defaultLanguage || LANGUAGES.en;
51
48
 
52
49
  // Load new language resource
@@ -127,10 +124,7 @@ class LoginModal {
127
124
  this.stateEmitter.once("MOUNTED", () => {
128
125
  log.info("rendered");
129
126
  this.setState({
130
- status: MODAL_STATUS.INITIALIZED,
131
- web3authClientId: this.uiConfig.web3authClientId,
132
- web3authNetwork: this.uiConfig.web3authNetwork,
133
- authBuildEnv: this.uiConfig.authBuildEnv
127
+ status: MODAL_STATUS.INITIALIZED
134
128
  });
135
129
  return resolve();
136
130
  });
@@ -142,32 +136,29 @@ class LoginModal {
142
136
  throw WalletInitializationError.invalidParams(`Invalid widget type: ${this.uiConfig.widgetType}`);
143
137
  }
144
138
  const container = document.getElementById("w3a-parent-container");
145
- if (darkState.isDark) {
139
+ if (this.isDark) {
146
140
  container.classList.add("w3a--dark");
147
141
  } else {
148
142
  container.classList.remove("w3a--dark");
149
143
  }
150
144
  const root = createRoot(container);
151
- root.render(/*#__PURE__*/jsx(ThemedContext.Provider, {
152
- value: darkState,
153
- children: /*#__PURE__*/jsx(AnalyticsContext.Provider, {
154
- value: {
155
- analytics: this.analytics
156
- },
145
+ root.render(/*#__PURE__*/jsx(AnalyticsContext.Provider, {
146
+ value: {
147
+ analytics: this.analytics
148
+ },
149
+ children: /*#__PURE__*/jsx(WidgetProvider, {
150
+ isDark: this.isDark,
151
+ deviceDetails: this.deviceDetails,
152
+ uiConfig: this.uiConfig,
153
+ handleShowExternalWallets: this.handleShowExternalWallets,
154
+ handleExternalWalletClick: this.handleExternalWalletClick,
155
+ handleMobileVerifyConnect: this.handleMobileVerifyConnect,
156
+ handleSocialLoginClick: this.handleSocialLoginClick,
157
+ handleAcceptConsent: this.handleAcceptConsent,
158
+ handleDeclineConsent: this.handleDeclineConsent,
159
+ closeModal: this.closeModal,
157
160
  children: /*#__PURE__*/jsx(Widget, {
158
- stateListener: this.stateEmitter,
159
- appLogo: darkState.isDark ? this.uiConfig.logoDark : this.uiConfig.logoLight,
160
- appName: this.uiConfig.appName,
161
- chainNamespaces: this.chainNamespaces,
162
- walletRegistry: this.walletRegistry,
163
- deviceDetails: this.deviceDetails,
164
- handleShowExternalWallets: this.handleShowExternalWallets,
165
- handleExternalWalletClick: this.handleExternalWalletClick,
166
- handleMobileVerifyConnect: this.handleMobileVerifyConnect,
167
- handleSocialLoginClick: this.handleSocialLoginClick,
168
- closeModal: this.closeModal,
169
- uiConfig: this.uiConfig,
170
- initialAuthenticationMode: this.uiConfig.initialAuthenticationMode
161
+ stateListener: this.stateEmitter
171
162
  })
172
163
  })
173
164
  }));
@@ -185,19 +176,18 @@ class LoginModal {
185
176
  }
186
177
  });
187
178
  });
188
- _defineProperty(this, "addSocialLogins", (connector, loginMethods, loginMethodsOrder, uiConfig) => {
179
+ _defineProperty(this, "addSocialLogins", (loginMethods, loginMethodsOrder, uiConfig) => {
189
180
  this.setState({
190
181
  socialLoginsConfig: {
191
- connector,
192
182
  loginMethods,
193
183
  loginMethodsOrder,
194
184
  uiConfig
195
185
  }
196
186
  });
197
- log.info("addSocialLogins", connector, loginMethods, loginMethodsOrder, uiConfig);
187
+ log.info("addSocialLogins", loginMethods, loginMethodsOrder, uiConfig);
198
188
  });
199
189
  _defineProperty(this, "addWalletLogins", (externalWalletsConfig, options) => {
200
- this.externalWalletsConfig = externalWalletsConfig;
190
+ this.externalWalletsConfig = _objectSpread(_objectSpread({}, this.externalWalletsConfig), externalWalletsConfig);
201
191
  const isMMAvailable = !!externalWalletsConfig[WALLET_CONNECTORS.METAMASK];
202
192
  this.setState({
203
193
  externalWalletsConfig,
@@ -206,14 +196,120 @@ class LoginModal {
206
196
  externalWalletsVisibility: isMMAvailable ? false : !!options.externalWalletsVisibility
207
197
  });
208
198
  });
199
+ _defineProperty(this, "startAccountLinkingSession", params => {
200
+ var _params$transportConn, _params$intent;
201
+ this.updateAccountLinkingState(_objectSpread(_objectSpread({}, DEFAULT_ACCOUNT_LINKING_STATE), {}, {
202
+ active: true,
203
+ connectorName: params.connectorName,
204
+ transportConnectorName: (_params$transportConn = params.transportConnectorName) !== null && _params$transportConn !== void 0 ? _params$transportConn : params.connectorName,
205
+ chainId: params.chainId,
206
+ intent: (_params$intent = params.intent) !== null && _params$intent !== void 0 ? _params$intent : ACCOUNT_LINKING_INTENT.LINK,
207
+ status: ACCOUNT_LINKING_STATUS.INITIALIZING
208
+ }));
209
+ });
210
+ _defineProperty(this, "updateAccountLinkingState", accountLinking => {
211
+ this.accountLinkingState = _objectSpread(_objectSpread({}, this.accountLinkingState), accountLinking);
212
+ this.setState({
213
+ accountLinking: this.accountLinkingState
214
+ });
215
+ });
216
+ _defineProperty(this, "resetAccountLinkingSession", () => {
217
+ this.accountLinkingState = _objectSpread({}, DEFAULT_ACCOUNT_LINKING_STATE);
218
+ this.setState({
219
+ accountLinking: this.accountLinkingState
220
+ });
221
+ });
222
+ _defineProperty(this, "hasActiveAccountLinkingSession", () => {
223
+ return this.accountLinkingState.active;
224
+ });
225
+ _defineProperty(this, "startAccountLinkingPicker", params => {
226
+ this.accountLinkingState = _objectSpread(_objectSpread({}, DEFAULT_ACCOUNT_LINKING_STATE), {}, {
227
+ active: true,
228
+ pickerActive: true,
229
+ chainId: params.chainId,
230
+ intent: ACCOUNT_LINKING_INTENT.LINK
231
+ });
232
+ this.setState({
233
+ accountLinking: this.accountLinkingState,
234
+ currentPage: PAGES.WALLET_LIST,
235
+ modalVisibility: true,
236
+ status: MODAL_STATUS.INITIALIZED
237
+ });
238
+ if (this.callbacks.onModalVisibility) {
239
+ this.callbacks.onModalVisibility(true);
240
+ }
241
+ });
242
+ _defineProperty(this, "endAccountLinkingPicker", () => {
243
+ this.accountLinkingState = _objectSpread(_objectSpread({}, this.accountLinkingState), {}, {
244
+ pickerActive: false,
245
+ active: false
246
+ });
247
+ this.setState({
248
+ accountLinking: this.accountLinkingState
249
+ });
250
+ });
251
+ _defineProperty(this, "startConnectingLoader", params => {
252
+ this.setState({
253
+ status: MODAL_STATUS.CONNECTING,
254
+ modalVisibility: true,
255
+ detailedLoaderConnector: params.connector,
256
+ detailedLoaderConnectorName: params.connectorName
257
+ });
258
+ if (this.callbacks.onModalVisibility) {
259
+ this.callbacks.onModalVisibility(true);
260
+ }
261
+ });
262
+ _defineProperty(this, "markLoaderAuthorizing", () => {
263
+ this.setState({
264
+ status: MODAL_STATUS.AUTHORIZING
265
+ });
266
+ });
267
+ _defineProperty(this, "endConnectingLoader", params => {
268
+ if (params.success) {
269
+ var _params$successMessag;
270
+ if (params.skipSuccessScreen) {
271
+ this.setState({
272
+ modalVisibility: false
273
+ });
274
+ if (this.callbacks.onModalVisibility) {
275
+ this.callbacks.onModalVisibility(false);
276
+ }
277
+ return;
278
+ }
279
+ // Account-linking success is terminal regardless of authentication mode (no signing step),
280
+ // so emit the mode's terminal success status so the Loader renders the success UI and auto-closes:
281
+ // - CONNECT_AND_SIGN expects AUTHORIZED as terminal success.
282
+ // - Other modes expect CONNECTED.
283
+ const isConnectAndSign = this.uiConfig.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
284
+ this.setState({
285
+ status: isConnectAndSign ? MODAL_STATUS.AUTHORIZED : MODAL_STATUS.CONNECTED,
286
+ postLoadingMessage: (_params$successMessag = params.successMessage) !== null && _params$successMessag !== void 0 ? _params$successMessag : "modal.post-loading.connected"
287
+ });
288
+ return;
289
+ }
290
+ if (this.uiConfig.displayErrorsOnModal) {
291
+ this.setState({
292
+ modalVisibility: true,
293
+ status: MODAL_STATUS.ERRORED,
294
+ postLoadingMessage: params.errorMessage || "modal.post-loading.something-wrong"
295
+ });
296
+ } else {
297
+ this.setState({
298
+ modalVisibility: false
299
+ });
300
+ if (this.callbacks.onModalVisibility) {
301
+ this.callbacks.onModalVisibility(false);
302
+ }
303
+ }
304
+ });
209
305
  _defineProperty(this, "open", () => {
210
- var _this$analytics, _this$walletRegistry, _this$walletRegistry2;
306
+ var _this$analytics, _this$uiConfig$wallet, _this$uiConfig$wallet2;
211
307
  this.setState({
212
308
  modalVisibility: true
213
309
  });
214
310
  (_this$analytics = this.analytics) === null || _this$analytics === void 0 || _this$analytics.track(ANALYTICS_EVENTS.LOGIN_MODAL_OPENED, _objectSpread(_objectSpread({
215
- chain_namespaces: this.chainNamespaces,
216
- wallet_registry_count: Object.keys((_this$walletRegistry = this.walletRegistry) === null || _this$walletRegistry === void 0 ? void 0 : _this$walletRegistry.default).length + Object.keys((_this$walletRegistry2 = this.walletRegistry) === null || _this$walletRegistry2 === void 0 ? void 0 : _this$walletRegistry2.others).length,
311
+ chain_namespaces: this.uiConfig.chainNamespaces,
312
+ wallet_registry_count: Object.keys((_this$uiConfig$wallet = this.uiConfig.walletRegistry) === null || _this$uiConfig$wallet === void 0 ? void 0 : _this$uiConfig$wallet.default).length + Object.keys((_this$uiConfig$wallet2 = this.uiConfig.walletRegistry) === null || _this$uiConfig$wallet2 === void 0 ? void 0 : _this$uiConfig$wallet2.others).length,
217
313
  external_wallet_connectors: Object.keys(this.externalWalletsConfig || {})
218
314
  }, getWhitelabelAnalyticsProperties(this.uiConfig)), getLoginModalAnalyticsProperties(this.uiConfig)));
219
315
  if (this.callbacks.onModalVisibility) {
@@ -269,27 +365,32 @@ class LoginModal {
269
365
  });
270
366
  }
271
367
  });
368
+ _defineProperty(this, "handleAcceptConsent", () => {
369
+ return this.callbacks.onAcceptConsent();
370
+ });
371
+ _defineProperty(this, "handleDeclineConsent", () => {
372
+ return this.callbacks.onDeclineConsent();
373
+ });
272
374
  _defineProperty(this, "handleSocialLoginClick", params => {
273
375
  var _this$analytics3;
274
376
  log.info("social login clicked", params);
275
377
  const {
276
- connector,
277
378
  loginParams
278
379
  } = params;
279
380
  (_this$analytics3 = this.analytics) === null || _this$analytics3 === void 0 || _this$analytics3.track(ANALYTICS_EVENTS.SOCIAL_LOGIN_SELECTED, {
280
- connector,
381
+ connector: WALLET_CONNECTORS.AUTH,
281
382
  auth_connection: loginParams.authConnection,
282
383
  auth_connection_id: loginParams.authConnectionId,
283
384
  group_auth_connection_id: loginParams.groupedAuthConnectionId
284
385
  });
285
386
  if (this.callbacks.onSocialLogin) {
286
387
  this.callbacks.onSocialLogin({
287
- connector,
288
388
  loginParams
289
389
  });
290
390
  }
291
391
  });
292
392
  _defineProperty(this, "setState", newState => {
393
+ if (newState.status) this.modalStatus = newState.status;
293
394
  this.stateEmitter.emit("STATE_UPDATED", newState);
294
395
  });
295
396
  _defineProperty(this, "handleConnectorData", connectorData => {
@@ -326,13 +427,14 @@ class LoginModal {
326
427
  });
327
428
  listener.on(CONNECTOR_EVENTS.CONNECTED, data => {
328
429
  log.debug("connected with connector", data);
430
+ if (data.pendingUserConsent) return;
329
431
  // only show success if not being reconnected again.
330
432
  if (!data.reconnected && data.loginMode === LOGIN_MODE.MODAL) {
331
433
  this.setState({
332
434
  status: MODAL_STATUS.CONNECTED,
333
435
  modalVisibility: true,
334
436
  postLoadingMessage: "modal.post-loading.connected",
335
- currentPage: PAGES.LOGIN
437
+ currentPage: PAGES.LOGIN_OPTIONS
336
438
  });
337
439
  } else {
338
440
  this.setState({
@@ -370,15 +472,44 @@ class LoginModal {
370
472
  this.handleConnectorData(connectorData);
371
473
  });
372
474
  listener.on(CONNECTOR_EVENTS.AUTHORIZING, () => {
475
+ if (this.modalStatus === MODAL_STATUS.CONSENT_REQUIRING) return;
373
476
  this.setState({
374
477
  status: MODAL_STATUS.AUTHORIZING
375
478
  });
376
479
  });
377
480
  listener.on(CONNECTOR_EVENTS.AUTHORIZED, () => {
481
+ if (this.modalStatus === MODAL_STATUS.CONSENT_REQUIRING) return;
482
+ this.setState({
483
+ status: MODAL_STATUS.AUTHORIZED,
484
+ postLoadingMessage: ""
485
+ });
486
+ });
487
+ listener.on(CONNECTOR_EVENTS.CONSENT_REQUIRING, () => {
378
488
  this.setState({
379
- status: MODAL_STATUS.AUTHORIZED
489
+ status: MODAL_STATUS.CONSENT_REQUIRING,
490
+ modalVisibility: true
380
491
  });
381
492
  });
493
+ listener.on(CONNECTOR_EVENTS.CONSENT_ACCEPTED, data => {
494
+ if (this.uiConfig.initialAuthenticationMode === CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN) {
495
+ this.setState({
496
+ status: MODAL_STATUS.AUTHORIZED,
497
+ modalVisibility: true,
498
+ postLoadingMessage: ""
499
+ });
500
+ } else if (!data.reconnected) {
501
+ this.setState({
502
+ status: MODAL_STATUS.CONNECTED,
503
+ modalVisibility: true,
504
+ postLoadingMessage: "modal.post-loading.connected",
505
+ currentPage: PAGES.LOGIN_OPTIONS
506
+ });
507
+ } else {
508
+ this.setState({
509
+ status: MODAL_STATUS.CONNECTED
510
+ });
511
+ }
512
+ });
382
513
  });
383
514
  this.uiConfig = _uiConfig;
384
515
  if (!_uiConfig.logoDark) this.uiConfig.logoDark = DEFAULT_LOGO_DARK;
@@ -391,18 +522,27 @@ class LoginModal {
391
522
  if (!_uiConfig.primaryButton) this.uiConfig.primaryButton = "socialLogin";
392
523
  if (!_uiConfig.defaultLanguage) this.uiConfig.defaultLanguage = getUserLanguage(_uiConfig.defaultLanguage);
393
524
  if (!_uiConfig.widgetType) this.uiConfig.widgetType = WIDGET_TYPE.MODAL;
394
- if (!_uiConfig.initialAuthenticationMode) this.uiConfig.initialAuthenticationMode = CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_ONLY;
525
+ if (!_uiConfig.initialAuthenticationMode) this.uiConfig.initialAuthenticationMode = CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN;
526
+ if (!_uiConfig.buttonRadiusType) this.uiConfig.buttonRadiusType = "pill";
527
+ if (!_uiConfig.logoAlignment) this.uiConfig.logoAlignment = "center";
528
+ if (typeof _uiConfig.displayInstalledExternalWallets === "undefined") this.uiConfig.displayInstalledExternalWallets = true;
529
+ if (typeof _uiConfig.displayExternalWalletsCount === "undefined") this.uiConfig.displayExternalWalletsCount = true;
530
+ if (typeof _uiConfig.hideSuccessScreen === "undefined") this.uiConfig.hideSuccessScreen = false;
531
+ if (!_uiConfig.privacyPolicy) this.uiConfig.privacyPolicy = "";
532
+ if (!_uiConfig.tncLink) this.uiConfig.tncLink = "";
395
533
  if (_uiConfig.widgetType === WIDGET_TYPE.EMBED && !_uiConfig.targetId) {
396
534
  log.error("targetId is required for embed widget");
397
535
  throw WalletInitializationError.invalidParams("targetId is required for embed widget");
398
536
  }
399
537
  this.stateEmitter = new SafeEventEmitter();
400
- this.chainNamespaces = _uiConfig.chainNamespaces;
401
- this.walletRegistry = _uiConfig.walletRegistry;
402
538
  this.callbacks = callbacks;
403
539
  this.analytics = _uiConfig.analytics;
404
540
  this.subscribeCoreEvents(this.uiConfig.connectorListener);
405
541
  }
542
+ get consentRequired() {
543
+ // consent required is true if the consent required is true and the privacy policy and tnc link are set
544
+ return this.uiConfig.consentRequired && Boolean(this.uiConfig.privacyPolicy) && Boolean(this.uiConfig.tncLink) || false;
545
+ }
406
546
  get isDark() {
407
547
  return this.uiConfig.mode === "dark" || this.uiConfig.mode === "auto" && window.matchMedia("(prefers-color-scheme: dark)").matches;
408
548
  }
@@ -1,6 +1,6 @@
1
- import { WalletServicesPluginError, EVM_PLUGINS, CONNECTOR_STATUS, PLUGIN_EVENTS } from '@web3auth/no-modal';
2
- import { WalletServicesContextKey } from '@web3auth/no-modal/vue';
3
- import { defineComponent, h, shallowRef, ref, watch, provide } from 'vue';
1
+ import { WalletServicesPluginError } from '@web3auth/no-modal';
2
+ import { useWalletServicesInnerContextValue, WalletServicesContextKey } from '@web3auth/no-modal/vue';
3
+ import { defineComponent, h, provide } from 'vue';
4
4
  import { useWeb3AuthInner } from './composables/useWeb3AuthInner.js';
5
5
 
6
6
  const WalletServicesInnerProvider = defineComponent({
@@ -8,57 +8,8 @@ const WalletServicesInnerProvider = defineComponent({
8
8
  setup() {
9
9
  const web3AuthContext = useWeb3AuthInner();
10
10
  if (!web3AuthContext) throw WalletServicesPluginError.fromCode(1000, "`WalletServicesProvider` must be wrapped by `Web3AuthProvider`");
11
- const {
12
- getPlugin,
13
- isInitialized,
14
- isConnected
15
- } = web3AuthContext;
16
- const walletServicesPlugin = shallowRef(null);
17
- const ready = ref(false);
18
- const connecting = ref(false);
19
- watch(isInitialized, newIsInitialized => {
20
- if (newIsInitialized) {
21
- const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
22
- walletServicesPlugin.value = plugin;
23
- }
24
- });
25
- watch(isConnected, newIsConnected => {
26
- if (newIsConnected) {
27
- var _walletServicesPlugin;
28
- const plugin = getPlugin(EVM_PLUGINS.WALLET_SERVICES);
29
- walletServicesPlugin.value = plugin;
30
- // when rehydrating, the connectedListener may be registered after the connected event is emitted, we need to check the status here
31
- if (((_walletServicesPlugin = walletServicesPlugin.value) === null || _walletServicesPlugin === void 0 ? void 0 : _walletServicesPlugin.status) === CONNECTOR_STATUS.CONNECTED) ready.value = true;
32
- }
33
- });
34
- watch(walletServicesPlugin, (newWalletServicesPlugin, prevWalletServicesPlugin) => {
35
- const connectedListener = () => {
36
- ready.value = true;
37
- };
38
- const disconnectedListener = () => {
39
- ready.value = false;
40
- };
41
- const connectingListener = () => {
42
- connecting.value = true;
43
- };
44
-
45
- // unregister previous listeners
46
- if (prevWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
47
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTED, connectedListener);
48
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
49
- prevWalletServicesPlugin.removeListener(PLUGIN_EVENTS.CONNECTING, connectingListener);
50
- }
51
- if (newWalletServicesPlugin && newWalletServicesPlugin !== prevWalletServicesPlugin) {
52
- newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTED, connectedListener);
53
- newWalletServicesPlugin.on(PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
54
- newWalletServicesPlugin.on(PLUGIN_EVENTS.CONNECTING, connectingListener);
55
- }
56
- });
57
- provide(WalletServicesContextKey, {
58
- plugin: walletServicesPlugin,
59
- ready,
60
- connecting
61
- });
11
+ const value = useWalletServicesInnerContextValue(web3AuthContext);
12
+ provide(WalletServicesContextKey, value);
62
13
  },
63
14
  render() {
64
15
  var _this$$slots$default;
@@ -1,5 +1,6 @@
1
- import { ANALYTICS_INTEGRATION_TYPE, log, CONNECTOR_EVENTS, Web3AuthContextKey, CONNECTOR_STATUS, WalletInitializationError } from '@web3auth/no-modal';
2
- import { defineComponent, h, shallowRef, ref, watch, provide } from 'vue';
1
+ import { Web3AuthContextKey } from '@web3auth/no-modal';
2
+ import { useWeb3AuthInnerContextValue } from '@web3auth/no-modal/vue';
3
+ import { defineComponent, h, shallowRef, provide } from 'vue';
3
4
  import { Web3Auth } from '../modalManager.js';
4
5
  import { WalletServicesInnerProvider } from './WalletServicesInnerProvider.js';
5
6
 
@@ -12,181 +13,13 @@ const Web3AuthProvider = defineComponent({
12
13
  }
13
14
  },
14
15
  setup(props) {
15
- const web3Auth = shallowRef(null);
16
- const provider = ref(null);
17
- const isMFAEnabled = ref(false);
18
- const status = ref(null);
19
- const isAuthorized = ref(false);
20
- const chainId = ref(null);
21
- const chainNamespace = ref(null);
22
- const isInitializing = ref(false);
23
- const initError = ref(null);
24
- const isInitialized = ref(false);
25
- const isConnected = ref(false);
26
- const getPlugin = name => {
27
- if (!web3Auth.value) throw WalletInitializationError.notReady();
28
- return web3Auth.value.getPlugin(name);
29
- };
30
- const setIsMFAEnabled = isMfaEnabled => {
31
- isMFAEnabled.value = isMfaEnabled;
32
- };
33
- watch(() => props.config, (newConfig, _, onInvalidate) => {
34
- const resetHookState = () => {
35
- provider.value = null;
36
- isMFAEnabled.value = false;
37
- isConnected.value = false;
38
- isAuthorized.value = false;
39
- status.value = null;
40
- chainId.value = null;
41
- chainNamespace.value = null;
42
- };
43
- onInvalidate(() => {
44
- if (web3Auth.value) {
45
- web3Auth.value.cleanup();
46
- }
47
- });
48
- resetHookState();
49
- const {
50
- web3AuthOptions
51
- } = newConfig;
52
- const web3AuthInstance = new Web3Auth(web3AuthOptions);
53
- web3AuthInstance.setAnalyticsProperties({
54
- integration_type: ANALYTICS_INTEGRATION_TYPE.VUE_COMPOSABLES
55
- });
56
- web3Auth.value = web3AuthInstance;
57
- }, {
58
- immediate: true
59
- });
60
- watch(web3Auth, async (newWeb3Auth, _, onInvalidate) => {
61
- const controller = new AbortController();
62
-
63
- // Invalidate the controller here before calling any async methods.
64
- onInvalidate(() => {
65
- controller.abort();
66
- });
67
- if (newWeb3Auth) {
68
- try {
69
- initError.value = null;
70
- isInitializing.value = true;
71
- await newWeb3Auth.init({
72
- signal: controller.signal
73
- });
74
- } catch (error) {
75
- log.error("Error initializing web3auth", error);
76
- initError.value = error;
77
- } finally {
78
- isInitializing.value = false;
79
- }
80
- }
81
- }, {
82
- immediate: true
83
- });
84
- watch(web3Auth, (newWeb3Auth, prevWeb3Auth) => {
85
- const notReadyListener = () => {
86
- status.value = web3Auth.value.status;
87
- };
88
- const readyListener = () => {
89
- status.value = web3Auth.value.status;
90
- isInitialized.value = true;
91
- };
92
- const connectedListener = () => {
93
- status.value = web3Auth.value.status;
94
- // we do this because of rehydration issues. status connected is fired first but web3auth sdk is not ready yet.
95
- if (web3Auth.value.status === CONNECTOR_STATUS.CONNECTED) {
96
- var _currentChain$chainNa, _currentChain;
97
- if (!isInitialized.value) isInitialized.value = true;
98
- isConnected.value = true;
99
- provider.value = newWeb3Auth.provider;
100
- chainId.value = web3Auth.value.currentChainId;
101
- chainNamespace.value = (_currentChain$chainNa = (_currentChain = web3Auth.value.currentChain) === null || _currentChain === void 0 ? void 0 : _currentChain.chainNamespace) !== null && _currentChain$chainNa !== void 0 ? _currentChain$chainNa : null;
102
- }
103
- };
104
- const disconnectedListener = () => {
105
- status.value = web3Auth.value.status;
106
- isConnected.value = false;
107
- provider.value = null;
108
- isMFAEnabled.value = false;
109
- isAuthorized.value = false;
110
- };
111
- const connectingListener = () => {
112
- status.value = web3Auth.value.status;
113
- };
114
- const errorListener = () => {
115
- status.value = web3Auth.value.status;
116
- };
117
- const authorizedListener = () => {
118
- status.value = web3Auth.value.status;
119
- if (web3Auth.value.status === CONNECTOR_STATUS.AUTHORIZED) {
120
- isConnected.value = true;
121
- isAuthorized.value = true;
122
- }
123
- };
124
- const mfaEnabledListener = () => {
125
- isMFAEnabled.value = true;
126
- };
127
-
128
- // unregister previous listeners
129
- if (prevWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
130
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
131
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.READY, readyListener);
132
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTED, connectedListener);
133
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
134
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
135
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.CONNECTING, connectingListener);
136
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.ERRORED, errorListener);
137
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
138
- prevWeb3Auth.removeListener(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
139
- }
140
- if (newWeb3Auth && newWeb3Auth !== prevWeb3Auth) {
141
- status.value = newWeb3Auth.status;
142
- // web3Auth is initialized here.
143
- newWeb3Auth.on(CONNECTOR_EVENTS.NOT_READY, notReadyListener);
144
- newWeb3Auth.on(CONNECTOR_EVENTS.READY, readyListener);
145
- newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTED, connectedListener);
146
- newWeb3Auth.on(CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
147
- newWeb3Auth.on(CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
148
- newWeb3Auth.on(CONNECTOR_EVENTS.CONNECTING, connectingListener);
149
- newWeb3Auth.on(CONNECTOR_EVENTS.ERRORED, errorListener);
150
- newWeb3Auth.on(CONNECTOR_EVENTS.REHYDRATION_ERROR, errorListener);
151
- newWeb3Auth.on(CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
152
- }
153
- }, {
154
- immediate: true
155
- });
156
-
157
- // Listen for chain changes on the provider
158
- watch(provider, (newProvider, prevProvider) => {
159
- const handleChainChange = newChainId => {
160
- var _web3Auth$value$curre, _web3Auth$value;
161
- chainId.value = newChainId;
162
- chainNamespace.value = (_web3Auth$value$curre = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 || (_web3Auth$value = _web3Auth$value.currentChain) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.chainNamespace) !== null && _web3Auth$value$curre !== void 0 ? _web3Auth$value$curre : null;
163
- };
164
-
165
- // unregister previous listener
166
- if (prevProvider && newProvider !== prevProvider) {
167
- prevProvider.removeListener("chainChanged", handleChainChange);
168
- }
169
- if (newProvider && newProvider !== prevProvider) {
170
- newProvider.on("chainChanged", handleChainChange);
171
- }
172
- }, {
173
- immediate: true
174
- });
175
- provide(Web3AuthContextKey, {
176
- web3Auth,
177
- isConnected,
178
- isAuthorized,
179
- isInitialized,
180
- provider,
181
- status,
182
- isInitializing,
183
- initError,
184
- isMFAEnabled,
185
- chainId,
186
- chainNamespace,
187
- getPlugin,
188
- setIsMFAEnabled
16
+ const value = useWeb3AuthInnerContextValue({
17
+ Web3AuthConstructor: Web3Auth,
18
+ watchSource: () => props.config,
19
+ getWeb3AuthOptions: config => config.web3AuthOptions,
20
+ createConnectionRef: () => shallowRef(null)
189
21
  });
22
+ provide(Web3AuthContextKey, value);
190
23
  },
191
24
  render() {
192
25
  var _this$$slots$default;