@dynamic-labs/sdk-react-core 0.19.0-alpha.0 → 0.19.0-alpha.2

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 (516) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +11 -10
  5. package/src/index.cjs +40 -12
  6. package/src/index.d.ts +4 -7
  7. package/src/index.js +22 -6
  8. package/src/lib/Main.cjs +14 -3
  9. package/src/lib/Main.js +14 -3
  10. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +5 -1
  11. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +5 -1
  12. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +6 -2
  13. package/src/lib/components/AnimatePresence/AnimatePresence.js +6 -2
  14. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +14 -7
  15. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +14 -7
  16. package/src/lib/components/Button/Button.cjs +10 -7
  17. package/src/lib/components/Button/Button.d.ts +3 -3
  18. package/src/lib/components/Button/Button.js +10 -7
  19. package/src/lib/components/Divider/Divider.cjs +7 -3
  20. package/src/lib/components/Divider/Divider.js +7 -3
  21. package/src/lib/components/DynamicConnectButton/components/ConnectButton.cjs +1 -1
  22. package/src/lib/components/DynamicConnectButton/components/ConnectButton.js +1 -1
  23. package/src/lib/components/ErrorContainer/ErrorContainer.d.ts +1 -1
  24. package/src/lib/components/Icon/Icon.cjs +1 -0
  25. package/src/lib/components/Icon/Icon.js +1 -0
  26. package/src/lib/components/Icon/Icon.types.d.ts +1 -1
  27. package/src/lib/components/IconWithSpinner/IconWithSpinner.d.ts +1 -1
  28. package/src/lib/components/ListTile/ListTile.cjs +1 -1
  29. package/src/lib/components/ListTile/ListTile.js +1 -1
  30. package/src/lib/components/ListTile/ListTile.types.d.ts +1 -0
  31. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +5 -1
  32. package/src/lib/components/MenuList/Dropdown/Dropdown.js +5 -1
  33. package/src/lib/components/Modal/Modal.cjs +5 -1
  34. package/src/lib/components/Modal/Modal.js +5 -1
  35. package/src/lib/components/ModalHeader/ModalHeader.cjs +2 -2
  36. package/src/lib/components/ModalHeader/ModalHeader.js +2 -2
  37. package/src/lib/components/ModalHeader/ModalHeader.types.d.ts +2 -1
  38. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.cjs +4 -2
  39. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.d.ts +2 -1
  40. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.js +4 -2
  41. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +6 -2
  42. package/src/lib/components/NetworkPicker/NetworkPicker.js +6 -2
  43. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +7 -3
  44. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +7 -3
  45. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +7 -3
  46. package/src/lib/components/NetworkPicker/components/Network/Network.js +7 -3
  47. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +7 -3
  48. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +7 -3
  49. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +12 -6
  50. package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +2 -0
  51. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +12 -6
  52. package/src/lib/components/OverlayCard/OverlayCard.cjs +5 -1
  53. package/src/lib/components/OverlayCard/OverlayCard.js +5 -1
  54. package/src/lib/components/Portal/Portal.cjs +5 -1
  55. package/src/lib/components/Portal/Portal.js +5 -1
  56. package/src/lib/components/PoweredByDynamic/PoweredByDynamic.cjs +6 -2
  57. package/src/lib/components/PoweredByDynamic/PoweredByDynamic.d.ts +1 -0
  58. package/src/lib/components/PoweredByDynamic/PoweredByDynamic.js +6 -2
  59. package/src/lib/components/Tooltip/Tooltip.cjs +5 -1
  60. package/src/lib/components/Tooltip/Tooltip.js +5 -1
  61. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +3 -1
  62. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +3 -1
  63. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +7 -3
  64. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +7 -3
  65. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +5 -1
  66. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +5 -1
  67. package/src/lib/components/Typography/Typography.cjs +1 -0
  68. package/src/lib/components/Typography/Typography.js +1 -0
  69. package/src/lib/components/Typography/Typography.types.d.ts +1 -1
  70. package/src/lib/components/UserAddress/UserAddress.cjs +5 -1
  71. package/src/lib/components/UserAddress/UserAddress.js +5 -1
  72. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +7 -3
  73. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +7 -3
  74. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +7 -3
  75. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +7 -3
  76. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +7 -4
  77. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +7 -4
  78. package/src/lib/components/UserProfileForm/UserProfileForm.cjs +26 -14
  79. package/src/lib/components/UserProfileForm/UserProfileForm.d.ts +14 -3
  80. package/src/lib/components/UserProfileForm/UserProfileForm.js +27 -15
  81. package/src/lib/components/UserProfileForm/index.d.ts +1 -0
  82. package/src/lib/context/DynamicContext/DynamicContext.cjs +40 -11
  83. package/src/lib/context/DynamicContext/DynamicContext.js +42 -13
  84. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.cjs +13 -3
  85. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.js +13 -3
  86. package/src/lib/context/DynamicContext/internalEvents/index.d.ts +1 -0
  87. package/src/lib/context/DynamicContext/internalEvents/internalEvents.cjs +14 -0
  88. package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +8 -0
  89. package/src/lib/context/DynamicContext/internalEvents/internalEvents.js +6 -0
  90. package/src/lib/context/DynamicContext/types/index.d.ts +8 -5
  91. package/src/lib/context/DynamicContext/useCustomerCallbacks/types.d.ts +9 -2
  92. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +5 -1
  93. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +5 -1
  94. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +64 -33
  95. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.d.ts +3 -3
  96. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +64 -33
  97. package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
  98. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
  99. package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
  100. package/src/lib/context/MockContext/MockContext.cjs +7 -3
  101. package/src/lib/context/MockContext/MockContext.js +7 -3
  102. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +6 -2
  103. package/src/lib/context/QrCodeContext/QrCodeContext.js +6 -2
  104. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +5 -1
  105. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +5 -1
  106. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +8 -3
  107. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +8 -3
  108. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.cjs +67 -0
  109. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.d.ts +14 -0
  110. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.js +62 -0
  111. package/src/lib/context/UserFieldEditorContext/index.d.ts +1 -0
  112. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  113. package/src/lib/context/WalletContext/WalletContext.cjs +1 -0
  114. package/src/lib/context/WalletContext/WalletContext.js +1 -0
  115. package/src/lib/data/api.cjs +33 -1
  116. package/src/lib/data/api.d.ts +3 -1
  117. package/src/lib/data/api.js +34 -4
  118. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +7 -3
  119. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +7 -3
  120. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +18 -6
  121. package/src/lib/layout/DynamicAuthLayout/Header/header.js +18 -6
  122. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +7 -3
  123. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +7 -3
  124. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +7 -3
  125. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +7 -3
  126. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +7 -3
  127. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +7 -3
  128. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +7 -3
  129. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +7 -3
  130. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +7 -3
  131. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +7 -3
  132. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +7 -3
  133. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +7 -3
  134. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +7 -3
  135. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +7 -3
  136. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +7 -3
  137. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +7 -3
  138. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +7 -3
  139. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +7 -3
  140. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +7 -3
  141. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +7 -3
  142. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +7 -3
  143. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +7 -3
  144. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +7 -3
  145. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +7 -3
  146. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +18 -5
  147. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +18 -5
  148. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +2 -0
  149. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.cjs +76 -0
  150. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.d.ts +10 -0
  151. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.js +72 -0
  152. package/src/lib/modals/UserFieldEditorModal/index.d.ts +1 -0
  153. package/src/lib/modals/index.d.ts +1 -0
  154. package/src/lib/shared/assets/at.cjs +53 -0
  155. package/src/lib/shared/assets/at.js +29 -0
  156. package/src/lib/shared/assets/double-arrow-right.cjs +53 -0
  157. package/src/lib/shared/assets/double-arrow-right.js +29 -0
  158. package/src/lib/shared/assets/index.d.ts +11 -0
  159. package/src/lib/shared/assets/justified-text.cjs +53 -0
  160. package/src/lib/shared/assets/justified-text.js +29 -0
  161. package/src/lib/shared/assets/location.cjs +53 -0
  162. package/src/lib/shared/assets/location.js +29 -0
  163. package/src/lib/shared/assets/mail.cjs +53 -0
  164. package/src/lib/shared/assets/mail.js +29 -0
  165. package/src/lib/shared/assets/phone.cjs +53 -0
  166. package/src/lib/shared/assets/phone.js +29 -0
  167. package/src/lib/shared/assets/size-labels.cjs +53 -0
  168. package/src/lib/shared/assets/size-labels.js +29 -0
  169. package/src/lib/shared/assets/sparkles.cjs +53 -0
  170. package/src/lib/shared/assets/sparkles.js +29 -0
  171. package/src/lib/shared/assets/user-card.cjs +53 -0
  172. package/src/lib/shared/assets/user-card.js +29 -0
  173. package/src/lib/shared/assets/user.cjs +53 -0
  174. package/src/lib/shared/assets/user.js +29 -0
  175. package/src/lib/shared/assets/work-suitcase.cjs +53 -0
  176. package/src/lib/shared/assets/work-suitcase.js +29 -0
  177. package/src/lib/shared/types/index.d.ts +4 -0
  178. package/src/lib/shared/utils/functions/splitCamelCase/index.d.ts +1 -0
  179. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.cjs +8 -0
  180. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.d.ts +1 -0
  181. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.js +4 -0
  182. package/src/lib/styles/index.shadow.cjs +1 -1
  183. package/src/lib/styles/index.shadow.js +1 -1
  184. package/src/lib/utils/constants/errors.cjs +7 -0
  185. package/src/lib/utils/constants/errors.d.ts +1 -0
  186. package/src/lib/utils/constants/errors.js +3 -0
  187. package/src/lib/utils/constants/index.d.ts +1 -1
  188. package/src/lib/utils/constants/localStorage.cjs +3 -1
  189. package/src/lib/utils/constants/localStorage.d.ts +1 -0
  190. package/src/lib/utils/constants/localStorage.js +3 -2
  191. package/src/lib/utils/functions/digestSHA256/digestSHA256.cjs +11 -0
  192. package/src/lib/utils/functions/digestSHA256/digestSHA256.d.ts +1 -0
  193. package/src/lib/utils/functions/digestSHA256/digestSHA256.js +7 -0
  194. package/src/lib/utils/functions/digestSHA256/index.d.ts +1 -0
  195. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.cjs +14 -0
  196. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.d.ts +1 -0
  197. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.js +10 -0
  198. package/src/lib/utils/functions/encodeBase64URL/index.d.ts +1 -0
  199. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.cjs +1 -1
  200. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.js +1 -1
  201. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.cjs +33 -0
  202. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.d.ts +1 -0
  203. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.js +29 -0
  204. package/src/lib/utils/functions/getRedirectURIOrigin/index.d.ts +1 -0
  205. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.cjs +14 -2
  206. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.d.ts +3 -2
  207. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.js +14 -2
  208. package/src/lib/utils/functions/getUserProfileFields/index.d.ts +1 -0
  209. package/src/lib/utils/functions/index.d.ts +8 -0
  210. package/src/lib/utils/functions/isMagicConnector/index.d.ts +1 -0
  211. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.cjs +10 -0
  212. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.d.ts +2 -0
  213. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.js +6 -0
  214. package/src/lib/utils/functions/randomString/index.d.ts +1 -0
  215. package/src/lib/utils/functions/randomString/randomString.cjs +14 -0
  216. package/src/lib/utils/functions/randomString/randomString.d.ts +1 -0
  217. package/src/lib/utils/functions/randomString/randomString.js +10 -0
  218. package/src/lib/utils/functions/sendTransactionWithAutoNonce/index.d.ts +1 -0
  219. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.cjs +45 -0
  220. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.d.ts +17 -0
  221. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.js +40 -0
  222. package/src/lib/utils/functions/stringifyURIQuery/index.d.ts +1 -0
  223. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.cjs +13 -0
  224. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.d.ts +1 -0
  225. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.js +9 -0
  226. package/src/lib/utils/hooks/authenticationHooks/index.d.ts +1 -0
  227. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +7 -5
  228. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.d.ts +4 -1
  229. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +7 -5
  230. package/src/lib/utils/hooks/index.d.ts +10 -2
  231. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +19 -3
  232. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +1 -2
  233. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +20 -4
  234. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +11 -9
  235. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +1 -1
  236. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +11 -9
  237. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +1 -0
  238. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +1 -0
  239. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
  240. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
  241. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs +1 -0
  242. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js +1 -0
  243. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +7 -0
  244. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.d.ts +6 -0
  245. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +7 -0
  246. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +2 -2
  247. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -1
  248. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +2 -2
  249. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -6
  250. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -6
  251. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +2 -7
  252. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +2 -7
  253. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/index.d.ts +1 -0
  254. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +1 -0
  255. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +16 -0
  256. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +2 -0
  257. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +12 -0
  258. package/src/lib/utils/hooks/useFindSocialIcon/index.d.ts +1 -0
  259. package/src/lib/utils/hooks/{useGetSocialIcon/useGetSocialIcon.cjs → useFindSocialIcon/useFindSocialIcon.cjs} +3 -3
  260. package/src/lib/utils/hooks/useFindSocialIcon/useFindSocialIcon.d.ts +3 -0
  261. package/src/lib/utils/hooks/useFindSocialIcon/useFindSocialIcon.js +10 -0
  262. package/src/lib/utils/hooks/useOnUnmount/index.d.ts +1 -0
  263. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.cjs +21 -0
  264. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.d.ts +1 -0
  265. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.js +17 -0
  266. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +6 -2
  267. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +2 -1
  268. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +6 -2
  269. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +164 -35
  270. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +7 -3
  271. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +166 -37
  272. package/src/lib/utils/hooks/useTransactionEstimatedGas/index.d.ts +1 -0
  273. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.cjs +61 -0
  274. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.d.ts +20 -0
  275. package/src/lib/utils/hooks/useTransactionEstimatedGas/useTransactionEstimatedGas.js +57 -0
  276. package/src/lib/utils/hooks/useTransactionWithGasPrice/index.d.ts +1 -0
  277. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.cjs +47 -0
  278. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.d.ts +32 -0
  279. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.js +43 -0
  280. package/src/lib/utils/hooks/useUserDataForm/index.d.ts +1 -0
  281. package/src/lib/utils/hooks/useUserUpdateRequest/index.d.ts +3 -0
  282. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/index.d.ts +1 -0
  283. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +107 -0
  284. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.d.ts +9 -0
  285. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +103 -0
  286. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/index.d.ts +2 -0
  287. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/types.d.ts +7 -0
  288. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +73 -0
  289. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.d.ts +7 -0
  290. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +69 -0
  291. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/index.d.ts +1 -0
  292. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.cjs +31 -0
  293. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.d.ts +6 -0
  294. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.js +27 -0
  295. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +7 -94
  296. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +4 -24
  297. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +7 -94
  298. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -0
  299. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -0
  300. package/src/lib/utils/hooks/useWalletConnectorEvent/index.d.ts +1 -0
  301. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.cjs +42 -0
  302. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.d.ts +12 -0
  303. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.js +38 -0
  304. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +12 -0
  305. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +12 -0
  306. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +91 -136
  307. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -1
  308. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +92 -137
  309. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -0
  310. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -0
  311. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +8 -4
  312. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +5 -1
  313. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +8 -4
  314. package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -2
  315. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +10 -6
  316. package/src/lib/views/AccountExistsView/AccountExistsView.js +10 -6
  317. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +17 -7
  318. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +17 -7
  319. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +7 -3
  320. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +7 -3
  321. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +6 -2
  322. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +6 -2
  323. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +11 -4
  324. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +11 -4
  325. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +7 -3
  326. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +7 -3
  327. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +7 -3
  328. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +7 -3
  329. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +20 -8
  330. package/src/lib/views/EmailUpdate/EmailUpdate.js +20 -8
  331. package/src/lib/views/EmailVerification/EmailVerification.cjs +56 -11
  332. package/src/lib/views/EmailVerification/EmailVerification.js +59 -14
  333. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +8 -3
  334. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +8 -3
  335. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.cjs +7 -3
  336. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.js +7 -3
  337. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +14 -8
  338. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.d.ts +5 -1
  339. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +15 -9
  340. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.cjs +4 -1
  341. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.js +4 -1
  342. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +10 -6
  343. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +10 -6
  344. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +114 -0
  345. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +2 -0
  346. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +110 -0
  347. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  348. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +22 -6
  349. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +22 -6
  350. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +23 -7
  351. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +23 -7
  352. package/src/lib/views/NoAccess/NoAccess.cjs +7 -4
  353. package/src/lib/views/NoAccess/NoAccess.js +7 -4
  354. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +7 -3
  355. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +7 -3
  356. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +7 -3
  357. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +7 -3
  358. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +7 -3
  359. package/src/lib/views/PendingConnectView/PendingConnectView.js +7 -3
  360. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +7 -3
  361. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +7 -3
  362. package/src/lib/views/QrCodeView/QRCode.cjs +5 -1
  363. package/src/lib/views/QrCodeView/QRCode.js +5 -1
  364. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +7 -3
  365. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +7 -3
  366. package/src/lib/views/QrCodeView/QrCodeView.cjs +7 -3
  367. package/src/lib/views/QrCodeView/QrCodeView.js +7 -3
  368. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +18 -17
  369. package/src/lib/views/SendBalanceView/SendBalanceView.js +18 -17
  370. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +71 -0
  371. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.d.ts +8 -0
  372. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +67 -0
  373. package/src/lib/views/SendBalanceView/components/TransactionStage/index.d.ts +1 -0
  374. package/src/lib/views/SendBalanceView/components/index.d.ts +1 -0
  375. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +10 -7
  376. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +10 -7
  377. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +10 -6
  378. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +10 -6
  379. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +27 -5
  380. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +27 -5
  381. package/src/lib/views/TransactionConfirmationView/hooks/index.d.ts +2 -1
  382. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/index.d.ts +1 -0
  383. package/src/lib/views/TransactionConfirmationView/hooks/{useTransactionData/useTransactionData.cjs → useTransactionGas/useTransactionGas.cjs} +22 -43
  384. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.d.ts +11 -0
  385. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.js +71 -0
  386. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/index.d.ts +1 -0
  387. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.cjs +14 -0
  388. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.d.ts +7 -0
  389. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.js +10 -0
  390. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +73 -0
  391. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.d.ts +9 -0
  392. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +69 -0
  393. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.cjs +48 -0
  394. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.d.ts +7 -0
  395. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.js +44 -0
  396. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/index.d.ts +1 -0
  397. package/src/lib/views/UserFieldEditorView/index.d.ts +1 -0
  398. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/index.d.ts +1 -0
  399. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.cjs +34 -0
  400. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.d.ts +7 -0
  401. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.js +30 -0
  402. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +68 -0
  403. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.d.ts +2 -0
  404. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +64 -0
  405. package/src/lib/views/WalletCannotBeTransferredView/index.d.ts +1 -0
  406. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +7 -3
  407. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +7 -3
  408. package/src/lib/views/WalletList/WalletList.cjs +4 -1
  409. package/src/lib/views/WalletList/WalletList.js +4 -1
  410. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +9 -3
  411. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +9 -3
  412. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +27 -7
  413. package/src/lib/views/WalletLockedView/WalletLockedView.js +27 -7
  414. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +7 -3
  415. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +7 -3
  416. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +7 -3
  417. package/src/lib/views/WalletUsedView/WalletUsedView.js +7 -3
  418. package/src/lib/views/viewToComponentMap.cjs +4 -0
  419. package/src/lib/views/viewToComponentMap.js +4 -0
  420. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +7 -3
  421. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +7 -3
  422. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +8 -4
  423. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +8 -4
  424. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +7 -3
  425. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +7 -3
  426. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +7 -3
  427. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +7 -3
  428. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +7 -3
  429. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +7 -3
  430. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +8 -4
  431. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +8 -4
  432. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +7 -3
  433. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +7 -3
  434. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +7 -3
  435. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +7 -3
  436. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +7 -3
  437. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +7 -3
  438. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +7 -3
  439. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +7 -3
  440. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +7 -3
  441. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +7 -3
  442. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +7 -3
  443. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +7 -3
  444. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -1
  445. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -1
  446. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +7 -3
  447. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +7 -3
  448. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetFooter/DynamicWidgetFooter.cjs +1 -1
  449. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetFooter/DynamicWidgetFooter.js +1 -1
  450. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +6 -2
  451. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +6 -2
  452. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +7 -3
  453. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +7 -3
  454. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +5 -1
  455. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +5 -1
  456. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +7 -3
  457. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +7 -3
  458. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +7 -3
  459. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +7 -3
  460. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +7 -3
  461. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +7 -3
  462. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +7 -3
  463. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +7 -3
  464. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +7 -3
  465. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +7 -3
  466. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +7 -3
  467. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +7 -3
  468. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +7 -3
  469. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +7 -3
  470. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +7 -3
  471. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +7 -3
  472. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +6 -2
  473. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +6 -2
  474. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.cjs +4 -1
  475. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.js +4 -1
  476. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +7 -3
  477. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +7 -3
  478. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +7 -3
  479. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +7 -3
  480. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +7 -3
  481. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +7 -3
  482. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +7 -3
  483. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +7 -3
  484. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +7 -3
  485. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +7 -3
  486. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +7 -3
  487. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +7 -3
  488. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +7 -3
  489. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +7 -3
  490. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +7 -3
  491. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +7 -3
  492. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +7 -3
  493. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +7 -3
  494. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +7 -3
  495. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +7 -3
  496. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +7 -3
  497. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +7 -3
  498. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +7 -2
  499. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +7 -2
  500. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +8 -4
  501. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +8 -4
  502. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +9 -5
  503. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +9 -5
  504. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +7 -3
  505. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +7 -3
  506. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs +13 -0
  507. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.d.ts +2 -0
  508. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js +9 -0
  509. package/src/lib/widgets/OAuthIFrameContainer/index.d.ts +1 -0
  510. package/src/lib/widgets/index.d.ts +1 -0
  511. package/src/lib/utils/hooks/useGetSocialIcon/index.d.ts +0 -1
  512. package/src/lib/utils/hooks/useGetSocialIcon/useGetSocialIcon.d.ts +0 -2
  513. package/src/lib/utils/hooks/useGetSocialIcon/useGetSocialIcon.js +0 -10
  514. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/index.d.ts +0 -1
  515. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts +0 -18
  516. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.js +0 -92
