@dynamic-labs/sdk-react-core 0.19.2 → 0.19.4

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 (391) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +10 -10
  5. package/src/index.cjs +8 -2
  6. package/src/index.js +5 -1
  7. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +2 -0
  8. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +2 -0
  9. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +2 -0
  10. package/src/lib/components/AnimatePresence/AnimatePresence.js +2 -0
  11. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +2 -0
  12. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +2 -0
  13. package/src/lib/components/Button/Button.cjs +4 -2
  14. package/src/lib/components/Button/Button.d.ts +1 -0
  15. package/src/lib/components/Button/Button.js +4 -2
  16. package/src/lib/components/Divider/Divider.cjs +2 -0
  17. package/src/lib/components/Divider/Divider.js +2 -0
  18. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +2 -0
  19. package/src/lib/components/MenuList/Dropdown/Dropdown.js +2 -0
  20. package/src/lib/components/Modal/Modal.cjs +2 -0
  21. package/src/lib/components/Modal/Modal.js +2 -0
  22. package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +5 -2
  23. package/src/lib/components/NeedHelpSection/NeedHelpSection.js +5 -2
  24. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +2 -0
  25. package/src/lib/components/NetworkPicker/NetworkPicker.js +2 -0
  26. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +2 -0
  27. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +2 -0
  28. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +2 -0
  29. package/src/lib/components/NetworkPicker/components/Network/Network.js +2 -0
  30. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +2 -0
  31. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +2 -0
  32. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -0
  33. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -0
  34. package/src/lib/components/OverlayCard/OverlayCard.cjs +2 -0
  35. package/src/lib/components/OverlayCard/OverlayCard.js +2 -0
  36. package/src/lib/components/Portal/Portal.cjs +2 -0
  37. package/src/lib/components/Portal/Portal.js +2 -0
  38. package/src/lib/components/SocialSignIn/SocialSignIn.cjs +2 -0
  39. package/src/lib/components/SocialSignIn/SocialSignIn.js +2 -0
  40. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +18 -5
  41. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +18 -5
  42. package/src/lib/components/Textarea/Textarea.d.ts +2 -0
  43. package/src/lib/components/Textarea/Textarea.types.d.ts +14 -0
  44. package/src/lib/components/Textarea/index.d.ts +1 -0
  45. package/src/lib/components/Tooltip/Tooltip.cjs +2 -0
  46. package/src/lib/components/Tooltip/Tooltip.js +2 -0
  47. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +2 -0
  48. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +2 -0
  49. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +2 -0
  50. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +2 -0
  51. package/src/lib/components/UserAddress/UserAddress.cjs +2 -0
  52. package/src/lib/components/UserAddress/UserAddress.js +2 -0
  53. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +2 -0
  54. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +2 -0
  55. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +2 -0
  56. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +2 -0
  57. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +1 -0
  58. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +1 -0
  59. package/src/lib/context/DynamicContext/DynamicContext.cjs +15 -14
  60. package/src/lib/context/DynamicContext/DynamicContext.js +16 -15
  61. package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +2 -0
  62. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +2 -0
  63. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +2 -0
  64. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +2 -0
  65. package/src/lib/context/QrCodeContext/QrCodeContext.js +2 -0
  66. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +2 -0
  67. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +2 -0
  68. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +2 -0
  69. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +2 -0
  70. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.cjs +2 -0
  71. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.js +2 -0
  72. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  73. package/src/lib/data/api.cjs +37 -0
  74. package/src/lib/data/api.d.ts +20 -0
  75. package/src/lib/data/api.js +36 -2
  76. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +2 -0
  77. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +2 -0
  78. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -0
  79. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -0
  80. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +2 -0
  81. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +2 -0
  82. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.cjs +2 -0
  83. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.js +2 -0
  84. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +2 -0
  85. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +2 -0
  86. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +2 -0
  87. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +2 -0
  88. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +2 -0
  89. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +2 -0
  90. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +2 -0
  91. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +2 -0
  92. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +2 -0
  93. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +2 -0
  94. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +2 -0
  95. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +2 -0
  96. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.cjs +7 -1
  97. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.js +7 -1
  98. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +2 -0
  99. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +2 -0
  100. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +2 -0
  101. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +2 -0
  102. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +2 -0
  103. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +2 -0
  104. package/src/lib/locale/en/translation.cjs +123 -5
  105. package/src/lib/locale/en/translation.d.ts +122 -4
  106. package/src/lib/locale/en/translation.js +123 -5
  107. package/src/lib/main.global.cjs +1 -1
  108. package/src/lib/main.global.js +1 -1
  109. package/src/lib/modals/DynamicAuthModal/DynamicAuthModal.cjs +2 -0
  110. package/src/lib/modals/DynamicAuthModal/DynamicAuthModal.js +2 -0
  111. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +2 -0
  112. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +2 -0
  113. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +2 -0
  114. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +2 -0
  115. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.types.d.ts +2 -7
  116. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +17 -8
  117. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.d.ts +1 -1
  118. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +17 -8
  119. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +5 -2
  120. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +5 -2
  121. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.cjs +2 -0
  122. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.js +2 -0
  123. package/src/lib/shared/assets/circle-locker.cjs +53 -0
  124. package/src/lib/shared/assets/circle-locker.js +29 -0
  125. package/src/lib/shared/assets/index.d.ts +2 -0
  126. package/src/lib/shared/assets/turnkey.cjs +79 -0
  127. package/src/lib/shared/assets/turnkey.js +55 -0
  128. package/src/lib/shared/utils/functions/detectBrowser/detectBrowser.cjs +5 -5
  129. package/src/lib/shared/utils/functions/detectBrowser/detectBrowser.d.ts +1 -1
  130. package/src/lib/shared/utils/functions/detectBrowser/detectBrowser.js +5 -5
  131. package/src/lib/styles/index.shadow.cjs +1 -1
  132. package/src/lib/styles/index.shadow.js +1 -1
  133. package/src/lib/utils/functions/index.d.ts +1 -0
  134. package/src/lib/utils/functions/removeElementById/index.d.ts +1 -0
  135. package/src/lib/utils/functions/removeElementById/removeElementById.cjs +16 -0
  136. package/src/lib/utils/functions/removeElementById/removeElementById.d.ts +1 -0
  137. package/src/lib/utils/functions/removeElementById/removeElementById.js +12 -0
  138. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +5 -2
  139. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +5 -2
  140. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +9 -0
  141. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +9 -0
  142. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +35 -18
  143. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +35 -18
  144. package/src/lib/utils/hooks/useIsFirstRender/useIsFirstRender.cjs +6 -4
  145. package/src/lib/utils/hooks/useIsFirstRender/useIsFirstRender.js +7 -5
  146. package/src/lib/utils/hooks/usePasskeyRecovery/index.d.ts +1 -0
  147. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +67 -0
  148. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.d.ts +4 -0
  149. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +63 -0
  150. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +5 -1
  151. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +5 -1
  152. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +2 -0
  153. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +2 -0
  154. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +13 -1
  155. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +14 -2
  156. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +2 -0
  157. package/src/lib/views/AccountExistsView/AccountExistsView.js +2 -0
  158. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -0
  159. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -0
  160. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +2 -0
  161. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +2 -0
  162. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +2 -0
  163. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +2 -0
  164. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +2 -0
  165. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +2 -0
  166. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +2 -0
  167. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +2 -0
  168. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +2 -0
  169. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +2 -0
  170. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +2 -0
  171. package/src/lib/views/EmailUpdate/EmailUpdate.js +2 -0
  172. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -0
  173. package/src/lib/views/EmailVerification/EmailVerification.js +2 -0
  174. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +2 -0
  175. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +2 -0
  176. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +2 -0
  177. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +2 -0
  178. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +2 -0
  179. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +2 -0
  180. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +2 -0
  181. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +2 -0
  182. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +2 -0
  183. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +2 -0
  184. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.cjs +2 -0
  185. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.js +2 -0
  186. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +2 -0
  187. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +2 -0
  188. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +2 -0
  189. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +2 -0
  190. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -0
  191. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -0
  192. package/src/lib/views/NoAccess/NoAccess.cjs +2 -0
  193. package/src/lib/views/NoAccess/NoAccess.js +2 -0
  194. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +2 -0
  195. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +2 -0
  196. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +2 -0
  197. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +2 -0
  198. package/src/lib/views/Passkey/PasskeyDeviceIcon/PasskeyDeviceIcon.cjs +90 -0
  199. package/src/lib/views/Passkey/PasskeyDeviceIcon/PasskeyDeviceIcon.d.ts +2 -0
  200. package/src/lib/views/Passkey/PasskeyDeviceIcon/PasskeyDeviceIcon.js +86 -0
  201. package/src/lib/views/Passkey/PasskeyDeviceIcon/index.d.ts +1 -0
  202. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +133 -0
  203. package/src/lib/views/{PasskeyIntroView → Passkey/PasskeyIntroView}/PasskeyIntroView.d.ts +1 -1
  204. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +129 -0
  205. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +136 -0
  206. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.d.ts +2 -0
  207. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +132 -0
  208. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/index.d.ts +1 -0
  209. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +108 -0
  210. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.d.ts +2 -0
  211. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +104 -0
  212. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/index.d.ts +1 -0
  213. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +115 -0
  214. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.d.ts +2 -0
  215. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +111 -0
  216. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/index.d.ts +1 -0
  217. package/src/lib/views/Passkey/PasskeyRecovery/constants.cjs +9 -0
  218. package/src/lib/views/Passkey/PasskeyRecovery/constants.d.ts +2 -0
  219. package/src/lib/views/Passkey/PasskeyRecovery/constants.js +4 -0
  220. package/src/lib/views/Passkey/PasskeyRecovery/index.d.ts +3 -0
  221. package/src/lib/views/Passkey/index.d.ts +2 -0
  222. package/src/lib/views/Passkey/passkey.types.d.ts +8 -0
  223. package/src/lib/views/Passkey/utils/passkeyRecovery/index.d.ts +1 -0
  224. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +141 -0
  225. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.d.ts +26 -0
  226. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +134 -0
  227. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +2 -0
  228. package/src/lib/views/PendingConnectView/PendingConnectView.js +2 -0
  229. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +2 -0
  230. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +2 -0
  231. package/src/lib/views/QrCodeView/QRCode.cjs +2 -0
  232. package/src/lib/views/QrCodeView/QRCode.js +2 -0
  233. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +2 -0
  234. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +2 -0
  235. package/src/lib/views/QrCodeView/QrCodeView.cjs +2 -0
  236. package/src/lib/views/QrCodeView/QrCodeView.js +2 -0
  237. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +2 -0
  238. package/src/lib/views/SendBalanceView/SendBalanceView.js +2 -0
  239. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +2 -0
  240. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +2 -0
  241. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +2 -0
  242. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +2 -0
  243. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +2 -0
  244. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +2 -0
  245. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +2 -0
  246. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +2 -0
  247. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.cjs +2 -0
  248. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.js +2 -0
  249. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +2 -0
  250. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +2 -0
  251. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +2 -0
  252. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +2 -0
  253. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +2 -0
  254. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +2 -0
  255. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +2 -0
  256. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -0
  257. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -0
  258. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -0
  259. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +2 -0
  260. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +2 -0
  261. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +2 -0
  262. package/src/lib/views/WalletUsedView/WalletUsedView.js +2 -0
  263. package/src/lib/views/viewToComponentMap.cjs +7 -1
  264. package/src/lib/views/viewToComponentMap.js +7 -1
  265. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +2 -0
  266. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +2 -0
  267. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +2 -0
  268. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +2 -0
  269. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +2 -0
  270. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +2 -0
  271. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +2 -0
  272. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +2 -0
  273. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +2 -0
  274. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +2 -0
  275. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +2 -0
  276. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +2 -0
  277. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +4 -1
  278. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.d.ts +1 -1
  279. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +4 -1
  280. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.cjs +2 -1
  281. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.d.ts +1 -1
  282. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.js +2 -1
  283. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +2 -0
  284. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +2 -0
  285. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +2 -0
  286. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +2 -0
  287. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +11 -2
  288. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +11 -2
  289. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +1 -0
  290. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +1 -0
  291. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +2 -0
  292. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +2 -0
  293. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +2 -0
  294. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +2 -0
  295. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -0
  296. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -0
  297. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +1 -1
  298. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +1 -1
  299. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +2 -0
  300. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +2 -0
  301. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +2 -0
  302. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +2 -0
  303. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/DynamicWidgetVariants.cjs +10 -1
  304. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/DynamicWidgetVariants.js +10 -1
  305. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +2 -0
  306. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +2 -0
  307. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +2 -0
  308. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +2 -0
  309. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.cjs +2 -0
  310. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.d.ts +2 -2
  311. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/DynamicWidgetViews.js +2 -0
  312. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +2 -0
  313. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +2 -0
  314. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +2 -0
  315. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +2 -0
  316. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +2 -0
  317. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +2 -0
  318. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +2 -0
  319. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +2 -0
  320. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +1 -0
  321. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +1 -0
  322. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +1 -0
  323. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +1 -0
  324. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +2 -0
  325. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +2 -0
  326. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +2 -0
  327. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.d.ts +2 -13
  328. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +2 -0
  329. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.cjs +9 -0
  330. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.d.ts +17 -0
  331. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.types.js +4 -0
  332. package/src/lib/widgets/DynamicWidget/helpers/getPasskeyProviderFromUserAgent.cjs +33 -0
  333. package/src/lib/widgets/DynamicWidget/helpers/getPasskeyProviderFromUserAgent.d.ts +2 -0
  334. package/src/lib/widgets/DynamicWidget/helpers/getPasskeyProviderFromUserAgent.js +29 -0
  335. package/src/lib/widgets/DynamicWidget/helpers/getTimeSince.cjs +64 -0
  336. package/src/lib/widgets/DynamicWidget/helpers/getTimeSince.d.ts +4 -0
  337. package/src/lib/widgets/DynamicWidget/helpers/getTimeSince.js +60 -0
  338. package/src/lib/widgets/DynamicWidget/helpers/helpers.cjs +1 -0
  339. package/src/lib/widgets/DynamicWidget/helpers/helpers.d.ts +2 -1
  340. package/src/lib/widgets/DynamicWidget/helpers/helpers.js +1 -0
  341. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +2 -0
  342. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +2 -0
  343. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +2 -0
  344. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +2 -0
  345. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +2 -0
  346. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +2 -0
  347. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +2 -0
  348. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +2 -0
  349. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +2 -0
  350. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +2 -0
  351. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +2 -0
  352. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +2 -0
  353. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +1 -0
  354. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +1 -0
  355. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +2 -0
  356. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +2 -0
  357. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +2 -0
  358. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +2 -0
  359. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +2 -0
  360. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +2 -0
  361. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +2 -0
  362. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +2 -0
  363. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +2 -0
  364. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +2 -0
  365. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +96 -0
  366. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.d.ts +2 -0
  367. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +92 -0
  368. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +98 -0
  369. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.d.ts +7 -0
  370. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +94 -0
  371. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/index.d.ts +1 -0
  372. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/index.d.ts +1 -0
  373. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +2 -0
  374. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +2 -0
  375. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -0
  376. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -0
  377. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
  378. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +2 -0
  379. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +2 -0
  380. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.cjs +0 -156
  381. package/src/lib/views/PasskeyIntroView/PasskeyIntroView.js +0 -152
  382. /package/src/lib/views/{PasskeyIntroView → Passkey/PasskeyIntroView}/index.d.ts +0 -0
  383. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +0 -0
  384. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts +0 -0
  385. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +0 -0
  386. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -0
  387. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.cjs +0 -0
  388. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.d.ts +0 -0
  389. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.js +0 -0
  390. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/findPasskeyEmailWalletConnector/index.d.ts +0 -0
  391. /package/src/lib/views/{PasskeyIntroView → Passkey}/utils/index.d.ts +0 -0
