@dynamic-labs/sdk-react-core 0.19.0-alpha.7 → 0.19.0-alpha.9

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 (451) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +10 -10
  5. package/src/index.cjs +14 -5
  6. package/src/index.d.ts +2 -2
  7. package/src/index.js +8 -3
  8. package/src/lib/Main.cjs +3 -1
  9. package/src/lib/Main.js +3 -1
  10. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +3 -3
  11. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +3 -3
  12. package/src/lib/components/Divider/Divider.cjs +1 -1
  13. package/src/lib/components/Divider/Divider.js +1 -1
  14. package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +1 -0
  15. package/src/lib/components/IconWithSpinner/IconWithSpinner.js +1 -0
  16. package/src/lib/components/IconWithSpinner/Indicator/Indicator.cjs +1 -0
  17. package/src/lib/components/IconWithSpinner/Indicator/Indicator.js +1 -0
  18. package/src/lib/components/IconWithSpinner/Spinner/Spinner.cjs +1 -0
  19. package/src/lib/components/IconWithSpinner/Spinner/Spinner.js +1 -0
  20. package/src/lib/components/IconWithStatus/IconWithStatus.cjs +4 -3
  21. package/src/lib/components/IconWithStatus/IconWithStatus.d.ts +2 -2
  22. package/src/lib/components/IconWithStatus/IconWithStatus.js +4 -3
  23. package/src/lib/components/MockedQrCode/MockedQrCode.cjs +1 -1
  24. package/src/lib/components/MockedQrCode/MockedQrCode.js +1 -1
  25. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +1 -1
  26. package/src/lib/components/NetworkPicker/NetworkPicker.js +1 -1
  27. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +1 -1
  28. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +1 -1
  29. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +1 -1
  30. package/src/lib/components/NetworkPicker/components/Network/Network.js +1 -1
  31. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +1 -1
  32. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +1 -1
  33. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +1 -1
  34. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +1 -1
  35. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +2 -2
  36. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.d.ts +1 -1
  37. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +2 -2
  38. package/src/lib/components/SignMessagePreview/SignMessagePreview.cjs +27 -0
  39. package/src/lib/components/SignMessagePreview/SignMessagePreview.d.ts +6 -0
  40. package/src/lib/components/SignMessagePreview/SignMessagePreview.js +23 -0
  41. package/src/lib/components/SignMessagePreview/SignMessagePreview.types.d.ts +8 -0
  42. package/src/lib/components/SignMessagePreview/components/SignTypedDataPreview/SignTypedDataPreview.cjs +44 -0
  43. package/src/lib/components/SignMessagePreview/components/SignTypedDataPreview/SignTypedDataPreview.d.ts +8 -0
  44. package/src/lib/components/SignMessagePreview/components/SignTypedDataPreview/SignTypedDataPreview.js +40 -0
  45. package/src/lib/components/SignMessagePreview/components/SignTypedDataPreview/index.d.ts +1 -0
  46. package/src/lib/components/SignMessagePreview/components/index.d.ts +1 -0
  47. package/src/lib/components/SignMessagePreview/index.d.ts +1 -0
  48. package/src/lib/components/SignMessagePreview/utils/index.d.ts +1 -0
  49. package/src/lib/components/SignMessagePreview/utils/isSignTypedData/index.d.ts +1 -0
  50. package/src/lib/components/SignMessagePreview/utils/isSignTypedData/isSignTypedData.cjs +17 -0
  51. package/src/lib/components/SignMessagePreview/utils/isSignTypedData/isSignTypedData.d.ts +2 -0
  52. package/src/lib/components/SignMessagePreview/utils/isSignTypedData/isSignTypedData.js +13 -0
  53. package/src/lib/components/SocialSignIn/SocialSignIn.cjs +26 -14
  54. package/src/lib/components/SocialSignIn/SocialSignIn.d.ts +8 -7
  55. package/src/lib/components/SocialSignIn/SocialSignIn.js +26 -14
  56. package/src/lib/components/Toolkit/Toolkit.cjs +2 -1
  57. package/src/lib/components/Toolkit/Toolkit.js +2 -1
  58. package/src/lib/components/Toolkit/components/MultiWalletSwitch.cjs +1 -1
  59. package/src/lib/components/Toolkit/components/MultiWalletSwitch.d.ts +1 -2
  60. package/src/lib/components/Toolkit/components/MultiWalletSwitch.js +1 -1
  61. package/src/lib/components/TransactionOriginDestination/TransactionOriginDestination.d.ts +1 -1
  62. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -1
  63. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -1
  64. package/src/lib/components/UserAvatar/UserAvatar.cjs +22 -0
  65. package/src/lib/components/UserAvatar/UserAvatar.d.ts +7 -0
  66. package/src/lib/components/UserAvatar/UserAvatar.js +18 -0
  67. package/src/lib/components/UserProfile/UserProfile.cjs +12 -2
  68. package/src/lib/components/UserProfile/UserProfile.js +12 -2
  69. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  70. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  71. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -1
  72. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +1 -1
  73. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +16 -14
  74. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +16 -14
  75. package/src/lib/components/UserProfileForm/UserProfileForm.cjs +1 -0
  76. package/src/lib/components/UserProfileForm/UserProfileForm.js +1 -0
  77. package/src/lib/components/index.d.ts +1 -0
  78. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -3
  79. package/src/lib/context/DynamicContext/DynamicContext.js +2 -3
  80. package/src/lib/context/DynamicContext/helpers.cjs +22 -10
  81. package/src/lib/context/DynamicContext/helpers.d.ts +4 -2
  82. package/src/lib/context/DynamicContext/helpers.js +20 -10
  83. package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.cjs +1 -0
  84. package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.js +1 -0
  85. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +1 -0
  86. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +1 -0
  87. package/src/lib/context/ErrorContext/ErrorContext.cjs +4 -1
  88. package/src/lib/context/ErrorContext/ErrorContext.js +4 -1
  89. package/src/lib/context/FundingContext/FundingContext.cjs +1 -0
  90. package/src/lib/context/FundingContext/FundingContext.js +1 -0
  91. package/src/lib/context/MockContext/MockContext.cjs +1 -1
  92. package/src/lib/context/MockContext/MockContext.js +1 -1
  93. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +7 -4
  94. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.d.ts +5 -5
  95. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +7 -4
  96. package/src/lib/context/ViewContext/ViewContext.cjs +4 -19
  97. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  98. package/src/lib/context/ViewContext/ViewContext.js +5 -20
  99. package/src/lib/context/WalletContext/WalletContext.cjs +1 -1
  100. package/src/lib/context/WalletContext/WalletContext.js +1 -1
  101. package/src/lib/data/api.cjs +67 -29
  102. package/src/lib/data/api.d.ts +6 -3
  103. package/src/lib/data/api.js +68 -31
  104. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +5 -2
  105. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +5 -2
  106. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +1 -1
  107. package/src/lib/layout/DynamicAuthLayout/Header/header.js +1 -1
  108. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpContent.cjs +5 -0
  109. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpContent.js +5 -0
  110. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +4 -3
  111. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +4 -3
  112. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.cjs +61 -0
  113. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.d.ts +1 -0
  114. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.js +57 -0
  115. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/index.d.ts +1 -0
  116. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +1 -1
  117. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +1 -1
  118. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +1 -1
  119. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +1 -1
  120. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +3 -3
  121. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +3 -3
  122. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +1 -1
  123. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +1 -1
  124. package/src/lib/layout/DynamicAuthLayout/HelpContent/index.d.ts +1 -0
  125. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +1 -1
  126. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +1 -1
  127. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +1 -1
  128. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +1 -1
  129. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -1
  130. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -1
  131. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -1
  132. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -1
  133. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -1
  134. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -1
  135. package/src/lib/locale/en/translation.cjs +43 -5
  136. package/src/lib/locale/en/translation.js +41 -6
  137. package/src/lib/locale/locale.cjs +17 -4
  138. package/src/lib/locale/locale.d.ts +1 -0
  139. package/src/lib/locale/locale.js +17 -4
  140. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -1
  141. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -1
  142. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +3 -2
  143. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +3 -2
  144. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +1 -1
  145. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +1 -1
  146. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.cjs +1 -1
  147. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.js +1 -1
  148. package/src/lib/shared/assets/android-face-id.cjs +61 -0
  149. package/src/lib/shared/assets/android-face-id.js +37 -0
  150. package/src/lib/shared/assets/index.d.ts +6 -0
  151. package/src/lib/shared/assets/iphone-face-id.cjs +53 -0
  152. package/src/lib/shared/assets/iphone-face-id.js +29 -0
  153. package/src/lib/shared/assets/iphone-touch-id.cjs +72 -0
  154. package/src/lib/shared/assets/iphone-touch-id.js +48 -0
  155. package/src/lib/shared/assets/passkey-intro-icon.cjs +97 -0
  156. package/src/lib/shared/assets/passkey-intro-icon.js +73 -0
  157. package/src/lib/shared/assets/passkey-success-icon.cjs +94 -0
  158. package/src/lib/shared/assets/passkey-success-icon.js +70 -0
  159. package/src/lib/shared/assets/user-account-2.cjs +53 -0
  160. package/src/lib/shared/assets/user-account-2.js +29 -0
  161. package/src/lib/shared/types/index.d.ts +5 -0
  162. package/src/lib/shared/utils/functions/wallet/createWallet.cjs +7 -5
  163. package/src/lib/shared/utils/functions/wallet/createWallet.js +7 -5
  164. package/src/lib/styles/index.shadow.cjs +1 -1
  165. package/src/lib/styles/index.shadow.js +1 -1
  166. package/src/lib/utils/constants/localStorage.cjs +4 -2
  167. package/src/lib/utils/constants/localStorage.d.ts +2 -1
  168. package/src/lib/utils/constants/localStorage.js +3 -2
  169. package/src/lib/utils/functions/getActiveOauthCredential/getActiveOauthCredential.cjs +11 -0
  170. package/src/lib/utils/functions/getActiveOauthCredential/getActiveOauthCredential.d.ts +2 -0
  171. package/src/lib/utils/functions/getActiveOauthCredential/getActiveOauthCredential.js +7 -0
  172. package/src/lib/utils/functions/getActiveOauthCredential/index.d.ts +1 -0
  173. package/src/lib/utils/functions/getEnabledSocialSignInProvidersAsProviderEnum/getEnabledSocialSignInProvidersAsProviderEnum.d.ts +2 -0
  174. package/src/lib/utils/functions/getEnabledSocialSignInProvidersAsProviderEnum/index.d.ts +1 -0
  175. package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.cjs +72 -0
  176. package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.d.ts +2 -0
  177. package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.js +68 -0
  178. package/src/lib/utils/functions/getOauthLoginUrl/index.d.ts +1 -0
  179. package/src/lib/utils/functions/getProviderEnumForSocialSignInProvider/getProviderEnumForSocialSignInProvider.cjs +19 -0
  180. package/src/lib/utils/functions/getProviderEnumForSocialSignInProvider/getProviderEnumForSocialSignInProvider.d.ts +2 -0
  181. package/src/lib/utils/functions/getProviderEnumForSocialSignInProvider/getProviderEnumForSocialSignInProvider.js +15 -0
  182. package/src/lib/utils/functions/getProviderEnumForSocialSignInProvider/index.d.ts +1 -0
  183. package/src/lib/utils/functions/getSocialSignInProviderForProviderEnum/getSocialSignInProviderForProviderEnum.cjs +19 -0
  184. package/src/lib/utils/functions/getSocialSignInProviderForProviderEnum/getSocialSignInProviderForProviderEnum.d.ts +2 -0
  185. package/src/lib/utils/functions/getSocialSignInProviderForProviderEnum/getSocialSignInProviderForProviderEnum.js +15 -0
  186. package/src/lib/utils/functions/getSocialSignInProviderForProviderEnum/index.d.ts +1 -0
  187. package/src/lib/utils/functions/getSocialSignInProviderFromString/getSocialSignInProviderFromString.cjs +19 -0
  188. package/src/lib/utils/functions/getSocialSignInProviderFromString/getSocialSignInProviderFromString.d.ts +2 -0
  189. package/src/lib/utils/functions/getSocialSignInProviderFromString/getSocialSignInProviderFromString.js +15 -0
  190. package/src/lib/utils/functions/getSocialSignInProviderFromString/index.d.ts +1 -0
  191. package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.d.ts +1 -1
  192. package/src/lib/utils/functions/getWalletProvider/getWalletProvider.cjs +3 -0
  193. package/src/lib/utils/functions/getWalletProvider/getWalletProvider.js +3 -0
  194. package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.cjs +1 -0
  195. package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.js +1 -0
  196. package/src/lib/utils/functions/index.d.ts +6 -0
  197. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +8 -23
  198. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +9 -24
  199. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +1 -1
  200. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +1 -1
  201. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +7 -3
  202. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +7 -3
  203. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +4 -3
  204. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +5 -4
  205. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +1 -0
  206. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +1 -0
  207. package/src/lib/utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.cjs +1 -0
  208. package/src/lib/utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.js +1 -0
  209. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +10 -5
  210. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.d.ts +3 -1
  211. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +10 -5
  212. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.cjs +11 -1
  213. package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.js +11 -1
  214. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +15 -1
  215. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +15 -1
  216. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.cjs +1 -0
  217. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.js +1 -0
  218. package/src/lib/utils/hooks/useMultiWalletFlag/useMultiWalletFlag.cjs +0 -4
  219. package/src/lib/utils/hooks/useMultiWalletFlag/useMultiWalletFlag.js +0 -4
  220. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +1 -0
  221. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +1 -0
  222. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +15 -165
  223. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +2 -2
  224. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +17 -167
  225. package/src/lib/utils/hooks/useSocialAuth/index.d.ts +1 -0
  226. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +277 -0
  227. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +20 -0
  228. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +273 -0
  229. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +1 -0
  230. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +1 -0
  231. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +14 -3
  232. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +14 -3
  233. package/src/lib/utils/hooks/useWalletConnectors/reconnectSocialWallet.cjs +1 -0
  234. package/src/lib/utils/hooks/useWalletConnectors/reconnectSocialWallet.js +1 -0
  235. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs +1 -0
  236. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js +1 -0
  237. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -1
  238. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -1
  239. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +1 -1
  240. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +1 -1
  241. package/src/lib/utils/hooks/useWallets/useWallets.cjs +15 -26
  242. package/src/lib/utils/hooks/useWallets/useWallets.js +16 -27
  243. package/src/lib/utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +1 -0
  244. package/src/lib/utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +1 -0
  245. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +1 -0
  246. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +1 -0
  247. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +5 -3
  248. package/src/lib/views/AccountExistsView/AccountExistsView.js +5 -3
  249. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
  250. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
  251. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +1 -1
  252. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +1 -1
  253. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -1
  254. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -1
  255. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
  256. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
  257. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +1 -1
  258. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +1 -1
  259. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +4 -3
  260. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +4 -3
  261. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +1 -1
  262. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +1 -1
  263. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +1 -0
  264. package/src/lib/views/EmailUpdate/EmailUpdate.js +1 -0
  265. package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -0
  266. package/src/lib/views/EmailVerification/EmailVerification.js +1 -0
  267. package/src/lib/views/LoginView/LoginView.cjs +1 -1
  268. package/src/lib/views/LoginView/LoginView.js +1 -1
  269. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +12 -4
  270. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +12 -4
  271. package/src/lib/views/LoginView/sections/LoginWidget.d.ts +5 -0
  272. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +77 -0
  273. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.d.ts +3 -0
  274. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +73 -0
  275. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/index.d.ts +1 -0
  276. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +4 -3
  277. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.d.ts +2 -1
  278. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +4 -3
  279. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.cjs +19 -4
  280. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.d.ts +6 -1
  281. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.js +19 -4
  282. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +1 -1
  283. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +1 -1
  284. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.cjs +4 -3
  285. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.js +4 -3
  286. package/src/lib/views/LoginView/useLoginView.cjs +9 -10
  287. package/src/lib/views/LoginView/useLoginView.js +9 -10
  288. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +2 -1
  289. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +2 -1
  290. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +2 -2
  291. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +2 -2
  292. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -2
  293. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -2
  294. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  295. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  296. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +3 -3
  297. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +3 -3
  298. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +1 -1
  299. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +1 -1
  300. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.cjs +90 -0
  301. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.d.ts +2 -0
  302. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.js +86 -0
  303. package/src/lib/views/PasskeyIntroView/index.d.ts +1 -0
  304. package/src/lib/views/PasskeySuccessView/PasskeySuccessView.cjs +63 -0
  305. package/src/lib/views/PasskeySuccessView/PasskeySuccessView.d.ts +2 -0
  306. package/src/lib/views/PasskeySuccessView/PasskeySuccessView.js +59 -0
  307. package/src/lib/views/PasskeySuccessView/index.d.ts +1 -0
  308. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +2 -2
  309. package/src/lib/views/PendingConnectView/PendingConnectView.js +2 -2
  310. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +2 -2
  311. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +2 -2
  312. package/src/lib/views/QrCodeView/QRCode.cjs +3 -3
  313. package/src/lib/views/QrCodeView/QRCode.d.ts +2 -2
  314. package/src/lib/views/QrCodeView/QRCode.js +3 -3
  315. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +3 -3
  316. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.d.ts +2 -1
  317. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +3 -3
  318. package/src/lib/views/QrCodeView/QrCodeView.cjs +3 -3
  319. package/src/lib/views/QrCodeView/QrCodeView.js +3 -3
  320. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +1 -1
  321. package/src/lib/views/SendBalanceView/SendBalanceView.js +1 -1
  322. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +5 -7
  323. package/src/lib/views/SocialRedirectView/SocialRedirectView.d.ts +1 -1
  324. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +5 -7
  325. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -1
  326. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -1
  327. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +1 -1
  328. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +1 -1
  329. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +4 -2
  330. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +4 -2
  331. package/src/lib/views/WalletGroupView/WalletGroupView.cjs +1 -1
  332. package/src/lib/views/WalletGroupView/WalletGroupView.js +1 -1
  333. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +1 -1
  334. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +1 -1
  335. package/src/lib/views/WalletList/WalletList.cjs +1 -4
  336. package/src/lib/views/WalletList/WalletList.js +1 -4
  337. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +3 -3
  338. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +3 -3
  339. package/src/lib/views/WalletList/data.cjs +3 -15
  340. package/src/lib/views/WalletList/data.d.ts +4 -2
  341. package/src/lib/views/WalletList/data.js +3 -14
  342. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -2
  343. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -2
  344. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +3 -3
  345. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +3 -3
  346. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +2 -1
  347. package/src/lib/views/WalletUsedView/WalletUsedView.js +2 -1
  348. package/src/lib/views/viewToComponentMap.cjs +4 -0
  349. package/src/lib/views/viewToComponentMap.js +4 -0
  350. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +1 -1
  351. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +1 -1
  352. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -1
  353. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -1
  354. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +1 -1
  355. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +1 -1
  356. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +3 -3
  357. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.d.ts +1 -1
  358. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +3 -3
  359. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +1 -1
  360. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +1 -1
  361. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +4 -4
  362. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +4 -4
  363. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
  364. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
  365. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +1 -1
  366. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +1 -1
  367. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +19 -4
  368. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +19 -4
  369. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  370. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  371. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +1 -1
  372. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +1 -1
  373. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +1 -1
  374. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +1 -1
  375. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -1
  376. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -1
  377. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +1 -1
  378. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +1 -1
  379. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +13 -4
  380. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.d.ts +1 -1
  381. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +13 -4
  382. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +1 -1
  383. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +1 -1
  384. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
  385. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
  386. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +1 -1
  387. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +1 -1
  388. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -1
  389. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -1
  390. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +1 -1
  391. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +1 -1
  392. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -1
  393. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -1
  394. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +3 -3
  395. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +3 -3
  396. package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.cjs +3 -2
  397. package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.d.ts +2 -2
  398. package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.js +3 -2
  399. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +1 -1
  400. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +1 -1
  401. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +7 -10
  402. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.d.ts +1 -0
  403. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +8 -11
  404. package/src/lib/widgets/DynamicWidget/hooks/index.d.ts +1 -0
  405. package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.cjs +1 -0
  406. package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.js +1 -0
  407. package/src/lib/widgets/DynamicWidget/hooks/useViewController/index.d.ts +1 -0
  408. package/src/lib/widgets/DynamicWidget/hooks/useViewController/useViewController.cjs +17 -0
  409. package/src/lib/widgets/DynamicWidget/hooks/useViewController/useViewController.d.ts +6 -0
  410. package/src/lib/widgets/DynamicWidget/hooks/useViewController/useViewController.js +13 -0
  411. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +1 -1
  412. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +1 -1
  413. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -1
  414. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -1
  415. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +4 -4
  416. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +4 -4
  417. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.cjs +1 -1
  418. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.js +1 -1
  419. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +1 -1
  420. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +1 -1
  421. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +2 -2
  422. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +2 -2
  423. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +2 -2
  424. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +2 -2
  425. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +1 -1
  426. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +1 -1
  427. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +2 -2
  428. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +2 -2
  429. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +2 -2
  430. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +2 -2
  431. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +8 -7
  432. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +8 -7
  433. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +4 -4
  434. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +4 -4
  435. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -1
  436. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -1
  437. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -1
  438. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +1 -1
  439. package/src/lib/widgets/DynamicWidget/views/SendBalanceWidgetView/SendBalanceWidgetView.cjs +2 -3
  440. package/src/lib/widgets/DynamicWidget/views/SendBalanceWidgetView/SendBalanceWidgetView.js +2 -3
  441. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +4 -4
  442. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +4 -4
  443. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +1 -1
  444. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +1 -1
  445. package/src/lib/widgets/index.d.ts +0 -1
  446. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.cjs +0 -33
  447. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.js +0 -29
  448. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs +0 -13
  449. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.d.ts +0 -2
  450. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js +0 -9
  451. package/src/lib/widgets/OAuthIFrameContainer/index.d.ts +0 -1