@@ -2,6 +2,7 @@ import { __awaiter } from '../../../../_virtual/_tslib.js';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState } from 'react';
4
4
  import { SignInWithEmailIcon } from '@dynamic-labs/iconic';
5
+ import { EmailAlreadyExistsError } from '@dynamic-labs/utils';
5
6
  import { Typography } from '../../components/Typography/Typography.js';
6
7
  import '@dynamic-labs/sdk-api';
7
8
  import { logger } from '../../shared/logger.js';
@@ -9,7 +10,6 @@ import '@dynamic-labs/wallet-connector-core';
9
10
  import { useViewContext } from '../../context/ViewContext/ViewContext.js';
10
11
  import { ReactComponent as SvgChevronLeft } from '../../shared/assets/chevron-left.js';
11
12
  import '@dynamic-labs/wallet-book';
12
- import '@dynamic-labs/utils';
13
13
  import '../../utils/constants/colors.js';
14
14
  import '../../shared/utils/classes/storage/localStorage.js';
15
15
  import 'ethers';
@@ -33,16 +33,19 @@ import '../../context/AccountExistsContext/AccountExistsContext.js';
33
33
  import { IconButton } from '../../components/IconButton/IconButton.js';
34
34
  import { Button } from '../../components/Button/Button.js';
35
35
  import '../../components/Alert/Alert.js';
