@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.10

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 (210) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +6 -2
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +3 -1
  8. package/src/lib/Main.cjs +7 -0
  9. package/src/lib/Main.js +7 -0
  10. package/src/lib/components/Alert/Alert.cjs +2 -2
  11. package/src/lib/components/Alert/Alert.js +2 -2
  12. package/src/lib/components/Alert/Alert.types.d.ts +1 -0
  13. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  14. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  15. package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
  16. package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
  17. package/src/lib/components/Portal/Portal.cjs +2 -1
  18. package/src/lib/components/Portal/Portal.js +2 -1
  19. package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
  20. package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
  21. package/src/lib/components/RadioButton/RadioButton.js +10 -0
  22. package/src/lib/components/RadioButton/index.d.ts +1 -0
  23. package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
  24. package/src/lib/components/Tooltip/Tooltip.js +2 -1
  25. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  26. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
  27. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  28. package/src/lib/components/index.d.ts +1 -0
  29. package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
  30. package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
  31. package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
  32. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
  33. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
  34. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  35. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
  36. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
  37. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
  38. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  39. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
  40. package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
  41. package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
  42. package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
  43. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
  44. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
  45. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
  46. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
  47. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
  48. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
  49. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
  50. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
  51. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
  52. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
  53. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
  54. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
  55. package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
  56. package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
  57. package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
  58. package/src/lib/context/ViewContext/ViewContext.js +2 -2
  59. package/src/lib/context/ViewContext/types/index.d.ts +7 -2
  60. package/src/lib/data/api/user/user.cjs +16 -0
  61. package/src/lib/data/api/user/user.js +16 -1
  62. package/src/lib/data/api/wallets/wallets.cjs +26 -6
  63. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  64. package/src/lib/data/api/wallets/wallets.js +26 -7
  65. package/src/lib/events/dynamicEvents.d.ts +1 -1
  66. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  67. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  68. package/src/lib/locale/en/translation.cjs +45 -4
  69. package/src/lib/locale/en/translation.d.ts +44 -3
  70. package/src/lib/locale/en/translation.js +45 -4
  71. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  72. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  73. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  74. package/src/lib/styles/index.shadow.cjs +1 -1
  75. package/src/lib/styles/index.shadow.js +1 -1
  76. package/src/lib/utils/constants/errors.cjs +0 -2
  77. package/src/lib/utils/constants/errors.js +1 -2
  78. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  79. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  80. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  81. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  82. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  83. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  84. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  85. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  86. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  87. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  88. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
  89. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  90. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  91. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  92. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  93. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  94. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  95. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  96. package/src/lib/utils/functions/index.d.ts +2 -1
  97. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  98. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  99. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  100. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  101. package/src/lib/utils/hooks/index.d.ts +1 -0
  102. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
  103. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
  104. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  105. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  106. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
  107. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  108. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
  109. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  110. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  111. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  112. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  113. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  114. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  115. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  116. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -10
  117. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +14 -2
  118. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -10
  119. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  120. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  121. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  122. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +8 -8
  123. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
  124. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +8 -8
  125. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +148 -46
  126. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +21 -8
  127. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +152 -50
  128. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
  129. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  130. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
  131. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  132. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  133. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  134. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  135. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  136. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  137. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  138. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  139. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  140. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  141. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  142. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  143. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  144. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  145. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  146. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  147. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  148. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  149. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  150. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  151. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  152. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  153. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  154. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  155. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  156. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  157. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  158. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  159. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  160. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  161. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  162. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  163. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  164. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  165. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  166. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  167. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  168. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  169. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
  170. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
  171. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  172. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  173. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  174. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  175. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
  176. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  177. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
  178. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  179. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  180. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
  181. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  182. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
  183. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  184. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  185. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  186. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  187. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  188. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  189. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
  190. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
  191. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  192. package/src/lib/views/WalletList/WalletList.js +3 -6
  193. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  194. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  195. package/src/lib/views/viewToComponentMap.cjs +4 -0
  196. package/src/lib/views/viewToComponentMap.d.ts +6 -2
  197. package/src/lib/views/viewToComponentMap.js +4 -0
  198. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  199. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  200. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  201. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  202. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  203. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  204. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  205. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  206. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  207. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  208. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  209. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  210. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -78,7 +78,7 @@ require('@hcaptcha/react-hcaptcha');