@@ -1,54 +1,40 @@
1
1
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
- import { useState, useRef, useMemo } from 'react';
2
+ import { useMemo } from 'react';
3
3
  import { SocialOAuthErrorCode } from '@dynamic-labs/types';
4
4
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
5
- import { getOauthLoginUrl, unlinkOAuth, verifyOAuth } from '../../../data/api.js';
5
+ import { unlinkOAuth } from '../../../data/api.js';
6
6
  import { useUpdateUserProfileByJWTCallback } from '../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
7
7
  import '@dynamic-labs/sdk-api';
8
- import { logger } from '../../../shared/logger.js';
8
+ import '../../../shared/logger.js';
9
9
  import '@dynamic-labs/iconic';
10
10
  import '@dynamic-labs/wallet-connector-core';
11
11
  import 'react/jsx-runtime';
12
12
  import '../../../context/ViewContext/ViewContext.js';
13
13
  import '@dynamic-labs/wallet-book';
14
14
  import '@dynamic-labs/utils';
15
+ import { PRIMARY_WALLET_ID } from '../../constants/localStorage.js';
15
16
  import '../../constants/colors.js';
16
- import '../../../shared/utils/classes/storage/localStorage.js';
17
+ import { LocalStorage } from '../../../shared/utils/classes/storage/localStorage.js';
17
18
  import 'ethers';