36
+ import 'formik';
37
+ import 'yup';
38
+ import '../CollectUserDataView/fieldsConfig.js';
36
39
  import '../../context/MockContext/MockContext.js';
37
40
  import '../../context/CaptchaContext/CaptchaContext.js';
38
- import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
41
+ import { useEmailVerificationContext } from '../../context/EmailVerificationContext/EmailVerificationContext.js';
42
+ import '@dynamic-labs/types';
43
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
44
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
39
45
  import '../../components/Popper/Popper/Popper.js';
40
46
  import '../../components/Popper/PopperContext/PopperContext.js';
41
- import 'formik';
42
- import 'yup';
43
47
  import '../../components/InlineWidget/InlineWidget.js';
44
48
  import '../../components/MenuList/Dropdown/Dropdown.js';
45
- import { useEmailVerificationContext } from '../../context/EmailVerificationContext/EmailVerificationContext.js';
46
49
  import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.js';
47
50
 
48
51
  const EmailUpdate = () => {
@@ -51,18 +54,23 @@ const EmailUpdate = () => {
51
54
  const { loading, setLoading } = useLoadingContext();
52
55
  const { setView, goToInitialView } = useViewContext();
53
56
  const { email, setEmail, setVerificationUUID } = useEmailVerificationContext();
54
- const { environmentId, handleLogOut, onboardingOnlyJwt } = useInternalDynamicContext();
57
+ const { environmentId, handleLogOut, onboardingOnlyJwt, authToken } = useInternalDynamicContext();
58
+ const [emailError, setEmailError] = useState(undefined);
55
59
  const handleBackClick = () => {
56
60
  setView('verify-email');
57
61
  setError(undefined);
58
62
  };
63
+ // If user tries to update an email for logged user there is already an authToken and onboardingOnlyJwt is undefined
64
+ // If user tries to update the email in the authFlow, authToken is undefined and onboardingOnlyJwt is defined
65
+ const jwtToken = authToken || onboardingOnlyJwt;
59
66
  const handleEmailUpdate = () => __awaiter(void 0, void 0, void 0, function* () {
60
67
  try {
61
68
  if (!updatedEmail) {
62
69
  return;
63
70
  }
71
+ setEmailError(undefined);
64
72
  setLoading(true);
65
- const { emailVerification } = yield updateUserProfileFields(onboardingOnlyJwt, environmentId, { email: updatedEmail });
73
+ const { emailVerification } = yield updateUserProfileFields(jwtToken, environmentId, { email: updatedEmail });
66
74
  if (!emailVerification) {
67
75
  yield handleLogOut();
68
76
  goToInitialView();
@@ -75,6 +83,10 @@ const EmailUpdate = () => {
75
83
  }
76
84
  catch (error) {
77
85
  logger.debug(error);
86
+ if (error instanceof EmailAlreadyExistsError) {
87
+ setEmailError('Email already exists');
88
+ return;
89
+ }
78
90
  setErrorMessage(error.code);
79
91
  }
80
92
  finally {
@@ -86,7 +98,7 @@ const EmailUpdate = () => {
86
98
  width: '3.125rem',
87
99
  }, className: 'email-update__icon' }), jsx(Typography, Object.assign({ weight: 'medium', variant: 'title', className: 'email-update__title' }, { children: "Update Email" })), jsxs("div", Object.assign({ className: 'email-update__copy-text-container' }, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "Your current email address is" })), jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: email }))] })), jsx(Input, { id: 'email_field', onChange: (e) => {
88
100
  setUpdatedEmail(e.target.value);
89
- }, type: 'email', label: 'Email address', className: 'email-update__input' }), jsx(Button, Object.assign({ buttonVariant: 'primary', buttonPadding: 'medium', buttonClassName: 'email-update__button', onClick: () => handleEmailUpdate(), loading: loading }, { children: "Send Verification Code" }))] })));
101
+ }, type: 'email', label: 'Email address', className: 'email-update__input', error: Boolean(emailError), message: emailError }), jsx(Button, Object.assign({ buttonVariant: 'primary', buttonPadding: 'medium', buttonClassName: 'email-update__button', onClick: () => handleEmailUpdate(), loading: loading }, { children: "Send Verification Code" }))] })));
90
102
  };
