@dynamic-labs/sdk-react-core 0.18.0-RC.22 → 0.18.0-RC.23

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 (283) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +8 -8
  5. package/src/index.cjs +3 -0
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +2 -0
  8. package/src/lib/Main.cjs +3 -0
  9. package/src/lib/Main.js +3 -0
  10. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +1 -0
  11. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +1 -0
  12. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +1 -0
  13. package/src/lib/components/AnimatePresence/AnimatePresence.js +1 -0
  14. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +1 -0
  15. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +1 -0
  16. package/src/lib/components/Divider/Divider.cjs +1 -0
  17. package/src/lib/components/Divider/Divider.js +1 -0
  18. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +1 -0
  19. package/src/lib/components/MenuList/Dropdown/Dropdown.js +1 -0
  20. package/src/lib/components/Modal/Modal.cjs +1 -0
  21. package/src/lib/components/Modal/Modal.js +1 -0
  22. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +1 -0
  23. package/src/lib/components/NetworkPicker/NetworkPicker.js +1 -0
  24. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +1 -0
  25. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +1 -0
  26. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +1 -0
  27. package/src/lib/components/NetworkPicker/components/Network/Network.js +1 -0
  28. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +1 -0
  29. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +1 -0
  30. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +1 -0
  31. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +1 -0
  32. package/src/lib/components/OverlayCard/OverlayCard.cjs +1 -0
  33. package/src/lib/components/OverlayCard/OverlayCard.js +1 -0
  34. package/src/lib/components/Popper/PopperContext/PopperContext.js +1 -1
  35. package/src/lib/components/Portal/Portal.cjs +1 -0
  36. package/src/lib/components/Portal/Portal.js +1 -0
  37. package/src/lib/components/Tooltip/Tooltip.cjs +1 -0
  38. package/src/lib/components/Tooltip/Tooltip.js +1 -0
  39. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -0
  40. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -0
  41. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +1 -0
  42. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +1 -0
  43. package/src/lib/components/UserAddress/UserAddress.cjs +1 -0
  44. package/src/lib/components/UserAddress/UserAddress.js +1 -0
  45. package/src/lib/components/UserProfile/UserProfile.cjs +6 -14
  46. package/src/lib/components/UserProfile/UserProfile.js +6 -14
  47. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -0
  48. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -0
  49. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +1 -0
  50. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +1 -0
  51. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +13 -64
  52. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.d.ts +2 -4
  53. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +13 -64
  54. package/src/lib/context/AccountExistsContext/AccountExistsContext.cjs +27 -0
  55. package/src/lib/context/AccountExistsContext/AccountExistsContext.d.ts +17 -0
  56. package/src/lib/context/AccountExistsContext/AccountExistsContext.js +21 -0
  57. package/src/lib/context/AccountExistsContext/index.d.ts +1 -0
  58. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -1
  59. package/src/lib/context/DynamicContext/DynamicContext.js +2 -1
  60. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +1 -0
  61. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +1 -0
  62. package/src/lib/context/MockContext/MockContext.cjs +36 -2
  63. package/src/lib/context/MockContext/MockContext.d.ts +1 -1
  64. package/src/lib/context/MockContext/MockContext.js +36 -2
  65. package/src/lib/context/MockContext/constants/index.cjs +64 -0
  66. package/src/lib/context/MockContext/constants/index.d.ts +2 -0
  67. package/src/lib/context/MockContext/constants/index.js +60 -0
  68. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +1 -0
  69. package/src/lib/context/QrCodeContext/QrCodeContext.js +1 -0
  70. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +1 -0
  71. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +1 -0
  72. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  73. package/src/lib/context/WalletContext/WalletContext.cjs +1 -0
  74. package/src/lib/context/WalletContext/WalletContext.js +1 -0
  75. package/src/lib/data/api.cjs +6 -0
  76. package/src/lib/data/api.js +7 -1
  77. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -0
  78. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -0
  79. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +3 -0
  80. package/src/lib/layout/DynamicAuthLayout/Header/header.js +3 -0
  81. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +1 -0
  82. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +1 -0
  83. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +1 -0
  84. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +1 -0
  85. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +1 -0
  86. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +1 -0
  87. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +1 -0
  88. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +1 -0
  89. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +1 -0
  90. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +1 -0
  91. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +1 -0
  92. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +1 -0
  93. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +1 -0
  94. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +1 -0
  95. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -0
  96. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -0
  97. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -0
  98. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -0
  99. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -0
  100. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -0
  101. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -0
  102. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -0
  103. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +1 -0
  104. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +1 -0
  105. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +1 -0
  106. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +1 -0
  107. package/src/lib/styles/index.shadow.cjs +1 -1
  108. package/src/lib/styles/index.shadow.js +1 -1
  109. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.cjs +1 -0
  110. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.js +1 -0
  111. package/src/lib/utils/functions/index.d.ts +1 -0
  112. package/src/lib/utils/functions/isSocialKycEnabled/index.d.ts +1 -0
  113. package/src/lib/utils/functions/isSocialKycEnabled/isSocialKycEnabled.cjs +7 -0
  114. package/src/lib/utils/functions/isSocialKycEnabled/isSocialKycEnabled.d.ts +2 -0
  115. package/src/lib/utils/functions/isSocialKycEnabled/isSocialKycEnabled.js +3 -0
  116. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +7 -1
  117. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +7 -1
  118. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +1 -0
  119. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +1 -0
  120. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
  121. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
  122. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs +1 -0
  123. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js +1 -0
  124. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.cjs +17 -2
  125. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.js +17 -2
  126. package/src/lib/utils/hooks/useSocialAccounts/index.d.ts +1 -0
  127. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +159 -0
  128. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +10 -0
  129. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +155 -0
  130. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +7 -0
  131. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +8 -1
  132. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -0
  133. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -0
  134. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +1 -0
  135. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +1 -0
  136. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +73 -0
  137. package/src/lib/views/AccountExistsView/AccountExistsView.d.ts +2 -0
  138. package/src/lib/views/AccountExistsView/AccountExistsView.js +69 -0
  139. package/src/lib/views/AccountExistsView/index.d.ts +1 -0
  140. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +1 -0
  141. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +1 -0
  142. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -0
  143. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -0
  144. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +1 -0
  145. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +1 -0
  146. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +1 -0
  147. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +1 -0
  148. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +1 -0
  149. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +1 -0
  150. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +1 -0
  151. package/src/lib/views/EmailUpdate/EmailUpdate.js +1 -0
  152. package/src/lib/views/EmailVerification/EmailVerification.cjs +7 -0
  153. package/src/lib/views/EmailVerification/EmailVerification.js +8 -1
  154. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -0
  155. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -0
  156. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.cjs +1 -0
  157. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.js +1 -0
  158. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +1 -0
  159. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +1 -0
  160. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +1 -0
  161. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +1 -0
  162. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +1 -0
  163. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +1 -0
  164. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +1 -0
  165. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +1 -0
  166. package/src/lib/views/NoAccess/NoAccess.cjs +1 -0
  167. package/src/lib/views/NoAccess/NoAccess.js +1 -0
  168. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +1 -0
  169. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +1 -0
  170. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +1 -0
  171. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +1 -0
  172. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +1 -0
  173. package/src/lib/views/PendingConnectView/PendingConnectView.js +1 -0
  174. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +1 -0
  175. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +1 -0
  176. package/src/lib/views/QrCodeView/QRCode.cjs +1 -0
  177. package/src/lib/views/QrCodeView/QRCode.js +1 -0
  178. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +1 -0
  179. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +1 -0
  180. package/src/lib/views/QrCodeView/QrCodeView.cjs +1 -0
  181. package/src/lib/views/QrCodeView/QrCodeView.js +1 -0
  182. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +1 -0
  183. package/src/lib/views/SendBalanceView/SendBalanceView.js +1 -0
  184. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +1 -0
  185. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +1 -0
  186. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +1 -0
  187. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +1 -0
  188. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -0
  189. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -0
  190. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.cjs +1 -0
  191. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +1 -0
  192. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +1 -0
  193. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +1 -0
  194. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +1 -0
  195. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +1 -0
  196. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +1 -0
  197. package/src/lib/views/WalletLockedView/WalletLockedView.js +1 -0
  198. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +1 -0
  199. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +1 -0
  200. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -0
  201. package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -0
  202. package/src/lib/views/viewToComponentMap.cjs +2 -0
  203. package/src/lib/views/viewToComponentMap.js +2 -0
  204. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +1 -0
  205. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +1 -0
  206. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +1 -0
  207. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +1 -0
  208. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +1 -0
  209. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +1 -0
  210. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +1 -0
  211. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +1 -0
  212. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +1 -0
  213. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +1 -0
  214. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +1 -0
  215. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +1 -0
  216. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +1 -0
  217. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +1 -0
  218. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +1 -0
  219. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +1 -0
  220. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -0
  221. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -0
  222. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +1 -0
  223. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +1 -0
  224. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +1 -0
  225. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +1 -0
  226. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +1 -0
  227. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +1 -0
  228. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +1 -0
  229. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +1 -0
  230. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +1 -0
  231. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +1 -0
  232. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +1 -0
  233. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +1 -0
  234. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +1 -0
  235. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +1 -0
  236. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +1 -0
  237. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +1 -0
  238. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -0
  239. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -0
  240. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +1 -0
  241. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +1 -0
  242. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -0
  243. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -0
  244. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +1 -0
  245. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +1 -0
  246. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -0
  247. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -0
  248. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -0
  249. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -0
  250. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +1 -0
  251. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +1 -0
  252. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +1 -0
  253. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +1 -0
  254. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +1 -0
  255. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +1 -0
  256. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +1 -0
  257. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +1 -0
  258. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +1 -0
  259. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +1 -0
  260. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +1 -0
  261. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +1 -0
  262. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +1 -0
  263. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +1 -0
  264. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +1 -0
  265. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +1 -0
  266. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +1 -0
  267. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +1 -0
  268. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +1 -0
  269. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +1 -0
  270. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -0
  271. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -0
  272. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +1 -0
  273. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +1 -0
  274. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -0
  275. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -0
  276. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -0
  277. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -0
  278. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +1 -0
  279. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +1 -0
  280. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +1 -0
  281. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +1 -0
  282. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +1 -0
  283. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +1 -0