18
19
  import '../../../shared/consts/index.js';
19
20
  import '@dynamic-labs/multi-wallet';
20
21
  import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
21
22
  import { getEnabledOAuthProviders } from '../../functions/getEnabledOAuthProviders/index.js';
22
23
  import { isSocialKycEnabled } from '../../functions/isSocialKycEnabled/isSocialKycEnabled.js';
23
- import { randomString } from '../../functions/randomString/randomString.js';
24
- import { stringifyURIQuery } from '../../functions/stringifyURIQuery/stringifyURIQuery.js';
25
- import { digestSHA256 } from '../../functions/digestSHA256/digestSHA256.js';
26
- import { encodeBase64URL } from '../../functions/encodeBase64URL/encodeBase64URL.js';
27
- import { getRedirectURIOrigin } from '../../functions/getRedirectURIOrigin/getRedirectURIOrigin.js';
24
+ import '../../../config/ApiEndpoint.js';
25
+ import { useSocialAuth } from '../useSocialAuth/useSocialAuth.js';
28
26
 
29
- const socialProviders = [
30
- 'discord',
31
- 'facebook',
32
- 'github',
33
- 'google',
34
- 'instagram',
35
- 'twitch',
36
- 'twitter',
37
- ];
38
- // pkce params are only required for twitter and break if added for other providers, like google
39
- // so we should only add provider that support pkce to this list
40
- const providersRequiringPkce = ['twitter', 'github'];
41
- const providersWithoutWindowOpenerRefence = ['twitter'];
27
+ // Hook exposed to customers and used internally to handle social account linking
42
28
  const useSocialAccounts = ({ sessionTimeout } = {
43
29
  sessionTimeout: 10000,
44
30
  }) => {
45
31
  var _a;
46
32
  const { environmentId, user, projectSettings, onboardingOnlyJwt } = useInternalDynamicContext();
47
33
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
48
- const [isProcessing, setIsProcessing] = useState(false);
49
- const [error, setError] = useState();
50
- const providersWaitingOauthMessages = useRef({});
51
- const authWindowInterval = useRef();
34
+ const { handleError, setError, setIsProcessing, checkValidProvider, error, isProcessing, connectSocialAccount, } = useSocialAuth({
35
+ authMode: 'link',
36
+ sessionTimeout,
37
+ });
52
38
  const userJwt = (_a = getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
53
39
  const oauthProviders = getEnabledOAuthProviders(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers);
54
40
  const verifiedOAuthCredentialsMap = useMemo(() => {
@@ -62,47 +48,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
62
48
  ];
63
49
  })));