91
103
 
92
104
  export { EmailUpdate };
@@ -11,6 +11,7 @@ var Typography = require('../../components/Typography/Typography.cjs');
11
11
  var decodeJwt = require('../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
12
12
  require('@dynamic-labs/wallet-connector-core');
13
13
  var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
14
+ var close = require('../../shared/assets/close.cjs');
14
15
  var check = require('../../shared/assets/check.cjs');
15
16
  var checkCircle = require('../../shared/assets/check-circle.cjs');
16
17
  var logger = require('../../shared/logger.cjs');
@@ -18,6 +19,7 @@ require('@dynamic-labs/wallet-book');
18
19
  require('../../utils/constants/colors.cjs');
19
20
  require('../../shared/utils/classes/storage/localStorage.cjs');
20
21
  require('ethers');
22
+ var useEffectOnce = require('../../shared/utils/hooks/useEffectOnce/useEffectOnce.cjs');
21
23
  require('../../shared/consts/index.cjs');
22
24
  var useInternalDynamicContext = require('../../context/DynamicContext/useInternalDynamicContext.cjs');
23
25
  require('@dynamic-labs/multi-wallet');
@@ -36,49 +38,80 @@ require('../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetu
36
38
  var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
37
39
  require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
38
40
  var AccountExistsContext = require('../../context/AccountExistsContext/AccountExistsContext.cjs');
39
- require('../../components/IconButton/IconButton.cjs');
41
+ var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
42
+ var IconButton = require('../../components/IconButton/IconButton.cjs');
40
43
  var IconWithStatus = require('../../components/IconWithStatus/IconWithStatus.cjs');
41
44
  var PoweredByDynamic = require('../../components/PoweredByDynamic/PoweredByDynamic.cjs');
42
45
  var IconWithSpinner = require('../../components/IconWithSpinner/IconWithSpinner.cjs');
43
46
  require('../../components/Alert/Alert.cjs');
47
+ require('formik');
48
+ require('yup');
49
+ require('../CollectUserDataView/fieldsConfig.cjs');
44
50
  require('../../context/MockContext/MockContext.cjs');
45
51
  require('../../context/CaptchaContext/CaptchaContext.cjs');
46
- require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
52
+ var useEmailVerificationRequest = require('../../utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs');
47
53
  var useCountdown = require('../../utils/hooks/useCountdown/useCountdown.cjs');
54
+ require('@dynamic-labs/types');
55
+ var useCreateUserProfileByJWTCallback = require('../../utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.cjs');
56
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
57
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
58
+ var useOnUnmount = require('../../utils/hooks/useOnUnmount/useOnUnmount.cjs');
48
59
  var TextButton = require('../../components/TextButton/TextButton.cjs');
49
60
  var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
50
61
  var PinField = require('../../components/PinField/PinField.cjs');
51
62
  var shortenEmail = require('../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
52
63
  require('../../components/Popper/Popper/Popper.cjs');
53
64
  require('../../components/Popper/PopperContext/PopperContext.cjs');
54
- require('formik');
55
- require('yup');
56
65
  require('../../components/InlineWidget/InlineWidget.cjs');
57
66
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
58
67
  var EmailVerificationContext = require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
59
68
  var LoadingContext = require('../../context/LoadingContext/LoadingContext.cjs');
60
- var useEmailVerificationRequest = require('../../utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs');
61
- var useCreateUserProfileByJWTCallback = require('../../utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.cjs');
62
69
 
63
70
  const SECONDS_TO_RETRY = 15;
64
71
  const EmailVerification = () => {
65
72
  const [hideRetryButton, setHideRetryButton] = React.useState(false);
66
73
  const [retried, setRetried] = React.useState(false);
67
- const [isValidated, setIsValidated] = React.useState(false);
68
74
  const [showTransferMessage, setShowTransferMessage] = React.useState(false);
75
+ // Use a state to ensure UI is updated, but also a ref to access in effect cleanup
76
+ const [isValidated, _setIsValidated] = React.useState(false);
77
+ const isValidatedRef = React.useRef(isValidated);
78
+ const setIsValidated = (value) => {
79
+ _setIsValidated(value);
80
+ isValidatedRef.current = value;
81
+ };
69
82
  const { view, setView, goToInitialView } = ViewContext.useViewContext();
70
83
  const { error, setError, setErrorMessage } = ErrorContext.useErrorContext();
71
84
  const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
72
- const { environmentId, onboardingOnlyJwt, handleLogOut, authToken, setOnboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
85
+ const { environmentId, onboardingOnlyJwt, handleLogOut, authToken, setOnboardingOnlyJwt, setShowAuthFlow, setCallback, setIsVerificationInProgress, isVerificationInProgress, } = useInternalDynamicContext.useInternalDynamicContext();
73
86
  const { email, verificationUUID, setVerificationUUID } = EmailVerificationContext.useEmailVerificationContext();
74
87
  const { loading, setLoading } = LoadingContext.useLoadingContext();
75
88
  const { remainingSeconds, startCountdown } = useCountdown.useCountdown({
76
89
  callback: () => setRetried(false),
77
90
  seconds: SECONDS_TO_RETRY,
78
91
  });
92
+ // When true, causes the component to call emailVerificationX callback on unmount
93
+ const callCallbackOnUnmount = React.useRef(true);
94
+ useOnUnmount.useOnUnmount(() => {
95
+ if (!callCallbackOnUnmount.current)
96
+ return;
97
+ const callback = isValidatedRef.current
98
+ ? 'emailVerificationSuccess'
99
+ : 'emailVerificationFailure';
100
+ setCallback(callback, { email: email !== null && email !== void 0 ? email : '' });
101
+ });
102
+ useEffectOnce.useEffectOnce(() => {
103
+ // Set verification in progress
104
+ // It should be disabled by either clearStatesOnBackClick, the close button, or onAuthSuccess
105
+ setIsVerificationInProgress(true);
106
+ });
79
107
  const isLoginView = view === 'login-with-email-verification';
80
108
  const { verifyEmail } = useEmailVerificationRequest.useEmailVerificationRequest();
81
109
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
110
+ const close$1 = () => {
111
+ setShowAuthFlow(false);
112
+ if (isVerificationInProgress)
113
+ setIsVerificationInProgress(false);
114
+ };
82
115
  const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
83
116
  setError(undefined);
84
117
  setLoading(true);
@@ -101,6 +134,11 @@ const EmailVerification = () => {
101
134
  }
102
135
  catch (error) {
103
136
  logger.logger.debug(error);
137
+ // Handle the case where the user has already an account with the email
138
+ if (error instanceof utils.UserHasAccountWithEmailError) {
139
+ setView('merge-user-accounts');
140
+ return; // Early return to not show the error message
141
+ }
104
142
  setErrorMessage(error.code);
105
143
  }
106
144
  finally {
@@ -119,6 +157,7 @@ const EmailVerification = () => {
119
157
  setOnboardingOnlyJwt,
120
158
  setCallback,
121
159
  setErrorMessage,
160
+ setView,
122
161
  ]);
123
162
  const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
124
163
  setError(undefined);
@@ -214,9 +253,15 @@ const EmailVerification = () => {
214
253
  setLoading(false);
215
254
  }
216
255
  });
217
- return (jsxRuntime.jsxs("div", Object.assign({ className: 'email-verification__container' }, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, Object.assign({ withIcon: false, className: 'email-verification__error-message' }, { children: error }))), showTransferMessage && (jsxRuntime.jsx("div", Object.assign({ className: 'email-verification__transfer-message' }, { children: "Verification complete, the email is now verified to this account." }))), isValidated ? (jsxRuntime.jsx("div", Object.assign({ className: 'email-verification__icon-container' }, { children: jsxRuntime.jsx(IconWithStatus.IconWithStatus, { containerClassName: 'email-verification__icon--verified', Icon: iconic.SignInWithEmailIcon, iconSize: 50, InnerIcon: check.ReactComponent }) }))) : (jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { className: classNames.classNames({
218
- 'email-verification__icon-with-spinner': Boolean(!error),
219
- }), Icon: iconic.SignInWithEmailIcon, iconSize: 80, isSpinning: true })), jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'title', className: 'email-verification__title', color: 'primary' }, { children: "Confirm verification code" })), jsxRuntime.jsxs("div", Object.assign({ className: 'email-verification__copy-text-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail.shortenEmail(email) }))] })), !isLoginView && (jsxRuntime.jsx(TextButton.TextButton, Object.assign({ onClick: () => setView('update-email'), className: 'email-verification__text-button', disabled: loading }, { children: "Edit email" }))), jsxRuntime.jsx(PinField.PinField, { initialValue: Array(6).join('.').split('.'), isLoading: loading, handleComplete: isLoginView ? handleEmailLogin : handleComplete, isValidated: isValidated, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: () => setError(undefined) }), retried ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'body_small', color: 'secondary' }, { children: ["Re-send code in ", remainingSeconds] })), jsxRuntime.jsxs("span", Object.assign({ className: 'email-verification__retry-container' }, { children: [jsxRuntime.jsx(checkCircle.ReactComponent, {}), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'primary', className: 'email-verification__retry-container-text' }, { children: "Code sent" }))] }))] })) : (!hideRetryButton && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'secondary' }, { children: "Did not receive your code yet?" })), jsxRuntime.jsx(TextButton.TextButton, Object.assign({ className: 'email-verification__text-button', disabled: loading || isValidated, onClick: () => handleRetry() }, { children: "Re-send code" }))] }))), !isLoginView && (jsxRuntime.jsx(TextButton.TextButton, Object.assign({ className: 'email-verification__log-out', onClick: handleLogOut }, { children: "Log out" }))), jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {})] })));
256
+ // Go to update email screen, but prevent onEmailVerificationX callback from being called
257
+ const updateEmail = () => {
258
+ callCallbackOnUnmount.current = false;
259
+ setView('update-email');
260
+ };
261
+ const closeButton = (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ onClick: close$1, type: 'button', "data-testid": 'close-button' }, { children: jsxRuntime.jsx(close.ReactComponent, {}) })));
262
+ return (jsxRuntime.jsxs("div", Object.assign({ className: 'email-verification__container' }, { children: [error && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, Object.assign({ withIcon: false, className: 'email-verification__error-message' }, { children: error }))), showTransferMessage && (jsxRuntime.jsx("div", Object.assign({ className: 'email-verification__transfer-message' }, { children: "Verification complete, the email is now verified to this account." }))), jsxRuntime.jsx(ModalHeader.ModalHeader, Object.assign({ style: { paddingBlock: 0 }, trailing: !isLoginView && closeButton }, { children: isValidated ? (jsxRuntime.jsx("div", Object.assign({ className: 'email-verification__icon-container' }, { children: jsxRuntime.jsx(IconWithStatus.IconWithStatus, { containerClassName: 'email-verification__icon--verified', Icon: iconic.SignInWithEmailIcon, iconSize: 50, InnerIcon: check.ReactComponent }) }))) : (jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { className: classNames.classNames({
263
+ 'email-verification__icon-with-spinner': Boolean(!error),
264
+ }), Icon: iconic.SignInWithEmailIcon, iconSize: 80, isSpinning: true })) })), jsxRuntime.jsx(Typography.Typography, Object.assign({ weight: 'medium', variant: 'title', className: 'email-verification__title', color: 'primary' }, { children: "Confirm verification code" })), jsxRuntime.jsxs("div", Object.assign({ className: 'email-verification__copy-text-container' }, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail.shortenEmail(email) }))] })), !isLoginView && (jsxRuntime.jsx(TextButton.TextButton, Object.assign({ onClick: updateEmail, className: 'email-verification__text-button', disabled: loading }, { children: "Edit email" }))), jsxRuntime.jsx(PinField.PinField, { initialValue: Array(6).join('.').split('.'), isLoading: loading, handleComplete: isLoginView ? handleEmailLogin : handleComplete, isValidated: isValidated, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: () => setError(undefined) }), retried ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(Typography.Typography, Object.assign({ variant: 'body_small', color: 'secondary' }, { children: ["Re-send code in ", remainingSeconds] })), jsxRuntime.jsxs("span", Object.assign({ className: 'email-verification__retry-container' }, { children: [jsxRuntime.jsx(checkCircle.ReactComponent, {}), jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'primary', className: 'email-verification__retry-container-text' }, { children: "Code sent" }))] }))] })) : (!hideRetryButton && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'secondary' }, { children: "Did not receive your code yet?" })), jsxRuntime.jsx(TextButton.TextButton, Object.assign({ className: 'email-verification__text-button', disabled: loading || isValidated, onClick: () => handleRetry() }, { children: "Re-send code" }))] }))), !isLoginView && (jsxRuntime.jsx(TextButton.TextButton, Object.assign({ className: 'email-verification__log-out', onClick: handleLogOut }, { children: "Log out" }))), jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {})] })));
220
265
  };