78
78
  require('../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
79
79
  var Select = require('../../../../components/Select/Select.cjs');
80
80
 
81
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
81
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
82
82
  if (name === 'tShirtSize') {
83
83
  return (jsxRuntime.jsx(formik.Field, { copykey: key, as: Select.Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: index.tShirtSizes.map((size) => (jsxRuntime.jsx("option", { value: size, children: size }, size))) }, name));
84
84
  }
@@ -94,10 +94,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
94
94
  else if (name === 'phoneNumber') {
95
95
  return (jsxRuntime.jsx(formik.Field, { name: name, as: UserPhoneField.UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
96
96
  ? getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name])
97
- : undefined, verify: verify }, name));
97
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
98
98
  }
99
99
  else {
100
- return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]) }, name));
100
+ return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
101
101
  }
102
102
  };
103
103
 
@@ -74,7 +74,7 @@ import '@hcaptcha/react-hcaptcha';
74
74
  import '../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
75
75
  import { Select } from '../../../../components/Select/Select.js';
76
76
 
77
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
77
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
78
78
  if (name === 'tShirtSize') {
79
79
  return (jsx(Field, { copykey: key, as: Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: tShirtSizes.map((size) => (jsx("option", { value: size, children: size }, size))) }, name));
80
80
  }
@@ -90,10 +90,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
90
90
  else if (name === 'phoneNumber') {
91
91
  return (jsx(Field, { name: name, as: UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
92
92
  ? getDisplayErrorMessage(label, errors[name])
93
- : undefined, verify: verify }, name));
93
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
94
94
  }
95
95
  else {
96
- return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]) }, name));
96
+ return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
97
97
  }
98
98
  };
99
99
 
@@ -46,6 +46,7 @@ const useFields = () => {
46
46
  validation: yup.string().oneOf(index.countryCodes.map((c) => c.code)),
47
47
  },
