@stytch/react 20.0.0-next.0 → 20.0.0-next.1
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.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/{StytchSSRProxy-CUOvjF03.js → StytchSSRProxy-Bz6LNYdq.js} +186 -1
- package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -0
- package/dist/cjs/adminPortal/index.cjs +102 -26
- package/dist/cjs/adminPortal/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.cjs +176 -138
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/b2b/index.headless.cjs +24 -24
- package/dist/cjs/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs/{idpHelpers-eUP8j58U.js → idpHelpers-Bj_7pbfW.js} +7 -191
- package/dist/cjs/idpHelpers-Bj_7pbfW.js.map +1 -0
- package/dist/cjs/{index-DfiRrtK8.js → index-Ni_dyEsz.js} +3 -3
- package/dist/cjs/{index-DfiRrtK8.js.map → index-Ni_dyEsz.js.map} +1 -1
- package/dist/cjs/index.cjs +207 -196
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.headless.cjs +32 -32
- package/dist/cjs/index.headless.cjs.map +1 -1
- package/dist/cjs/{passwordManagerDisableAutofillProps-C0akDAKd.js → passwordManagerDisableAutofillProps-DV31RTL_.js} +2 -2
- package/dist/cjs/{passwordManagerDisableAutofillProps-C0akDAKd.js.map → passwordManagerDisableAutofillProps-DV31RTL_.js.map} +1 -1
- package/dist/cjs/{shadcn-Bbv2Hk3P.js → shadcn-B8TEzQMT.js} +99 -81
- package/dist/cjs/shadcn-B8TEzQMT.js.map +1 -0
- package/dist/cjs-dev/{StytchSSRProxy-D0B5PuT0.js → StytchSSRProxy-CxXsyme4.js} +186 -1
- package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +102 -26
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +176 -138
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +24 -24
- package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/{idpHelpers-DOOVv6dT.js → idpHelpers-Cf8Qq1B4.js} +7 -191
- package/dist/cjs-dev/idpHelpers-Cf8Qq1B4.js.map +1 -0
- package/dist/cjs-dev/{index-paeFcHjf.js → index-DdK3Jt4u.js} +3 -3
- package/dist/cjs-dev/{index-paeFcHjf.js.map → index-DdK3Jt4u.js.map} +1 -1
- package/dist/cjs-dev/index.cjs +207 -196
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/index.headless.cjs +32 -32
- package/dist/cjs-dev/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-CnLBAXyr.js → passwordManagerDisableAutofillProps-D70WyvIu.js} +2 -2
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-CnLBAXyr.js.map → passwordManagerDisableAutofillProps-D70WyvIu.js.map} +1 -1
- package/dist/cjs-dev/{shadcn-CdbmlhdF.js → shadcn-C4w3DtKK.js} +99 -81
- package/dist/cjs-dev/shadcn-C4w3DtKK.js.map +1 -0
- package/dist/esm/_virtual/index.mjs +4 -4
- package/dist/esm/_virtual/index3.mjs +3 -5
- package/dist/esm/_virtual/index3.mjs.map +1 -1
- package/dist/esm/_virtual/index4.mjs +5 -3
- package/dist/esm/_virtual/index4.mjs.map +1 -1
- package/dist/esm/_virtual/index6.mjs +2 -2
- package/dist/esm/_virtual/index7.mjs +2 -2
- package/dist/esm/adminPortal/index.mjs +4 -1
- package/dist/esm/adminPortal/index.mjs.map +1 -1
- package/dist/esm/b2b/index.mjs.map +1 -1
- package/dist/esm/node_modules/lodash.merge/index.mjs +1 -1
- package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/esm/packages/core/src/rpc/FrameClient.mjs +1 -0
- package/dist/esm/packages/core/src/rpc/FrameClient.mjs.map +1 -1
- package/dist/esm/packages/web/messages/b2b/en.json.mjs +10 -3
- package/dist/esm/packages/web/messages/b2b/en.json.mjs.map +1 -1
- package/dist/esm/packages/web/messages/en.json.mjs +10 -3
- package/dist/esm/packages/web/messages/en.json.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +6 -3
- package/dist/esm/packages/web/src/adminPortal/memberManagement/AccessSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +4 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/InviteModal.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs +3 -1
- package/dist/esm/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +6 -2
- package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +7 -3
- package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +5 -1
- package/dist/esm/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRbac.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs +3 -3
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs +2 -2
- package/dist/esm/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/useRoles.mjs +7 -2
- package/dist/esm/packages/web/src/adminPortal/utils/useRoles.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs +27 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs +2 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs +2 -0
- package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/utils.mjs +8 -1
- package/dist/esm/packages/web/src/ui/b2b/utils.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs +10 -4
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs +2 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +5 -68
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs +71 -0
- package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -0
- package/dist/esm/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Button.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/CircularProgress.mjs +4 -5
- package/dist/esm/packages/web/src/ui/components/atoms/CircularProgress.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Column.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs +14 -23
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/ErrorText.mjs +12 -4
- package/dist/esm/packages/web/src/ui/components/molecules/ErrorText.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs +3 -2
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.mjs +6 -6
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/PhoneInput.mjs +3 -4
- package/dist/esm/packages/web/src/ui/components/molecules/PhoneInput.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs +26 -3
- package/dist/esm/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/OneTapError.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/organisms/ResendOTPButton.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/organisms/ResendOTPButton.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs +0 -42
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs +0 -40
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs +0 -43
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs +0 -36
- package/dist/esm/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/crypto.mjs +1 -1
- package/dist/esm-dev/_virtual/index.mjs +4 -4
- package/dist/esm-dev/_virtual/index3.mjs +3 -5
- package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index4.mjs +5 -3
- package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index6.mjs +2 -2
- package/dist/esm-dev/_virtual/index7.mjs +2 -2
- package/dist/esm-dev/adminPortal/index.mjs +4 -1
- package/dist/esm-dev/adminPortal/index.mjs.map +1 -1
- package/dist/esm-dev/b2b/index.mjs.map +1 -1
- package/dist/esm-dev/node_modules/lodash.merge/index.mjs +1 -1
- package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs +1 -1
- package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs +1 -0
- package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs.map +1 -1
- package/dist/esm-dev/packages/web/messages/b2b/en.json.mjs +10 -3
- package/dist/esm-dev/packages/web/messages/b2b/en.json.mjs.map +1 -1
- package/dist/esm-dev/packages/web/messages/en.json.mjs +10 -3
- package/dist/esm-dev/packages/web/messages/en.json.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +6 -3
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AccessSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +4 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/InviteModal.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs +3 -1
- package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/MemberListScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs +6 -2
- package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +7 -3
- package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +5 -1
- package/dist/esm-dev/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRbac.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs +3 -3
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleAutocomplete.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs +2 -2
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoleDisplayInfo.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoles.mjs +7 -2
- package/dist/esm-dev/packages/web/src/adminPortal/utils/useRoles.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs +27 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailConfirmation.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs +2 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/RecoveryCodeEntryScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs +2 -0
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEntryScreen.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/utils.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/utils.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs +10 -4
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/EmailConfirmation.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs +2 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs +5 -68
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs +71 -0
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.mjs.map +1 -0
- package/dist/esm-dev/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CircularProgress.mjs +4 -5
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CircularProgress.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Column.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs +14 -23
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Watermark.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/ErrorText.mjs +12 -4
- package/dist/esm-dev/packages/web/src/ui/components/molecules/ErrorText.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +3 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs +6 -6
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PhoneInput.mjs +3 -4
- package/dist/esm-dev/packages/web/src/ui/components/molecules/PhoneInput.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs +26 -3
- package/dist/esm-dev/packages/web/src/ui/components/organisms/EmailConfirmationView.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/organisms/ResendOTPButton.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/organisms/ResendOTPButton.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs +0 -42
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalMemberManagement.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs +0 -40
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalOrgSettings.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs +0 -43
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSCIM.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs +0 -36
- package/dist/esm-dev/packages/web/src/ui/react/adminPortal/AdminPortalSSO.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs +1 -1
- package/dist/types/{StytchB2BClient-Dq-ITB7Q.d.ts → StytchB2BClient-C_7NUKZh.d.ts} +1 -1
- package/dist/types/{StytchClient-BV0sT3Ox.d.ts → StytchClient-Ccvk8Nj1.d.ts} +1 -2
- package/dist/types/adminPortal/index.d.ts +5 -4
- package/dist/types/b2b/index.d.ts +11 -11
- package/dist/types/b2b/index.headless.d.ts +4 -4
- package/dist/types/{createAuthUrlHandler-Ck5TyB9J.d.ts → createAuthUrlHandler-BJRA2PHG.d.ts} +939 -39
- package/dist/types/idpHelpers-aCVwNrDk.d.ts +36 -0
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.headless.d.ts +4 -4
- package/dist/types/{shadcn-CFz8Asq0.d.ts → shadcn-0e4fkV5Z.d.ts} +6 -6
- package/messages/b2b/en.po +6 -3
- package/messages/en.po +6 -3
- package/package.json +1 -1
- package/dist/cjs/StytchSSRProxy-CUOvjF03.js.map +0 -1
- package/dist/cjs/idpHelpers-eUP8j58U.js.map +0 -1
- package/dist/cjs/shadcn-Bbv2Hk3P.js.map +0 -1
- package/dist/cjs-dev/StytchSSRProxy-D0B5PuT0.js.map +0 -1
- package/dist/cjs-dev/idpHelpers-DOOVv6dT.js.map +0 -1
- package/dist/cjs-dev/shadcn-CdbmlhdF.js.map +0 -1
- package/dist/esm/packages/web/src/adminPortal/MuiClassNameSetup.mjs +0 -5
- package/dist/esm/packages/web/src/adminPortal/MuiClassNameSetup.mjs.map +0 -1
- package/dist/esm/packages/web/src/adminPortal/classNameSeed.mjs +0 -5
- package/dist/esm/packages/web/src/adminPortal/classNameSeed.mjs.map +0 -1
- package/dist/esm-dev/packages/web/src/adminPortal/MuiClassNameSetup.mjs +0 -5
- package/dist/esm-dev/packages/web/src/adminPortal/MuiClassNameSetup.mjs.map +0 -1
- package/dist/esm-dev/packages/web/src/adminPortal/classNameSeed.mjs +0 -5
- package/dist/esm-dev/packages/web/src/adminPortal/classNameSeed.mjs.map +0 -1
- package/dist/types/idpHelpers-hBhPCtAC.d.ts +0 -936
package/dist/cjs/index.cjs
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var index_headless = require('./index.headless.cjs');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var passwordManagerDisableAutofillProps = require('./passwordManagerDisableAutofillProps-
|
|
6
|
-
var StytchSSRProxy = require('./StytchSSRProxy-
|
|
7
|
-
var shadcn = require('./shadcn-
|
|
8
|
-
var idpHelpers = require('./idpHelpers-
|
|
5
|
+
var passwordManagerDisableAutofillProps = require('./passwordManagerDisableAutofillProps-DV31RTL_.js');
|
|
6
|
+
var StytchSSRProxy = require('./StytchSSRProxy-Bz6LNYdq.js');
|
|
7
|
+
var shadcn = require('./shadcn-B8TEzQMT.js');
|
|
8
|
+
var idpHelpers = require('./idpHelpers-Bj_7pbfW.js');
|
|
9
9
|
var ReactDOM = require('react-dom');
|
|
10
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
11
|
|
|
@@ -476,6 +476,13 @@ var messages$1 = {
|
|
|
476
476
|
],
|
|
477
477
|
"</bold>."
|
|
478
478
|
],
|
|
479
|
+
"emailConfirmation.emailSent": [
|
|
480
|
+
"Email sent! Try again in ",
|
|
481
|
+
[
|
|
482
|
+
"timeRemaining"
|
|
483
|
+
],
|
|
484
|
+
"s"
|
|
485
|
+
],
|
|
479
486
|
"emailConfirmation.title": [
|
|
480
487
|
"Check your email"
|
|
481
488
|
],
|
|
@@ -1024,10 +1031,10 @@ var messages$1 = {
|
|
|
1024
1031
|
"WhatsApp"
|
|
1025
1032
|
],
|
|
1026
1033
|
"watermark.altText": [
|
|
1027
|
-
"
|
|
1034
|
+
"Stytch + Twilio"
|
|
1028
1035
|
],
|
|
1029
|
-
"watermark.
|
|
1030
|
-
"
|
|
1036
|
+
"watermark.poweredBy": [
|
|
1037
|
+
"Powered by"
|
|
1031
1038
|
]
|
|
1032
1039
|
};
|
|
1033
1040
|
|
|
@@ -1117,13 +1124,13 @@ const DEFAULT_STATE = {
|
|
|
1117
1124
|
email: ''
|
|
1118
1125
|
},
|
|
1119
1126
|
otpState: {
|
|
1120
|
-
type:
|
|
1127
|
+
type: StytchSSRProxy.OTPMethods.Email,
|
|
1121
1128
|
methodId: '',
|
|
1122
1129
|
otpDestination: ''
|
|
1123
1130
|
},
|
|
1124
1131
|
cryptoState: {
|
|
1125
1132
|
walletAddress: '',
|
|
1126
|
-
walletOption:
|
|
1133
|
+
walletOption: StytchSSRProxy.Wallets.Metamask,
|
|
1127
1134
|
walletChallenge: ''
|
|
1128
1135
|
},
|
|
1129
1136
|
passwordState: {
|
|
@@ -1211,7 +1218,7 @@ function useProductComponents(products, screenType) {
|
|
|
1211
1218
|
const useIsOnlyFloatingOneTap = (config)=>{
|
|
1212
1219
|
return React.useMemo(()=>{
|
|
1213
1220
|
const position = config.oauthOptions?.providers[0].position;
|
|
1214
|
-
return config.products.length === 1 && hasProduct(config.products, 'oauth') && config.oauthOptions?.providers.length === 1 && config.oauthOptions?.providers[0].type ===
|
|
1221
|
+
return config.products.length === 1 && hasProduct(config.products, 'oauth') && config.oauthOptions?.providers.length === 1 && config.oauthOptions?.providers[0].type === StytchSSRProxy.OAuthProviders.Google && config.oauthOptions?.providers[0].one_tap === true && idpHelpers.getShouldRenderFloatingOneTap(position);
|
|
1215
1222
|
}, [
|
|
1216
1223
|
config
|
|
1217
1224
|
]);
|
|
@@ -1241,7 +1248,7 @@ const usePromptPasskey = ({ canAutofill })=>{
|
|
|
1241
1248
|
throw new Error('Empty response');
|
|
1242
1249
|
}
|
|
1243
1250
|
onEvent({
|
|
1244
|
-
type:
|
|
1251
|
+
type: StytchSSRProxy.StytchEventType.PasskeyAuthenticate,
|
|
1245
1252
|
data: resp
|
|
1246
1253
|
});
|
|
1247
1254
|
dispatch({
|
|
@@ -1566,15 +1573,15 @@ const PasskeyIcon = ({ size = shadcn.DEFAULT_ICON_SIZE, ...props })=>/*#__PURE__
|
|
|
1566
1573
|
}));
|
|
1567
1574
|
|
|
1568
1575
|
const OTPButtonText = {
|
|
1569
|
-
[
|
|
1576
|
+
[StytchSSRProxy.OTPMethods.SMS]: {
|
|
1570
1577
|
id: "button.sms",
|
|
1571
1578
|
message: "Continue with text message"
|
|
1572
1579
|
},
|
|
1573
|
-
[
|
|
1580
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: {
|
|
1574
1581
|
id: "button.whatsapp",
|
|
1575
1582
|
message: "Continue with WhatsApp"
|
|
1576
1583
|
},
|
|
1577
|
-
[
|
|
1584
|
+
[StytchSSRProxy.OTPMethods.Email]: {
|
|
1578
1585
|
id: "button.emailLogin",
|
|
1579
1586
|
message: "Continue with email"
|
|
1580
1587
|
}
|
|
@@ -1614,13 +1621,13 @@ const OTPEmailForm = ()=>{
|
|
|
1614
1621
|
}).then((data)=>{
|
|
1615
1622
|
setIsSubmitting(false);
|
|
1616
1623
|
onEvent({
|
|
1617
|
-
type:
|
|
1624
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
1618
1625
|
data
|
|
1619
1626
|
});
|
|
1620
1627
|
dispatch({
|
|
1621
1628
|
type: 'update_otp_state',
|
|
1622
1629
|
otpState: {
|
|
1623
|
-
type:
|
|
1630
|
+
type: StytchSSRProxy.OTPMethods.Email,
|
|
1624
1631
|
methodId: data.method_id,
|
|
1625
1632
|
otpDestination: email
|
|
1626
1633
|
}
|
|
@@ -1656,7 +1663,7 @@ const OTPEmailForm = ()=>{
|
|
|
1656
1663
|
variant: "primary",
|
|
1657
1664
|
loading: isSubmitting,
|
|
1658
1665
|
type: "submit"
|
|
1659
|
-
}, $__i18n._(OTPButtonText[
|
|
1666
|
+
}, $__i18n._(OTPButtonText[StytchSSRProxy.OTPMethods.Email])));
|
|
1660
1667
|
};
|
|
1661
1668
|
const PhoneForm = ({ method })=>{
|
|
1662
1669
|
const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
|
|
@@ -1699,7 +1706,7 @@ const PhoneForm = ({ method })=>{
|
|
|
1699
1706
|
}).then((data)=>{
|
|
1700
1707
|
setIsSubmitting(false);
|
|
1701
1708
|
onEvent({
|
|
1702
|
-
type:
|
|
1709
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
1703
1710
|
data
|
|
1704
1711
|
});
|
|
1705
1712
|
dispatch({
|
|
@@ -2174,52 +2181,52 @@ const getMetaMaskProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.p
|
|
|
2174
2181
|
const getCoinbaseProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum;
|
|
2175
2182
|
const getOtherInjectedProvider = ()=>window.ethereum.providers?.find((wallet)=>!wallet.isCoinbaseWallet && !wallet.isMetaMask);
|
|
2176
2183
|
const WalletToIcon = {
|
|
2177
|
-
[
|
|
2178
|
-
[
|
|
2179
|
-
[
|
|
2180
|
-
[
|
|
2181
|
-
[
|
|
2182
|
-
[
|
|
2184
|
+
[StytchSSRProxy.Wallets.Phantom]: PhantomIcon,
|
|
2185
|
+
[StytchSSRProxy.Wallets.Binance]: BinanceIcon,
|
|
2186
|
+
[StytchSSRProxy.Wallets.Coinbase]: CoinbaseIcon,
|
|
2187
|
+
[StytchSSRProxy.Wallets.Metamask]: MetamaskIcon,
|
|
2188
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: GenericWalletIcon,
|
|
2189
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: GenericWalletIcon
|
|
2183
2190
|
};
|
|
2184
2191
|
const WalletToText = {
|
|
2185
|
-
[
|
|
2192
|
+
[StytchSSRProxy.Wallets.Phantom]: {
|
|
2186
2193
|
id: "crypto.wallet.phantom",
|
|
2187
2194
|
message: "Phantom"
|
|
2188
2195
|
},
|
|
2189
|
-
[
|
|
2196
|
+
[StytchSSRProxy.Wallets.Binance]: {
|
|
2190
2197
|
id: "crypto.wallet.binance",
|
|
2191
2198
|
message: "Binance"
|
|
2192
2199
|
},
|
|
2193
|
-
[
|
|
2200
|
+
[StytchSSRProxy.Wallets.Coinbase]: {
|
|
2194
2201
|
id: "crypto.wallet.coinbase",
|
|
2195
2202
|
message: "Coinbase"
|
|
2196
2203
|
},
|
|
2197
|
-
[
|
|
2204
|
+
[StytchSSRProxy.Wallets.Metamask]: {
|
|
2198
2205
|
id: "crypto.wallet.metamask",
|
|
2199
2206
|
message: "Metamask"
|
|
2200
2207
|
},
|
|
2201
|
-
[
|
|
2208
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: {
|
|
2202
2209
|
id: "crypto.wallet.otherEthereum",
|
|
2203
2210
|
message: "Other Ethereum Wallet"
|
|
2204
2211
|
},
|
|
2205
|
-
[
|
|
2212
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: {
|
|
2206
2213
|
id: "crypto.wallet.otherSolana",
|
|
2207
2214
|
message: "Other Solana Wallet"
|
|
2208
2215
|
}
|
|
2209
2216
|
};
|
|
2210
2217
|
const isWalletVisible = (wallet)=>{
|
|
2211
2218
|
switch(wallet){
|
|
2212
|
-
case
|
|
2219
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2213
2220
|
return !!window.ethereum && hasMetaMask();
|
|
2214
|
-
case
|
|
2221
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2215
2222
|
return (!!window.solana && window.solana?.isPhantom) ?? false;
|
|
2216
|
-
case
|
|
2223
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2217
2224
|
return !!window.BinanceChain;
|
|
2218
|
-
case
|
|
2225
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2219
2226
|
return !!window.ethereum && hasCoinbaseWallet();
|
|
2220
|
-
case
|
|
2227
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2221
2228
|
return !!window.ethereum && hasOtherEthereumWallet();
|
|
2222
|
-
case
|
|
2229
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2223
2230
|
return !!window.solana && !window.solana.isPhantom;
|
|
2224
2231
|
default:
|
|
2225
2232
|
return false;
|
|
@@ -2233,32 +2240,32 @@ const connectWithEthereumProvider = async (request)=>{
|
|
|
2233
2240
|
};
|
|
2234
2241
|
const connectWithWallet = async ({ wallet })=>{
|
|
2235
2242
|
switch(wallet){
|
|
2236
|
-
case
|
|
2243
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2237
2244
|
{
|
|
2238
2245
|
const provider = getMetaMaskProvider();
|
|
2239
2246
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2240
2247
|
}
|
|
2241
|
-
case
|
|
2248
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2242
2249
|
{
|
|
2243
2250
|
const connectResp = await window.solana.connect();
|
|
2244
2251
|
return connectResp.publicKey.toString();
|
|
2245
2252
|
}
|
|
2246
|
-
case
|
|
2253
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2247
2254
|
{
|
|
2248
2255
|
const provider = window.BinanceChain;
|
|
2249
2256
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2250
2257
|
}
|
|
2251
|
-
case
|
|
2258
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2252
2259
|
{
|
|
2253
2260
|
const provider = getCoinbaseProvider();
|
|
2254
2261
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2255
2262
|
}
|
|
2256
|
-
case
|
|
2263
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2257
2264
|
{
|
|
2258
2265
|
const provider = getOtherInjectedProvider();
|
|
2259
2266
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2260
2267
|
}
|
|
2261
|
-
case
|
|
2268
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2262
2269
|
{
|
|
2263
2270
|
const connectResp = await window.solana.connect();
|
|
2264
2271
|
return connectResp.publicKey.toString();
|
|
@@ -2290,25 +2297,25 @@ const signMessageWithEthereumProvider = async (request, message, address)=>{
|
|
|
2290
2297
|
};
|
|
2291
2298
|
const signMessageWithWallet = async ({ wallet, message, address })=>{
|
|
2292
2299
|
switch(wallet){
|
|
2293
|
-
case
|
|
2294
|
-
case
|
|
2300
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2301
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2295
2302
|
return signMessageWithSolanaProvider(message);
|
|
2296
|
-
case
|
|
2303
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2297
2304
|
{
|
|
2298
2305
|
const provider = getMetaMaskProvider();
|
|
2299
2306
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2300
2307
|
}
|
|
2301
|
-
case
|
|
2308
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2302
2309
|
{
|
|
2303
2310
|
const provider = window.BinanceChain;
|
|
2304
2311
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2305
2312
|
}
|
|
2306
|
-
case
|
|
2313
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2307
2314
|
{
|
|
2308
2315
|
const provider = getCoinbaseProvider();
|
|
2309
2316
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2310
2317
|
}
|
|
2311
|
-
case
|
|
2318
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2312
2319
|
{
|
|
2313
2320
|
const provider = getOtherInjectedProvider();
|
|
2314
2321
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
@@ -2319,8 +2326,8 @@ const signMessageWithWallet = async ({ wallet, message, address })=>{
|
|
|
2319
2326
|
};
|
|
2320
2327
|
const isSolanaWallet = (wallet)=>{
|
|
2321
2328
|
const solanaWallets = [
|
|
2322
|
-
|
|
2323
|
-
|
|
2329
|
+
StytchSSRProxy.Wallets.Phantom,
|
|
2330
|
+
StytchSSRProxy.Wallets.GenericSolanaWallet
|
|
2324
2331
|
];
|
|
2325
2332
|
return solanaWallets.includes(wallet);
|
|
2326
2333
|
};
|
|
@@ -2331,27 +2338,27 @@ const WalletIconComponent = ({ wallet })=>{
|
|
|
2331
2338
|
return /*#__PURE__*/ React__namespace.createElement(Icon, null);
|
|
2332
2339
|
};
|
|
2333
2340
|
const walletMessages = {
|
|
2334
|
-
[
|
|
2341
|
+
[StytchSSRProxy.Wallets.Phantom]: {
|
|
2335
2342
|
id: "crypto.wallet.continueWithPhantom",
|
|
2336
2343
|
message: "Continue with Phantom"
|
|
2337
2344
|
},
|
|
2338
|
-
[
|
|
2345
|
+
[StytchSSRProxy.Wallets.Binance]: {
|
|
2339
2346
|
id: "crypto.wallet.continueWithBinance",
|
|
2340
2347
|
message: "Continue with Binance"
|
|
2341
2348
|
},
|
|
2342
|
-
[
|
|
2349
|
+
[StytchSSRProxy.Wallets.Coinbase]: {
|
|
2343
2350
|
id: "crypto.wallet.continueWithCoinbase",
|
|
2344
2351
|
message: "Continue with Coinbase"
|
|
2345
2352
|
},
|
|
2346
|
-
[
|
|
2353
|
+
[StytchSSRProxy.Wallets.Metamask]: {
|
|
2347
2354
|
id: "crypto.wallet.continueWithMetamask",
|
|
2348
2355
|
message: "Continue with Metamask"
|
|
2349
2356
|
},
|
|
2350
|
-
[
|
|
2357
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: {
|
|
2351
2358
|
id: "crypto.wallet.continueWithEthereum",
|
|
2352
2359
|
message: "Continue with Other Ethereum Wallet"
|
|
2353
2360
|
},
|
|
2354
|
-
[
|
|
2361
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: {
|
|
2355
2362
|
id: "crypto.wallet.continueWithSolana",
|
|
2356
2363
|
message: "Continue with Other Solana Wallet"
|
|
2357
2364
|
}
|
|
@@ -2376,7 +2383,7 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2376
2383
|
screen: AppScreens.CryptoConnect
|
|
2377
2384
|
});
|
|
2378
2385
|
};
|
|
2379
|
-
const allDetectedWallets = Object.keys(
|
|
2386
|
+
const allDetectedWallets = Object.keys(StytchSSRProxy.Wallets).filter((wallet)=>isWalletVisible(StytchSSRProxy.Wallets[wallet]));
|
|
2380
2387
|
const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;
|
|
2381
2388
|
const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);
|
|
2382
2389
|
const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);
|
|
@@ -2385,13 +2392,13 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2385
2392
|
key: wallet,
|
|
2386
2393
|
variant: "outline",
|
|
2387
2394
|
icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
|
|
2388
|
-
wallet:
|
|
2395
|
+
wallet: StytchSSRProxy.Wallets[wallet]
|
|
2389
2396
|
}),
|
|
2390
|
-
onClick: ()=>onWalletStart(
|
|
2391
|
-
}, type === 'main' ? $__i18n._(walletMessages[
|
|
2397
|
+
onClick: ()=>onWalletStart(StytchSSRProxy.Wallets[wallet])
|
|
2398
|
+
}, type === 'main' ? $__i18n._(walletMessages[StytchSSRProxy.Wallets[wallet]]) : $__i18n._(WalletToText[StytchSSRProxy.Wallets[wallet]]))), renderOtherScreenButton && type === 'main' ? /*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
|
|
2392
2399
|
variant: "outline",
|
|
2393
2400
|
icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
|
|
2394
|
-
wallet:
|
|
2401
|
+
wallet: StytchSSRProxy.Wallets.GenericEthereumWallet
|
|
2395
2402
|
}),
|
|
2396
2403
|
onClick: ()=>dispatch({
|
|
2397
2404
|
type: 'transition',
|
|
@@ -2412,6 +2419,69 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2412
2419
|
})));
|
|
2413
2420
|
};
|
|
2414
2421
|
|
|
2422
|
+
function usePasswordlessAuthenticate() {
|
|
2423
|
+
const stytchClient = useStytch();
|
|
2424
|
+
const { emailMagicLinksOptions, otpOptions } = useConfig();
|
|
2425
|
+
const [state, dispatch] = useGlobalReducer();
|
|
2426
|
+
const onEvent = useEventCallback();
|
|
2427
|
+
const onError = useErrorCallback();
|
|
2428
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
2429
|
+
const email = state.formState.passwordState.email;
|
|
2430
|
+
const sendLink = async ()=>{
|
|
2431
|
+
setIsSubmitting(true);
|
|
2432
|
+
try {
|
|
2433
|
+
const data = await stytchClient.magicLinks.email.loginOrCreate(email, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions));
|
|
2434
|
+
onEvent({
|
|
2435
|
+
type: StytchSSRProxy.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
2436
|
+
data: {
|
|
2437
|
+
...data,
|
|
2438
|
+
email
|
|
2439
|
+
}
|
|
2440
|
+
});
|
|
2441
|
+
dispatch({
|
|
2442
|
+
type: 'set_magic_link_email',
|
|
2443
|
+
email: email
|
|
2444
|
+
});
|
|
2445
|
+
} catch (e) {
|
|
2446
|
+
onError(e);
|
|
2447
|
+
throw e;
|
|
2448
|
+
} finally{
|
|
2449
|
+
setIsSubmitting(false);
|
|
2450
|
+
}
|
|
2451
|
+
};
|
|
2452
|
+
const sendCode = async ()=>{
|
|
2453
|
+
setIsSubmitting(true);
|
|
2454
|
+
try {
|
|
2455
|
+
const data = await stytchClient.otps.email.loginOrCreate(email, {
|
|
2456
|
+
expiration_minutes: otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES,
|
|
2457
|
+
locale: otpOptions?.locale
|
|
2458
|
+
});
|
|
2459
|
+
onEvent({
|
|
2460
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
2461
|
+
data
|
|
2462
|
+
});
|
|
2463
|
+
dispatch({
|
|
2464
|
+
type: 'update_otp_state',
|
|
2465
|
+
otpState: {
|
|
2466
|
+
type: StytchSSRProxy.OTPMethods.Email,
|
|
2467
|
+
methodId: data.method_id,
|
|
2468
|
+
otpDestination: email
|
|
2469
|
+
}
|
|
2470
|
+
});
|
|
2471
|
+
} catch (e) {
|
|
2472
|
+
onError(e);
|
|
2473
|
+
throw e;
|
|
2474
|
+
} finally{
|
|
2475
|
+
setIsSubmitting(false);
|
|
2476
|
+
}
|
|
2477
|
+
};
|
|
2478
|
+
return {
|
|
2479
|
+
sendLink,
|
|
2480
|
+
sendCode,
|
|
2481
|
+
isSubmitting
|
|
2482
|
+
};
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2415
2485
|
/**
|
|
2416
2486
|
* Resolves the best email domain to use as a hint for login
|
|
2417
2487
|
*/ const useEmailDomain = ()=>{
|
|
@@ -2443,12 +2513,14 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2443
2513
|
// we simply won't provide a hint!
|
|
2444
2514
|
return null;
|
|
2445
2515
|
};
|
|
2446
|
-
const EmailConfirmation = (
|
|
2516
|
+
const EmailConfirmation = ({ showGoBack = true })=>{
|
|
2447
2517
|
const stytchClient = useStytch();
|
|
2448
2518
|
const [state, dispatch] = useGlobalReducer();
|
|
2449
2519
|
const emailDomain = useEmailDomain();
|
|
2520
|
+
const countdown = shadcn.useCountdown();
|
|
2521
|
+
const { sendLink, isSubmitting } = usePasswordlessAuthenticate();
|
|
2450
2522
|
const email = state.formState.magicLinkState.email !== '' ? state.formState.magicLinkState.email : state.formState.passwordState.email;
|
|
2451
|
-
const
|
|
2523
|
+
const goBack = ()=>{
|
|
2452
2524
|
dispatch({
|
|
2453
2525
|
type: 'set_magic_link_email',
|
|
2454
2526
|
email: ''
|
|
@@ -2467,9 +2539,11 @@ const EmailConfirmation = (props)=>{
|
|
|
2467
2539
|
};
|
|
2468
2540
|
return /*#__PURE__*/ React__namespace.default.createElement(shadcn.EmailConfirmationView, {
|
|
2469
2541
|
emailDomain: emailDomain,
|
|
2470
|
-
reset: reset,
|
|
2471
2542
|
email: email,
|
|
2472
|
-
|
|
2543
|
+
goBack: showGoBack ? goBack : undefined,
|
|
2544
|
+
resend: sendLink,
|
|
2545
|
+
countdown: countdown,
|
|
2546
|
+
isSubmitting: isSubmitting
|
|
2473
2547
|
});
|
|
2474
2548
|
};
|
|
2475
2549
|
|
|
@@ -3383,15 +3457,15 @@ const PasswordMethods = {
|
|
|
3383
3457
|
};
|
|
3384
3458
|
|
|
3385
3459
|
const OTPTabHeaders = {
|
|
3386
|
-
[
|
|
3460
|
+
[StytchSSRProxy.OTPMethods.SMS]: {
|
|
3387
3461
|
id: "tab.text",
|
|
3388
3462
|
message: "Text"
|
|
3389
3463
|
},
|
|
3390
|
-
[
|
|
3464
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: {
|
|
3391
3465
|
id: "tab.whatsapp",
|
|
3392
3466
|
message: "WhatsApp"
|
|
3393
3467
|
},
|
|
3394
|
-
[
|
|
3468
|
+
[StytchSSRProxy.OTPMethods.Email]: {
|
|
3395
3469
|
id: "tab.email",
|
|
3396
3470
|
message: "Email"
|
|
3397
3471
|
},
|
|
@@ -3414,7 +3488,7 @@ const getTabMethods = (products, otpMethods)=>{
|
|
|
3414
3488
|
tabMethods.add(PasswordMethods.Email);
|
|
3415
3489
|
} else if (id === 'otp') {
|
|
3416
3490
|
for (const method of otpMethods){
|
|
3417
|
-
tabMethods.add(method ===
|
|
3491
|
+
tabMethods.add(method === StytchSSRProxy.OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);
|
|
3418
3492
|
}
|
|
3419
3493
|
}
|
|
3420
3494
|
}
|
|
@@ -3426,7 +3500,7 @@ const LoginForm = ()=>{
|
|
|
3426
3500
|
const productsIncludesOtp = hasProduct(products, 'otp');
|
|
3427
3501
|
const otpMethods = productsIncludesOtp ? otpOptions?.methods ?? [] : [];
|
|
3428
3502
|
const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');
|
|
3429
|
-
const hasOTPEmail = productsIncludesOtp && otpMethods.includes(
|
|
3503
|
+
const hasOTPEmail = productsIncludesOtp && otpMethods.includes(StytchSSRProxy.OTPMethods.Email);
|
|
3430
3504
|
const tabMethods = getTabMethods(products, otpMethods);
|
|
3431
3505
|
const tabMethodComponents = useProductComponents(products, 'tabs');
|
|
3432
3506
|
if (hasEmailMagicLink && hasOTPEmail) return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
|
|
@@ -3493,7 +3567,7 @@ const MagicLinkEmailForm = ()=>{
|
|
|
3493
3567
|
setIsSubmitting(true);
|
|
3494
3568
|
stytchClient.magicLinks.email.loginOrCreate(submittingEmail, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions)).then((data)=>{
|
|
3495
3569
|
onEvent({
|
|
3496
|
-
type:
|
|
3570
|
+
type: StytchSSRProxy.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
3497
3571
|
data: {
|
|
3498
3572
|
...data,
|
|
3499
3573
|
email: submittingEmail
|
|
@@ -3543,115 +3617,115 @@ const MagicLinkEmailForm = ()=>{
|
|
|
3543
3617
|
};
|
|
3544
3618
|
|
|
3545
3619
|
const providerInfo = {
|
|
3546
|
-
[
|
|
3620
|
+
[StytchSSRProxy.OAuthProviders.Google]: {
|
|
3547
3621
|
messageDescriptor: {
|
|
3548
3622
|
id: "oauth.continueWithGoogle",
|
|
3549
3623
|
message: "Continue with Google"
|
|
3550
3624
|
}
|
|
3551
3625
|
},
|
|
3552
|
-
[
|
|
3626
|
+
[StytchSSRProxy.OAuthProviders.Microsoft]: {
|
|
3553
3627
|
messageDescriptor: {
|
|
3554
3628
|
id: "oauth.continueWithMicrosoft",
|
|
3555
3629
|
message: "Continue with Microsoft"
|
|
3556
3630
|
}
|
|
3557
3631
|
},
|
|
3558
|
-
[
|
|
3632
|
+
[StytchSSRProxy.OAuthProviders.Apple]: {
|
|
3559
3633
|
messageDescriptor: {
|
|
3560
3634
|
id: "oauth.continueWithApple",
|
|
3561
3635
|
message: "Continue with Apple"
|
|
3562
3636
|
}
|
|
3563
3637
|
},
|
|
3564
|
-
[
|
|
3638
|
+
[StytchSSRProxy.OAuthProviders.Github]: {
|
|
3565
3639
|
messageDescriptor: {
|
|
3566
3640
|
id: "oauth.continueWithGitHub",
|
|
3567
3641
|
message: "Continue with GitHub"
|
|
3568
3642
|
}
|
|
3569
3643
|
},
|
|
3570
|
-
[
|
|
3644
|
+
[StytchSSRProxy.OAuthProviders.GitLab]: {
|
|
3571
3645
|
messageDescriptor: {
|
|
3572
3646
|
id: "oauth.continueWithGitLab",
|
|
3573
3647
|
message: "Continue with GitLab"
|
|
3574
3648
|
}
|
|
3575
3649
|
},
|
|
3576
|
-
[
|
|
3650
|
+
[StytchSSRProxy.OAuthProviders.Facebook]: {
|
|
3577
3651
|
messageDescriptor: {
|
|
3578
3652
|
id: "oauth.continueWithFacebook",
|
|
3579
3653
|
message: "Continue with Facebook"
|
|
3580
3654
|
}
|
|
3581
3655
|
},
|
|
3582
|
-
[
|
|
3656
|
+
[StytchSSRProxy.OAuthProviders.Discord]: {
|
|
3583
3657
|
messageDescriptor: {
|
|
3584
3658
|
id: "oauth.continueWithDiscord",
|
|
3585
3659
|
message: "Continue with Discord"
|
|
3586
3660
|
}
|
|
3587
3661
|
},
|
|
3588
|
-
[
|
|
3662
|
+
[StytchSSRProxy.OAuthProviders.Salesforce]: {
|
|
3589
3663
|
messageDescriptor: {
|
|
3590
3664
|
id: "oauth.continueWithSalesforce",
|
|
3591
3665
|
message: "Continue with Salesforce"
|
|
3592
3666
|
}
|
|
3593
3667
|
},
|
|
3594
|
-
[
|
|
3668
|
+
[StytchSSRProxy.OAuthProviders.Slack]: {
|
|
3595
3669
|
messageDescriptor: {
|
|
3596
3670
|
id: "oauth.continueWithSlack",
|
|
3597
3671
|
message: "Continue with Slack"
|
|
3598
3672
|
}
|
|
3599
3673
|
},
|
|
3600
|
-
[
|
|
3674
|
+
[StytchSSRProxy.OAuthProviders.Amazon]: {
|
|
3601
3675
|
messageDescriptor: {
|
|
3602
3676
|
id: "oauth.continueWithAmazon",
|
|
3603
3677
|
message: "Continue with Amazon"
|
|
3604
3678
|
}
|
|
3605
3679
|
},
|
|
3606
|
-
[
|
|
3680
|
+
[StytchSSRProxy.OAuthProviders.Bitbucket]: {
|
|
3607
3681
|
messageDescriptor: {
|
|
3608
3682
|
id: "oauth.continueWithBitbucket",
|
|
3609
3683
|
message: "Continue with Bitbucket"
|
|
3610
3684
|
}
|
|
3611
3685
|
},
|
|
3612
|
-
[
|
|
3686
|
+
[StytchSSRProxy.OAuthProviders.LinkedIn]: {
|
|
3613
3687
|
messageDescriptor: {
|
|
3614
3688
|
id: "oauth.continueWithLinkedIn",
|
|
3615
3689
|
message: "Continue with LinkedIn"
|
|
3616
3690
|
}
|
|
3617
3691
|
},
|
|
3618
|
-
[
|
|
3692
|
+
[StytchSSRProxy.OAuthProviders.Coinbase]: {
|
|
3619
3693
|
messageDescriptor: {
|
|
3620
3694
|
id: "oauth.continueWithCoinbase",
|
|
3621
3695
|
message: "Continue with Coinbase"
|
|
3622
3696
|
}
|
|
3623
3697
|
},
|
|
3624
|
-
[
|
|
3698
|
+
[StytchSSRProxy.OAuthProviders.Twitch]: {
|
|
3625
3699
|
messageDescriptor: {
|
|
3626
3700
|
id: "oauth.continueWithTwitch",
|
|
3627
3701
|
message: "Continue with Twitch"
|
|
3628
3702
|
}
|
|
3629
3703
|
},
|
|
3630
|
-
[
|
|
3704
|
+
[StytchSSRProxy.OAuthProviders.Twitter]: {
|
|
3631
3705
|
messageDescriptor: {
|
|
3632
3706
|
id: "oauth.continueWithX",
|
|
3633
3707
|
message: "Continue with X"
|
|
3634
3708
|
}
|
|
3635
3709
|
},
|
|
3636
|
-
[
|
|
3710
|
+
[StytchSSRProxy.OAuthProviders.TikTok]: {
|
|
3637
3711
|
messageDescriptor: {
|
|
3638
3712
|
id: "oauth.continueWithTikTok",
|
|
3639
3713
|
message: "Continue with TikTok"
|
|
3640
3714
|
}
|
|
3641
3715
|
},
|
|
3642
|
-
[
|
|
3716
|
+
[StytchSSRProxy.OAuthProviders.Snapchat]: {
|
|
3643
3717
|
messageDescriptor: {
|
|
3644
3718
|
id: "oauth.continueWithSnapchat",
|
|
3645
3719
|
message: "Continue with Snapchat"
|
|
3646
3720
|
}
|
|
3647
3721
|
},
|
|
3648
|
-
[
|
|
3722
|
+
[StytchSSRProxy.OAuthProviders.Figma]: {
|
|
3649
3723
|
messageDescriptor: {
|
|
3650
3724
|
id: "oauth.continueWithFigma",
|
|
3651
3725
|
message: "Continue with Figma"
|
|
3652
3726
|
}
|
|
3653
3727
|
},
|
|
3654
|
-
[
|
|
3728
|
+
[StytchSSRProxy.OAuthProviders.Yahoo]: {
|
|
3655
3729
|
messageDescriptor: {
|
|
3656
3730
|
id: "oauth.continueWithYahoo",
|
|
3657
3731
|
message: "Continue with Yahoo"
|
|
@@ -3867,14 +3941,14 @@ const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutsi
|
|
|
3867
3941
|
* End One Tap Loading / Initialization Logic
|
|
3868
3942
|
*/ // Fallback Google auth button in case One Tap cannot be displayed
|
|
3869
3943
|
const fallbackButton = /*#__PURE__*/ React__namespace.default.createElement(OAuthButton, {
|
|
3870
|
-
providerType:
|
|
3944
|
+
providerType: StytchSSRProxy.OAuthProviders.Google,
|
|
3871
3945
|
loginRedirectUrl: config.oauthOptions?.loginRedirectURL,
|
|
3872
3946
|
signupRedirectUrl: config.oauthOptions?.signupRedirectURL,
|
|
3873
3947
|
customScopes: customScopes,
|
|
3874
3948
|
providerParams: providerParams,
|
|
3875
|
-
onSuccess: ()=>setLastUsedOAuth(
|
|
3949
|
+
onSuccess: ()=>setLastUsedOAuth(StytchSSRProxy.OAuthProviders.Google)
|
|
3876
3950
|
});
|
|
3877
|
-
const fallbackWithLastUsed = lastUsedMethod ===
|
|
3951
|
+
const fallbackWithLastUsed = lastUsedMethod === StytchSSRProxy.OAuthProviders.Google ? /*#__PURE__*/ React__namespace.default.createElement(shadcn.LastUsed, null, fallbackButton) : fallbackButton;
|
|
3878
3952
|
if (isOnlyFloatingOneTap) {
|
|
3879
3953
|
return /*#__PURE__*/ React__namespace.default.createElement(OneTapMountNode, {
|
|
3880
3954
|
enableShadowDOM: Boolean(config.enableShadowDOM)
|
|
@@ -3953,7 +4027,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3953
4027
|
parsePhoneNumber,
|
|
3954
4028
|
phoneNumber: destination
|
|
3955
4029
|
});
|
|
3956
|
-
setFormattedDestination(selectionMethod ===
|
|
4030
|
+
setFormattedDestination(selectionMethod === StytchSSRProxy.OTPMethods.Email ? destination : national);
|
|
3957
4031
|
};
|
|
3958
4032
|
parseDestination();
|
|
3959
4033
|
}, [
|
|
@@ -3964,7 +4038,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3964
4038
|
const [expiration, setExpiration] = React.useState(calculateExpiration);
|
|
3965
4039
|
const resendCountdown = shadcn.useCountdown();
|
|
3966
4040
|
const resendOTP = async ()=>{
|
|
3967
|
-
if (selectionMethod ===
|
|
4041
|
+
if (selectionMethod === StytchSSRProxy.OTPMethods.Email) {
|
|
3968
4042
|
StytchSSRProxy.readB2CInternals(stytchClient).networkClient.logEvent({
|
|
3969
4043
|
name: 'email_try_again_clicked',
|
|
3970
4044
|
details: {
|
|
@@ -3978,7 +4052,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3978
4052
|
expiration_minutes: config.otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES
|
|
3979
4053
|
});
|
|
3980
4054
|
onEvent({
|
|
3981
|
-
type:
|
|
4055
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
3982
4056
|
data
|
|
3983
4057
|
});
|
|
3984
4058
|
setExpiration(calculateExpiration());
|
|
@@ -4002,7 +4076,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
4002
4076
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
4003
4077
|
}).then((data)=>{
|
|
4004
4078
|
onEvent({
|
|
4005
|
-
type:
|
|
4079
|
+
type: StytchSSRProxy.StytchEventType.OTPsAuthenticate,
|
|
4006
4080
|
data
|
|
4007
4081
|
});
|
|
4008
4082
|
setIsSubmitting(false);
|
|
@@ -4046,7 +4120,7 @@ const OTPConfirmation = ()=>{
|
|
|
4046
4120
|
const onEvent = useEventCallback();
|
|
4047
4121
|
shadcn.useMountEffect(()=>{
|
|
4048
4122
|
onEvent({
|
|
4049
|
-
type:
|
|
4123
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
4050
4124
|
data: {}
|
|
4051
4125
|
});
|
|
4052
4126
|
});
|
|
@@ -4122,7 +4196,7 @@ const PasswordNewUser = ()=>{
|
|
|
4122
4196
|
}).then((data)=>{
|
|
4123
4197
|
setIsSubmitting(false);
|
|
4124
4198
|
onEvent({
|
|
4125
|
-
type:
|
|
4199
|
+
type: StytchSSRProxy.StytchEventType.PasswordCreate,
|
|
4126
4200
|
data
|
|
4127
4201
|
});
|
|
4128
4202
|
dispatch({
|
|
@@ -4195,7 +4269,7 @@ const PasswordAuthenticate = ()=>{
|
|
|
4195
4269
|
}).then((data)=>{
|
|
4196
4270
|
setIsSubmitting(false);
|
|
4197
4271
|
onEvent({
|
|
4198
|
-
type:
|
|
4272
|
+
type: StytchSSRProxy.StytchEventType.PasswordAuthenticate,
|
|
4199
4273
|
data
|
|
4200
4274
|
});
|
|
4201
4275
|
dispatch({
|
|
@@ -4268,7 +4342,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4268
4342
|
const resetPassword = ()=>{
|
|
4269
4343
|
stytchClient.passwords.resetByEmailStart(StytchSSRProxy.convertPasswordResetOptions(email, passwordOptions)).then((data)=>{
|
|
4270
4344
|
onEvent({
|
|
4271
|
-
type:
|
|
4345
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4272
4346
|
data
|
|
4273
4347
|
});
|
|
4274
4348
|
dispatch({
|
|
@@ -4291,7 +4365,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4291
4365
|
default:
|
|
4292
4366
|
stytchClient.passwords.resetByEmailStart(StytchSSRProxy.convertPasswordResetOptions(email, passwordOptions)).then((data)=>{
|
|
4293
4367
|
onEvent({
|
|
4294
|
-
type:
|
|
4368
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4295
4369
|
data
|
|
4296
4370
|
});
|
|
4297
4371
|
dispatch({
|
|
@@ -4309,8 +4383,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4309
4383
|
}
|
|
4310
4384
|
return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, secondaryType === 'eml' ? /*#__PURE__*/ React__namespace.default.createElement(EmailConfirmation, {
|
|
4311
4385
|
showGoBack: false
|
|
4312
|
-
})
|
|
4313
|
-
: /*#__PURE__*/ React__namespace.default.createElement(OTPAuthenticate, {
|
|
4386
|
+
}) : /*#__PURE__*/ React__namespace.default.createElement(OTPAuthenticate, {
|
|
4314
4387
|
hideBackButton: true
|
|
4315
4388
|
}), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Divider, null), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
|
|
4316
4389
|
gap: 2
|
|
@@ -4322,68 +4395,6 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4322
4395
|
message: "Create a password instead"
|
|
4323
4396
|
})), errorMessage && /*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorText, null, errorMessage)));
|
|
4324
4397
|
};
|
|
4325
|
-
function usePasswordlessAuthenticate() {
|
|
4326
|
-
const stytchClient = useStytch();
|
|
4327
|
-
const { emailMagicLinksOptions, otpOptions } = useConfig();
|
|
4328
|
-
const [state, dispatch] = useGlobalReducer();
|
|
4329
|
-
const onEvent = useEventCallback();
|
|
4330
|
-
const onError = useErrorCallback();
|
|
4331
|
-
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
4332
|
-
const email = state.formState.passwordState.email;
|
|
4333
|
-
const sendLink = async ()=>{
|
|
4334
|
-
setIsSubmitting(true);
|
|
4335
|
-
try {
|
|
4336
|
-
const data = await stytchClient.magicLinks.email.loginOrCreate(email, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions));
|
|
4337
|
-
onEvent({
|
|
4338
|
-
type: idpHelpers.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
4339
|
-
data: {
|
|
4340
|
-
...data,
|
|
4341
|
-
email
|
|
4342
|
-
}
|
|
4343
|
-
});
|
|
4344
|
-
dispatch({
|
|
4345
|
-
type: 'set_magic_link_email',
|
|
4346
|
-
email: email
|
|
4347
|
-
});
|
|
4348
|
-
} catch (e) {
|
|
4349
|
-
onError(e);
|
|
4350
|
-
throw e;
|
|
4351
|
-
} finally{
|
|
4352
|
-
setIsSubmitting(false);
|
|
4353
|
-
}
|
|
4354
|
-
};
|
|
4355
|
-
const sendCode = async ()=>{
|
|
4356
|
-
setIsSubmitting(true);
|
|
4357
|
-
try {
|
|
4358
|
-
const data = await stytchClient.otps.email.loginOrCreate(email, {
|
|
4359
|
-
expiration_minutes: otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES,
|
|
4360
|
-
locale: otpOptions?.locale
|
|
4361
|
-
});
|
|
4362
|
-
onEvent({
|
|
4363
|
-
type: idpHelpers.StytchEventType.OTPsLoginOrCreateEvent,
|
|
4364
|
-
data
|
|
4365
|
-
});
|
|
4366
|
-
dispatch({
|
|
4367
|
-
type: 'update_otp_state',
|
|
4368
|
-
otpState: {
|
|
4369
|
-
type: idpHelpers.OTPMethods.Email,
|
|
4370
|
-
methodId: data.method_id,
|
|
4371
|
-
otpDestination: email
|
|
4372
|
-
}
|
|
4373
|
-
});
|
|
4374
|
-
} catch (e) {
|
|
4375
|
-
onError(e);
|
|
4376
|
-
throw e;
|
|
4377
|
-
} finally{
|
|
4378
|
-
setIsSubmitting(false);
|
|
4379
|
-
}
|
|
4380
|
-
};
|
|
4381
|
-
return {
|
|
4382
|
-
sendLink,
|
|
4383
|
-
sendCode,
|
|
4384
|
-
isSubmitting
|
|
4385
|
-
};
|
|
4386
|
-
}
|
|
4387
4398
|
|
|
4388
4399
|
const PasswordCreateAuthenticate = ()=>{
|
|
4389
4400
|
const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
|
|
@@ -4391,7 +4402,7 @@ const PasswordCreateAuthenticate = ()=>{
|
|
|
4391
4402
|
const [state, dispatch] = useGlobalReducer();
|
|
4392
4403
|
const otpMethods = otpOptions?.methods ?? [];
|
|
4393
4404
|
const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;
|
|
4394
|
-
const hasOTPEmail = otpMethods.includes(
|
|
4405
|
+
const hasOTPEmail = otpMethods.includes(StytchSSRProxy.OTPMethods.Email);
|
|
4395
4406
|
const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;
|
|
4396
4407
|
const userType = state.formState.passwordState.type;
|
|
4397
4408
|
const secondaryAuth = useSecondaryAuthenticate(secondaryType, {
|
|
@@ -4574,7 +4585,7 @@ const ResetPasswordScreen = ()=>{
|
|
|
4574
4585
|
}).then((data)=>{
|
|
4575
4586
|
setIsSubmitting(false);
|
|
4576
4587
|
onEvent({
|
|
4577
|
-
type:
|
|
4588
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmail,
|
|
4578
4589
|
data
|
|
4579
4590
|
});
|
|
4580
4591
|
dispatch({
|
|
@@ -4772,7 +4783,7 @@ const PasswordSetNew = ()=>{
|
|
|
4772
4783
|
try {
|
|
4773
4784
|
const data = await resendResetPassword();
|
|
4774
4785
|
onEvent({
|
|
4775
|
-
type:
|
|
4786
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4776
4787
|
data
|
|
4777
4788
|
});
|
|
4778
4789
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -4813,7 +4824,7 @@ const PasswordConfirmation = ()=>{
|
|
|
4813
4824
|
const onEvent = useEventCallback();
|
|
4814
4825
|
shadcn.useMountEffect(()=>{
|
|
4815
4826
|
onEvent({
|
|
4816
|
-
type:
|
|
4827
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
4817
4828
|
data: {}
|
|
4818
4829
|
});
|
|
4819
4830
|
});
|
|
@@ -4922,7 +4933,7 @@ const PasskeyRegistrationStart = ()=>{
|
|
|
4922
4933
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
4923
4934
|
}).then((data)=>{
|
|
4924
4935
|
onEvent({
|
|
4925
|
-
type:
|
|
4936
|
+
type: StytchSSRProxy.StytchEventType.PasskeyRegister,
|
|
4926
4937
|
data
|
|
4927
4938
|
});
|
|
4928
4939
|
dispatch({
|
|
@@ -4947,7 +4958,7 @@ const PasskeyRegistrationStart = ()=>{
|
|
|
4947
4958
|
};
|
|
4948
4959
|
const onSkip = ()=>{
|
|
4949
4960
|
onEvent({
|
|
4950
|
-
type:
|
|
4961
|
+
type: StytchSSRProxy.StytchEventType.PasskeySkip,
|
|
4951
4962
|
data: {}
|
|
4952
4963
|
});
|
|
4953
4964
|
dispatch({
|
|
@@ -5135,7 +5146,7 @@ const PasskeyRegistrationSuccess = ()=>{
|
|
|
5135
5146
|
const onDone = async ()=>{
|
|
5136
5147
|
await optimisticRegistrations?.update;
|
|
5137
5148
|
onEvent({
|
|
5138
|
-
type:
|
|
5149
|
+
type: StytchSSRProxy.StytchEventType.PasskeyDone,
|
|
5139
5150
|
data: {}
|
|
5140
5151
|
});
|
|
5141
5152
|
};
|
|
@@ -5246,7 +5257,7 @@ const PasskeyConfirmation = ()=>{
|
|
|
5246
5257
|
const onEvent = useEventCallback();
|
|
5247
5258
|
shadcn.useMountEffect(()=>{
|
|
5248
5259
|
onEvent({
|
|
5249
|
-
type:
|
|
5260
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
5250
5261
|
data: {}
|
|
5251
5262
|
});
|
|
5252
5263
|
});
|
|
@@ -5297,7 +5308,7 @@ const ConnectWallet = ()=>{
|
|
|
5297
5308
|
crypto_wallet_type: walletType
|
|
5298
5309
|
}).then((data)=>{
|
|
5299
5310
|
onEvent({
|
|
5300
|
-
type:
|
|
5311
|
+
type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticateStart,
|
|
5301
5312
|
data
|
|
5302
5313
|
});
|
|
5303
5314
|
dispatch({
|
|
@@ -5376,7 +5387,7 @@ const SignMessage = ()=>{
|
|
|
5376
5387
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
5377
5388
|
}).then((data)=>{
|
|
5378
5389
|
onEvent({
|
|
5379
|
-
type:
|
|
5390
|
+
type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticate,
|
|
5380
5391
|
data
|
|
5381
5392
|
});
|
|
5382
5393
|
dispatch({
|
|
@@ -5468,28 +5479,28 @@ const SetupNewWallet = ()=>{
|
|
|
5468
5479
|
})
|
|
5469
5480
|
}), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5470
5481
|
...commonButtonProps,
|
|
5471
|
-
icon: walletIcon(
|
|
5482
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Metamask),
|
|
5472
5483
|
href: "https://metamask.io/"
|
|
5473
5484
|
}, $__i18n._({
|
|
5474
5485
|
id: "crypto.wallet.metamask",
|
|
5475
5486
|
message: "Metamask"
|
|
5476
5487
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5477
5488
|
...commonButtonProps,
|
|
5478
|
-
icon: walletIcon(
|
|
5489
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Phantom),
|
|
5479
5490
|
href: "https://phantom.app/"
|
|
5480
5491
|
}, $__i18n._({
|
|
5481
5492
|
id: "crypto.wallet.phantom",
|
|
5482
5493
|
message: "Phantom"
|
|
5483
5494
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5484
5495
|
...commonButtonProps,
|
|
5485
|
-
icon: walletIcon(
|
|
5496
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Coinbase),
|
|
5486
5497
|
href: "https://www.coinbase.com/wallet"
|
|
5487
5498
|
}, $__i18n._({
|
|
5488
5499
|
id: "crypto.wallet.coinbase",
|
|
5489
5500
|
message: "Coinbase"
|
|
5490
5501
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5491
5502
|
...commonButtonProps,
|
|
5492
|
-
icon: walletIcon(
|
|
5503
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Binance),
|
|
5493
5504
|
href: "https://www.bnbchain.world/en/binance-wallet"
|
|
5494
5505
|
}, $__i18n._({
|
|
5495
5506
|
id: "crypto.wallet.binance",
|
|
@@ -5592,16 +5603,16 @@ const emailIcons = {
|
|
|
5592
5603
|
};
|
|
5593
5604
|
|
|
5594
5605
|
const PhoneFormSMS = ()=>/*#__PURE__*/ React__namespace.default.createElement(PhoneForm, {
|
|
5595
|
-
method:
|
|
5606
|
+
method: StytchSSRProxy.OTPMethods.SMS
|
|
5596
5607
|
});
|
|
5597
5608
|
const PhoneFormWhatsApp = ()=>/*#__PURE__*/ React__namespace.default.createElement(PhoneForm, {
|
|
5598
|
-
method:
|
|
5609
|
+
method: StytchSSRProxy.OTPMethods.WhatsApp
|
|
5599
5610
|
});
|
|
5600
5611
|
const MainWalletButtons = ()=>/*#__PURE__*/ React__namespace.default.createElement(CryptoWalletButtons, {
|
|
5601
5612
|
type: "main"
|
|
5602
5613
|
});
|
|
5603
5614
|
const FloatingOneTap = ()=>/*#__PURE__*/ React__namespace.default.createElement(GoogleOneTap, {
|
|
5604
|
-
position:
|
|
5615
|
+
position: StytchSSRProxy.OneTapPositions.floating
|
|
5605
5616
|
});
|
|
5606
5617
|
const emailMagicLinks = {
|
|
5607
5618
|
id: 'emailMagicLinks',
|
|
@@ -5633,9 +5644,9 @@ const otp = {
|
|
|
5633
5644
|
[AppScreens.OTPConfirmation]: OTPConfirmation
|
|
5634
5645
|
},
|
|
5635
5646
|
tabs: {
|
|
5636
|
-
[
|
|
5637
|
-
[
|
|
5638
|
-
[
|
|
5647
|
+
[StytchSSRProxy.OTPMethods.Email]: OTPEmailForm,
|
|
5648
|
+
[StytchSSRProxy.OTPMethods.SMS]: PhoneFormSMS,
|
|
5649
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: PhoneFormWhatsApp
|
|
5639
5650
|
},
|
|
5640
5651
|
mainScreen: {
|
|
5641
5652
|
'login-form': LoginForm
|
|
@@ -6075,6 +6086,9 @@ exports.StytchClient = index_headless.StytchClient;
|
|
|
6075
6086
|
exports.StytchHeadlessClient = index_headless.StytchHeadlessClient;
|
|
6076
6087
|
exports.createStytchClient = index_headless.createStytchClient;
|
|
6077
6088
|
exports.createStytchHeadlessClient = index_headless.createStytchHeadlessClient;
|
|
6089
|
+
exports.AuthFlowType = StytchSSRProxy.AuthFlowType;
|
|
6090
|
+
exports.B2BMFAProducts = StytchSSRProxy.B2BMFAProducts;
|
|
6091
|
+
exports.B2BOAuthProviders = StytchSSRProxy.B2BOAuthProviders;
|
|
6078
6092
|
exports.BiometricRegistrationIdIsNullOrBlank = StytchSSRProxy.BiometricRegistrationIdIsNullOrBlank;
|
|
6079
6093
|
exports.BiometricsAlreadyEnrolledError = StytchSSRProxy.BiometricsAlreadyEnrolledError;
|
|
6080
6094
|
exports.BiometricsFailedError = StytchSSRProxy.BiometricsFailedError;
|
|
@@ -6105,10 +6119,15 @@ exports.NoBiometricsEnrolledError = StytchSSRProxy.NoBiometricsEnrolledError;
|
|
|
6105
6119
|
exports.NoBiometricsRegistrationError = StytchSSRProxy.NoBiometricsRegistrationError;
|
|
6106
6120
|
exports.NoCredentialsPresentError = StytchSSRProxy.NoCredentialsPresentError;
|
|
6107
6121
|
exports.NoCurrentSessionError = StytchSSRProxy.NoCurrentSessionError;
|
|
6122
|
+
exports.OAuthProviders = StytchSSRProxy.OAuthProviders;
|
|
6123
|
+
exports.OTPMethods = StytchSSRProxy.OTPMethods;
|
|
6124
|
+
exports.OneTapPositions = StytchSSRProxy.OneTapPositions;
|
|
6108
6125
|
exports.PasskeysInvalidEncoding = StytchSSRProxy.PasskeysInvalidEncoding;
|
|
6109
6126
|
exports.PasskeysMisconfigured = StytchSSRProxy.PasskeysMisconfigured;
|
|
6110
6127
|
exports.PasskeysUnsupportedError = StytchSSRProxy.PasskeysUnsupportedError;
|
|
6128
|
+
exports.RNUIProducts = StytchSSRProxy.RNUIProducts;
|
|
6111
6129
|
exports.RandomNumberGenerationFailed = StytchSSRProxy.RandomNumberGenerationFailed;
|
|
6130
|
+
exports.RedirectURLType = StytchSSRProxy.RedirectURLType;
|
|
6112
6131
|
exports.SDKAPIUnreachableError = StytchSSRProxy.SDKAPIUnreachableError;
|
|
6113
6132
|
exports.SDKNotConfiguredError = StytchSSRProxy.SDKNotConfiguredError;
|
|
6114
6133
|
exports.SignInWithAppleMisconfigured = StytchSSRProxy.SignInWithAppleMisconfigured;
|
|
@@ -6116,6 +6135,7 @@ exports.StytchAPIError = StytchSSRProxy.StytchAPIError;
|
|
|
6116
6135
|
exports.StytchAPISchemaError = StytchSSRProxy.StytchAPISchemaError;
|
|
6117
6136
|
exports.StytchAPIUnreachableError = StytchSSRProxy.StytchAPIUnreachableError;
|
|
6118
6137
|
exports.StytchError = StytchSSRProxy.StytchError;
|
|
6138
|
+
exports.StytchEventType = StytchSSRProxy.StytchEventType;
|
|
6119
6139
|
exports.StytchSDKAPIError = StytchSSRProxy.StytchSDKAPIError;
|
|
6120
6140
|
exports.StytchSDKError = StytchSSRProxy.StytchSDKError;
|
|
6121
6141
|
exports.StytchSDKSchemaError = StytchSSRProxy.StytchSDKSchemaError;
|
|
@@ -6123,22 +6143,13 @@ exports.StytchSDKUsageError = StytchSSRProxy.StytchSDKUsageError;
|
|
|
6123
6143
|
exports.UNRECOVERABLE_ERROR_TYPES = StytchSSRProxy.UNRECOVERABLE_ERROR_TYPES;
|
|
6124
6144
|
exports.UserCancellationError = StytchSSRProxy.UserCancellationError;
|
|
6125
6145
|
exports.UserLockedOutError = StytchSSRProxy.UserLockedOutError;
|
|
6146
|
+
exports.Wallets = StytchSSRProxy.Wallets;
|
|
6126
6147
|
exports.errorToStytchError = StytchSSRProxy.errorToStytchError;
|
|
6127
6148
|
exports.defaultDarkTheme = shadcn.defaultDarkTheme;
|
|
6128
6149
|
exports.defaultTheme = shadcn.defaultTheme;
|
|
6129
6150
|
exports.iconsBlack = shadcn.iconsBlack;
|
|
6130
6151
|
exports.iconsWhite = shadcn.iconsWhite;
|
|
6131
6152
|
exports.shadcnTheme = shadcn.shadcnTheme;
|
|
6132
|
-
exports.AuthFlowType = idpHelpers.AuthFlowType;
|
|
6133
|
-
exports.B2BMFAProducts = idpHelpers.B2BMFAProducts;
|
|
6134
|
-
exports.B2BOAuthProviders = idpHelpers.B2BOAuthProviders;
|
|
6135
|
-
exports.OAuthProviders = idpHelpers.OAuthProviders;
|
|
6136
|
-
exports.OTPMethods = idpHelpers.OTPMethods;
|
|
6137
|
-
exports.OneTapPositions = idpHelpers.OneTapPositions;
|
|
6138
|
-
exports.RNUIProducts = idpHelpers.RNUIProducts;
|
|
6139
|
-
exports.RedirectURLType = idpHelpers.RedirectURLType;
|
|
6140
|
-
exports.StytchEventType = idpHelpers.StytchEventType;
|
|
6141
|
-
exports.Wallets = idpHelpers.Wallets;
|
|
6142
6153
|
exports.parseOAuthAuthorizeParams = idpHelpers.parseOAuthAuthorizeParams;
|
|
6143
6154
|
exports.parseOAuthLogoutParams = idpHelpers.parseOAuthLogoutParams;
|
|
6144
6155
|
exports.IdentityProvider = IdentityProvider;
|