221
266
 
222
267
  exports.EmailVerification = EmailVerification;
@@ -1,12 +1,13 @@
1
1
  import { __awaiter } from '../../../../_virtual/_tslib.js';
2
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
- import { useState, useCallback } from 'react';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { useState, useRef, useCallback } from 'react';
4
4
  import { SignInWithEmailIcon } from '@dynamic-labs/iconic';
5
- import { NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
5
+ import { UserHasAccountWithEmailError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
6
6
  import { Typography } from '../../components/Typography/Typography.js';
7
7
  import { decodeJwt } from '../../shared/utils/functions/decodeJwt/decodeJwt.js';
8
8
  import '@dynamic-labs/wallet-connector-core';
9
9
  import { useViewContext } from '../../context/ViewContext/ViewContext.js';
10
+ import { ReactComponent as SvgClose } from '../../shared/assets/close.js';
10
11
  import { ReactComponent as SvgCheck } from '../../shared/assets/check.js';
11
12
  import { ReactComponent as SvgCheckCircle } from '../../shared/assets/check-circle.js';
12
13
  import { logger } from '../../shared/logger.js';
@@ -14,6 +15,7 @@ import '@dynamic-labs/wallet-book';
14
15
  import '../../utils/constants/colors.js';
15
16
  import '../../shared/utils/classes/storage/localStorage.js';
16
17
  import 'ethers';
18
+ import { useEffectOnce } from '../../shared/utils/hooks/useEffectOnce/useEffectOnce.js';
17
19
  import '../../shared/consts/index.js';
18
20
  import { useInternalDynamicContext } from '../../context/DynamicContext/useInternalDynamicContext.js';
19
21
  import '@dynamic-labs/multi-wallet';
@@ -32,49 +34,80 @@ import '../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup
32
34
  import { useErrorContext } from '../../context/ErrorContext/ErrorContext.js';
33
35
  import '../../context/AccessDeniedContext/AccessDeniedContext.js';
34
36
  import { useAccountExistsContext } from '../../context/AccountExistsContext/AccountExistsContext.js';
35
- import '../../components/IconButton/IconButton.js';
37
+ import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
38
+ import { IconButton } from '../../components/IconButton/IconButton.js';
36
39
  import { IconWithStatus } from '../../components/IconWithStatus/IconWithStatus.js';
37
40
  import { PoweredByDynamic } from '../../components/PoweredByDynamic/PoweredByDynamic.js';
38
41
  import { IconWithSpinner } from '../../components/IconWithSpinner/IconWithSpinner.js';
39
42
  import '../../components/Alert/Alert.js';
43
+ import 'formik';
44
+ import 'yup';
45
+ import '../CollectUserDataView/fieldsConfig.js';
40
46
  import '../../context/MockContext/MockContext.js';
41
47
  import '../../context/CaptchaContext/CaptchaContext.js';
42
- import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
48
+ import { useEmailVerificationRequest } from '../../utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js';
43
49
  import { useCountdown } from '../../utils/hooks/useCountdown/useCountdown.js';
50
+ import '@dynamic-labs/types';
51
+ import { useCreateUserProfileByJWTCallback } from '../../utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.js';
52
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
53
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
54
+ import { useOnUnmount } from '../../utils/hooks/useOnUnmount/useOnUnmount.js';
44
55
  import { TextButton } from '../../components/TextButton/TextButton.js';
45
56
  import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
46
57
  import { PinField } from '../../components/PinField/PinField.js';
47
58
  import { shortenEmail } from '../../shared/utils/functions/shortenEmail/shortenEmail.js';
48
59
  import '../../components/Popper/Popper/Popper.js';
49
60
  import '../../components/Popper/PopperContext/PopperContext.js';
50
- import 'formik';
51
- import 'yup';
52
61
  import '../../components/InlineWidget/InlineWidget.js';
53
62
  import '../../components/MenuList/Dropdown/Dropdown.js';
54
63
  import { useEmailVerificationContext } from '../../context/EmailVerificationContext/EmailVerificationContext.js';
55
64
  import { useLoadingContext } from '../../context/LoadingContext/LoadingContext.js';
56
- import { useEmailVerificationRequest } from '../../utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js';
57
- import { useCreateUserProfileByJWTCallback } from '../../utils/hooks/useCreateUserProfileByJWTCallback/useCreateUserProfileByJWTCallback.js';
58
65
 
59
66
  const SECONDS_TO_RETRY = 15;
60
67
  const EmailVerification = () => {
61
68
  const [hideRetryButton, setHideRetryButton] = useState(false);
62
69
  const [retried, setRetried] = useState(false);
63
- const [isValidated, setIsValidated] = useState(false);
64
70
  const [showTransferMessage, setShowTransferMessage] = useState(false);
71
+ // Use a state to ensure UI is updated, but also a ref to access in effect cleanup
72
+ const [isValidated, _setIsValidated] = useState(false);
73
+ const isValidatedRef = useRef(isValidated);
74
+ const setIsValidated = (value) => {
75
+ _setIsValidated(value);
76
+ isValidatedRef.current = value;
77
+ };
65
78
  const { view, setView, goToInitialView } = useViewContext();
66
79
  const { error, setError, setErrorMessage } = useErrorContext();
67
80
  const { setExistentAccountData } = useAccountExistsContext();
68
- const { environmentId, onboardingOnlyJwt, handleLogOut, authToken, setOnboardingOnlyJwt, setShowAuthFlow, setCallback, } = useInternalDynamicContext();
81
+ const { environmentId, onboardingOnlyJwt, handleLogOut, authToken, setOnboardingOnlyJwt, setShowAuthFlow, setCallback, setIsVerificationInProgress, isVerificationInProgress, } = useInternalDynamicContext();
69
82
  const { email, verificationUUID, setVerificationUUID } = useEmailVerificationContext();
70
83
  const { loading, setLoading } = useLoadingContext();
71
84
  const { remainingSeconds, startCountdown } = useCountdown({
72
85
  callback: () => setRetried(false),
73
86
  seconds: SECONDS_TO_RETRY,
74
87
  });
88
+ // When true, causes the component to call emailVerificationX callback on unmount
89
+ const callCallbackOnUnmount = useRef(true);
90
+ useOnUnmount(() => {
91
+ if (!callCallbackOnUnmount.current)
92
+ return;
93
+ const callback = isValidatedRef.current
94
+ ? 'emailVerificationSuccess'
95
+ : 'emailVerificationFailure';
96
+ setCallback(callback, { email: email !== null && email !== void 0 ? email : '' });
97
+ });
98
+ useEffectOnce(() => {
99
+ // Set verification in progress
100
+ // It should be disabled by either clearStatesOnBackClick, the close button, or onAuthSuccess
101
+ setIsVerificationInProgress(true);
102
+ });
75
103
  const isLoginView = view === 'login-with-email-verification';
76
104
  const { verifyEmail } = useEmailVerificationRequest();
77
105
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback();
106
+ const close = () => {
107
+ setShowAuthFlow(false);
108
+ if (isVerificationInProgress)
109
+ setIsVerificationInProgress(false);
110
+ };
78
111
  const handleComplete = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
79
112
  setError(undefined);
80
113
  setLoading(true);
@@ -97,6 +130,11 @@ const EmailVerification = () => {
97
130
  }
98
131
  catch (error) {
99
132
  logger.debug(error);
133
+ // Handle the case where the user has already an account with the email
134
+ if (error instanceof UserHasAccountWithEmailError) {
135
+ setView('merge-user-accounts');
136
+ return; // Early return to not show the error message
137
+ }
100
138
  setErrorMessage(error.code);
101
139
  }
102
140
  finally {
@@ -115,6 +153,7 @@ const EmailVerification = () => {
115
153
  setOnboardingOnlyJwt,
116
154
  setCallback,
117
155
  setErrorMessage,
156
+ setView,
118
157
  ]);
119
158
  const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
120
159
  setError(undefined);
@@ -210,9 +249,15 @@ const EmailVerification = () => {
210
249
  setLoading(false);
211
250
  }
212
251
  });
213
- return (jsxs("div", Object.assign({ className: 'email-verification__container' }, { children: [error && (jsx(ErrorContainer, Object.assign({ withIcon: false, className: 'email-verification__error-message' }, { children: error }))), showTransferMessage && (jsx("div", Object.assign({ className: 'email-verification__transfer-message' }, { children: "Verification complete, the email is now verified to this account." }))), isValidated ? (jsx("div", Object.assign({ className: 'email-verification__icon-container' }, { children: jsx(IconWithStatus, { containerClassName: 'email-verification__icon--verified', Icon: SignInWithEmailIcon, iconSize: 50, InnerIcon: SvgCheck }) }))) : (jsx(IconWithSpinner, { className: classNames({
214
- 'email-verification__icon-with-spinner': Boolean(!error),
215
- }), Icon: SignInWithEmailIcon, iconSize: 80, isSpinning: true })), jsx(Typography, Object.assign({ weight: 'medium', variant: 'title', className: 'email-verification__title', color: 'primary' }, { children: "Confirm verification code" })), jsxs("div", Object.assign({ className: 'email-verification__copy-text-container' }, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail(email) }))] })), !isLoginView && (jsx(TextButton, Object.assign({ onClick: () => setView('update-email'), className: 'email-verification__text-button', disabled: loading }, { children: "Edit email" }))), jsx(PinField, { initialValue: Array(6).join('.').split('.'), isLoading: loading, handleComplete: isLoginView ? handleEmailLogin : handleComplete, isValidated: isValidated, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: () => setError(undefined) }), retried ? (jsxs(Fragment, { children: [jsxs(Typography, Object.assign({ variant: 'body_small', color: 'secondary' }, { children: ["Re-send code in ", remainingSeconds] })), jsxs("span", Object.assign({ className: 'email-verification__retry-container' }, { children: [jsx(SvgCheckCircle, {}), jsx(Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'primary', className: 'email-verification__retry-container-text' }, { children: "Code sent" }))] }))] })) : (!hideRetryButton && (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'secondary' }, { children: "Did not receive your code yet?" })), jsx(TextButton, Object.assign({ className: 'email-verification__text-button', disabled: loading || isValidated, onClick: () => handleRetry() }, { children: "Re-send code" }))] }))), !isLoginView && (jsx(TextButton, Object.assign({ className: 'email-verification__log-out', onClick: handleLogOut }, { children: "Log out" }))), jsx(PoweredByDynamic, {})] })));
252
+ // Go to update email screen, but prevent onEmailVerificationX callback from being called
253
+ const updateEmail = () => {
254
+ callCallbackOnUnmount.current = false;
255
+ setView('update-email');
256
+ };
257
+ const closeButton = (jsx(IconButton, Object.assign({ onClick: close, type: 'button', "data-testid": 'close-button' }, { children: jsx(SvgClose, {}) })));
258
+ return (jsxs("div", Object.assign({ className: 'email-verification__container' }, { children: [error && (jsx(ErrorContainer, Object.assign({ withIcon: false, className: 'email-verification__error-message' }, { children: error }))), showTransferMessage && (jsx("div", Object.assign({ className: 'email-verification__transfer-message' }, { children: "Verification complete, the email is now verified to this account." }))), jsx(ModalHeader, Object.assign({ style: { paddingBlock: 0 }, trailing: !isLoginView && closeButton }, { children: isValidated ? (jsx("div", Object.assign({ className: 'email-verification__icon-container' }, { children: jsx(IconWithStatus, { containerClassName: 'email-verification__icon--verified', Icon: SignInWithEmailIcon, iconSize: 50, InnerIcon: SvgCheck }) }))) : (jsx(IconWithSpinner, { className: classNames({
259
+ 'email-verification__icon-with-spinner': Boolean(!error),
260
+ }), Icon: SignInWithEmailIcon, iconSize: 80, isSpinning: true })) })), jsx(Typography, Object.assign({ weight: 'medium', variant: 'title', className: 'email-verification__title', color: 'primary' }, { children: "Confirm verification code" })), jsxs("div", Object.assign({ className: 'email-verification__copy-text-container' }, { children: [jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'regular', color: 'secondary' }, { children: "We\u2019ve sent a verification code to" })), jsx(Typography, Object.assign({ variant: 'body_normal', weight: 'bold', color: 'secondary' }, { children: shortenEmail(email) }))] })), !isLoginView && (jsx(TextButton, Object.assign({ onClick: updateEmail, className: 'email-verification__text-button', disabled: loading }, { children: "Edit email" }))), jsx(PinField, { initialValue: Array(6).join('.').split('.'), isLoading: loading, handleComplete: isLoginView ? handleEmailLogin : handleComplete, isValidated: isValidated, inputMode: 'numeric', pattern: '[0-9]*', hasError: Boolean(error), onChange: () => setError(undefined) }), retried ? (jsxs(Fragment, { children: [jsxs(Typography, Object.assign({ variant: 'body_small', color: 'secondary' }, { children: ["Re-send code in ", remainingSeconds] })), jsxs("span", Object.assign({ className: 'email-verification__retry-container' }, { children: [jsx(SvgCheckCircle, {}), jsx(Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'primary', className: 'email-verification__retry-container-text' }, { children: "Code sent" }))] }))] })) : (!hideRetryButton && (jsxs(Fragment, { children: [jsx(Typography, Object.assign({ variant: 'body_small', weight: 'medium', color: 'secondary' }, { children: "Did not receive your code yet?" })), jsx(TextButton, Object.assign({ className: 'email-verification__text-button', disabled: loading || isValidated, onClick: () => handleRetry() }, { children: "Re-send code" }))] }))), !isLoginView && (jsx(TextButton, Object.assign({ className: 'email-verification__log-out', onClick: handleLogOut }, { children: "Log out" }))), jsx(PoweredByDynamic, {})] })));
216
261
  };