48
48
  email: {
49
+ autoComplete: 'email',
49
50
  key: 'dyn_collect_user_data.fields.email.label',
50
51
  label: t('dyn_collect_user_data.fields.email.label'),
51
52
  type: 'email',
@@ -4,6 +4,7 @@ export type FieldConfig = {
4
4
  key: string;
5
5
  type: string;
6
6
  validation: StringSchema | BooleanSchema;
7
+ autoComplete?: string;
7
8
  };
8
9
  export declare const useFields: () => {
9
10
  fieldsConfig: {
@@ -20,6 +21,7 @@ export declare const useFields: () => {
20
21
  validation: StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
21
22
  };
22
23
  email: {
24
+ autoComplete: string;
23
25
  key: string;
24
26
  label: string;
25
27
  type: string;
@@ -42,6 +42,7 @@ const useFields = () => {
42
42
  validation: string().oneOf(countryCodes.map((c) => c.code)),
43
43
  },
44
44
  email: {
45
+ autoComplete: 'email',
45
46
  key: 'dyn_collect_user_data.fields.email.label',
46
47
  label: t('dyn_collect_user_data.fields.email.label'),
47
48
  type: 'email',
@@ -27,6 +27,7 @@ require('../../shared/consts/index.cjs');
27
27
  var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
28
28
  require('../../context/CaptchaContext/CaptchaContext.cjs');
29
29
  var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
30
+ var findEmbeddedWalletFromVerifiedCredentials = require('../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs');
30
31
  require('@dynamic-labs/multi-wallet');
31
32
  require('react-international-phone');
32
33
  var shortenEmail = require('../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
@@ -100,7 +101,7 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
100
101
  const SECONDS_TO_RETRY = 15;
101
102
  const sleepToShowSuccessMessage = () => utils.sleep(1500);
102
103
  const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
103
- var _a, _b, _c, _d;
104
+ var _a, _b, _c, _d, _e, _f;
104
105
  const [showRetryButton, setShowRetryButton] = React.useState(_showRetryButton);
105
106
  const [showTransferMessage, setShowTransferMessage] = React.useState(_showTransferMessage);
106
107
  const { handleVerifiedUserWithJWT } = useHandleVerifiedUser.useHandleVerifiedUser();
@@ -135,7 +136,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
135
136
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
136
137
  const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
137
138
  const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
138
- var _e, _f, _g;
139
+ var _g, _h, _j, _k, _l, _m, _o;
139
140
  setError(undefined);
140
141
  setLoading(true);
141
142
  if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
@@ -172,16 +173,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
172
173
  if (isTurnkeyWallet &&
173
174
  hasTurnkeyVerifiedCredentialAuthenticator &&
174
175
  !hasRecoveryEmail &&
175
- ((_e = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _e === void 0 ? void 0 : _e.email)) {
176
+ ((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
176
177
  setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
177
178
  yield addRecoveryEmail(updateUserProfileResponse.user.email);
178
179
  setShowAuthFlow(false);
179
180
  return;
180
181
  }
181
- if (isTurnkeyProviderEnabled &&
182
- !((_g = (_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _f === void 0 ? void 0 : _f.embeddedWallets) === null || _g === void 0 ? void 0 : _g.automaticEmbeddedWalletCreation)) {
183
- setShowAuthFlow(false);
184
- return;
182
+ if (isTurnkeyProviderEnabled) {
183
+ const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
184
+ const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
185
+ !((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
186
+ if (isUsingPregeneratedWallets) {
187
+ // Pregenerated wallet was created during an
188
+ // additional email validation step as part of onboarding
189
+ // cannot rely on newUser JWT field here due to session being counted twice
190
+ // when authentication happens followed by a separate email kyc step
191
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
192
+ if (!embeddedWalletVerifiedCredential) {
193
+ throw new Error('Could not find an embedded wallet');
194
+ }
195
+ const wallet = {
196
+ address: embeddedWalletVerifiedCredential.address,
197
+ authenticated: false,
198
+ chain: embeddedWalletVerifiedCredential.chain,
199
+ connected: true,
200
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
201
+ // @ts-ignore
202
+ connector: undefined,
203
+ id: embeddedWalletVerifiedCredential.id,
204
+ };
205
+ dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
206
+ }
207
+ if (isUsingPregeneratedWallets || isManualMode) {
208
+ setShowAuthFlow(false);
209
+ return;
210
+ }
185
211
  }
186
212
  // this function will check turnkey wallet enabled and create wallet if needed
187
213
  // if not enabled, it will throw an error.
@@ -217,7 +243,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
217
243
  hasTurnkeyVerifiedCredentialAuthenticator,
218
244
  hasRecoveryEmail,
219
245
  isTurnkeyProviderEnabled,
220
- (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
221
246
  createEmbeddedWallet,
222
247
  setOnboardingOnlyJwt,
223
248
  setView,
@@ -226,10 +251,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
226
251
  setUser,
227
252
  addRecoveryEmail,
228
253
  setShowAuthFlow,
254
+ (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
255
+ (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
229
256
  setErrorMessage,
230
257
  ]);
231
258
  const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
232
- var _h, _j;
259
+ var _p, _q;
233
260
  setError(undefined);
234
261
  setLoading(true);
235
262
  if (!verificationUUID) {
@@ -264,7 +291,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
264
291
  yield sleepToShowSuccessMessage();
265
292
  yield createUserProfileByJWT(jwt, minifiedJwt);
266
293
  if (isTurnkeyProviderEnabled &&
267
- !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation)) {
294
+ !((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
268
295
  setShowAuthFlow(false);
269
296
  return;
270
297
  }
@@ -297,7 +324,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
297
324
  setCallback,
298
325
  createUserProfileByJWT,
299
326
  isTurnkeyProviderEnabled,
300
- (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation,
327
+ (_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
301
328
  createEmbeddedWallet,
302
329
  setOnboardingOnlyJwt,
303
330
  setView,
@@ -23,6 +23,7 @@ import '../../shared/consts/index.js';
23
23
  import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
24
24
  import '../../context/CaptchaContext/CaptchaContext.js';
25
25
  import { useErrorContext } from '../../context/ErrorContext/ErrorContext.js';
26
+ import { findEmbeddedWalletFromVerifiedCredentials } from '../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
26
27
  import '@dynamic-labs/multi-wallet';
27
28
  import 'react-international-phone';
28
29
  import { shortenEmail } from '../../shared/utils/functions/shortenEmail/shortenEmail.js';
@@ -96,7 +97,7 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
96
97
  const SECONDS_TO_RETRY = 15;
97
98
  const sleepToShowSuccessMessage = () => sleep(1500);
98
99
  const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
99
- var _a, _b, _c, _d;
100
+ var _a, _b, _c, _d, _e, _f;
100
101
  const [showRetryButton, setShowRetryButton] = useState(_showRetryButton);
101
102
  const [showTransferMessage, setShowTransferMessage] = useState(_showTransferMessage);
102
103
  const { handleVerifiedUserWithJWT } = useHandleVerifiedUser();
@@ -131,7 +132,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
131
132
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback();
132
133
  const isTurnkeyProviderEnabled = isTurnkeyEnabled(projectSettings);
133
134
  const handleComplete = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
134
- var _e, _f, _g;
135
+ var _g, _h, _j, _k, _l, _m, _o;
135
136
  setError(undefined);
136
137
  setLoading(true);
137
138
  if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
@@ -168,16 +169,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
168
169
  if (isTurnkeyWallet &&
169
170
  hasTurnkeyVerifiedCredentialAuthenticator &&
170
171
  !hasRecoveryEmail &&
171
- ((_e = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _e === void 0 ? void 0 : _e.email)) {
172
+ ((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
172
173
  setUser(updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
173
174
  yield addRecoveryEmail(updateUserProfileResponse.user.email);
174
175
  setShowAuthFlow(false);
175
176
  return;
176
177
  }
177
- if (isTurnkeyProviderEnabled &&
178
- !((_g = (_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _f === void 0 ? void 0 : _f.embeddedWallets) === null || _g === void 0 ? void 0 : _g.automaticEmbeddedWalletCreation)) {
179
- setShowAuthFlow(false);
180
- return;
178
+ if (isTurnkeyProviderEnabled) {
179
+ const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
180
+ const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
181
+ !((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
182
+ if (isUsingPregeneratedWallets) {
183
+ // Pregenerated wallet was created during an
184
+ // additional email validation step as part of onboarding
185
+ // cannot rely on newUser JWT field here due to session being counted twice
186
+ // when authentication happens followed by a separate email kyc step
187
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
188
+ if (!embeddedWalletVerifiedCredential) {
189
+ throw new Error('Could not find an embedded wallet');
190
+ }
191
+ const wallet = {
192
+ address: embeddedWalletVerifiedCredential.address,
193
+ authenticated: false,
194
+ chain: embeddedWalletVerifiedCredential.chain,
195
+ connected: true,
196
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
197
+ // @ts-ignore
198
+ connector: undefined,
199
+ id: embeddedWalletVerifiedCredential.id,
200
+ };
201
+ dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
202
+ }
203
+ if (isUsingPregeneratedWallets || isManualMode) {
204
+ setShowAuthFlow(false);
205
+ return;
206
+ }
181
207
  }
182
208
  // this function will check turnkey wallet enabled and create wallet if needed
183
209
  // if not enabled, it will throw an error.
@@ -213,7 +239,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
213
239
  hasTurnkeyVerifiedCredentialAuthenticator,
214
240
  hasRecoveryEmail,
215
241
  isTurnkeyProviderEnabled,
216
- (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
217
242
  createEmbeddedWallet,
218
243
  setOnboardingOnlyJwt,
219
244
  setView,
@@ -222,10 +247,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
222
247
  setUser,
223
248
  addRecoveryEmail,
224
249
  setShowAuthFlow,
250
+ (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
251
+ (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
225
252
  setErrorMessage,
226
253
  ]);
227
254
  const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
228
- var _h, _j;
255
+ var _p, _q;
229
256
  setError(undefined);
230
257
  setLoading(true);
231
258
  if (!verificationUUID) {
@@ -260,7 +287,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
260
287
  yield sleepToShowSuccessMessage();
261
288
  yield createUserProfileByJWT(jwt, minifiedJwt);
262
289
  if (isTurnkeyProviderEnabled &&
263
- !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation)) {
290
+ !((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
264
291
  setShowAuthFlow(false);
265
292
  return;
266
293
  }
@@ -293,7 +320,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
293
320
  setCallback,
294
321
  createUserProfileByJWT,
295
322
  isTurnkeyProviderEnabled,
296
- (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation,
323
+ (_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
297
324
  createEmbeddedWallet,
298
325
  setOnboardingOnlyJwt,
299
326
  setView,
@@ -27,7 +27,7 @@ const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ i
27
27
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
28
28
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
29
29
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
30
- throw new utils.DynamicError('PasskeyWalletConnector not found');
30
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
31
31
  }
32
32
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
33
33
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
@@ -48,7 +48,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
48
48
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
49
49
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
50
50
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
51
- throw new utils.DynamicError('PasskeyWalletConnector not found');
51
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
52
52
  }
53
53
  const connector = wallet.connector;
54
54
  connector.setEmail(userEmail);
@@ -23,7 +23,7 @@ const initExport = (_a) => __awaiter(void 0, [_a], void 0, function* ({ iframeCo
23
23
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
24
24
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
25
25
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
26
- throw new DynamicError('PasskeyWalletConnector not found');
26
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
27
27
  }
28
28
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
29
29
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
@@ -44,7 +44,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
44
44
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
45
45
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
46
46
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
47
- throw new DynamicError('PasskeyWalletConnector not found');
47
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
48
48
  }
49
49
  const connector = wallet.connector;
50
50
  connector.setEmail(userEmail);
@@ -0,0 +1,126 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var React = require('react');
9
+ var reactI18next = require('react-i18next');
10
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
11
+ require('../../events/dynamicEvents.cjs');
12
+ require('@dynamic-labs/utils');
13
+ require('../../context/DynamicContext/DynamicContext.cjs');
14
+ var logger = require('../../shared/logger.cjs');
15
+ require('@dynamic-labs/iconic');
16
+ require('@dynamic-labs/wallet-connector-core');
17
+ require('../../context/ViewContext/ViewContext.cjs');
18
+ require('@dynamic-labs/wallet-book');
19
+ require('../../utils/constants/colors.cjs');
20
+ require('../../utils/constants/values.cjs');
21
+ require('../../shared/utils/classes/storage/localStorage.cjs');
22
+ var capitalize = require('../../shared/utils/functions/capitalize/capitalize.cjs');
23
+ require('../../shared/consts/index.cjs');
24
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
25
+ require('../../context/ErrorContext/ErrorContext.cjs');
26
+ require('@dynamic-labs/multi-wallet');
27
+ require('react-international-phone');
28
+ require('viem');
29
+ require('viem/chains');
30
+ require('../../config/ApiEndpoint.cjs');
31
+ require('../../locale/locale.cjs');
32
+ require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
33
+ require('../../context/AccountExistsContext/AccountExistsContext.cjs');
34
+ require('../../context/UserWalletsContext/UserWalletsContext.cjs');
35
+ require('../../context/VerificationContext/VerificationContext.cjs');
36
+ require('react-dom');
37
+ require('../../context/WalletContext/WalletContext.cjs');
38
+ require('../../context/ThemeContext/ThemeContext.cjs');
39
+ require('@dynamic-labs/types');
40
+ require('yup');
41
+ require('../../context/MockContext/MockContext.cjs');
42
+ require('../../context/FieldsStateContext/FieldsStateContext.cjs');
43
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
44
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
45
+ require('@dynamic-labs/rpc-providers');
46
+ var Typography = require('../../components/Typography/Typography.cjs');
47
+ require('../../context/FooterAnimationContext/index.cjs');
48
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
49
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
50
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
51
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
52
+ require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
53
+ require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
54
+ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
55
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
56
+ require('react-focus-lock');
57
+ require('../../context/LoadingContext/LoadingContext.cjs');
58
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
59
+ require('../../components/IconButton/IconButton.cjs');
60
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
61
+ require('formik');
62
+ var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
63
+ require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
64
+ var Alert = require('../../components/Alert/Alert.cjs');
65
+ require('../../components/Input/Input.cjs');
66
+ require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
67
+ require('../../context/PasskeyContext/PasskeyContext.cjs');
68
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
69
+ var useMergeUserAccounts = require('../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs');
70
+ require('../../components/InlineWidget/InlineWidget.cjs');
71
+ require('../../components/IsBrowser/IsBrowser.cjs');
72
+ require('../../components/Popper/Popper/Popper.cjs');
73
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
74
+ require('qrcode');
75
+ var RadioButton = require('../../components/RadioButton/RadioButton.cjs');
76
+ require('../WalletList/WalletList.cjs');
77
+ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
78
+ require('@hcaptcha/react-hcaptcha');
79
+ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
80
+
81
+ const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
82
+ const { mergeUserAccounts } = useMergeUserAccounts.useMergeUserAccounts();
83
+ const { t } = reactI18next.useTranslation();
84
+ const [error, setError] = React.useState('');
85
+ const mergeResolutions = React.useRef(
86
+ // defaults to current user field values
87
+ Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
88
+ `${field.name}_${field.type}`,
89
+ {
90
+ fieldKey: field.name,
91
+ type: field.type || sdkApiCore.KycFieldType.Standard,
92
+ userId: currentUser.userId,
93
+ },
94
+ ])));
95
+ const handleMergeConfirm = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
96
+ const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
97
+ fieldKey,
98
+ type,
99
+ userId,
100
+ }));
101
+ try {
102
+ yield mergeUserAccounts(parsedMergeResolutions);
103
+ }
104
+ catch (error) {
105
+ logger.logger.error('Error merging user accounts', error);
106
+ setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
107
+ }
108
+ });
109
+ if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
110
+ return null;
111
+ }
112
+ const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
113
+ setError('');
114
+ if (!isSelected) {
115
+ return;
116
+ }
117
+ mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
118
+ fieldKey,
119
+ type: fieldType || sdkApiCore.KycFieldType.Standard,
120
+ userId,
121
+ };
122
+ };
123
+ return (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize.capitalize(field.name) }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
124
+ };
125
+
126
+ exports.MergeUserAccountsConflictsView = MergeUserAccountsConflictsView;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import { MergeUserConflict } from '@dynamic-labs/sdk-api-core';
3
+ export type MergeUserAccountsConflictsViewProps = {
4
+ mergeConflicts: MergeUserConflict[];
5
+ };
6
+ export declare const MergeUserAccountsConflictsView: FC<MergeUserAccountsConflictsViewProps>;
@@ -0,0 +1,122 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { useState, useRef } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { KycFieldType } from '@dynamic-labs/sdk-api-core';
7
+ import '../../events/dynamicEvents.js';
8
+ import '@dynamic-labs/utils';
9
+ import '../../context/DynamicContext/DynamicContext.js';
10
+ import { logger } from '../../shared/logger.js';
11
+ import '@dynamic-labs/iconic';
12
+ import '@dynamic-labs/wallet-connector-core';
13
+ import '../../context/ViewContext/ViewContext.js';
14
+ import '@dynamic-labs/wallet-book';
15
+ import '../../utils/constants/colors.js';
16
+ import '../../utils/constants/values.js';
17
+ import '../../shared/utils/classes/storage/localStorage.js';
18
+ import { capitalize } from '../../shared/utils/functions/capitalize/capitalize.js';
19
+ import '../../shared/consts/index.js';
20
+ import '../../context/CaptchaContext/CaptchaContext.js';
21
+ import '../../context/ErrorContext/ErrorContext.js';
22
+ import '@dynamic-labs/multi-wallet';
23
+ import 'react-international-phone';
24
+ import 'viem';
25
+ import 'viem/chains';
26
+ import '../../config/ApiEndpoint.js';
27
+ import '../../locale/locale.js';
28
+ import '../../context/AccessDeniedContext/AccessDeniedContext.js';
29
+ import '../../context/AccountExistsContext/AccountExistsContext.js';
30
+ import '../../context/UserWalletsContext/UserWalletsContext.js';
31
+ import '../../context/VerificationContext/VerificationContext.js';
32
+ import 'react-dom';
33
+ import '../../context/WalletContext/WalletContext.js';
34
+ import '../../context/ThemeContext/ThemeContext.js';
35
+ import '@dynamic-labs/types';
36
+ import 'yup';
37
+ import '../../context/MockContext/MockContext.js';
38
+ import '../../context/FieldsStateContext/FieldsStateContext.js';
39
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
40
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
41
+ import '@dynamic-labs/rpc-providers';
42
+ import { Typography } from '../../components/Typography/Typography.js';
43
+ import '../../context/FooterAnimationContext/index.js';
44
+ import '../../components/ShadowDOM/ShadowDOM.js';
45
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
46
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
47
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
48
+ import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
49
+ import '../../context/SocialRedirectContext/SocialRedirectContext.js';
50
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
51
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
52
+ import 'react-focus-lock';
53
+ import '../../context/LoadingContext/LoadingContext.js';
54
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
55
+ import '../../components/IconButton/IconButton.js';
56
+ import '../../components/MenuList/Dropdown/Dropdown.js';
57
+ import 'formik';
58
+ import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
59
+ import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
60
+ import { Alert } from '../../components/Alert/Alert.js';
61
+ import '../../components/Input/Input.js';
62
+ import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
63
+ import '../../context/PasskeyContext/PasskeyContext.js';
64
+ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
65
+ import { useMergeUserAccounts } from '../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js';
66
+ import '../../components/InlineWidget/InlineWidget.js';
67
+ import '../../components/IsBrowser/IsBrowser.js';
68
+ import '../../components/Popper/Popper/Popper.js';
69
+ import '../../components/Popper/PopperContext/PopperContext.js';
70
+ import 'qrcode';
71
+ import { RadioButton } from '../../components/RadioButton/RadioButton.js';
72
+ import '../WalletList/WalletList.js';
73
+ import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
74
+ import '@hcaptcha/react-hcaptcha';
75
+ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
76
+
77
+ const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
78
+ const { mergeUserAccounts } = useMergeUserAccounts();
79
+ const { t } = useTranslation();
80
+ const [error, setError] = useState('');
81
+ const mergeResolutions = useRef(
82
+ // defaults to current user field values
83
+ Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
84
+ `${field.name}_${field.type}`,
85
+ {
86
+ fieldKey: field.name,
87
+ type: field.type || KycFieldType.Standard,
88
+ userId: currentUser.userId,
89
+ },
90
+ ])));
91
+ const handleMergeConfirm = () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
93
+ fieldKey,
94
+ type,
95
+ userId,
96
+ }));
97
+ try {
98
+ yield mergeUserAccounts(parsedMergeResolutions);
99
+ }
100
+ catch (error) {
101
+ logger.error('Error merging user accounts', error);
102
+ setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
103
+ }
104
+ });
105
+ if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
106
+ return null;
107
+ }
108
+ const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
109
+ setError('');
110
+ if (!isSelected) {
111
+ return;
112
+ }
113
+ mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
114
+ fieldKey,
115
+ type: fieldType || KycFieldType.Standard,
116
+ userId,
117
+ };
118
+ };
119
+ return (jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize(field.name) }), jsx(RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsx(RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsx(TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
120
+ };
121
+
122
+ export { MergeUserAccountsConflictsView };
@@ -0,0 +1 @@
1
+ export { MergeUserAccountsConflictsView } from './MergeUserAccountsConflictsView';