@@ -0,0 +1,132 @@
1
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useState } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { SignInWithEmailIcon } from '@dynamic-labs/iconic';
6
+ import { Typography } from '../../../../components/Typography/Typography.js';
7
+ import '@dynamic-labs/sdk-api';
8
+ import { logger } from '../../../../shared/logger.js';
9
+ import '@dynamic-labs/wallet-connector-core';
10
+ import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
11
+ import { ReactComponent as SvgError } from '../../../../shared/assets/error.js';
12
+ import { ReactComponent as SvgCheck } from '../../../../shared/assets/check.js';
13
+ import '@dynamic-labs/wallet-book';
14
+ import '../../../../utils/constants/colors.js';
15
+ import '../../../../shared/utils/classes/storage/localStorage.js';
16
+ import 'viem';
17
+ import '@dynamic-labs/utils';
18
+ import '../../../../shared/consts/index.js';
19
+ import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import '../../../../components/ShadowDOM/ShadowDOM.js';
22
+ import '../../../../context/ThemeContext/ThemeContext.js';
23
+ import { Input } from '../../../../components/Input/Input.js';
24
+ import { Icon } from '../../../../components/Icon/Icon.js';
25
+ import 'react-dom';
26
+ import 'react-focus-lock';
27
+ import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
28
+ import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
29
+ import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
30
+ import '../../../../config/ApiEndpoint.js';
31
+ import '@dynamic-labs/rpc-providers';
32
+ import '../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
33
+ import '../../../../context/ErrorContext/ErrorContext.js';
34
+ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
35
+ import '../../../../context/AccountExistsContext/AccountExistsContext.js';
36
+ import '../../../../components/OverlayCard/OverlayCard.context.js';
37
+ import '../../../../context/FooterAnimationContext/index.js';
38
+ import '../../../../context/MockContext/MockContext.js';
39
+ import '../../../../context/QrCodeContext/QrCodeContext.js';
40
+ import '../../../../context/WalletGroupContext/WalletGroupContext.js';
41
+ import '../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
42
+ import { IconWithSpinner } from '../../../../components/IconWithSpinner/IconWithSpinner.js';
43
+ import '../../../../context/CaptchaContext/CaptchaContext.js';
44
+ import '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
45
+ import 'qrcode';
46
+ import '../../../../context/LoadingContext/LoadingContext.js';
47
+ import { IconWithStatus } from '../../../../components/IconWithStatus/IconWithStatus.js';
48
+ import 'i18next';
49
+ import '../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
50
+ import 'yup';
51
+ import '../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
52
+ import '@dynamic-labs/types';
53
+ import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
54
+ import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
55
+ import 'formik';
56
+ import '../../../../components/IconButton/IconButton.js';
57
+ import '../../../../components/Alert/Alert.js';
58
+ import '../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
59
+ import { useMutation } from '../../../../utils/hooks/useMutation/useMutation.js';
60
+ import { TextButton } from '../../../../components/TextButton/TextButton.js';
61
+ import '../../../../components/Popper/Popper/Popper.js';
62
+ import '../../../../components/Popper/PopperContext/PopperContext.js';
63
+ import '../../../../components/InlineWidget/InlineWidget.js';
64
+ import '../../../../components/MenuList/Dropdown/Dropdown.js';
65
+ import { passkeyRecoveryBundleValidation, resentRecoveryEmail } from '../../utils/passkeyRecovery/passkeyRecovery.js';
66
+
67
+ // eslint-disable-next-line no-useless-escape
68
+ const bundleRegex = new RegExp(/^([A-Za-z0-9\s_+@\.-]+)$/);
69
+ const PasskeyBundleRecovery = () => {
70
+ const { authToken, primaryWallet, environmentId } = useInternalDynamicContext();
71
+ const [bundleInput, setBundleInput] = useState('');
72
+ const [resendingCode, setResendingCode] = useState(false);
73
+ const [isValid, setIsValid] = useState(false);
74
+ const { t } = useTranslation();
75
+ const { setView } = useViewContext();
76
+ const { mutate, isLoading, error } = useMutation((bundleInput) => __awaiter(void 0, void 0, void 0, function* () {
77
+ yield passkeyRecoveryBundleValidation({
78
+ bundleInput,
79
+ wallet: primaryWallet,
80
+ });
81
+ setIsValid(true);
82
+ setTimeout(() => {
83
+ setView('passkey-recovery-complete');
84
+ }, 2000);
85
+ }));
86
+ /**
87
+ *
88
+ * Validates an authenticator label according to Turnkey's validation rules:
89
+ * https://github.com/tkhq/demo-passkey-wallet/blob/main/frontend/utils/validation.ts
90
+ */
91
+ const isValidBundle = (bundle) => {
92
+ if (!(bundle === null || bundle === void 0 ? void 0 : bundle.length)) {
93
+ return false;
94
+ }
95
+ if (bundle.length < 100 || bundle.length >= 256) {
96
+ return false;
97
+ }
98
+ if (!bundleRegex.test(bundle)) {
99
+ return false;
100
+ }
101
+ return true;
102
+ };
103
+ const handleBundleChanged = (event) => {
104
+ var _a;
105
+ const bundle = (_a = event.target.value) === null || _a === void 0 ? void 0 : _a.trim();
106
+ setBundleInput(bundle);
107
+ if (!isValidBundle(bundle)) {
108
+ return;
109
+ }
110
+ mutate(bundle);
111
+ };
112
+ const handleResentEmail = () => __awaiter(void 0, void 0, void 0, function* () {
113
+ try {
114
+ setResendingCode(true);
115
+ yield resentRecoveryEmail({
116
+ authToken,
117
+ environmentId,
118
+ wallet: primaryWallet,
119
+ });
120
+ }
121
+ catch (err) {
122
+ logger.error('Failed to complete passkey recovery', err);
123
+ }
124
+ finally {
125
+ setResendingCode(false);
126
+ }
127
+ });
128
+ const emailIcon = (jsx(Icon, { color: 'brand-primary', children: jsx(SignInWithEmailIcon, {}) }));
129
+ return (jsxs("div", { className: 'passkey-recovery-view', children: [!error && !isValid ? (jsx(IconWithSpinner, { Icon: emailIcon, isSpinning: !error && !isValid, iconSize: 96 })) : (jsx(IconWithStatus, { Icon: SignInWithEmailIcon, iconSize: 64, variant: error ? 'red' : 'green', InnerIcon: error ? SvgError : SvgCheck })), jsxs(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: [t('dyn_passkey_recovery.code.description'), ' ', jsx("strong", { children: "turnkey.com" })] }), jsx("div", { className: 'passkey-recovery-view__actions', children: jsx(Input, { id: 'passkey-recovery-bundle', "data-testid": 'passkey-recovery-bundle-input', value: bundleInput, onChange: handleBundleChanged, label: t('dyn_passkey_recovery.code.input_label'), disabled: isLoading || resendingCode, error: Boolean(error), className: isValid ? 'passkey-recovery-view__input-valid' : '', autoFocus: true }) }), jsxs("div", { className: 'passkey-recovery-view__resend-code', children: [jsx(Typography, { color: 'secondary', variant: 'body_small', children: t('dyn_passkey_recovery.code.resend.text') }), jsx(Typography, { variant: 'body_small', color: 'link', children: jsx(TextButton, { "data-testid": 'resend-email-button', onClick: handleResentEmail, disabled: resendingCode || isLoading || bundleInput.length > 0, children: t('dyn_passkey_recovery.code.resend.button') }) })] })] }));
130
+ };
131
+
132
+ export { PasskeyBundleRecovery };
@@ -0,0 +1 @@
1
+ export { PasskeyBundleRecovery } from './PasskeyBundleRecovery';
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ var reactI18next = require('react-i18next');
9
+ var utils = require('@dynamic-labs/utils');
10
+ var Typography = require('../../../../components/Typography/Typography.cjs');
11
+ require('@dynamic-labs/sdk-api');
12
+ var logger = require('../../../../shared/logger.cjs');
13
+ require('@dynamic-labs/iconic');
14
+ require('@dynamic-labs/wallet-connector-core');
15
+ require('../../../../context/ViewContext/ViewContext.cjs');
16
+ var passkeyIntroIcon = require('../../../../shared/assets/passkey-intro-icon.cjs');
17
+ require('@dynamic-labs/wallet-book');
18
+ require('../../../../utils/constants/colors.cjs');
19
+ require('../../../../shared/utils/classes/storage/localStorage.cjs');
20
+ require('viem');
21
+ require('../../../../shared/consts/index.cjs');
22
+ var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
23
+ var index = require('../../../../utils/functions/storeAuthToken/index.cjs');
24
+ require('@dynamic-labs/multi-wallet');
25
+ var createUserProfile = require('../../../../utils/functions/createUserProfile/createUserProfile.cjs');
26
+ require('../../../../components/ShadowDOM/ShadowDOM.cjs');
27
+ require('../../../../context/ThemeContext/ThemeContext.cjs');
28
+ require('react-dom');
29
+ require('react-focus-lock');
30
+ require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
31
+ require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
32
+ require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
33
+ require('../../../../config/ApiEndpoint.cjs');
34
+ require('@dynamic-labs/rpc-providers');
35
+ require('../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
36
+ require('../../../../context/ErrorContext/ErrorContext.cjs');
37
+ require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
38
+ require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
39
+ require('../../../../components/OverlayCard/OverlayCard.context.cjs');
40
+ require('../../../../context/FooterAnimationContext/index.cjs');
41
+ require('../../../../context/MockContext/MockContext.cjs');
42
+ require('../../../../context/QrCodeContext/QrCodeContext.cjs');
43
+ require('../../../../context/WalletGroupContext/WalletGroupContext.cjs');
44
+ require('../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
45
+ require('../../../../context/CaptchaContext/CaptchaContext.cjs');
46
+ require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
47
+ require('qrcode');
48
+ require('../../../../context/LoadingContext/LoadingContext.cjs');
49
+ require('i18next');
50
+ var DynamicWidgetContext = require('../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
51
+ require('yup');
52
+ var ErrorContainer = require('../../../../components/ErrorContainer/ErrorContainer.cjs');
53
+ require('../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
54
+ require('@dynamic-labs/types');
55
+ require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
56
+ require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
57
+ require('formik');
58
+ var Button = require('../../../../components/Button/Button.cjs');
59
+ require('../../../../components/IconButton/IconButton.cjs');
60
+ require('../../../../components/Alert/Alert.cjs');
61
+ require('../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
62
+ var getProperErrorMessage = require('../../../../modals/SignMessageConfirmationModal/getProperErrorMessage.cjs');
63
+ var useMutation = require('../../../../utils/hooks/useMutation/useMutation.cjs');
64
+ require('../../../../components/Popper/Popper/Popper.cjs');
65
+ require('../../../../components/Popper/PopperContext/PopperContext.cjs');
66
+ require('../../../../components/InlineWidget/InlineWidget.cjs');
67
+ require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
68
+ var NeedHelpSection = require('../../../../components/NeedHelpSection/NeedHelpSection.cjs');
69
+ var passkeyRecovery = require('../../utils/passkeyRecovery/passkeyRecovery.cjs');
70
+ var PasskeyDeviceIcon = require('../../PasskeyDeviceIcon/PasskeyDeviceIcon.cjs');
71
+
72
+ const PasskeyCompleteRecovery = () => {
73
+ const { authToken, primaryWallet, environmentId, internalEvents, user, setShowAuthFlow, setUser, } = useInternalDynamicContext.useInternalDynamicContext();
74
+ const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
75
+ const { t } = reactI18next.useTranslation();
76
+ const { mutate: completeRecovery, isLoading, error, } = useMutation.useMutation(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
77
+ const { jwt, decodedJwt } = yield passkeyRecovery.completePasskeyRecovery({
78
+ authToken,
79
+ environmentId,
80
+ userEmail: user === null || user === void 0 ? void 0 : user.email,
81
+ wallet: primaryWallet,
82
+ });
83
+ internalEvents.current.emit('passkeyRecoveryCompleted', primaryWallet);
84
+ index.storeAuthToken(jwt);
85
+ setUser(createUserProfile.createUserProfile(decodedJwt));
86
+ setDynamicWidgetView('manage-passkeys');
87
+ setShowAuthFlow(false);
88
+ }), {
89
+ onFailure: (err) => {
90
+ logger.logger.error('Failed to init passkey recovery', err);
91
+ internalEvents.current.emit('passkeyRecoveryFailed', err);
92
+ },
93
+ });
94
+ const errorText = React.useMemo(() => {
95
+ if (!error) {
96
+ return undefined;
97
+ }
98
+ if (error instanceof utils.DynamicError) {
99
+ return error.message;
100
+ }
101
+ return getProperErrorMessage.getProperErrorMessage(error);
102
+ }, [error]);
103
+ return (jsxRuntime.jsxs("div", { className: 'passkey-recovery-view', children: [jsxRuntime.jsx("div", { className: 'passkey-recovery-view__header', children: jsxRuntime.jsx(passkeyIntroIcon.ReactComponent, {}) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: t('dyn_passkey_recovery.complete.description') }), errorText && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: errorText }), jsxRuntime.jsx("div", { className: 'passkey-recovery-view__actions', children: jsxRuntime.jsx(Button.Button, { buttonVariant: 'brand-primary', buttonPadding: 'large', dataTestId: 'passkey-recovery-complete-button', onClick: () => completeRecovery(), disabled: isLoading, showInternalLoading: false, typographyProps: {
104
+ color: 'inherit',
105
+ }, children: jsxRuntime.jsxs("div", { className: 'passkey-recovery-view__inline-button', children: [jsxRuntime.jsx(PasskeyDeviceIcon.PasskeyDeviceIcon, {}), jsxRuntime.jsx(Typography.Typography, { children: t('dyn_passkey_recovery.complete.complete_button') })] }) }) }), jsxRuntime.jsx(NeedHelpSection.NeedHelpSection, {})] }));
106
+ };
107
+
108
+ exports.PasskeyCompleteRecovery = PasskeyCompleteRecovery;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const PasskeyCompleteRecovery: FC;
@@ -0,0 +1,104 @@
1
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useMemo } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { DynamicError } from '@dynamic-labs/utils';
6
+ import { Typography } from '../../../../components/Typography/Typography.js';
7
+ import '@dynamic-labs/sdk-api';
8
+ import { logger } from '../../../../shared/logger.js';
9
+ import '@dynamic-labs/iconic';
10
+ import '@dynamic-labs/wallet-connector-core';
11
+ import '../../../../context/ViewContext/ViewContext.js';
12
+ import { ReactComponent as SvgPasskeyIntroIcon } from '../../../../shared/assets/passkey-intro-icon.js';
13
+ import '@dynamic-labs/wallet-book';
14
+ import '../../../../utils/constants/colors.js';
15
+ import '../../../../shared/utils/classes/storage/localStorage.js';
16
+ import 'viem';
17
+ import '../../../../shared/consts/index.js';
18
+ import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
19
+ import { storeAuthToken } from '../../../../utils/functions/storeAuthToken/index.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import { createUserProfile } from '../../../../utils/functions/createUserProfile/createUserProfile.js';
22
+ import '../../../../components/ShadowDOM/ShadowDOM.js';
23
+ import '../../../../context/ThemeContext/ThemeContext.js';
24
+ import 'react-dom';
25
+ import 'react-focus-lock';
26
+ import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
27
+ import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
28
+ import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
29
+ import '../../../../config/ApiEndpoint.js';
30
+ import '@dynamic-labs/rpc-providers';
31
+ import '../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
32
+ import '../../../../context/ErrorContext/ErrorContext.js';
33
+ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
34
+ import '../../../../context/AccountExistsContext/AccountExistsContext.js';
35
+ import '../../../../components/OverlayCard/OverlayCard.context.js';
36
+ import '../../../../context/FooterAnimationContext/index.js';
37
+ import '../../../../context/MockContext/MockContext.js';
38
+ import '../../../../context/QrCodeContext/QrCodeContext.js';
39
+ import '../../../../context/WalletGroupContext/WalletGroupContext.js';
40
+ import '../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
41
+ import '../../../../context/CaptchaContext/CaptchaContext.js';
42
+ import '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
43
+ import 'qrcode';
44
+ import '../../../../context/LoadingContext/LoadingContext.js';
45
+ import 'i18next';
46
+ import { useWidgetContext } from '../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
47
+ import 'yup';
48
+ import { ErrorContainer } from '../../../../components/ErrorContainer/ErrorContainer.js';
49
+ import '../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
50
+ import '@dynamic-labs/types';
51
+ import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
52
+ import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
53
+ import 'formik';
54
+ import { Button } from '../../../../components/Button/Button.js';
55
+ import '../../../../components/IconButton/IconButton.js';
56
+ import '../../../../components/Alert/Alert.js';
57
+ import '../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
58
+ import { getProperErrorMessage } from '../../../../modals/SignMessageConfirmationModal/getProperErrorMessage.js';
59
+ import { useMutation } from '../../../../utils/hooks/useMutation/useMutation.js';
60
+ import '../../../../components/Popper/Popper/Popper.js';
61
+ import '../../../../components/Popper/PopperContext/PopperContext.js';
62
+ import '../../../../components/InlineWidget/InlineWidget.js';
63
+ import '../../../../components/MenuList/Dropdown/Dropdown.js';
64
+ import { NeedHelpSection } from '../../../../components/NeedHelpSection/NeedHelpSection.js';
65
+ import { completePasskeyRecovery } from '../../utils/passkeyRecovery/passkeyRecovery.js';
66
+ import { PasskeyDeviceIcon } from '../../PasskeyDeviceIcon/PasskeyDeviceIcon.js';
67
+
68
+ const PasskeyCompleteRecovery = () => {
69
+ const { authToken, primaryWallet, environmentId, internalEvents, user, setShowAuthFlow, setUser, } = useInternalDynamicContext();
70
+ const { setDynamicWidgetView } = useWidgetContext();
71
+ const { t } = useTranslation();
72
+ const { mutate: completeRecovery, isLoading, error, } = useMutation(() => __awaiter(void 0, void 0, void 0, function* () {
73
+ const { jwt, decodedJwt } = yield completePasskeyRecovery({
74
+ authToken,
75
+ environmentId,
76
+ userEmail: user === null || user === void 0 ? void 0 : user.email,
77
+ wallet: primaryWallet,
78
+ });
79
+ internalEvents.current.emit('passkeyRecoveryCompleted', primaryWallet);
80
+ storeAuthToken(jwt);
81
+ setUser(createUserProfile(decodedJwt));
82
+ setDynamicWidgetView('manage-passkeys');
83
+ setShowAuthFlow(false);
84
+ }), {
85
+ onFailure: (err) => {
86
+ logger.error('Failed to init passkey recovery', err);
87
+ internalEvents.current.emit('passkeyRecoveryFailed', err);
88
+ },
89
+ });
90
+ const errorText = useMemo(() => {
91
+ if (!error) {
92
+ return undefined;
93
+ }
94
+ if (error instanceof DynamicError) {
95
+ return error.message;
96
+ }
97
+ return getProperErrorMessage(error);
98
+ }, [error]);
99
+ return (jsxs("div", { className: 'passkey-recovery-view', children: [jsx("div", { className: 'passkey-recovery-view__header', children: jsx(SvgPasskeyIntroIcon, {}) }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: t('dyn_passkey_recovery.complete.description') }), errorText && jsx(ErrorContainer, { children: errorText }), jsx("div", { className: 'passkey-recovery-view__actions', children: jsx(Button, { buttonVariant: 'brand-primary', buttonPadding: 'large', dataTestId: 'passkey-recovery-complete-button', onClick: () => completeRecovery(), disabled: isLoading, showInternalLoading: false, typographyProps: {
100
+ color: 'inherit',
101
+ }, children: jsxs("div", { className: 'passkey-recovery-view__inline-button', children: [jsx(PasskeyDeviceIcon, {}), jsx(Typography, { children: t('dyn_passkey_recovery.complete.complete_button') })] }) }) }), jsx(NeedHelpSection, {})] }));
102
+ };
103
+
104
+ export { PasskeyCompleteRecovery };
@@ -0,0 +1 @@
1
+ export { PasskeyCompleteRecovery } from './PasskeyCompleteRecovery';
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ var reactI18next = require('react-i18next');
9
+ var utils = require('@dynamic-labs/utils');
10
+ var Typography = require('../../../../components/Typography/Typography.cjs');
11
+ require('@dynamic-labs/sdk-api');
12
+ var logger = require('../../../../shared/logger.cjs');
13
+ require('@dynamic-labs/iconic');
14
+ require('@dynamic-labs/wallet-connector-core');
15
+ var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
16
+ var close = require('../../../../shared/assets/close.cjs');
17
+ var chevronLeft = require('../../../../shared/assets/chevron-left.cjs');
18
+ var signInWithEmail = require('../../../../shared/assets/sign-in-with-email.cjs');
19
+ require('@dynamic-labs/wallet-book');
20
+ require('../../../../utils/constants/colors.cjs');
21
+ require('../../../../shared/utils/classes/storage/localStorage.cjs');
22
+ require('viem');
23
+ require('../../../../shared/consts/index.cjs');
24
+ var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
25
+ require('@dynamic-labs/multi-wallet');
26
+ require('../../../../components/ShadowDOM/ShadowDOM.cjs');
27
+ require('../../../../context/ThemeContext/ThemeContext.cjs');
28
+ var Icon = require('../../../../components/Icon/Icon.cjs');
29
+ require('react-dom');
30
+ require('react-focus-lock');
31
+ require('../../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
32
+ require('../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
33
+ require('../../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
34
+ require('../../../../config/ApiEndpoint.cjs');
35
+ require('@dynamic-labs/rpc-providers');
36
+ require('../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
37
+ require('../../../../context/ErrorContext/ErrorContext.cjs');
38
+ require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
39
+ require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
40
+ var useElementById = require('../../../../utils/hooks/useElementById/useElementById.cjs');
41
+ require('../../../../components/OverlayCard/OverlayCard.context.cjs');
42
+ require('../../../../context/FooterAnimationContext/index.cjs');
43
+ require('../../../../context/MockContext/MockContext.cjs');
44
+ require('../../../../context/QrCodeContext/QrCodeContext.cjs');
45
+ require('../../../../context/WalletGroupContext/WalletGroupContext.cjs');
46
+ require('../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
47
+ var IconWithSpinner = require('../../../../components/IconWithSpinner/IconWithSpinner.cjs');
48
+ require('../../../../context/CaptchaContext/CaptchaContext.cjs');
49
+ require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
50
+ require('qrcode');
51
+ require('../../../../context/LoadingContext/LoadingContext.cjs');
52
+ require('i18next');
53
+ var DynamicWidgetContext = require('../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
54
+ require('yup');
55
+ var ErrorContainer = require('../../../../components/ErrorContainer/ErrorContainer.cjs');
56
+ require('../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
57
+ require('@dynamic-labs/types');
58
+ require('../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
59
+ require('../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
60
+ require('formik');
61
+ var Button = require('../../../../components/Button/Button.cjs');
62
+ var ModalHeader = require('../../../../components/ModalHeader/ModalHeader.cjs');
63
+ var IconButton = require('../../../../components/IconButton/IconButton.cjs');
64
+ require('../../../../components/Alert/Alert.cjs');
65
+ var constants = require('../constants.cjs');
66
+ require('../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
67
+ var useMutation = require('../../../../utils/hooks/useMutation/useMutation.cjs');
68
+ require('../../../../components/Popper/Popper/Popper.cjs');
69
+ require('../../../../components/Popper/PopperContext/PopperContext.cjs');
70
+ require('../../../../components/InlineWidget/InlineWidget.cjs');
71
+ require('../../../../components/MenuList/Dropdown/Dropdown.cjs');
72
+ var NeedHelpSection = require('../../../../components/NeedHelpSection/NeedHelpSection.cjs');
73
+ var passkeyRecovery = require('../../utils/passkeyRecovery/passkeyRecovery.cjs');
74
+
75
+ const PasskeyInitRecovery = () => {
76
+ const { authToken, primaryWallet, environmentId, internalEvents, setShowAuthFlow, } = useInternalDynamicContext.useInternalDynamicContext();
77
+ const { setView } = ViewContext.useViewContext();
78
+ const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
79
+ useElementById.useElementById(constants.iframeContainerId);
80
+ const { t } = reactI18next.useTranslation();
81
+ const { mutate: initRecovery, isLoading, error, } = useMutation.useMutation(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
82
+ yield passkeyRecovery.initPasskeyRecovery({
83
+ authToken,
84
+ environmentId,
85
+ iframeContainerId: constants.iframeContainerId,
86
+ iframeElementId: constants.iframeElementId,
87
+ wallet: primaryWallet,
88
+ });
89
+ setView('passkey-recovery-bundle');
90
+ }), {
91
+ onFailure: (err) => {
92
+ logger.logger.error('Failed to init passkey recovery', err);
93
+ internalEvents.current.emit('passkeyRecoveryFailed', err);
94
+ },
95
+ });
96
+ const errorText = React.useMemo(() => {
97
+ if (!error) {
98
+ return undefined;
99
+ }
100
+ if (error instanceof utils.DynamicError) {
101
+ return error.message;
102
+ }
103
+ return 'Something went wrong.';
104
+ }, [error]);
105
+ const EmailIcon = (jsxRuntime.jsx(Icon.Icon, { color: 'brand-primary', children: jsxRuntime.jsx(signInWithEmail.ReactComponent, {}) }));
106
+ const handleBackClick = () => {
107
+ setDynamicWidgetView('manage-passkeys');
108
+ setShowAuthFlow(false);
109
+ };
110
+ const closeButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: () => setShowAuthFlow(false), "data-testid": 'close-button', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
111
+ const backButton = (jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', children: jsxRuntime.jsx(chevronLeft.ReactComponent, {}) }));
112
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(ModalHeader.ModalHeader, { leading: backButton, trailing: closeButton, children: jsxRuntime.jsx(Typography.Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: t('dyn_passkey_recovery.start.title') }) }), jsxRuntime.jsxs("div", { className: 'passkey-recovery-view', children: [jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: EmailIcon, isSpinning: isLoading, iconSize: 96 }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: t('dyn_passkey_recovery.start.description') }), errorText && jsxRuntime.jsx(ErrorContainer.ErrorContainer, { children: errorText }), jsxRuntime.jsx("div", { className: 'passkey-recovery-view__actions', children: jsxRuntime.jsx(Button.Button, { buttonPadding: 'large', dataTestId: 'passkey-recovery-button', onClick: () => initRecovery(), disabled: isLoading, showInternalLoading: false, children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(Typography.Typography, { children: t('dyn_passkey_recovery.start.start_button') }) }) }) }), jsxRuntime.jsx(NeedHelpSection.NeedHelpSection, {})] })] }));
113
+ };
114
+
115
+ exports.PasskeyInitRecovery = PasskeyInitRecovery;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const PasskeyInitRecovery: FC;
@@ -0,0 +1,111 @@
1
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { useMemo } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { DynamicError } from '@dynamic-labs/utils';
6
+ import { Typography } from '../../../../components/Typography/Typography.js';
7
+ import '@dynamic-labs/sdk-api';
8
+ import { logger } from '../../../../shared/logger.js';
9
+ import '@dynamic-labs/iconic';
10
+ import '@dynamic-labs/wallet-connector-core';
11
+ import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
12
+ import { ReactComponent as SvgClose } from '../../../../shared/assets/close.js';
13
+ import { ReactComponent as SvgChevronLeft } from '../../../../shared/assets/chevron-left.js';
14
+ import { ReactComponent as SvgSignInWithEmail } from '../../../../shared/assets/sign-in-with-email.js';
15
+ import '@dynamic-labs/wallet-book';
16
+ import '../../../../utils/constants/colors.js';
17
+ import '../../../../shared/utils/classes/storage/localStorage.js';
18
+ import 'viem';
19
+ import '../../../../shared/consts/index.js';
20
+ import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
21
+ import '@dynamic-labs/multi-wallet';
22
+ import '../../../../components/ShadowDOM/ShadowDOM.js';
23
+ import '../../../../context/ThemeContext/ThemeContext.js';
24
+ import { Icon } from '../../../../components/Icon/Icon.js';
25
+ import 'react-dom';
26
+ import 'react-focus-lock';
27
+ import '../../../../components/Transition/ZoomTransition/ZoomTransition.js';
28
+ import '../../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
29
+ import '../../../../components/Transition/OpacityTransition/OpacityTransition.js';
30
+ import '../../../../config/ApiEndpoint.js';
31
+ import '@dynamic-labs/rpc-providers';
32
+ import '../../../../utils/hooks/useWallets/utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
33
+ import '../../../../context/ErrorContext/ErrorContext.js';
34
+ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
35
+ import '../../../../context/AccountExistsContext/AccountExistsContext.js';
36
+ import { useElementById } from '../../../../utils/hooks/useElementById/useElementById.js';
37
+ import '../../../../components/OverlayCard/OverlayCard.context.js';
38
+ import '../../../../context/FooterAnimationContext/index.js';
39
+ import '../../../../context/MockContext/MockContext.js';
40
+ import '../../../../context/QrCodeContext/QrCodeContext.js';
41
+ import '../../../../context/WalletGroupContext/WalletGroupContext.js';
42
+ import '../../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
43
+ import { IconWithSpinner } from '../../../../components/IconWithSpinner/IconWithSpinner.js';
44
+ import '../../../../context/CaptchaContext/CaptchaContext.js';
45
+ import '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
46
+ import 'qrcode';
47
+ import '../../../../context/LoadingContext/LoadingContext.js';
48
+ import 'i18next';
49
+ import { useWidgetContext } from '../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
50
+ import 'yup';
51
+ import { ErrorContainer } from '../../../../components/ErrorContainer/ErrorContainer.js';
52
+ import '../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
53
+ import '@dynamic-labs/types';
54
+ import '../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
55
+ import '../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
56
+ import 'formik';
57
+ import { Button } from '../../../../components/Button/Button.js';
58
+ import { ModalHeader } from '../../../../components/ModalHeader/ModalHeader.js';
59
+ import { IconButton } from '../../../../components/IconButton/IconButton.js';
60
+ import '../../../../components/Alert/Alert.js';
61
+ import { iframeContainerId, iframeElementId } from '../constants.js';
62
+ import '../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
63
+ import { useMutation } from '../../../../utils/hooks/useMutation/useMutation.js';
64
+ import '../../../../components/Popper/Popper/Popper.js';
65
+ import '../../../../components/Popper/PopperContext/PopperContext.js';
66
+ import '../../../../components/InlineWidget/InlineWidget.js';
67
+ import '../../../../components/MenuList/Dropdown/Dropdown.js';
68
+ import { NeedHelpSection } from '../../../../components/NeedHelpSection/NeedHelpSection.js';
69
+ import { initPasskeyRecovery } from '../../utils/passkeyRecovery/passkeyRecovery.js';
70
+
71
+ const PasskeyInitRecovery = () => {
72
+ const { authToken, primaryWallet, environmentId, internalEvents, setShowAuthFlow, } = useInternalDynamicContext();
73
+ const { setView } = useViewContext();
74
+ const { setDynamicWidgetView } = useWidgetContext();
75
+ useElementById(iframeContainerId);
76
+ const { t } = useTranslation();
77
+ const { mutate: initRecovery, isLoading, error, } = useMutation(() => __awaiter(void 0, void 0, void 0, function* () {
78
+ yield initPasskeyRecovery({
79
+ authToken,
80
+ environmentId,
81
+ iframeContainerId,
82
+ iframeElementId,
83
+ wallet: primaryWallet,
84
+ });
85
+ setView('passkey-recovery-bundle');
86
+ }), {
87
+ onFailure: (err) => {
88
+ logger.error('Failed to init passkey recovery', err);
89
+ internalEvents.current.emit('passkeyRecoveryFailed', err);
90
+ },
91
+ });
92
+ const errorText = useMemo(() => {
93
+ if (!error) {
94
+ return undefined;
95
+ }
96
+ if (error instanceof DynamicError) {
97
+ return error.message;
98
+ }
99
+ return 'Something went wrong.';
100
+ }, [error]);
101
+ const EmailIcon = (jsx(Icon, { color: 'brand-primary', children: jsx(SvgSignInWithEmail, {}) }));
102
+ const handleBackClick = () => {
103
+ setDynamicWidgetView('manage-passkeys');
104
+ setShowAuthFlow(false);
105
+ };
106
+ const closeButton = (jsx(IconButton, { type: 'button', onClick: () => setShowAuthFlow(false), "data-testid": 'close-button', children: jsx(SvgClose, {}) }));
107
+ const backButton = (jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', children: jsx(SvgChevronLeft, {}) }));
108
+ return (jsxs(Fragment, { children: [jsx(ModalHeader, { leading: backButton, trailing: closeButton, children: jsx(Typography, { as: 'h1', variant: 'title', color: 'primary', "data-testid": 'dynamic-auth-modal-heading', className: 'header__typography', children: t('dyn_passkey_recovery.start.title') }) }), jsxs("div", { className: 'passkey-recovery-view', children: [jsx(IconWithSpinner, { Icon: EmailIcon, isSpinning: isLoading, iconSize: 96 }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'passkey-recovery-view__subtitle', children: t('dyn_passkey_recovery.start.description') }), errorText && jsx(ErrorContainer, { children: errorText }), jsx("div", { className: 'passkey-recovery-view__actions', children: jsx(Button, { buttonPadding: 'large', dataTestId: 'passkey-recovery-button', onClick: () => initRecovery(), disabled: isLoading, showInternalLoading: false, children: jsx("div", { children: jsx(Typography, { children: t('dyn_passkey_recovery.start.start_button') }) }) }) }), jsx(NeedHelpSection, {})] })] }));
109
+ };
110
+
111
+ export { PasskeyInitRecovery };
@@ -0,0 +1 @@
1
+ export { PasskeyInitRecovery } from './PasskeyInitRecovery';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const iframeContainerId = 'dyn-passkey-recovery-id';
6
+ const iframeElementId = 'dyn-passkey-recovery-element-id';
7
+
8
+ exports.iframeContainerId = iframeContainerId;
9
+ exports.iframeElementId = iframeElementId;
@@ -0,0 +1,2 @@
1
+ export declare const iframeContainerId = "dyn-passkey-recovery-id";
2
+ export declare const iframeElementId = "dyn-passkey-recovery-element-id";
@@ -0,0 +1,4 @@
1
+ const iframeContainerId = 'dyn-passkey-recovery-id';
2
+ const iframeElementId = 'dyn-passkey-recovery-element-id';
3
+
4
+ export { iframeContainerId, iframeElementId };
@@ -0,0 +1,3 @@
1
+ export { PasskeyBundleRecovery } from './BundleValidation';
2
+ export { PasskeyCompleteRecovery } from './CompleteRecovery';
3
+ export { PasskeyInitRecovery } from './InitRecovery';