217
262
 
218
263
  export { EmailVerification };
@@ -39,15 +39,19 @@ require('formik');
39
39
  require('yup');
40
40
  require('../../components/InlineWidget/InlineWidget.cjs');
41
41
  require('../../components/MenuList/Dropdown/Dropdown.cjs');
42
+ require('../CollectUserDataView/fieldsConfig.cjs');
42
43
  require('../../context/MockContext/MockContext.cjs');
43
44
  require('../../context/CaptchaContext/CaptchaContext.cjs');
45
+ require('../../context/EmailVerificationContext/EmailVerificationContext.cjs');
44
46
  var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
45
- require('../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
47
+ require('@dynamic-labs/types');
48
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
49
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
46
50
 
47
51
  const EmailWalletOTPVerificationView = () => {
48
52
  const { setView } = ViewContext.useViewContext();
49
53
  const [error, setError] = React.useState();
50
- const { selectedWalletConnector: emailWalletConnector, clearStatesOnBackClick, } = useInternalDynamicContext.useInternalDynamicContext();
54
+ const { selectedWalletConnector: emailWalletConnector, clearStatesOnBackClick, setShowAuthFlow, } = useInternalDynamicContext.useInternalDynamicContext();
51
55
  if (!emailWalletConnector ||
52
56
  !walletConnectorCore.isEmailOTPWalletConnector(emailWalletConnector)) {
53
57
  throw new Error('Current wallet is not EmailWalletConnector');
@@ -61,10 +65,11 @@ const EmailWalletOTPVerificationView = () => {
61
65
  clearStatesOnBackClick();
62
66
  setView('login-with-email-or-wallet');
63
67
  };
68
+ const handleOnClickClose = () => setShowAuthFlow(false);
64
69
  const { data: isValid, isLoading, mutate: onSubmit, } = useMutation.useMutation((otp) => emailWalletConnector.verifyOneTimePassword(otp), {
65
70
  onFailure: (error) => setError(error),
66
71
  });
67
- return (jsxRuntime.jsx(OTPVerificationView.OTPVerificationView, { email: email, error: error, onClickBack: handleBackClick, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined), onClickEditEmail: handleBackClick, displayPoweredByDynamic: true }));
72
+ return (jsxRuntime.jsx(OTPVerificationView.OTPVerificationView, { email: email, error: error, onClickBack: handleBackClick, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined), onClickClose: handleOnClickClose, onClickEditEmail: handleBackClick, displayPoweredByDynamic: true, successBannerText: 'By signing in, you will access a wallet that is only associated to this email.' }));
68
73
  };