64
50
  }, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
65
- const handleError = (code, message) => {
66
- logger.error(message);
67
- setIsProcessing(false);
68
- setError({ code, message });
69
- };
70
- const addOAuthIFrame = (url) => {
71
- const container = document.getElementById('oauth-iframe-container');
72
- let oauthIFrame = document.getElementById('oauth-iframe');
73
- if (!container || oauthIFrame) {
74
- return;
75
- }
76
- oauthIFrame = document.createElement('iframe');
77
- oauthIFrame.setAttribute('id', 'oauth-iframe');
78
- oauthIFrame.setAttribute('src', url);
79
- container.appendChild(oauthIFrame);
80
- };
81
- const removeOAuthIFrame = () => {
82
- const oauthIFrame = document.getElementById('oauth-iframe');
83
- if (oauthIFrame) {
84
- oauthIFrame.remove();
85
- }
86
- };
87
- const checkValidProvider = (provider) => {
88
- if (!provider) {
89
- handleError(SocialOAuthErrorCode.NO_PROVIDER, 'Provider is required');
90
- return false;
91
- }
92
- if (!socialProviders.includes(provider)) {
93
- handleError(SocialOAuthErrorCode.INVALID_PROVIDER, `Invalid social provider. Valid providers are: ${socialProviders.join(', ')}`);
94
- return false;
95
- }
96
- return true;
97
- };
98
51
  const checkValidOAuthLinking = (provider) => {
99
52
  if (!isSocialKycEnabled(projectSettings)) {
100
53
  handleError(SocialOAuthErrorCode.SOCIAL_LINKING_NOT_ENABLED, 'Social linking is not enabled on the dashboard');
101
54
  return false;
102
55
  }
103
- if (!checkValidProvider(provider)) {
104
- return false;
105
- }
106
56
  const verifiedCredential = verifiedOAuthCredentialsMap[provider];
107
57
  if (verifiedCredential) {
108
58
  handleError(SocialOAuthErrorCode.ACCOUNT_ALREADY_LINKED, `Account already linked for provider: ${provider}`);
@@ -116,112 +66,10 @@ const useSocialAccounts = ({ sessionTimeout } = {
116
66
  return true;
117
67
  };
118
68
  const linkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
119
- var _b;
120
- clearInterval(authWindowInterval.current);
121
- setError(undefined);
122
- setIsProcessing(true);
123
- // invalid linking request
124
- if (!checkValidOAuthLinking(provider)) {
125
- return;
126
- }
127
- const state = randomString(8);
128
- const verifier = randomString(43);
129
- const clearListeners = () => {
130
- removeOAuthIFrame();
131
- window.removeEventListener('message', handleAuthWindowMessage);
132
- providersWaitingOauthMessages.current = Object.assign(Object.assign({}, providersWaitingOauthMessages.current), { [provider]: false });
133
- };
134
- const handleAuthWindowMessage = (event) => __awaiter(void 0, void 0, void 0, function* () {
135
- var _c;
136
- const message = event.data;
137
- const isAuthorizationMessage = (message === null || message === void 0 ? void 0 : message.type) === 'authorization_response';
138
- if (isAuthorizationMessage) {
139
- logger.debug('Message received', { data: message });
140
- }
141
- const isValidMessage = isAuthorizationMessage && (message === null || message === void 0 ? void 0 : message.provider) === provider;
142
- // don't process imvalid messages for provider
143
- if (!isValidMessage) {
144
- return;
145
- }
146
- setIsProcessing(true);
147
- if (!((_c = providersWaitingOauthMessages.current) === null || _c === void 0 ? void 0 : _c[provider])) {
148
- handleError(SocialOAuthErrorCode.SESSION_TIMEOUT, `Linking ${provider} account session timeout.`);
149
- return;
150
- }
151
- clearListeners();
152
- const { code, error } = message;
153
- if (error && error !== 'undefined') {
154
- handleError(SocialOAuthErrorCode.OAUTH_ERROR, `Failed to link ${provider} social account: ${error}`);
155
- return;
156
- }
157
- if (!code) {
158
- handleError(SocialOAuthErrorCode.NO_AUTH_CODE, `Failed to link ${provider} social account: no authorization code`);
159
- return;
160
- }
161
- const jwt = yield verifyOAuth(environmentId, provider, {
162
- code,
163
- codeVerifier: verifier,
164
- state,
165
- }, String(userJwt));
166
- if (!jwt) {
167
- handleError(SocialOAuthErrorCode.VERIFICATION_ERROR, `Failed to link social account: ${provider}`);
168
- return;
169
- }
170
- yield updateUserProfileByJWT(jwt);
171
- setIsProcessing(false);
172
- });
173
- const loginUrl = yield getOauthLoginUrl(environmentId, provider, String(userJwt));
174
- if (!loginUrl) {
175
- handleError(SocialOAuthErrorCode.NO_OAUTH_URL, `Failed to get login url to link social account: ${provider}`);
176
- return;
177
- }
178
- // we need to use an iframe to be the intermediary in communications between the popup and the sdk
179
- // because of twitter limitations with accessing the window.opener and BroadcastChannel not working between
180
- // different origins (our api redirect page and the app where the sdk is running)
181
- const oauthIFrameUrl = `${getRedirectURIOrigin(loginUrl)}/sdkoauth`;
182
- addOAuthIFrame(oauthIFrameUrl);
183
- let oauthLoginUrl = loginUrl;
184
- if (providersRequiringPkce.includes(provider)) {
185
- const digest = yield digestSHA256(verifier);
186
- const pkceParams = stringifyURIQuery({
187
- code_challenge: encodeBase64URL(digest),
188
- code_challenge_method: 'S256',
189
- state: state,
190
- });
191
- oauthLoginUrl = `${loginUrl}&${pkceParams}`;
192
- }
193
- if (!((_b = providersWaitingOauthMessages.current) === null || _b === void 0 ? void 0 : _b[provider])) {
194
- window.addEventListener('message', handleAuthWindowMessage);
195
- providersWaitingOauthMessages.current = Object.assign(Object.assign({}, providersWaitingOauthMessages.current), { [provider]: true });
196
- }
197
- const authWindow = window.open(oauthLoginUrl, '_blank', 'width=500,height=600');
198
- if (!providersWithoutWindowOpenerRefence.includes(provider)) {
199
- // For provider that support window.opener, we need to clear all states/listeners when the window is closed
200
- authWindowInterval.current = setInterval(() => {
201
- if (!(authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed)) {
202
- return;
203
- }
204
- clearInterval(authWindowInterval.current);
205
- setIsProcessing(false);
206
- });
207
- }
208
- else {
209
- // For provider that don't support window.opener, we need to use a timeout to try to detect when the
210
- // window is closed
211
- authWindowInterval.current = setInterval(() => {
212
- var _a;
213
- // user didn't complete oauth
214
- if ((_a = providersWaitingOauthMessages.current) === null || _a === void 0 ? void 0 : _a[provider]) {
215
- clearListeners();
216
- handleError(SocialOAuthErrorCode.OAUTH_WINDOW_TIMEOUT, `Linking ${provider} account window timeout.`);
217
- }
218
- setIsProcessing(false);
219
- clearInterval(authWindowInterval.current);
220
- }, sessionTimeout);
221
- }
69
+ connectSocialAccount(provider, checkValidOAuthLinking);
222
70
  });
223
71
  const unlinkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
224
- var _d;
72
+ var _b;
225
73
  setError(undefined);
226
74
  setIsProcessing(true);
227
75
  if (!checkValidProvider(provider)) {
@@ -233,9 +81,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
233
81
  return;
234
82
  }
235
83
  try {
84
+ const primaryWalletId = LocalStorage.getFromLS(PRIMARY_WALLET_ID);
236
85
  const jwt = yield unlinkOAuth({
237
86
  environmentId,
238
- verifiedCrentialId: (_d = verifiedCredential.id) !== null && _d !== void 0 ? _d : '',
87
+ primaryWalletId,
88
+ verifiedCrentialId: (_b = verifiedCredential.id) !== null && _b !== void 0 ? _b : '',
239
89
  }, String(userJwt));
240
90
  if (!jwt) {
241
91
  handleError(SocialOAuthErrorCode.UNLINK_ERROR, `Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
@@ -0,0 +1 @@
1
+ export { useSocialAuth } from './useSocialAuth';
@@ -0,0 +1,277 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
+ var React = require('react');
7
+ var sdkApi = require('@dynamic-labs/sdk-api');
8
+ var types = require('@dynamic-labs/types');
9
+ var utils = require('@dynamic-labs/utils');
10
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
11
+ var api = require('../../../data/api.cjs');
12
+ var useUpdateUserProfileByJWTCallback = require('../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.cjs');
13
+ var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
14
+ require('@dynamic-labs/iconic');
15
+ require('@dynamic-labs/wallet-connector-core');
16
+ require('react/jsx-runtime');
17
+ var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
18
+ var logger = require('../../../shared/logger.cjs');
19
+ require('@dynamic-labs/wallet-book');
20
+ require('../../constants/colors.cjs');
21
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
22
+ require('ethers');
23
+ require('../../../shared/consts/index.cjs');
24
+ require('@dynamic-labs/multi-wallet');
25
+ var getAuthToken = require('../../functions/getAuthToken/getAuthToken.cjs');
26
+ var randomString = require('../../functions/randomString/randomString.cjs');
27
+ var stringifyURIQuery = require('../../functions/stringifyURIQuery/stringifyURIQuery.cjs');
28
+ var digestSHA256 = require('../../functions/digestSHA256/digestSHA256.cjs');
29
+ var encodeBase64URL = require('../../functions/encodeBase64URL/encodeBase64URL.cjs');
30
+ var getOauthLoginUrl = require('../../functions/getOauthLoginUrl/getOauthLoginUrl.cjs');
31
+ var useCreateUserProfileByJWTCallback = require('../useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.cjs');
32
+ var ErrorContext = require('../../../context/ErrorContext/ErrorContext.cjs');
33
+
34
+ const socialProviders = [
35
+ 'discord',
36
+ 'facebook',
37
+ 'github',
38
+ 'google',
39
+ 'instagram',
40
+ 'twitch',
41
+ 'twitter',
42
+ ];
43
+ // pkce params are only required for twitter and break if added for other providers, like google
44
+ // so we should only add provider that support pkce to this list
45
+ const providersRequiringPkce = ['twitter', 'github'];
46
+ const providersWithoutWindowOpenerRefence = ['twitter'];
47
+ // Hook to handle common social auth logic (for social linking and social sign in)
48
+ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
49
+ var _a;
50
+ const { environmentId, onboardingOnlyJwt, setOnboardingOnlyJwt, setCallback, setShowAuthFlow, setIsVerificationInProgress, projectSettings, } = useInternalDynamicContext.useInternalDynamicContext();
51
+ const { setView } = ViewContext.useViewContext();
52
+ const { setErrorMessage, setError: setContextError } = ErrorContext.useErrorContext();
53
+ const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
54
+ const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
55
+ const [isProcessing, setIsProcessing] = React.useState(false);
56
+ const [error, setError] = React.useState();
57
+ const providersWaitingOauthMessage = React.useRef({});
58
+ const authWindowInterval = React.useRef();
59
+ const shouldPool = React.useRef(false);
60
+ const userJwt = (_a = getAuthToken.getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
61
+ const clearError = () => {
62
+ setError(undefined);
63
+ setContextError(undefined);
64
+ };
65
+ const handleError = (code, message) => {
66
+ logger.logger.error(message);
67
+ setIsProcessing(false);
68
+ setError({ code, message });
69
+ setErrorMessage(code);
70
+ onError === null || onError === void 0 ? void 0 : onError();
71
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
72
+ };
73
+ const poolOauthResult = (provider, state) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
74
+ if (!shouldPool.current) {
75
+ return;
76
+ }
77
+ const result = yield api.getOAuthResult(environmentId, provider, {
78
+ state,
79
+ });
80
+ if ((result === null || result === void 0 ? void 0 : result.status) !== sdkApi.OauthResultStatus.Completed) {
81
+ setTimeout(() => poolOauthResult(provider, state), 1000);
82
+ return;
83
+ }
84
+ shouldPool.current = false;
85
+ const authMessage = {
86
+ code: result === null || result === void 0 ? void 0 : result.code,
87
+ error: result === null || result === void 0 ? void 0 : result.error,
88
+ provider,
89
+ type: 'authorization_response',
90
+ };
91
+ window.postMessage(authMessage, '*');
92
+ });
93
+ const checkValidProvider = (provider) => {
94
+ if (!provider) {
95
+ handleError(types.SocialOAuthErrorCode.NO_PROVIDER, 'Provider is required');
96
+ return false;
97
+ }
98
+ if (!socialProviders.includes(provider)) {
99
+ handleError(types.SocialOAuthErrorCode.INVALID_PROVIDER, `Invalid social provider. Valid providers are: ${socialProviders.join(', ')}`);
100
+ return false;
101
+ }
102
+ return true;
103
+ };
104
+ const linkAccount = (provider, code, verifier, state) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
105
+ try {
106
+ const jwt = yield api.verifyOAuth(environmentId, provider, {
107
+ code,
108
+ codeVerifier: verifier,
109
+ state,
110
+ }, String(userJwt));
111
+ if (!jwt) {
112
+ handleError(types.SocialOAuthErrorCode.VERIFICATION_ERROR, `Failed to link social account: ${provider}`);
113
+ return;
114
+ }
115
+ yield updateUserProfileByJWT(jwt);
116
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
117
+ }
118
+ catch (error) {
119
+ if (error instanceof utils.SocialAccountAlreadyExistsError) {
120
+ handleError(types.SocialOAuthErrorCode.ACCOUNT_ALREADY_LINKED_TO_DIFFERENT_PROFILE, `Social account already linked to a different profile: ${provider}`);
121
+ }
122
+ }
123
+ });
124
+ const signInAccount = (provider, code, verifier, state) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
125
+ try {
126
+ const jwt = yield api.signInOAuth(environmentId, provider, {
127
+ code,
128
+ codeVerifier: verifier,
129
+ state,
130
+ });
131
+ if (!jwt) {
132
+ handleError(types.SocialOAuthErrorCode.SIGNIN_ERROR, `Failed to sign-in with social account: ${provider}`);
133
+ return;
134
+ }
135
+ setIsVerificationInProgress(true);
136
+ const decodedJwt = decodeJwt.decodeJwt(jwt);
137
+ if (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields.length) {
138
+ setOnboardingOnlyJwt(jwt);
139
+ setView('collect-user-data-login-with-email');
140
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
141
+ return;
142
+ }
143
+ setCallback('authSuccess');
144
+ yield createUserProfileByJWT(jwt);
145
+ setShowAuthFlow(false);
146
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
147
+ }
148
+ catch (error) {
149
+ if (error instanceof utils.NoAccessError) {
150
+ setView('no-access');
151
+ }
152
+ handleError(types.SocialOAuthErrorCode.GENERAL_ERROR, error);
153
+ }
154
+ });
155
+ const connectSocialAccount = (provider, validator) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
156
+ var _b, _c;
157
+ clearInterval(authWindowInterval.current);
158
+ clearError();
159
+ setIsProcessing(true);
160
+ if (!checkValidProvider(provider)) {
161
+ return;
162
+ }
163
+ // invalid connect request
164
+ if (validator && !validator(provider)) {
165
+ return;
166
+ }
167
+ const authWindow = window.open('', '_blank', 'width=500,height=600');
168
+ const state = randomString.randomString(8);
169
+ const verifier = randomString.randomString(43);
170
+ const clearListeners = () => {
171
+ window.removeEventListener('message', handleAuthWindowMessage);
172
+ providersWaitingOauthMessage.current = Object.assign(Object.assign({}, providersWaitingOauthMessage.current), { [provider]: false });
173
+ };
174
+ const handleAuthWindowMessage = (event) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
175
+ var _d;
176
+ const message = event.data;
177
+ const isAuthorizationMessage = (message === null || message === void 0 ? void 0 : message.type) === 'authorization_response';
178
+ if (isAuthorizationMessage) {
179
+ logger.logger.debug('Message received', { data: message });
180
+ }
181
+ const isValidMessage = isAuthorizationMessage && (message === null || message === void 0 ? void 0 : message.provider) === provider;
182
+ // don't process invalid messages for provider
183
+ if (!isValidMessage) {
184
+ return;
185
+ }
186
+ setIsProcessing(true);
187
+ if (!((_d = providersWaitingOauthMessage.current) === null || _d === void 0 ? void 0 : _d[provider])) {
188
+ handleError(types.SocialOAuthErrorCode.SESSION_TIMEOUT, `Connecting ${provider} account session timeout.`);
189
+ return;
190
+ }
191
+ clearListeners();
192
+ const { code, error } = message;
193
+ if (error && error !== 'undefined') {
194
+ handleError(types.SocialOAuthErrorCode.OAUTH_ERROR, `Failed to connect ${provider} social account: ${error}`);
195
+ return;
196
+ }
197
+ if (!code) {
198
+ handleError(types.SocialOAuthErrorCode.NO_AUTH_CODE, `Failed to connect ${provider} social account: no authorization code`);
199
+ return;
200
+ }
201
+ if (authMode === 'signin') {
202
+ yield signInAccount(provider, code, verifier, state);
203
+ }
204
+ else {
205
+ yield linkAccount(provider, code, verifier, state);
206
+ }
207
+ setIsProcessing(false);
208
+ });
209
+ const loginUrl = getOauthLoginUrl.getOauthLoginUrl((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) !== null && _b !== void 0 ? _b : [], provider, environmentId);
210
+ if (!loginUrl) {
211
+ handleError(types.SocialOAuthErrorCode.NO_OAUTH_URL, `Failed to get login url to connect social account: ${provider}`);
212
+ return;
213
+ }
214
+ let oauthLoginUrl = loginUrl;
215
+ if (providersRequiringPkce.includes(provider)) {
216
+ const digest = yield digestSHA256.digestSHA256(verifier);
217
+ const pkceParams = stringifyURIQuery.stringifyURIQuery({
218
+ code_challenge: encodeBase64URL.encodeBase64URL(digest),
219
+ code_challenge_method: 'S256',
220
+ state: state,
221
+ });
222
+ oauthLoginUrl = `${loginUrl}&${pkceParams}`;
223
+ }
224
+ if (!((_c = providersWaitingOauthMessage.current) === null || _c === void 0 ? void 0 : _c[provider])) {
225
+ window.addEventListener('message', handleAuthWindowMessage);
226
+ providersWaitingOauthMessage.current = Object.assign(Object.assign({}, providersWaitingOauthMessage.current), { [provider]: true });
227
+ }
228
+ authWindow === null || authWindow === void 0 ? void 0 : authWindow.location.assign(oauthLoginUrl);
229
+ if (!providersWithoutWindowOpenerRefence.includes(provider)) {
230
+ // For provider that support window.opener, we need to clear all states/listeners when the window is closed
231
+ authWindowInterval.current = setInterval(() => {
232
+ var _a;
233
+ if (!(authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed)) {
234
+ return;
235
+ }
236
+ clearInterval(authWindowInterval.current);
237
+ setIsProcessing(false);
238
+ // user didn't complete oauth
239
+ if ((_a = providersWaitingOauthMessage.current) === null || _a === void 0 ? void 0 : _a[provider]) {
240
+ onError === null || onError === void 0 ? void 0 : onError();
241
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
242
+ }
243
+ }, 2000);
244
+ }
245
+ else {
246
+ // For provider that don't support window.opener, we need to use a timeout to pool the oauth result
247
+ // If we don't get a valid result in {async sessionTimeout} ms, we'll assume the user closed the window
248
+ // and we'll clear all states/listeners
249
+ // start pooling oauth result
250
+ shouldPool.current = true;
251
+ poolOauthResult(provider, state);
252
+ authWindowInterval.current = setInterval(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
253
+ var _e;
254
+ shouldPool.current = false;
255
+ // clear all states/listeners, assuming user closed the window before completing oauth
256
+ if ((_e = providersWaitingOauthMessage.current) === null || _e === void 0 ? void 0 : _e[provider]) {
257
+ clearListeners();
258
+ handleError(types.SocialOAuthErrorCode.OAUTH_WINDOW_TIMEOUT, `Connecting ${provider} account window timeout.`);
259
+ }
260
+ clearInterval(authWindowInterval.current);
261
+ setIsProcessing(false);
262
+ onSettled === null || onSettled === void 0 ? void 0 : onSettled();
263
+ }), sessionTimeout);
264
+ }
265
+ });
266
+ return {
267
+ checkValidProvider,
268
+ connectSocialAccount,
269
+ error,
270
+ handleError,
271
+ isProcessing,
272
+ setError,
273
+ setIsProcessing,
274
+ };
275
+ };
276
+
277
+ exports.useSocialAuth = useSocialAuth;
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { ProviderEnum } from '@dynamic-labs/sdk-api';
3
+ import { SocialOAuthError, SocialOAuthErrorCode } from '@dynamic-labs/types';
4
+ type SocialAuthMode = 'link' | 'signin';
5
+ type UseSocialAuthProps = {
6
+ sessionTimeout: number;
7
+ authMode: SocialAuthMode;
8
+ onSettled?: () => void;
9
+ onError?: () => void;
10
+ };
11
+ export declare const useSocialAuth: ({ sessionTimeout, authMode, onSettled, onError, }: UseSocialAuthProps) => {
12
+ readonly checkValidProvider: (provider: ProviderEnum) => boolean;
13
+ readonly connectSocialAccount: (provider: ProviderEnum, validator?: ((provider: ProviderEnum) => boolean) | undefined) => Promise<void>;
14
+ readonly error: SocialOAuthError | undefined;
15
+ readonly handleError: (code: SocialOAuthErrorCode, message: string) => void;
16
+ readonly isProcessing: boolean;
17
+ readonly setError: import("react").Dispatch<import("react").SetStateAction<SocialOAuthError | undefined>>;
18
+ readonly setIsProcessing: import("react").Dispatch<import("react").SetStateAction<boolean>>;
19
+ };
20
+ export {};