@@ -1,8 +1,23 @@
1
1
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
2
2
  import { useOnlyConnectedMode } from '../useOnlyConnectedMode/useOnlyConnectedMode.js';
3
3
  import { getUserProfileFields } from '../../functions/getUserProfileFields/getUserProfileFields.js';
4
+ import '@dynamic-labs/sdk-api';
5
+ import '../../../shared/logger.js';
6
+ import '@dynamic-labs/iconic';
7
+ import '@dynamic-labs/wallet-connector-core';
8
+ import 'react/jsx-runtime';
9
+ import '../../../context/ViewContext/ViewContext.js';
10
+ import 'react';
11
+ import '@dynamic-labs/wallet-book';
12
+ import '@dynamic-labs/utils';
13
+ import '../../constants/colors.js';
14
+ import '../../../shared/utils/classes/storage/localStorage.js';
15
+ import 'ethers';
16
+ import '../../../shared/consts/index.js';
17
+ import '@dynamic-labs/multi-wallet';
18
+ import { isSocialKycEnabled } from '../../functions/isSocialKycEnabled/isSocialKycEnabled.js';
4
19
 
5
- const isSocialEnabled = (kyc = []) => { var _a; return Boolean((_a = kyc.find(({ name }) => name === 'social')) === null || _a === void 0 ? void 0 : _a.enabled); };
20
+ /* eslint-disable max-len */
6
21
  /**
7
22
  * A custom React hook that checks if KYC fields are enabled in the project settings or defined in the user profile.
8
23
  *
@@ -17,7 +32,7 @@ const useKYCFlag = () => {
17
32
  projectSettingsKyc: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.kyc,
18
33
  user,
19
34
  });
20
- return hasAnyKYCFields.length > 0 || isSocialEnabled(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.kyc);
35
+ return hasAnyKYCFields.length > 0 || isSocialKycEnabled(projectSettings);
21
36
  };
22
37
 
23
38
  export { useKYCFlag };
@@ -0,0 +1 @@
1
+ export { useSocialAccounts } from './useSocialAccounts';
@@ -0,0 +1,159 @@
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 useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
8
+ var api = require('../../../data/api.cjs');
9
+ var useUpdateUserProfileByJWTCallback = require('../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.cjs');
10
+ require('@dynamic-labs/sdk-api');
11
+ var logger = require('../../../shared/logger.cjs');
12
+ require('@dynamic-labs/iconic');
13
+ require('@dynamic-labs/wallet-connector-core');
14
+ require('react/jsx-runtime');
15
+ require('../../../context/ViewContext/ViewContext.cjs');
16
+ require('@dynamic-labs/wallet-book');
17
+ require('@dynamic-labs/utils');
18
+ require('../../constants/colors.cjs');
19
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
20
+ require('ethers');
21
+ require('../../../shared/consts/index.cjs');
22
+ require('@dynamic-labs/multi-wallet');
23
+ var getAuthToken = require('../../functions/getAuthToken/getAuthToken.cjs');
24
+ var index = require('../../functions/getEnabledOAuthProviders/index.cjs');
25
+ var isSocialKycEnabled = require('../../functions/isSocialKycEnabled/isSocialKycEnabled.cjs');
26
+
27
+ const useSocialAccounts = () => {
28
+ var _a;
29
+ const { environmentId, user, projectSettings, onboardingOnlyJwt } = useInternalDynamicContext.useInternalDynamicContext();
30
+ const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
31
+ const [isProcessing, setIsProcessing] = React.useState(false);
32
+ const [error, setError] = React.useState();
33
+ const userJwt = (_a = getAuthToken.getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
34
+ const oauthProviders = index.getEnabledOAuthProviders(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers);
35
+ const verifiedOAuthCredentialsMap = React.useMemo(() => {
36
+ var _a, _b;
37
+ const verifiedOAuthCredential = (_b = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.filter((credential) => credential.format === 'oauth')) !== null && _b !== void 0 ? _b : [];
38
+ return Object.fromEntries(new Map(verifiedOAuthCredential.map((credential) => {
39
+ var _a;
40
+ return [
41
+ (_a = credential.oauthProvider) !== null && _a !== void 0 ? _a : credential.id,
42
+ credential,
43
+ ];
44
+ })));
45
+ }, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
46
+ const handleError = (message) => {
47
+ logger.logger.error(message);
48
+ setIsProcessing(false);
49
+ setError(message);
50
+ };
51
+ const linkSocialAccount = (provider) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
52
+ setError(undefined);
53
+ setIsProcessing(true);
54
+ if (!isSocialKycEnabled.isSocialKycEnabled(projectSettings)) {
55
+ handleError('Social linking is not enabled on the dashboard');
56
+ return;
57
+ }
58
+ if (!provider) {
59
+ handleError('Provider is required');
60
+ return;
61
+ }
62
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
63
+ if (verifiedCredential) {
64
+ handleError(`Account already linked for provider: ${provider}`);
65
+ return;
66
+ }
67
+ const oauthProvider = oauthProviders.find((p) => p.provider === provider);
68
+ if (!oauthProvider) {
69
+ handleError(`Provider is not enabled on the dashboard: ${provider}`);
70
+ return;
71
+ }
72
+ const handleAuthWindowMessage = (event) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
73
+ var _b, _c, _d;
74
+ if (((_b = event.data) === null || _b === void 0 ? void 0 : _b.type) === 'authorization_response') {
75
+ logger.logger.debug('Message received', { data: event.data });
76
+ }
77
+ if (((_c = event.data) === null || _c === void 0 ? void 0 : _c.type) !== 'authorization_response' ||
78
+ ((_d = event.data) === null || _d === void 0 ? void 0 : _d.provider) !== provider) {
79
+ return;
80
+ }
81
+ const { code } = event.data;
82
+ const jwt = yield api.verifyOAuth(environmentId, provider, {
83
+ code,
84
+ }, String(userJwt));
85
+ if (!jwt) {
86
+ handleError(`Failed to link social account: ${provider}`);
87
+ return;
88
+ }
89
+ yield updateUserProfileByJWT(jwt);
90
+ setIsProcessing(false);
91
+ });
92
+ window.addEventListener('message', handleAuthWindowMessage);
93
+ const authWindow = window.open(oauthProvider.authorizationUrl, '_blank', 'width=500,height=600');
94
+ const authWindowInterval = setInterval(() => {
95
+ if (authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed) {
96
+ window.removeEventListener('message', handleAuthWindowMessage);
97
+ clearInterval(authWindowInterval);
98
+ setIsProcessing(false);
99
+ }
100
+ }, 1000);
101
+ });
102
+ const unlinkSocialAccount = (provider) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
103
+ var _e;
104
+ setError(undefined);
105
+ setIsProcessing(true);
106
+ if (!provider) {
107
+ handleError('Provider is required');
108
+ return;
109
+ }
110
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
111
+ if (!verifiedCredential) {
112
+ handleError(`No account linked for provider: ${provider}`);
113
+ return;
114
+ }
115
+ try {
116
+ const jwt = yield api.unlinkOAuth({
117
+ environmentId,
118
+ verifiedCrentialId: (_e = verifiedCredential.id) !== null && _e !== void 0 ? _e : '',
119
+ }, String(userJwt));
120
+ if (!jwt) {
121
+ handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
122
+ return;
123
+ }
124
+ yield updateUserProfileByJWT(jwt);
125
+ setIsProcessing(false);
126
+ }
127
+ catch (err) {
128
+ handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
129
+ }
130
+ });
131
+ const isLinked = (provider) => Boolean(verifiedOAuthCredentialsMap[provider]);
132
+ const getLinkedAccountInformation = (provider) => {
133
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
134
+ if (!verifiedCredential) {
135
+ return;
136
+ }
137
+ const { id, oauthAccountId, oauthAccountPhotos, oauthDisplayName, oauthEmails, oauthProvider, oauthUsername, publicIdentifier, } = verifiedCredential;
138
+ return {
139
+ accountId: oauthAccountId,
140
+ avatar: oauthAccountPhotos === null || oauthAccountPhotos === void 0 ? void 0 : oauthAccountPhotos[0],
141
+ displayName: oauthDisplayName,
142
+ email: oauthEmails === null || oauthEmails === void 0 ? void 0 : oauthEmails[0],
143
+ id,
144
+ provider: oauthProvider,
145
+ publicIdentifier,
146
+ username: oauthUsername,
147
+ };
148
+ };
149
+ return {
150
+ error,
151
+ getLinkedAccountInformation,
152
+ isLinked,
153
+ isProcessing,
154
+ linkSocialAccount,
155
+ unlinkSocialAccount,
156
+ };
157
+ };
158
+
159
+ exports.useSocialAccounts = useSocialAccounts;
@@ -0,0 +1,10 @@
1
+ import { ProviderEnum } from '@dynamic-labs/sdk-api';
2
+ import { SocialAccountInformation } from '@dynamic-labs/types';
3
+ export declare const useSocialAccounts: () => {
4
+ readonly error: string | undefined;
5
+ readonly getLinkedAccountInformation: (provider: ProviderEnum) => SocialAccountInformation | undefined;
6
+ readonly isLinked: (provider: ProviderEnum) => boolean;
7
+ readonly isProcessing: boolean;
8
+ readonly linkSocialAccount: (provider: ProviderEnum) => Promise<void>;
9
+ readonly unlinkSocialAccount: (provider: ProviderEnum) => Promise<void>;
10
+ };
@@ -0,0 +1,155 @@
1
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
+ import { useState, useMemo } from 'react';
3
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
4
+ import { unlinkOAuth, verifyOAuth } from '../../../data/api.js';
5
+ import { useUpdateUserProfileByJWTCallback } from '../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
6
+ import '@dynamic-labs/sdk-api';
7
+ import { logger } from '../../../shared/logger.js';
8
+ import '@dynamic-labs/iconic';
9
+ import '@dynamic-labs/wallet-connector-core';
10
+ import 'react/jsx-runtime';
11
+ import '../../../context/ViewContext/ViewContext.js';
12
+ import '@dynamic-labs/wallet-book';
13
+ import '@dynamic-labs/utils';
14
+ import '../../constants/colors.js';
15
+ import '../../../shared/utils/classes/storage/localStorage.js';
16
+ import 'ethers';
17
+ import '../../../shared/consts/index.js';
18
+ import '@dynamic-labs/multi-wallet';
19
+ import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
20
+ import { getEnabledOAuthProviders } from '../../functions/getEnabledOAuthProviders/index.js';
21
+ import { isSocialKycEnabled } from '../../functions/isSocialKycEnabled/isSocialKycEnabled.js';
22
+
23
+ const useSocialAccounts = () => {
24
+ var _a;
25
+ const { environmentId, user, projectSettings, onboardingOnlyJwt } = useInternalDynamicContext();
26
+ const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
27
+ const [isProcessing, setIsProcessing] = useState(false);
28
+ const [error, setError] = useState();
29
+ const userJwt = (_a = getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
30
+ const oauthProviders = getEnabledOAuthProviders(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers);
31
+ const verifiedOAuthCredentialsMap = useMemo(() => {
32
+ var _a, _b;
33
+ const verifiedOAuthCredential = (_b = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.filter((credential) => credential.format === 'oauth')) !== null && _b !== void 0 ? _b : [];
34
+ return Object.fromEntries(new Map(verifiedOAuthCredential.map((credential) => {
35
+ var _a;
36
+ return [
37
+ (_a = credential.oauthProvider) !== null && _a !== void 0 ? _a : credential.id,
38
+ credential,
39
+ ];
40
+ })));
41
+ }, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
42
+ const handleError = (message) => {
43
+ logger.error(message);
44
+ setIsProcessing(false);
45
+ setError(message);
46
+ };
47
+ const linkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
48
+ setError(undefined);
49
+ setIsProcessing(true);
50
+ if (!isSocialKycEnabled(projectSettings)) {
51
+ handleError('Social linking is not enabled on the dashboard');
52
+ return;
53
+ }
54
+ if (!provider) {
55
+ handleError('Provider is required');
56
+ return;
57
+ }
58
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
59
+ if (verifiedCredential) {
60
+ handleError(`Account already linked for provider: ${provider}`);
61
+ return;
62
+ }
63
+ const oauthProvider = oauthProviders.find((p) => p.provider === provider);
64
+ if (!oauthProvider) {
65
+ handleError(`Provider is not enabled on the dashboard: ${provider}`);
66
+ return;
67
+ }
68
+ const handleAuthWindowMessage = (event) => __awaiter(void 0, void 0, void 0, function* () {
69
+ var _b, _c, _d;
70
+ if (((_b = event.data) === null || _b === void 0 ? void 0 : _b.type) === 'authorization_response') {
71
+ logger.debug('Message received', { data: event.data });
72
+ }
73
+ if (((_c = event.data) === null || _c === void 0 ? void 0 : _c.type) !== 'authorization_response' ||
74
+ ((_d = event.data) === null || _d === void 0 ? void 0 : _d.provider) !== provider) {
75
+ return;
76
+ }
77
+ const { code } = event.data;
78
+ const jwt = yield verifyOAuth(environmentId, provider, {
79
+ code,
80
+ }, String(userJwt));
81
+ if (!jwt) {
82
+ handleError(`Failed to link social account: ${provider}`);
83
+ return;
84
+ }
85
+ yield updateUserProfileByJWT(jwt);
86
+ setIsProcessing(false);
87
+ });
88
+ window.addEventListener('message', handleAuthWindowMessage);
89
+ const authWindow = window.open(oauthProvider.authorizationUrl, '_blank', 'width=500,height=600');
90
+ const authWindowInterval = setInterval(() => {
91
+ if (authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed) {
92
+ window.removeEventListener('message', handleAuthWindowMessage);
93
+ clearInterval(authWindowInterval);
94
+ setIsProcessing(false);
95
+ }
96
+ }, 1000);
97
+ });
98
+ const unlinkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
99
+ var _e;
100
+ setError(undefined);
101
+ setIsProcessing(true);
102
+ if (!provider) {
103
+ handleError('Provider is required');
104
+ return;
105
+ }
106
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
107
+ if (!verifiedCredential) {
108
+ handleError(`No account linked for provider: ${provider}`);
109
+ return;
110
+ }
111
+ try {
112
+ const jwt = yield unlinkOAuth({
113
+ environmentId,
114
+ verifiedCrentialId: (_e = verifiedCredential.id) !== null && _e !== void 0 ? _e : '',
115
+ }, String(userJwt));
116
+ if (!jwt) {
117
+ handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
118
+ return;
119
+ }
120
+ yield updateUserProfileByJWT(jwt);
121
+ setIsProcessing(false);
122
+ }
123
+ catch (err) {
124
+ handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
125
+ }
126
+ });
127
+ const isLinked = (provider) => Boolean(verifiedOAuthCredentialsMap[provider]);
128
+ const getLinkedAccountInformation = (provider) => {
129
+ const verifiedCredential = verifiedOAuthCredentialsMap[provider];
130
+ if (!verifiedCredential) {
131
+ return;
132
+ }
133
+ const { id, oauthAccountId, oauthAccountPhotos, oauthDisplayName, oauthEmails, oauthProvider, oauthUsername, publicIdentifier, } = verifiedCredential;
134
+ return {
135
+ accountId: oauthAccountId,
136
+ avatar: oauthAccountPhotos === null || oauthAccountPhotos === void 0 ? void 0 : oauthAccountPhotos[0],
137
+ displayName: oauthDisplayName,
138
+ email: oauthEmails === null || oauthEmails === void 0 ? void 0 : oauthEmails[0],
139
+ id,
140
+ provider: oauthProvider,
141
+ publicIdentifier,
142
+ username: oauthUsername,
143
+ };
144
+ };
145
+ return {
146
+ error,
147
+ getLinkedAccountInformation,
148
+ isLinked,
149
+ isProcessing,
150
+ linkSocialAccount,
151
+ unlinkSocialAccount,
152
+ };
153
+ };
154
+
155
+ export { useSocialAccounts };
@@ -28,12 +28,14 @@ var ErrorContext = require('../../../context/ErrorContext/ErrorContext.cjs');
28
28
  var getSiweStatement = require('../../functions/getSiweStatement/getSiweStatement.cjs');
29
29
  var getWalletProvider = require('../../functions/getWalletProvider/getWalletProvider.cjs');
30
30
  var AccessDeniedContext = require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
31
+ var AccountExistsContext = require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
31
32
 
32
33
  // This logic is used to both verify or link a wallet
33
34
  // Since we are re-using the different screens to authenticate or link the wallet.
34
35
  // This logic is the best place to determine whether we should verify or verify and link.
35
36
  const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, }) => {
36
37
  const { setDeniedAddress, setDeniedOauthProvider } = AccessDeniedContext.useAccessDeniedContext();
38
+ const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
37
39
  const { setView, goToInitialView } = ViewContext.useViewContext();
38
40
  const { setErrorMessage, setError } = ErrorContext.useErrorContext();
39
41
  const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext.useInternalDynamicContext();
@@ -123,6 +125,11 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
123
125
  setView('no-access');
124
126
  return;
125
127
  }
128
+ if (e instanceof utils.AccountExistsError) {
129
+ setExistentAccountData(e.errorPayload);
130
+ setView('account-exists');
131
+ return;
132
+ }
126
133
  if (connectedWallet && authMode === 'connect-only') {
127
134
  throw new utils.DynamicError(e.message);
128
135
  }
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
2
  import { isSocialWalletConnector } from '@dynamic-labs/wallet-connector-core';
3
- import { DynamicError, WalletUsedError, ChainalysisError, GateBlockedError, NoAccessError } from '@dynamic-labs/utils';
3
+ import { DynamicError, WalletUsedError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
4
4
  import { verifyWallet, linkWallet } from '../../../data/api.js';
5
5
  import { storeAuthToken } from '../../functions/storeAuthToken/index.js';
6
6
  import '@dynamic-labs/multi-wallet';
@@ -24,12 +24,14 @@ import { useErrorContext } from '../../../context/ErrorContext/ErrorContext.js';
24
24
  import { getSiweStatement } from '../../functions/getSiweStatement/getSiweStatement.js';
25
25
  import { getWalletProvider } from '../../functions/getWalletProvider/getWalletProvider.js';
26
26
  import { useAccessDeniedContext } from '../../../context/AccessDeniedContext/AccessDeniedContext.js';
27
+ import { useAccountExistsContext } from '../../../context/AccountExistsContext/AccountExistsContext.js';
27
28
 
28
29
  // This logic is used to both verify or link a wallet
29
30
  // Since we are re-using the different screens to authenticate or link the wallet.
30
31
  // This logic is the best place to determine whether we should verify or verify and link.
31
32
  const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, }) => {
32
33
  const { setDeniedAddress, setDeniedOauthProvider } = useAccessDeniedContext();
34
+ const { setExistentAccountData } = useAccountExistsContext();
33
35
  const { setView, goToInitialView } = useViewContext();
34
36
  const { setErrorMessage, setError } = useErrorContext();
35
37
  const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext();
@@ -119,6 +121,11 @@ const useVerifyWallet = ({ consumeNonce, displayTermsOfService, environmentId, p
119
121
  setView('no-access');
120
122
  return;
121
123
  }
124
+ if (e instanceof AccountExistsError) {
125
+ setExistentAccountData(e.errorPayload);
126
+ setView('account-exists');
127
+ return;
128
+ }
122
129
  if (connectedWallet && authMode === 'connect-only') {
123
130
  throw new DynamicError(e.message);
124
131
  }
@@ -25,6 +25,7 @@ var isSelectedWalletAlreadyConnected = require('../../functions/isSelectedWallet
25
25
  var useConnectAndSign = require('../authenticationHooks/useConnectAndSign/useConnectAndSign.cjs');
26
26
  require('../../../config/ApiEndpoint.cjs');
27
27
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
28
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
28
29
  var useConnectAndSignSplitSteps = require('../authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs');
29
30
 
30
31
  const useWalletItemActions = () => {
@@ -21,6 +21,7 @@ import { isSelectedWalletAlreadyConnected } from '../../functions/isSelectedWall
21
21
  import { useConnectAndSign } from '../authenticationHooks/useConnectAndSign/useConnectAndSign.js';
22
22
  import '../../../config/ApiEndpoint.js';
23
23
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
24
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
24
25
  import { useConnectAndSignSplitSteps } from '../authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js';
25
26
 
26
27
  const useWalletItemActions = () => {
@@ -32,6 +32,7 @@ require('@dynamic-labs/rpc-providers');
32
32
  require('../useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
33
33
  require('../../../context/ErrorContext/ErrorContext.cjs');
34
34
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
35
36
  var useConfirmationModal = require('../useConfirmationModal/useConfirmationModal.cjs');
36
37
  require('../../../context/MockContext/MockContext.cjs');
37
38
  require('../../../context/CaptchaContext/CaptchaContext.cjs');
@@ -28,6 +28,7 @@ import '@dynamic-labs/rpc-providers';
28
28
  import '../useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
29
29
  import '../../../context/ErrorContext/ErrorContext.js';
30
30
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
31
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
31
32
  import { useConfirmationModal } from '../useConfirmationModal/useConfirmationModal.js';
32
33
  import '../../../context/MockContext/MockContext.js';
33
34
  import '../../../context/CaptchaContext/CaptchaContext.js';
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var iconic = require('@dynamic-labs/iconic');
8
+ require('react');
9
+ var Typography = require('../../components/Typography/Typography.cjs');
10
+ require('@dynamic-labs/sdk-api');
11
+ require('../../shared/logger.cjs');
12
+ require('@dynamic-labs/wallet-connector-core');
13
+ require('../../context/ViewContext/ViewContext.cjs');
14
+ require('@dynamic-labs/wallet-book');
15
+ require('@dynamic-labs/utils');
16
+ require('../../utils/constants/colors.cjs');
17
+ require('../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('ethers');
19
+ require('../../shared/consts/index.cjs');
20
+ require('../../context/DynamicContext/DynamicContext.cjs');
21
+ require('@dynamic-labs/multi-wallet');
22
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
23
+ require('../../context/ThemeContext/ThemeContext.cjs');
24
+ require('react-dom');
25
+ require('react-focus-lock');
26
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
27
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
28
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
29
+ require('../../config/ApiEndpoint.cjs');
30
+ require('@dynamic-labs/rpc-providers');
31
+ require('../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
32
+ require('../../context/ErrorContext/ErrorContext.cjs');
33
+ require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
34
+ var AccountExistsContext = require('../../context/AccountExistsContext/AccountExistsContext.cjs');
35
+ require('../../components/IconButton/IconButton.cjs');
36
+ var IconWithSpinner = require('../../components/IconWithSpinner/IconWithSpinner.cjs');
37
+ require('../../components/Alert/Alert.cjs');
38
+ require('../../context/MockContext/MockContext.cjs');
39
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
40
+ var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
41
+ require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
42
+ var useGetSocialIcon = require('../../utils/hooks/useGetSocialIcon/useGetSocialIcon.cjs');
43
+ var IconListTile = require('../../components/IconListTile/IconListTile.cjs');
44
+ require('../../components/Popper/Popper/Popper.cjs');
45
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
46
+ require('formik');
47
+ require('yup');
48
+ require('../../components/InlineWidget/InlineWidget.cjs');
49
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
50
+ var capitalize = require('../../shared/utils/functions/capitalize/capitalize.cjs');
51
+ var SocialRedirectContext = require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
52
+ var LoginWithEmailForm = require('../LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs');
53
+
54
+ const AccountExistsView = () => {
55
+ const { existentAccountData } = AccountExistsContext.useAccountExistsContext();
56
+ const { email, embeddedSocialSigninProvider } = existentAccountData || {};
57
+ const { socialProvider, setSocialProvider, socialWalletConnector } = SocialRedirectContext.useSocialRedirectContext();
58
+ const getSocialIcon = useGetSocialIcon.useGetSocialIcon();
59
+ const { mutate: handleNewLoging } = useMutation.useMutation(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
60
+ setSocialProvider(embeddedSocialSigninProvider);
61
+ yield (socialWalletConnector === null || socialWalletConnector === void 0 ? void 0 : socialWalletConnector.endSession());
62
+ return socialWalletConnector === null || socialWalletConnector === void 0 ? void 0 : socialWalletConnector.connect(embeddedSocialSigninProvider);
63
+ }));
64
+ const renderFullMessage = () => {
65
+ const messageTrail = embeddedSocialSigninProvider
66
+ ? ` through ${capitalize.capitalize(embeddedSocialSigninProvider)}`
67
+ : '. Please log in with your email.';
68
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["It looks like an account already exists using ", jsxRuntime.jsx("strong", { children: email }), '', messageTrail] }));
69
+ };
70
+ return (jsxRuntime.jsxs("div", Object.assign({ className: 'account-exists__container' }, { children: [jsxRuntime.jsx(iconic.UserProfileIcon, { className: 'account-exists__image' }), jsxRuntime.jsxs("div", Object.assign({ className: 'account-exists__main' }, { children: [jsxRuntime.jsx("div", Object.assign({ className: 'account-exists__content' }, { children: jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'account-exists__content--secondary' }, { children: renderFullMessage() })) })), embeddedSocialSigninProvider ? (jsxRuntime.jsxs(IconListTile.IconListTile, Object.assign({ dataTestId: `inline-${embeddedSocialSigninProvider}`, onClick: () => handleNewLoging(), className: 'social-sign-in--tile' }, { children: [jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: getSocialIcon(embeddedSocialSigninProvider), isSpinning: socialProvider === embeddedSocialSigninProvider, iconSize: 32 }), jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with", ' ', capitalize.capitalize(embeddedSocialSigninProvider === null || embeddedSocialSigninProvider === void 0 ? void 0 : embeddedSocialSigninProvider.toString())] }))] }), embeddedSocialSigninProvider)) : (jsxRuntime.jsx(LoginWithEmailForm.LoginWithEmailForm, {}))] }))] })));
71
+ };
72
+
73
+ exports.AccountExistsView = AccountExistsView;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const AccountExistsView: () => JSX.Element;
@@ -0,0 +1,69 @@
1
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import { UserProfileIcon } from '@dynamic-labs/iconic';
4
+ import 'react';
5
+ import { Typography } from '../../components/Typography/Typography.js';
6
+ import '@dynamic-labs/sdk-api';
7
+ import '../../shared/logger.js';
8
+ import '@dynamic-labs/wallet-connector-core';
9
+ import '../../context/ViewContext/ViewContext.js';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '@dynamic-labs/utils';
12
+ import '../../utils/constants/colors.js';
13
+ import '../../shared/utils/classes/storage/localStorage.js';
14
+ import 'ethers';
15
+ import '../../shared/consts/index.js';
16
+ import '../../context/DynamicContext/DynamicContext.js';
17
+ import '@dynamic-labs/multi-wallet';
18
+ import '../../components/ShadowDOM/ShadowDOM.js';
19
+ import '../../context/ThemeContext/ThemeContext.js';
20
+ import 'react-dom';
21
+ import 'react-focus-lock';
22
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
23
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
24
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
25
+ import '../../config/ApiEndpoint.js';
26
+ import '@dynamic-labs/rpc-providers';
27
+ import '../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
28
+ import '../../context/ErrorContext/ErrorContext.js';
29
+ import '../../context/AccessDeniedContext/AccessDeniedContext.js';
30
+ import { useAccountExistsContext } from '../../context/AccountExistsContext/AccountExistsContext.js';
31
+ import '../../components/IconButton/IconButton.js';
32
+ import { IconWithSpinner } from '../../components/IconWithSpinner/IconWithSpinner.js';
33
+ import '../../components/Alert/Alert.js';
34
+ import '../../context/MockContext/MockContext.js';
35
+ import '../../context/CaptchaContext/CaptchaContext.js';
36
+ import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
37
+ import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
38
+ import { useGetSocialIcon } from '../../utils/hooks/useGetSocialIcon/useGetSocialIcon.js';
39
+ import { IconListTile } from '../../components/IconListTile/IconListTile.js';
40
+ import '../../components/Popper/Popper/Popper.js';
41
+ import '../../components/Popper/PopperContext/PopperContext.js';
42
+ import 'formik';
43
+ import 'yup';
44
+ import '../../components/InlineWidget/InlineWidget.js';
45
+ import '../../components/MenuList/Dropdown/Dropdown.js';
46
+ import { capitalize } from '../../shared/utils/functions/capitalize/capitalize.js';
47
+ import { useSocialRedirectContext } from '../../context/SocialRedirectContext/SocialRedirectContext.js';
48
+ import { LoginWithEmailForm } from '../LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js';
49
+
50
+ const AccountExistsView = () => {
51
+ const { existentAccountData } = useAccountExistsContext();
52
+ const { email, embeddedSocialSigninProvider } = existentAccountData || {};
53
+ const { socialProvider, setSocialProvider, socialWalletConnector } = useSocialRedirectContext();
54
+ const getSocialIcon = useGetSocialIcon();
55
+ const { mutate: handleNewLoging } = useMutation(() => __awaiter(void 0, void 0, void 0, function* () {
56
+ setSocialProvider(embeddedSocialSigninProvider);
57
+ yield (socialWalletConnector === null || socialWalletConnector === void 0 ? void 0 : socialWalletConnector.endSession());
58
+ return socialWalletConnector === null || socialWalletConnector === void 0 ? void 0 : socialWalletConnector.connect(embeddedSocialSigninProvider);
59
+ }));
60
+ const renderFullMessage = () => {
61
+ const messageTrail = embeddedSocialSigninProvider
62
+ ? ` through ${capitalize(embeddedSocialSigninProvider)}`
63
+ : '. Please log in with your email.';
64
+ return (jsxs(Fragment, { children: ["It looks like an account already exists using ", jsx("strong", { children: email }), '', messageTrail] }));
65
+ };
66
+ return (jsxs("div", Object.assign({ className: 'account-exists__container' }, { children: [jsx(UserProfileIcon, { className: 'account-exists__image' }), jsxs("div", Object.assign({ className: 'account-exists__main' }, { children: [jsx("div", Object.assign({ className: 'account-exists__content' }, { children: jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'account-exists__content--secondary' }, { children: renderFullMessage() })) })), embeddedSocialSigninProvider ? (jsxs(IconListTile, Object.assign({ dataTestId: `inline-${embeddedSocialSigninProvider}`, onClick: () => handleNewLoging(), className: 'social-sign-in--tile' }, { children: [jsx(IconWithSpinner, { Icon: getSocialIcon(embeddedSocialSigninProvider), isSpinning: socialProvider === embeddedSocialSigninProvider, iconSize: 32 }), jsxs(Typography, Object.assign({ variant: 'button_primary' }, { children: ["Connect with", ' ', capitalize(embeddedSocialSigninProvider === null || embeddedSocialSigninProvider === void 0 ? void 0 : embeddedSocialSigninProvider.toString())] }))] }), embeddedSocialSigninProvider)) : (jsx(LoginWithEmailForm, {}))] }))] })));
67
+ };
68
+
69
+ export { AccountExistsView };
@@ -0,0 +1 @@
1
+ export { AccountExistsView } from './AccountExistsView';
@@ -32,6 +32,7 @@ require('@dynamic-labs/rpc-providers');
32
32
  require('../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
33
33
  require('../../context/ErrorContext/ErrorContext.cjs');
34
34
  require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
+ require('../../context/AccountExistsContext/AccountExistsContext.cjs');
35
36
  require('../../components/IconButton/IconButton.cjs');
36
37
  require('../../components/Alert/Alert.cjs');
37
38
  require('../../context/MockContext/MockContext.cjs');
@@ -28,6 +28,7 @@ import '@dynamic-labs/rpc-providers';
28
28
  import '../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
29
29
  import '../../context/ErrorContext/ErrorContext.js';
30
30
  import '../../context/AccessDeniedContext/AccessDeniedContext.js';
31
+ import '../../context/AccountExistsContext/AccountExistsContext.js';
31
32
  import '../../components/IconButton/IconButton.js';
32
33
  import '../../components/Alert/Alert.js';
33
34
  import '../../context/MockContext/MockContext.js';