69
74
 
70
75
  exports.EmailWalletOTPVerificationView = EmailWalletOTPVerificationView;
@@ -35,15 +35,19 @@ import 'formik';
35
35
  import 'yup';
36
36
  import '../../components/InlineWidget/InlineWidget.js';
37
37
  import '../../components/MenuList/Dropdown/Dropdown.js';
38
+ import '../CollectUserDataView/fieldsConfig.js';
38
39
  import '../../context/MockContext/MockContext.js';
39
40
  import '../../context/CaptchaContext/CaptchaContext.js';
41
+ import '../../context/EmailVerificationContext/EmailVerificationContext.js';
40
42
  import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
41
- import '../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
43
+ import '@dynamic-labs/types';
44
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
45
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
42
46
 
43
47
  const EmailWalletOTPVerificationView = () => {
44
48
  const { setView } = useViewContext();
45
49
  const [error, setError] = useState();
46
- const { selectedWalletConnector: emailWalletConnector, clearStatesOnBackClick, } = useInternalDynamicContext();
50
+ const { selectedWalletConnector: emailWalletConnector, clearStatesOnBackClick, setShowAuthFlow, } = useInternalDynamicContext();
47
51
  if (!emailWalletConnector ||
48
52
  !isEmailOTPWalletConnector(emailWalletConnector)) {
49
53
  throw new Error('Current wallet is not EmailWalletConnector');
@@ -57,10 +61,11 @@ const EmailWalletOTPVerificationView = () => {
57
61
  clearStatesOnBackClick();
58
62
  setView('login-with-email-or-wallet');
59
63
  };
64
+ const handleOnClickClose = () => setShowAuthFlow(false);
60
65
  const { data: isValid, isLoading, mutate: onSubmit, } = useMutation((otp) => emailWalletConnector.verifyOneTimePassword(otp), {
61
66
  onFailure: (error) => setError(error),
62
67
  });
63
- return (jsx(OTPVerificationView, { email: email, error: error, onClickBack: handleBackClick, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined), onClickEditEmail: handleBackClick, displayPoweredByDynamic: true }));
68
+ return (jsx(OTPVerificationView, { email: email, error: error, onClickBack: handleBackClick, isLoading: isLoading, onPinComplete: onSubmit, isValid: isValid === true, onPinChange: () => setError(undefined), onClickClose: handleOnClickClose, onClickEditEmail: handleBackClick, displayPoweredByDynamic: true, successBannerText: 'By signing in, you will access a wallet that is only associated to this email.' }));
64
69
  };
65
70
 
66
71
  export { EmailWalletOTPVerificationView };
@@ -35,14 +35,18 @@ require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
35
  require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
36
36
  require('../../../../components/IconButton/IconButton.cjs');
37
37
  require('../../../../components/Alert/Alert.cjs');
38
+ require('formik');
39
+ require('yup');
40
+ require('../../../CollectUserDataView/fieldsConfig.cjs');
38
41
  require('../../../../context/MockContext/MockContext.cjs');
39
42
  require('../../../../context/CaptchaContext/CaptchaContext.cjs');
40
- require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
43
+ require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
44
+ require('@dynamic-labs/types');
45
+ require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
46
+ require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
41
47
  var ListTile = require('../../../../components/ListTile/ListTile.cjs');
42
48
  require('../../../../components/Popper/Popper/Popper.cjs');
43
49
  require('../../../../components/Popper/PopperContext/PopperContext.cjs');
44
- require('formik');
45
- require('yup');
46
50
  require('../../../../components/InlineWidget/InlineWidget.cjs');
47
51
  require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
48
52
  var Badge = require('../../../../components/Badge/Badge.cjs');
@@ -31,14 +31,18 @@ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
31
31
  import '../../../../context/AccountExistsContext/AccountExistsContext.js';
32
32
  import '../../../../components/IconButton/IconButton.js';
33
33
  import '../../../../components/Alert/Alert.js';
34
+ import 'formik';
35
+ import 'yup';
36
+ import '../../../CollectUserDataView/fieldsConfig.js';
34
37
  import '../../../../context/MockContext/MockContext.js';
35
38
  import '../../../../context/CaptchaContext/CaptchaContext.js';
36
- import '../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js';
39
+ import '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
40
+ import '@dynamic-labs/types';
41
+ import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
42
+ import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
37
43
  import { ListTile } from '../../../../components/ListTile/ListTile.js';
38
44
  import '../../../../components/Popper/Popper/Popper.js';
39
45
  import '../../../../components/Popper/PopperContext/PopperContext.js';
40
- import 'formik';
41
- import 'yup';
42
46
  import '../../../../components/InlineWidget/InlineWidget.js';
43
47
  import '../../../../components/MenuList/Dropdown/Dropdown.js';
44
48
  import { Badge } from '../../../../components/Badge/Badge.js';
@@ -10,6 +10,7 @@ var sdkApi = require('@dynamic-labs/sdk-api');
10
10
  var logger = require('../../../../shared/logger.cjs');
11
11
  require('@dynamic-labs/iconic');
12
12
  require('../../../../context/ViewContext/ViewContext.cjs');
13
+ var arrowRight = require('../../../../shared/assets/arrow-right.cjs');
13
14
  require('@dynamic-labs/wallet-book');
14
15
  require('@dynamic-labs/utils');
15
16
  require('../../../../utils/constants/colors.cjs');
@@ -32,27 +33,31 @@ require('../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagic
32
33
  var ErrorContext = require('../../../../context/ErrorContext/ErrorContext.cjs');
33
34
  require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
34
35
  require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
35
- require('../../../../components/IconButton/IconButton.cjs');
36
- var Button = require('../../../../components/Button/Button.cjs');
36
+ var IconButton = require('../../../../components/IconButton/IconButton.cjs');
37
37
  require('../../../../components/Alert/Alert.cjs');
38
+ require('formik');
39
+ require('yup');
40
+ require('../../../CollectUserDataView/fieldsConfig.cjs');
38
41
  require('../../../../context/MockContext/MockContext.cjs');
39
42
  require('../../../../context/CaptchaContext/CaptchaContext.cjs');
40
- require('../../../../utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs');
43
+ require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
44
+ require('@dynamic-labs/types');
45
+ require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
46
+ require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
41
47
  require('../../../../components/Popper/Popper/Popper.cjs');
42
48
  require('../../../../components/Popper/PopperContext/PopperContext.cjs');
43
- require('formik');
44
- require('yup');
45
49
  require('../../../../components/InlineWidget/InlineWidget.cjs');
46
50
  require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
47
51
  var LoadingContext = require('../../../../context/LoadingContext/LoadingContext.cjs');
48
52
  var useEmailProvider = require('../../../../utils/hooks/useEmailProvider/useEmailProvider.cjs');
49
53
 
50
54
  const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
51
- const LoginWithEmailForm = () => {
55
+ const LoginWithEmailForm = ({ currentEmail }) => {
56
+ var _a;
52
57
  const { environmentId, wallets, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
53
58
  const { loading, setLoading } = LoadingContext.useLoadingContext();
54
59
  const { setErrorMessage } = ErrorContext.useErrorContext();
55
- const [emailInput, setEmailInput] = React.useState('');
60
+ const [emailInput, setEmailInput] = React.useState(currentEmail !== null && currentEmail !== void 0 ? currentEmail : '');
56
61
  const [emailError, setEmailError] = React.useState(false);
57
62
  const emailWalletConnector = wallets
58
63
  .map(({ walletConnector }) => walletConnector)
@@ -67,6 +72,7 @@ const LoginWithEmailForm = () => {
67
72
  };
68
73
  const isInjectedWalletProviderEnabled = emailWalletConnector !== undefined;
69
74
  const onChangeHandler = handleEmailOnChangeEvent;
75
+ const emailInputSuffixIcon = (jsxRuntime.jsx(IconButton.IconButton, Object.assign({ "data-testid": 'email_submit_button', type: 'submit', className: `icon-button${((_a = emailInput === null || emailInput === void 0 ? void 0 : emailInput.trim()) === null || _a === void 0 ? void 0 : _a.length) ? '--visible' : ''}`, disabled: isLoading }, { children: jsxRuntime.jsx(arrowRight.ReactComponent, {}) })));
70
76
  const handleSubmit = (e) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
71
77
  e.preventDefault();
72
78
  if (!EMAIL_REGEX.test(emailInput)) {
@@ -99,7 +105,7 @@ const LoginWithEmailForm = () => {
99
105
  }
100
106
  });
101
107
  // social sign in currently coupled to email... might be better to decouple
102
- return (jsxRuntime.jsxs("form", Object.assign({ className: 'login-with-email-form', onSubmit: (e) => handleSubmit(e) }, { children: [jsxRuntime.jsx(Input.Input, { id: 'email_field', value: emailInput, onChange: onChangeHandler, label: 'Enter your email', error: emailError, message: emailError && 'Please enter a valid email address' }), jsxRuntime.jsx(Button.Button, Object.assign({ buttonClassName: 'login-with-email-form__button', type: 'submit', loading: isLoading, disabled: isLoading, buttonVariant: 'primary', buttonPadding: 'large', buttonRounded: 'medium', expanded: true }, { children: "Continue" }))] })));
108
+ return (jsxRuntime.jsx("form", Object.assign({ className: 'login-with-email-form', onSubmit: (e) => handleSubmit(e) }, { children: jsxRuntime.jsx(Input.Input, { id: 'email_field', value: emailInput, onChange: onChangeHandler, label: 'Enter your email', error: emailError, message: emailError && 'Please enter a valid email address', suffix: emailInputSuffixIcon }) })));
103
109
  };
104
110
 
105
111
  exports.EMAIL_REGEX = EMAIL_REGEX;
@@ -1,3 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const EMAIL_REGEX: RegExp;
3
- export declare const LoginWithEmailForm: () => JSX.Element;
3
+ type Props = {
4
+ currentEmail?: string;
5
+ };
6
+ export declare const LoginWithEmailForm: ({ currentEmail }: Props) => JSX.Element;
7
+ export {};