@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-dev/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-D70WyvIu.js');
|
|
6
|
+
var StytchSSRProxy = require('./StytchSSRProxy-CxXsyme4.js');
|
|
7
|
+
var shadcn = require('./shadcn-C4w3DtKK.js');
|
|
8
|
+
var idpHelpers = require('./idpHelpers-Cf8Qq1B4.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({
|
|
@@ -1567,15 +1574,15 @@ const PasskeyIcon = ({ size = shadcn.DEFAULT_ICON_SIZE, ...props })=>/*#__PURE__
|
|
|
1567
1574
|
}));
|
|
1568
1575
|
|
|
1569
1576
|
const OTPButtonText = {
|
|
1570
|
-
[
|
|
1577
|
+
[StytchSSRProxy.OTPMethods.SMS]: {
|
|
1571
1578
|
id: "button.sms",
|
|
1572
1579
|
message: "Continue with text message"
|
|
1573
1580
|
},
|
|
1574
|
-
[
|
|
1581
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: {
|
|
1575
1582
|
id: "button.whatsapp",
|
|
1576
1583
|
message: "Continue with WhatsApp"
|
|
1577
1584
|
},
|
|
1578
|
-
[
|
|
1585
|
+
[StytchSSRProxy.OTPMethods.Email]: {
|
|
1579
1586
|
id: "button.emailLogin",
|
|
1580
1587
|
message: "Continue with email"
|
|
1581
1588
|
}
|
|
@@ -1615,13 +1622,13 @@ const OTPEmailForm = ()=>{
|
|
|
1615
1622
|
}).then((data)=>{
|
|
1616
1623
|
setIsSubmitting(false);
|
|
1617
1624
|
onEvent({
|
|
1618
|
-
type:
|
|
1625
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
1619
1626
|
data
|
|
1620
1627
|
});
|
|
1621
1628
|
dispatch({
|
|
1622
1629
|
type: 'update_otp_state',
|
|
1623
1630
|
otpState: {
|
|
1624
|
-
type:
|
|
1631
|
+
type: StytchSSRProxy.OTPMethods.Email,
|
|
1625
1632
|
methodId: data.method_id,
|
|
1626
1633
|
otpDestination: email
|
|
1627
1634
|
}
|
|
@@ -1657,7 +1664,7 @@ const OTPEmailForm = ()=>{
|
|
|
1657
1664
|
variant: "primary",
|
|
1658
1665
|
loading: isSubmitting,
|
|
1659
1666
|
type: "submit"
|
|
1660
|
-
}, $__i18n._(OTPButtonText[
|
|
1667
|
+
}, $__i18n._(OTPButtonText[StytchSSRProxy.OTPMethods.Email])));
|
|
1661
1668
|
};
|
|
1662
1669
|
const PhoneForm = ({ method })=>{
|
|
1663
1670
|
const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
|
|
@@ -1700,7 +1707,7 @@ const PhoneForm = ({ method })=>{
|
|
|
1700
1707
|
}).then((data)=>{
|
|
1701
1708
|
setIsSubmitting(false);
|
|
1702
1709
|
onEvent({
|
|
1703
|
-
type:
|
|
1710
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
1704
1711
|
data
|
|
1705
1712
|
});
|
|
1706
1713
|
dispatch({
|
|
@@ -2175,52 +2182,52 @@ const getMetaMaskProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.p
|
|
|
2175
2182
|
const getCoinbaseProvider = ()=>hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet)=>wallet.isCoinbaseWallet) : window.ethereum;
|
|
2176
2183
|
const getOtherInjectedProvider = ()=>window.ethereum.providers?.find((wallet)=>!wallet.isCoinbaseWallet && !wallet.isMetaMask);
|
|
2177
2184
|
const WalletToIcon = {
|
|
2178
|
-
[
|
|
2179
|
-
[
|
|
2180
|
-
[
|
|
2181
|
-
[
|
|
2182
|
-
[
|
|
2183
|
-
[
|
|
2185
|
+
[StytchSSRProxy.Wallets.Phantom]: PhantomIcon,
|
|
2186
|
+
[StytchSSRProxy.Wallets.Binance]: BinanceIcon,
|
|
2187
|
+
[StytchSSRProxy.Wallets.Coinbase]: CoinbaseIcon,
|
|
2188
|
+
[StytchSSRProxy.Wallets.Metamask]: MetamaskIcon,
|
|
2189
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: GenericWalletIcon,
|
|
2190
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: GenericWalletIcon
|
|
2184
2191
|
};
|
|
2185
2192
|
const WalletToText = {
|
|
2186
|
-
[
|
|
2193
|
+
[StytchSSRProxy.Wallets.Phantom]: {
|
|
2187
2194
|
id: "crypto.wallet.phantom",
|
|
2188
2195
|
message: "Phantom"
|
|
2189
2196
|
},
|
|
2190
|
-
[
|
|
2197
|
+
[StytchSSRProxy.Wallets.Binance]: {
|
|
2191
2198
|
id: "crypto.wallet.binance",
|
|
2192
2199
|
message: "Binance"
|
|
2193
2200
|
},
|
|
2194
|
-
[
|
|
2201
|
+
[StytchSSRProxy.Wallets.Coinbase]: {
|
|
2195
2202
|
id: "crypto.wallet.coinbase",
|
|
2196
2203
|
message: "Coinbase"
|
|
2197
2204
|
},
|
|
2198
|
-
[
|
|
2205
|
+
[StytchSSRProxy.Wallets.Metamask]: {
|
|
2199
2206
|
id: "crypto.wallet.metamask",
|
|
2200
2207
|
message: "Metamask"
|
|
2201
2208
|
},
|
|
2202
|
-
[
|
|
2209
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: {
|
|
2203
2210
|
id: "crypto.wallet.otherEthereum",
|
|
2204
2211
|
message: "Other Ethereum Wallet"
|
|
2205
2212
|
},
|
|
2206
|
-
[
|
|
2213
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: {
|
|
2207
2214
|
id: "crypto.wallet.otherSolana",
|
|
2208
2215
|
message: "Other Solana Wallet"
|
|
2209
2216
|
}
|
|
2210
2217
|
};
|
|
2211
2218
|
const isWalletVisible = (wallet)=>{
|
|
2212
2219
|
switch(wallet){
|
|
2213
|
-
case
|
|
2220
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2214
2221
|
return !!window.ethereum && hasMetaMask();
|
|
2215
|
-
case
|
|
2222
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2216
2223
|
return (!!window.solana && window.solana?.isPhantom) ?? false;
|
|
2217
|
-
case
|
|
2224
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2218
2225
|
return !!window.BinanceChain;
|
|
2219
|
-
case
|
|
2226
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2220
2227
|
return !!window.ethereum && hasCoinbaseWallet();
|
|
2221
|
-
case
|
|
2228
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2222
2229
|
return !!window.ethereum && hasOtherEthereumWallet();
|
|
2223
|
-
case
|
|
2230
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2224
2231
|
return !!window.solana && !window.solana.isPhantom;
|
|
2225
2232
|
default:
|
|
2226
2233
|
return false;
|
|
@@ -2234,32 +2241,32 @@ const connectWithEthereumProvider = async (request)=>{
|
|
|
2234
2241
|
};
|
|
2235
2242
|
const connectWithWallet = async ({ wallet })=>{
|
|
2236
2243
|
switch(wallet){
|
|
2237
|
-
case
|
|
2244
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2238
2245
|
{
|
|
2239
2246
|
const provider = getMetaMaskProvider();
|
|
2240
2247
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2241
2248
|
}
|
|
2242
|
-
case
|
|
2249
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2243
2250
|
{
|
|
2244
2251
|
const connectResp = await window.solana.connect();
|
|
2245
2252
|
return connectResp.publicKey.toString();
|
|
2246
2253
|
}
|
|
2247
|
-
case
|
|
2254
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2248
2255
|
{
|
|
2249
2256
|
const provider = window.BinanceChain;
|
|
2250
2257
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2251
2258
|
}
|
|
2252
|
-
case
|
|
2259
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2253
2260
|
{
|
|
2254
2261
|
const provider = getCoinbaseProvider();
|
|
2255
2262
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2256
2263
|
}
|
|
2257
|
-
case
|
|
2264
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2258
2265
|
{
|
|
2259
2266
|
const provider = getOtherInjectedProvider();
|
|
2260
2267
|
return provider?.request ? connectWithEthereumProvider(provider?.request) : '';
|
|
2261
2268
|
}
|
|
2262
|
-
case
|
|
2269
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2263
2270
|
{
|
|
2264
2271
|
const connectResp = await window.solana.connect();
|
|
2265
2272
|
return connectResp.publicKey.toString();
|
|
@@ -2291,25 +2298,25 @@ const signMessageWithEthereumProvider = async (request, message, address)=>{
|
|
|
2291
2298
|
};
|
|
2292
2299
|
const signMessageWithWallet = async ({ wallet, message, address })=>{
|
|
2293
2300
|
switch(wallet){
|
|
2294
|
-
case
|
|
2295
|
-
case
|
|
2301
|
+
case StytchSSRProxy.Wallets.Phantom:
|
|
2302
|
+
case StytchSSRProxy.Wallets.GenericSolanaWallet:
|
|
2296
2303
|
return signMessageWithSolanaProvider(message);
|
|
2297
|
-
case
|
|
2304
|
+
case StytchSSRProxy.Wallets.Metamask:
|
|
2298
2305
|
{
|
|
2299
2306
|
const provider = getMetaMaskProvider();
|
|
2300
2307
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2301
2308
|
}
|
|
2302
|
-
case
|
|
2309
|
+
case StytchSSRProxy.Wallets.Binance:
|
|
2303
2310
|
{
|
|
2304
2311
|
const provider = window.BinanceChain;
|
|
2305
2312
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2306
2313
|
}
|
|
2307
|
-
case
|
|
2314
|
+
case StytchSSRProxy.Wallets.Coinbase:
|
|
2308
2315
|
{
|
|
2309
2316
|
const provider = getCoinbaseProvider();
|
|
2310
2317
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
2311
2318
|
}
|
|
2312
|
-
case
|
|
2319
|
+
case StytchSSRProxy.Wallets.GenericEthereumWallet:
|
|
2313
2320
|
{
|
|
2314
2321
|
const provider = getOtherInjectedProvider();
|
|
2315
2322
|
return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';
|
|
@@ -2320,8 +2327,8 @@ const signMessageWithWallet = async ({ wallet, message, address })=>{
|
|
|
2320
2327
|
};
|
|
2321
2328
|
const isSolanaWallet = (wallet)=>{
|
|
2322
2329
|
const solanaWallets = [
|
|
2323
|
-
|
|
2324
|
-
|
|
2330
|
+
StytchSSRProxy.Wallets.Phantom,
|
|
2331
|
+
StytchSSRProxy.Wallets.GenericSolanaWallet
|
|
2325
2332
|
];
|
|
2326
2333
|
return solanaWallets.includes(wallet);
|
|
2327
2334
|
};
|
|
@@ -2332,27 +2339,27 @@ const WalletIconComponent = ({ wallet })=>{
|
|
|
2332
2339
|
return /*#__PURE__*/ React__namespace.createElement(Icon, null);
|
|
2333
2340
|
};
|
|
2334
2341
|
const walletMessages = {
|
|
2335
|
-
[
|
|
2342
|
+
[StytchSSRProxy.Wallets.Phantom]: {
|
|
2336
2343
|
id: "crypto.wallet.continueWithPhantom",
|
|
2337
2344
|
message: "Continue with Phantom"
|
|
2338
2345
|
},
|
|
2339
|
-
[
|
|
2346
|
+
[StytchSSRProxy.Wallets.Binance]: {
|
|
2340
2347
|
id: "crypto.wallet.continueWithBinance",
|
|
2341
2348
|
message: "Continue with Binance"
|
|
2342
2349
|
},
|
|
2343
|
-
[
|
|
2350
|
+
[StytchSSRProxy.Wallets.Coinbase]: {
|
|
2344
2351
|
id: "crypto.wallet.continueWithCoinbase",
|
|
2345
2352
|
message: "Continue with Coinbase"
|
|
2346
2353
|
},
|
|
2347
|
-
[
|
|
2354
|
+
[StytchSSRProxy.Wallets.Metamask]: {
|
|
2348
2355
|
id: "crypto.wallet.continueWithMetamask",
|
|
2349
2356
|
message: "Continue with Metamask"
|
|
2350
2357
|
},
|
|
2351
|
-
[
|
|
2358
|
+
[StytchSSRProxy.Wallets.GenericEthereumWallet]: {
|
|
2352
2359
|
id: "crypto.wallet.continueWithEthereum",
|
|
2353
2360
|
message: "Continue with Other Ethereum Wallet"
|
|
2354
2361
|
},
|
|
2355
|
-
[
|
|
2362
|
+
[StytchSSRProxy.Wallets.GenericSolanaWallet]: {
|
|
2356
2363
|
id: "crypto.wallet.continueWithSolana",
|
|
2357
2364
|
message: "Continue with Other Solana Wallet"
|
|
2358
2365
|
}
|
|
@@ -2377,7 +2384,7 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2377
2384
|
screen: AppScreens.CryptoConnect
|
|
2378
2385
|
});
|
|
2379
2386
|
};
|
|
2380
|
-
const allDetectedWallets = Object.keys(
|
|
2387
|
+
const allDetectedWallets = Object.keys(StytchSSRProxy.Wallets).filter((wallet)=>isWalletVisible(StytchSSRProxy.Wallets[wallet]));
|
|
2381
2388
|
const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;
|
|
2382
2389
|
const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);
|
|
2383
2390
|
const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);
|
|
@@ -2386,13 +2393,13 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2386
2393
|
key: wallet,
|
|
2387
2394
|
variant: "outline",
|
|
2388
2395
|
icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
|
|
2389
|
-
wallet:
|
|
2396
|
+
wallet: StytchSSRProxy.Wallets[wallet]
|
|
2390
2397
|
}),
|
|
2391
|
-
onClick: ()=>onWalletStart(
|
|
2392
|
-
}, type === 'main' ? $__i18n._(walletMessages[
|
|
2398
|
+
onClick: ()=>onWalletStart(StytchSSRProxy.Wallets[wallet])
|
|
2399
|
+
}, type === 'main' ? $__i18n._(walletMessages[StytchSSRProxy.Wallets[wallet]]) : $__i18n._(WalletToText[StytchSSRProxy.Wallets[wallet]]))), renderOtherScreenButton && type === 'main' ? /*#__PURE__*/ React__namespace.createElement(shadcn.Button, {
|
|
2393
2400
|
variant: "outline",
|
|
2394
2401
|
icon: /*#__PURE__*/ React__namespace.createElement(WalletIconComponent, {
|
|
2395
|
-
wallet:
|
|
2402
|
+
wallet: StytchSSRProxy.Wallets.GenericEthereumWallet
|
|
2396
2403
|
}),
|
|
2397
2404
|
onClick: ()=>dispatch({
|
|
2398
2405
|
type: 'transition',
|
|
@@ -2413,6 +2420,69 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2413
2420
|
})));
|
|
2414
2421
|
};
|
|
2415
2422
|
|
|
2423
|
+
function usePasswordlessAuthenticate() {
|
|
2424
|
+
const stytchClient = useStytch();
|
|
2425
|
+
const { emailMagicLinksOptions, otpOptions } = useConfig();
|
|
2426
|
+
const [state, dispatch] = useGlobalReducer();
|
|
2427
|
+
const onEvent = useEventCallback();
|
|
2428
|
+
const onError = useErrorCallback();
|
|
2429
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
2430
|
+
const email = state.formState.passwordState.email;
|
|
2431
|
+
const sendLink = async ()=>{
|
|
2432
|
+
setIsSubmitting(true);
|
|
2433
|
+
try {
|
|
2434
|
+
const data = await stytchClient.magicLinks.email.loginOrCreate(email, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions));
|
|
2435
|
+
onEvent({
|
|
2436
|
+
type: StytchSSRProxy.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
2437
|
+
data: {
|
|
2438
|
+
...data,
|
|
2439
|
+
email
|
|
2440
|
+
}
|
|
2441
|
+
});
|
|
2442
|
+
dispatch({
|
|
2443
|
+
type: 'set_magic_link_email',
|
|
2444
|
+
email: email
|
|
2445
|
+
});
|
|
2446
|
+
} catch (e) {
|
|
2447
|
+
onError(e);
|
|
2448
|
+
throw e;
|
|
2449
|
+
} finally{
|
|
2450
|
+
setIsSubmitting(false);
|
|
2451
|
+
}
|
|
2452
|
+
};
|
|
2453
|
+
const sendCode = async ()=>{
|
|
2454
|
+
setIsSubmitting(true);
|
|
2455
|
+
try {
|
|
2456
|
+
const data = await stytchClient.otps.email.loginOrCreate(email, {
|
|
2457
|
+
expiration_minutes: otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES,
|
|
2458
|
+
locale: otpOptions?.locale
|
|
2459
|
+
});
|
|
2460
|
+
onEvent({
|
|
2461
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
2462
|
+
data
|
|
2463
|
+
});
|
|
2464
|
+
dispatch({
|
|
2465
|
+
type: 'update_otp_state',
|
|
2466
|
+
otpState: {
|
|
2467
|
+
type: StytchSSRProxy.OTPMethods.Email,
|
|
2468
|
+
methodId: data.method_id,
|
|
2469
|
+
otpDestination: email
|
|
2470
|
+
}
|
|
2471
|
+
});
|
|
2472
|
+
} catch (e) {
|
|
2473
|
+
onError(e);
|
|
2474
|
+
throw e;
|
|
2475
|
+
} finally{
|
|
2476
|
+
setIsSubmitting(false);
|
|
2477
|
+
}
|
|
2478
|
+
};
|
|
2479
|
+
return {
|
|
2480
|
+
sendLink,
|
|
2481
|
+
sendCode,
|
|
2482
|
+
isSubmitting
|
|
2483
|
+
};
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2416
2486
|
/**
|
|
2417
2487
|
* Resolves the best email domain to use as a hint for login
|
|
2418
2488
|
*/ const useEmailDomain = ()=>{
|
|
@@ -2444,12 +2514,14 @@ const CryptoWalletButtons = ({ type })=>{
|
|
|
2444
2514
|
// we simply won't provide a hint!
|
|
2445
2515
|
return null;
|
|
2446
2516
|
};
|
|
2447
|
-
const EmailConfirmation = (
|
|
2517
|
+
const EmailConfirmation = ({ showGoBack = true })=>{
|
|
2448
2518
|
const stytchClient = useStytch();
|
|
2449
2519
|
const [state, dispatch] = useGlobalReducer();
|
|
2450
2520
|
const emailDomain = useEmailDomain();
|
|
2521
|
+
const countdown = shadcn.useCountdown();
|
|
2522
|
+
const { sendLink, isSubmitting } = usePasswordlessAuthenticate();
|
|
2451
2523
|
const email = state.formState.magicLinkState.email !== '' ? state.formState.magicLinkState.email : state.formState.passwordState.email;
|
|
2452
|
-
const
|
|
2524
|
+
const goBack = ()=>{
|
|
2453
2525
|
dispatch({
|
|
2454
2526
|
type: 'set_magic_link_email',
|
|
2455
2527
|
email: ''
|
|
@@ -2468,9 +2540,11 @@ const EmailConfirmation = (props)=>{
|
|
|
2468
2540
|
};
|
|
2469
2541
|
return /*#__PURE__*/ React__namespace.default.createElement(shadcn.EmailConfirmationView, {
|
|
2470
2542
|
emailDomain: emailDomain,
|
|
2471
|
-
reset: reset,
|
|
2472
2543
|
email: email,
|
|
2473
|
-
|
|
2544
|
+
goBack: showGoBack ? goBack : undefined,
|
|
2545
|
+
resend: sendLink,
|
|
2546
|
+
countdown: countdown,
|
|
2547
|
+
isSubmitting: isSubmitting
|
|
2474
2548
|
});
|
|
2475
2549
|
};
|
|
2476
2550
|
|
|
@@ -3384,15 +3458,15 @@ const PasswordMethods = {
|
|
|
3384
3458
|
};
|
|
3385
3459
|
|
|
3386
3460
|
const OTPTabHeaders = {
|
|
3387
|
-
[
|
|
3461
|
+
[StytchSSRProxy.OTPMethods.SMS]: {
|
|
3388
3462
|
id: "tab.text",
|
|
3389
3463
|
message: "Text"
|
|
3390
3464
|
},
|
|
3391
|
-
[
|
|
3465
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: {
|
|
3392
3466
|
id: "tab.whatsapp",
|
|
3393
3467
|
message: "WhatsApp"
|
|
3394
3468
|
},
|
|
3395
|
-
[
|
|
3469
|
+
[StytchSSRProxy.OTPMethods.Email]: {
|
|
3396
3470
|
id: "tab.email",
|
|
3397
3471
|
message: "Email"
|
|
3398
3472
|
},
|
|
@@ -3415,7 +3489,7 @@ const getTabMethods = (products, otpMethods)=>{
|
|
|
3415
3489
|
tabMethods.add(PasswordMethods.Email);
|
|
3416
3490
|
} else if (id === 'otp') {
|
|
3417
3491
|
for (const method of otpMethods){
|
|
3418
|
-
tabMethods.add(method ===
|
|
3492
|
+
tabMethods.add(method === StytchSSRProxy.OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);
|
|
3419
3493
|
}
|
|
3420
3494
|
}
|
|
3421
3495
|
}
|
|
@@ -3427,7 +3501,7 @@ const LoginForm = ()=>{
|
|
|
3427
3501
|
const productsIncludesOtp = hasProduct(products, 'otp');
|
|
3428
3502
|
const otpMethods = productsIncludesOtp ? otpOptions?.methods ?? [] : [];
|
|
3429
3503
|
const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');
|
|
3430
|
-
const hasOTPEmail = productsIncludesOtp && otpMethods.includes(
|
|
3504
|
+
const hasOTPEmail = productsIncludesOtp && otpMethods.includes(StytchSSRProxy.OTPMethods.Email);
|
|
3431
3505
|
const tabMethods = getTabMethods(products, otpMethods);
|
|
3432
3506
|
const tabMethodComponents = useProductComponents(products, 'tabs');
|
|
3433
3507
|
if (hasEmailMagicLink && hasOTPEmail) return /*#__PURE__*/ React__namespace.default.createElement(shadcn.Typography, {
|
|
@@ -3494,7 +3568,7 @@ const MagicLinkEmailForm = ()=>{
|
|
|
3494
3568
|
setIsSubmitting(true);
|
|
3495
3569
|
stytchClient.magicLinks.email.loginOrCreate(submittingEmail, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions)).then((data)=>{
|
|
3496
3570
|
onEvent({
|
|
3497
|
-
type:
|
|
3571
|
+
type: StytchSSRProxy.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
3498
3572
|
data: {
|
|
3499
3573
|
...data,
|
|
3500
3574
|
email: submittingEmail
|
|
@@ -3544,115 +3618,115 @@ const MagicLinkEmailForm = ()=>{
|
|
|
3544
3618
|
};
|
|
3545
3619
|
|
|
3546
3620
|
const providerInfo = {
|
|
3547
|
-
[
|
|
3621
|
+
[StytchSSRProxy.OAuthProviders.Google]: {
|
|
3548
3622
|
messageDescriptor: {
|
|
3549
3623
|
id: "oauth.continueWithGoogle",
|
|
3550
3624
|
message: "Continue with Google"
|
|
3551
3625
|
}
|
|
3552
3626
|
},
|
|
3553
|
-
[
|
|
3627
|
+
[StytchSSRProxy.OAuthProviders.Microsoft]: {
|
|
3554
3628
|
messageDescriptor: {
|
|
3555
3629
|
id: "oauth.continueWithMicrosoft",
|
|
3556
3630
|
message: "Continue with Microsoft"
|
|
3557
3631
|
}
|
|
3558
3632
|
},
|
|
3559
|
-
[
|
|
3633
|
+
[StytchSSRProxy.OAuthProviders.Apple]: {
|
|
3560
3634
|
messageDescriptor: {
|
|
3561
3635
|
id: "oauth.continueWithApple",
|
|
3562
3636
|
message: "Continue with Apple"
|
|
3563
3637
|
}
|
|
3564
3638
|
},
|
|
3565
|
-
[
|
|
3639
|
+
[StytchSSRProxy.OAuthProviders.Github]: {
|
|
3566
3640
|
messageDescriptor: {
|
|
3567
3641
|
id: "oauth.continueWithGitHub",
|
|
3568
3642
|
message: "Continue with GitHub"
|
|
3569
3643
|
}
|
|
3570
3644
|
},
|
|
3571
|
-
[
|
|
3645
|
+
[StytchSSRProxy.OAuthProviders.GitLab]: {
|
|
3572
3646
|
messageDescriptor: {
|
|
3573
3647
|
id: "oauth.continueWithGitLab",
|
|
3574
3648
|
message: "Continue with GitLab"
|
|
3575
3649
|
}
|
|
3576
3650
|
},
|
|
3577
|
-
[
|
|
3651
|
+
[StytchSSRProxy.OAuthProviders.Facebook]: {
|
|
3578
3652
|
messageDescriptor: {
|
|
3579
3653
|
id: "oauth.continueWithFacebook",
|
|
3580
3654
|
message: "Continue with Facebook"
|
|
3581
3655
|
}
|
|
3582
3656
|
},
|
|
3583
|
-
[
|
|
3657
|
+
[StytchSSRProxy.OAuthProviders.Discord]: {
|
|
3584
3658
|
messageDescriptor: {
|
|
3585
3659
|
id: "oauth.continueWithDiscord",
|
|
3586
3660
|
message: "Continue with Discord"
|
|
3587
3661
|
}
|
|
3588
3662
|
},
|
|
3589
|
-
[
|
|
3663
|
+
[StytchSSRProxy.OAuthProviders.Salesforce]: {
|
|
3590
3664
|
messageDescriptor: {
|
|
3591
3665
|
id: "oauth.continueWithSalesforce",
|
|
3592
3666
|
message: "Continue with Salesforce"
|
|
3593
3667
|
}
|
|
3594
3668
|
},
|
|
3595
|
-
[
|
|
3669
|
+
[StytchSSRProxy.OAuthProviders.Slack]: {
|
|
3596
3670
|
messageDescriptor: {
|
|
3597
3671
|
id: "oauth.continueWithSlack",
|
|
3598
3672
|
message: "Continue with Slack"
|
|
3599
3673
|
}
|
|
3600
3674
|
},
|
|
3601
|
-
[
|
|
3675
|
+
[StytchSSRProxy.OAuthProviders.Amazon]: {
|
|
3602
3676
|
messageDescriptor: {
|
|
3603
3677
|
id: "oauth.continueWithAmazon",
|
|
3604
3678
|
message: "Continue with Amazon"
|
|
3605
3679
|
}
|
|
3606
3680
|
},
|
|
3607
|
-
[
|
|
3681
|
+
[StytchSSRProxy.OAuthProviders.Bitbucket]: {
|
|
3608
3682
|
messageDescriptor: {
|
|
3609
3683
|
id: "oauth.continueWithBitbucket",
|
|
3610
3684
|
message: "Continue with Bitbucket"
|
|
3611
3685
|
}
|
|
3612
3686
|
},
|
|
3613
|
-
[
|
|
3687
|
+
[StytchSSRProxy.OAuthProviders.LinkedIn]: {
|
|
3614
3688
|
messageDescriptor: {
|
|
3615
3689
|
id: "oauth.continueWithLinkedIn",
|
|
3616
3690
|
message: "Continue with LinkedIn"
|
|
3617
3691
|
}
|
|
3618
3692
|
},
|
|
3619
|
-
[
|
|
3693
|
+
[StytchSSRProxy.OAuthProviders.Coinbase]: {
|
|
3620
3694
|
messageDescriptor: {
|
|
3621
3695
|
id: "oauth.continueWithCoinbase",
|
|
3622
3696
|
message: "Continue with Coinbase"
|
|
3623
3697
|
}
|
|
3624
3698
|
},
|
|
3625
|
-
[
|
|
3699
|
+
[StytchSSRProxy.OAuthProviders.Twitch]: {
|
|
3626
3700
|
messageDescriptor: {
|
|
3627
3701
|
id: "oauth.continueWithTwitch",
|
|
3628
3702
|
message: "Continue with Twitch"
|
|
3629
3703
|
}
|
|
3630
3704
|
},
|
|
3631
|
-
[
|
|
3705
|
+
[StytchSSRProxy.OAuthProviders.Twitter]: {
|
|
3632
3706
|
messageDescriptor: {
|
|
3633
3707
|
id: "oauth.continueWithX",
|
|
3634
3708
|
message: "Continue with X"
|
|
3635
3709
|
}
|
|
3636
3710
|
},
|
|
3637
|
-
[
|
|
3711
|
+
[StytchSSRProxy.OAuthProviders.TikTok]: {
|
|
3638
3712
|
messageDescriptor: {
|
|
3639
3713
|
id: "oauth.continueWithTikTok",
|
|
3640
3714
|
message: "Continue with TikTok"
|
|
3641
3715
|
}
|
|
3642
3716
|
},
|
|
3643
|
-
[
|
|
3717
|
+
[StytchSSRProxy.OAuthProviders.Snapchat]: {
|
|
3644
3718
|
messageDescriptor: {
|
|
3645
3719
|
id: "oauth.continueWithSnapchat",
|
|
3646
3720
|
message: "Continue with Snapchat"
|
|
3647
3721
|
}
|
|
3648
3722
|
},
|
|
3649
|
-
[
|
|
3723
|
+
[StytchSSRProxy.OAuthProviders.Figma]: {
|
|
3650
3724
|
messageDescriptor: {
|
|
3651
3725
|
id: "oauth.continueWithFigma",
|
|
3652
3726
|
message: "Continue with Figma"
|
|
3653
3727
|
}
|
|
3654
3728
|
},
|
|
3655
|
-
[
|
|
3729
|
+
[StytchSSRProxy.OAuthProviders.Yahoo]: {
|
|
3656
3730
|
messageDescriptor: {
|
|
3657
3731
|
id: "oauth.continueWithYahoo",
|
|
3658
3732
|
message: "Continue with Yahoo"
|
|
@@ -3868,14 +3942,14 @@ const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutsi
|
|
|
3868
3942
|
* End One Tap Loading / Initialization Logic
|
|
3869
3943
|
*/ // Fallback Google auth button in case One Tap cannot be displayed
|
|
3870
3944
|
const fallbackButton = /*#__PURE__*/ React__namespace.default.createElement(OAuthButton, {
|
|
3871
|
-
providerType:
|
|
3945
|
+
providerType: StytchSSRProxy.OAuthProviders.Google,
|
|
3872
3946
|
loginRedirectUrl: config.oauthOptions?.loginRedirectURL,
|
|
3873
3947
|
signupRedirectUrl: config.oauthOptions?.signupRedirectURL,
|
|
3874
3948
|
customScopes: customScopes,
|
|
3875
3949
|
providerParams: providerParams,
|
|
3876
|
-
onSuccess: ()=>setLastUsedOAuth(
|
|
3950
|
+
onSuccess: ()=>setLastUsedOAuth(StytchSSRProxy.OAuthProviders.Google)
|
|
3877
3951
|
});
|
|
3878
|
-
const fallbackWithLastUsed = lastUsedMethod ===
|
|
3952
|
+
const fallbackWithLastUsed = lastUsedMethod === StytchSSRProxy.OAuthProviders.Google ? /*#__PURE__*/ React__namespace.default.createElement(shadcn.LastUsed, null, fallbackButton) : fallbackButton;
|
|
3879
3953
|
if (isOnlyFloatingOneTap) {
|
|
3880
3954
|
return /*#__PURE__*/ React__namespace.default.createElement(OneTapMountNode, {
|
|
3881
3955
|
enableShadowDOM: Boolean(config.enableShadowDOM)
|
|
@@ -3956,7 +4030,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3956
4030
|
parsePhoneNumber,
|
|
3957
4031
|
phoneNumber: destination
|
|
3958
4032
|
});
|
|
3959
|
-
setFormattedDestination(selectionMethod ===
|
|
4033
|
+
setFormattedDestination(selectionMethod === StytchSSRProxy.OTPMethods.Email ? destination : national);
|
|
3960
4034
|
};
|
|
3961
4035
|
parseDestination();
|
|
3962
4036
|
}, [
|
|
@@ -3967,7 +4041,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3967
4041
|
const [expiration, setExpiration] = React.useState(calculateExpiration);
|
|
3968
4042
|
const resendCountdown = shadcn.useCountdown();
|
|
3969
4043
|
const resendOTP = async ()=>{
|
|
3970
|
-
if (selectionMethod ===
|
|
4044
|
+
if (selectionMethod === StytchSSRProxy.OTPMethods.Email) {
|
|
3971
4045
|
StytchSSRProxy.readB2CInternals(stytchClient).networkClient.logEvent({
|
|
3972
4046
|
name: 'email_try_again_clicked',
|
|
3973
4047
|
details: {
|
|
@@ -3981,7 +4055,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
3981
4055
|
expiration_minutes: config.otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES
|
|
3982
4056
|
});
|
|
3983
4057
|
onEvent({
|
|
3984
|
-
type:
|
|
4058
|
+
type: StytchSSRProxy.StytchEventType.OTPsLoginOrCreateEvent,
|
|
3985
4059
|
data
|
|
3986
4060
|
});
|
|
3987
4061
|
setExpiration(calculateExpiration());
|
|
@@ -4005,7 +4079,7 @@ const OTPAuthenticate = ({ hideBackButton = false })=>{
|
|
|
4005
4079
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
4006
4080
|
}).then((data)=>{
|
|
4007
4081
|
onEvent({
|
|
4008
|
-
type:
|
|
4082
|
+
type: StytchSSRProxy.StytchEventType.OTPsAuthenticate,
|
|
4009
4083
|
data
|
|
4010
4084
|
});
|
|
4011
4085
|
setIsSubmitting(false);
|
|
@@ -4049,7 +4123,7 @@ const OTPConfirmation = ()=>{
|
|
|
4049
4123
|
const onEvent = useEventCallback();
|
|
4050
4124
|
shadcn.useMountEffect(()=>{
|
|
4051
4125
|
onEvent({
|
|
4052
|
-
type:
|
|
4126
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
4053
4127
|
data: {}
|
|
4054
4128
|
});
|
|
4055
4129
|
});
|
|
@@ -4125,7 +4199,7 @@ const PasswordNewUser = ()=>{
|
|
|
4125
4199
|
}).then((data)=>{
|
|
4126
4200
|
setIsSubmitting(false);
|
|
4127
4201
|
onEvent({
|
|
4128
|
-
type:
|
|
4202
|
+
type: StytchSSRProxy.StytchEventType.PasswordCreate,
|
|
4129
4203
|
data
|
|
4130
4204
|
});
|
|
4131
4205
|
dispatch({
|
|
@@ -4198,7 +4272,7 @@ const PasswordAuthenticate = ()=>{
|
|
|
4198
4272
|
}).then((data)=>{
|
|
4199
4273
|
setIsSubmitting(false);
|
|
4200
4274
|
onEvent({
|
|
4201
|
-
type:
|
|
4275
|
+
type: StytchSSRProxy.StytchEventType.PasswordAuthenticate,
|
|
4202
4276
|
data
|
|
4203
4277
|
});
|
|
4204
4278
|
dispatch({
|
|
@@ -4271,7 +4345,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4271
4345
|
const resetPassword = ()=>{
|
|
4272
4346
|
stytchClient.passwords.resetByEmailStart(StytchSSRProxy.convertPasswordResetOptions(email, passwordOptions)).then((data)=>{
|
|
4273
4347
|
onEvent({
|
|
4274
|
-
type:
|
|
4348
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4275
4349
|
data
|
|
4276
4350
|
});
|
|
4277
4351
|
dispatch({
|
|
@@ -4294,7 +4368,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4294
4368
|
default:
|
|
4295
4369
|
stytchClient.passwords.resetByEmailStart(StytchSSRProxy.convertPasswordResetOptions(email, passwordOptions)).then((data)=>{
|
|
4296
4370
|
onEvent({
|
|
4297
|
-
type:
|
|
4371
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4298
4372
|
data
|
|
4299
4373
|
});
|
|
4300
4374
|
dispatch({
|
|
@@ -4312,8 +4386,7 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4312
4386
|
}
|
|
4313
4387
|
return /*#__PURE__*/ React__namespace.default.createElement(React__namespace.default.Fragment, null, secondaryType === 'eml' ? /*#__PURE__*/ React__namespace.default.createElement(EmailConfirmation, {
|
|
4314
4388
|
showGoBack: false
|
|
4315
|
-
})
|
|
4316
|
-
: /*#__PURE__*/ React__namespace.default.createElement(OTPAuthenticate, {
|
|
4389
|
+
}) : /*#__PURE__*/ React__namespace.default.createElement(OTPAuthenticate, {
|
|
4317
4390
|
hideBackButton: true
|
|
4318
4391
|
}), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Divider, null), /*#__PURE__*/ React__namespace.default.createElement(shadcn.Column, {
|
|
4319
4392
|
gap: 2
|
|
@@ -4325,68 +4398,6 @@ const PasswordlessAuthenticate = ({ secondaryType })=>{
|
|
|
4325
4398
|
message: "Create a password instead"
|
|
4326
4399
|
})), errorMessage && /*#__PURE__*/ React__namespace.default.createElement(shadcn.ErrorText, null, errorMessage)));
|
|
4327
4400
|
};
|
|
4328
|
-
function usePasswordlessAuthenticate() {
|
|
4329
|
-
const stytchClient = useStytch();
|
|
4330
|
-
const { emailMagicLinksOptions, otpOptions } = useConfig();
|
|
4331
|
-
const [state, dispatch] = useGlobalReducer();
|
|
4332
|
-
const onEvent = useEventCallback();
|
|
4333
|
-
const onError = useErrorCallback();
|
|
4334
|
-
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
4335
|
-
const email = state.formState.passwordState.email;
|
|
4336
|
-
const sendLink = async ()=>{
|
|
4337
|
-
setIsSubmitting(true);
|
|
4338
|
-
try {
|
|
4339
|
-
const data = await stytchClient.magicLinks.email.loginOrCreate(email, StytchSSRProxy.convertMagicLinkOptions(emailMagicLinksOptions));
|
|
4340
|
-
onEvent({
|
|
4341
|
-
type: idpHelpers.StytchEventType.MagicLinkLoginOrCreateEvent,
|
|
4342
|
-
data: {
|
|
4343
|
-
...data,
|
|
4344
|
-
email
|
|
4345
|
-
}
|
|
4346
|
-
});
|
|
4347
|
-
dispatch({
|
|
4348
|
-
type: 'set_magic_link_email',
|
|
4349
|
-
email: email
|
|
4350
|
-
});
|
|
4351
|
-
} catch (e) {
|
|
4352
|
-
onError(e);
|
|
4353
|
-
throw e;
|
|
4354
|
-
} finally{
|
|
4355
|
-
setIsSubmitting(false);
|
|
4356
|
-
}
|
|
4357
|
-
};
|
|
4358
|
-
const sendCode = async ()=>{
|
|
4359
|
-
setIsSubmitting(true);
|
|
4360
|
-
try {
|
|
4361
|
-
const data = await stytchClient.otps.email.loginOrCreate(email, {
|
|
4362
|
-
expiration_minutes: otpOptions?.expirationMinutes ?? idpHelpers.DEFAULT_OTP_EXPIRATION_MINUTES,
|
|
4363
|
-
locale: otpOptions?.locale
|
|
4364
|
-
});
|
|
4365
|
-
onEvent({
|
|
4366
|
-
type: idpHelpers.StytchEventType.OTPsLoginOrCreateEvent,
|
|
4367
|
-
data
|
|
4368
|
-
});
|
|
4369
|
-
dispatch({
|
|
4370
|
-
type: 'update_otp_state',
|
|
4371
|
-
otpState: {
|
|
4372
|
-
type: idpHelpers.OTPMethods.Email,
|
|
4373
|
-
methodId: data.method_id,
|
|
4374
|
-
otpDestination: email
|
|
4375
|
-
}
|
|
4376
|
-
});
|
|
4377
|
-
} catch (e) {
|
|
4378
|
-
onError(e);
|
|
4379
|
-
throw e;
|
|
4380
|
-
} finally{
|
|
4381
|
-
setIsSubmitting(false);
|
|
4382
|
-
}
|
|
4383
|
-
};
|
|
4384
|
-
return {
|
|
4385
|
-
sendLink,
|
|
4386
|
-
sendCode,
|
|
4387
|
-
isSubmitting
|
|
4388
|
-
};
|
|
4389
|
-
}
|
|
4390
4401
|
|
|
4391
4402
|
const PasswordCreateAuthenticate = ()=>{
|
|
4392
4403
|
const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
|
|
@@ -4394,7 +4405,7 @@ const PasswordCreateAuthenticate = ()=>{
|
|
|
4394
4405
|
const [state, dispatch] = useGlobalReducer();
|
|
4395
4406
|
const otpMethods = otpOptions?.methods ?? [];
|
|
4396
4407
|
const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;
|
|
4397
|
-
const hasOTPEmail = otpMethods.includes(
|
|
4408
|
+
const hasOTPEmail = otpMethods.includes(StytchSSRProxy.OTPMethods.Email);
|
|
4398
4409
|
const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;
|
|
4399
4410
|
const userType = state.formState.passwordState.type;
|
|
4400
4411
|
const secondaryAuth = useSecondaryAuthenticate(secondaryType, {
|
|
@@ -4577,7 +4588,7 @@ const ResetPasswordScreen = ()=>{
|
|
|
4577
4588
|
}).then((data)=>{
|
|
4578
4589
|
setIsSubmitting(false);
|
|
4579
4590
|
onEvent({
|
|
4580
|
-
type:
|
|
4591
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmail,
|
|
4581
4592
|
data
|
|
4582
4593
|
});
|
|
4583
4594
|
dispatch({
|
|
@@ -4775,7 +4786,7 @@ const PasswordSetNew = ()=>{
|
|
|
4775
4786
|
try {
|
|
4776
4787
|
const data = await resendResetPassword();
|
|
4777
4788
|
onEvent({
|
|
4778
|
-
type:
|
|
4789
|
+
type: StytchSSRProxy.StytchEventType.PasswordResetByEmailStart,
|
|
4779
4790
|
data
|
|
4780
4791
|
});
|
|
4781
4792
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -4816,7 +4827,7 @@ const PasswordConfirmation = ()=>{
|
|
|
4816
4827
|
const onEvent = useEventCallback();
|
|
4817
4828
|
shadcn.useMountEffect(()=>{
|
|
4818
4829
|
onEvent({
|
|
4819
|
-
type:
|
|
4830
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
4820
4831
|
data: {}
|
|
4821
4832
|
});
|
|
4822
4833
|
});
|
|
@@ -4925,7 +4936,7 @@ const PasskeyRegistrationStart = ()=>{
|
|
|
4925
4936
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
4926
4937
|
}).then((data)=>{
|
|
4927
4938
|
onEvent({
|
|
4928
|
-
type:
|
|
4939
|
+
type: StytchSSRProxy.StytchEventType.PasskeyRegister,
|
|
4929
4940
|
data
|
|
4930
4941
|
});
|
|
4931
4942
|
dispatch({
|
|
@@ -4950,7 +4961,7 @@ const PasskeyRegistrationStart = ()=>{
|
|
|
4950
4961
|
};
|
|
4951
4962
|
const onSkip = ()=>{
|
|
4952
4963
|
onEvent({
|
|
4953
|
-
type:
|
|
4964
|
+
type: StytchSSRProxy.StytchEventType.PasskeySkip,
|
|
4954
4965
|
data: {}
|
|
4955
4966
|
});
|
|
4956
4967
|
dispatch({
|
|
@@ -5138,7 +5149,7 @@ const PasskeyRegistrationSuccess = ()=>{
|
|
|
5138
5149
|
const onDone = async ()=>{
|
|
5139
5150
|
await optimisticRegistrations?.update;
|
|
5140
5151
|
onEvent({
|
|
5141
|
-
type:
|
|
5152
|
+
type: StytchSSRProxy.StytchEventType.PasskeyDone,
|
|
5142
5153
|
data: {}
|
|
5143
5154
|
});
|
|
5144
5155
|
};
|
|
@@ -5249,7 +5260,7 @@ const PasskeyConfirmation = ()=>{
|
|
|
5249
5260
|
const onEvent = useEventCallback();
|
|
5250
5261
|
shadcn.useMountEffect(()=>{
|
|
5251
5262
|
onEvent({
|
|
5252
|
-
type:
|
|
5263
|
+
type: StytchSSRProxy.StytchEventType.AuthenticateFlowComplete,
|
|
5253
5264
|
data: {}
|
|
5254
5265
|
});
|
|
5255
5266
|
});
|
|
@@ -5300,7 +5311,7 @@ const ConnectWallet = ()=>{
|
|
|
5300
5311
|
crypto_wallet_type: walletType
|
|
5301
5312
|
}).then((data)=>{
|
|
5302
5313
|
onEvent({
|
|
5303
|
-
type:
|
|
5314
|
+
type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticateStart,
|
|
5304
5315
|
data
|
|
5305
5316
|
});
|
|
5306
5317
|
dispatch({
|
|
@@ -5379,7 +5390,7 @@ const SignMessage = ()=>{
|
|
|
5379
5390
|
session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? idpHelpers.DEFAULT_SESSION_DURATION_MINUTES
|
|
5380
5391
|
}).then((data)=>{
|
|
5381
5392
|
onEvent({
|
|
5382
|
-
type:
|
|
5393
|
+
type: StytchSSRProxy.StytchEventType.CryptoWalletAuthenticate,
|
|
5383
5394
|
data
|
|
5384
5395
|
});
|
|
5385
5396
|
dispatch({
|
|
@@ -5471,28 +5482,28 @@ const SetupNewWallet = ()=>{
|
|
|
5471
5482
|
})
|
|
5472
5483
|
}), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonColumn, null, /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5473
5484
|
...commonButtonProps,
|
|
5474
|
-
icon: walletIcon(
|
|
5485
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Metamask),
|
|
5475
5486
|
href: "https://metamask.io/"
|
|
5476
5487
|
}, $__i18n._({
|
|
5477
5488
|
id: "crypto.wallet.metamask",
|
|
5478
5489
|
message: "Metamask"
|
|
5479
5490
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5480
5491
|
...commonButtonProps,
|
|
5481
|
-
icon: walletIcon(
|
|
5492
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Phantom),
|
|
5482
5493
|
href: "https://phantom.app/"
|
|
5483
5494
|
}, $__i18n._({
|
|
5484
5495
|
id: "crypto.wallet.phantom",
|
|
5485
5496
|
message: "Phantom"
|
|
5486
5497
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5487
5498
|
...commonButtonProps,
|
|
5488
|
-
icon: walletIcon(
|
|
5499
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Coinbase),
|
|
5489
5500
|
href: "https://www.coinbase.com/wallet"
|
|
5490
5501
|
}, $__i18n._({
|
|
5491
5502
|
id: "crypto.wallet.coinbase",
|
|
5492
5503
|
message: "Coinbase"
|
|
5493
5504
|
})), /*#__PURE__*/ React__namespace.default.createElement(shadcn.ButtonAnchor, {
|
|
5494
5505
|
...commonButtonProps,
|
|
5495
|
-
icon: walletIcon(
|
|
5506
|
+
icon: walletIcon(StytchSSRProxy.Wallets.Binance),
|
|
5496
5507
|
href: "https://www.bnbchain.world/en/binance-wallet"
|
|
5497
5508
|
}, $__i18n._({
|
|
5498
5509
|
id: "crypto.wallet.binance",
|
|
@@ -5595,16 +5606,16 @@ const emailIcons = {
|
|
|
5595
5606
|
};
|
|
5596
5607
|
|
|
5597
5608
|
const PhoneFormSMS = ()=>/*#__PURE__*/ React__namespace.default.createElement(PhoneForm, {
|
|
5598
|
-
method:
|
|
5609
|
+
method: StytchSSRProxy.OTPMethods.SMS
|
|
5599
5610
|
});
|
|
5600
5611
|
const PhoneFormWhatsApp = ()=>/*#__PURE__*/ React__namespace.default.createElement(PhoneForm, {
|
|
5601
|
-
method:
|
|
5612
|
+
method: StytchSSRProxy.OTPMethods.WhatsApp
|
|
5602
5613
|
});
|
|
5603
5614
|
const MainWalletButtons = ()=>/*#__PURE__*/ React__namespace.default.createElement(CryptoWalletButtons, {
|
|
5604
5615
|
type: "main"
|
|
5605
5616
|
});
|
|
5606
5617
|
const FloatingOneTap = ()=>/*#__PURE__*/ React__namespace.default.createElement(GoogleOneTap, {
|
|
5607
|
-
position:
|
|
5618
|
+
position: StytchSSRProxy.OneTapPositions.floating
|
|
5608
5619
|
});
|
|
5609
5620
|
const emailMagicLinks = {
|
|
5610
5621
|
id: 'emailMagicLinks',
|
|
@@ -5636,9 +5647,9 @@ const otp = {
|
|
|
5636
5647
|
[AppScreens.OTPConfirmation]: OTPConfirmation
|
|
5637
5648
|
},
|
|
5638
5649
|
tabs: {
|
|
5639
|
-
[
|
|
5640
|
-
[
|
|
5641
|
-
[
|
|
5650
|
+
[StytchSSRProxy.OTPMethods.Email]: OTPEmailForm,
|
|
5651
|
+
[StytchSSRProxy.OTPMethods.SMS]: PhoneFormSMS,
|
|
5652
|
+
[StytchSSRProxy.OTPMethods.WhatsApp]: PhoneFormWhatsApp
|
|
5642
5653
|
},
|
|
5643
5654
|
mainScreen: {
|
|
5644
5655
|
'login-form': LoginForm
|
|
@@ -6078,6 +6089,9 @@ exports.StytchClient = index_headless.StytchClient;
|
|
|
6078
6089
|
exports.StytchHeadlessClient = index_headless.StytchHeadlessClient;
|
|
6079
6090
|
exports.createStytchClient = index_headless.createStytchClient;
|
|
6080
6091
|
exports.createStytchHeadlessClient = index_headless.createStytchHeadlessClient;
|
|
6092
|
+
exports.AuthFlowType = StytchSSRProxy.AuthFlowType;
|
|
6093
|
+
exports.B2BMFAProducts = StytchSSRProxy.B2BMFAProducts;
|
|
6094
|
+
exports.B2BOAuthProviders = StytchSSRProxy.B2BOAuthProviders;
|
|
6081
6095
|
exports.BiometricRegistrationIdIsNullOrBlank = StytchSSRProxy.BiometricRegistrationIdIsNullOrBlank;
|
|
6082
6096
|
exports.BiometricsAlreadyEnrolledError = StytchSSRProxy.BiometricsAlreadyEnrolledError;
|
|
6083
6097
|
exports.BiometricsFailedError = StytchSSRProxy.BiometricsFailedError;
|
|
@@ -6108,10 +6122,15 @@ exports.NoBiometricsEnrolledError = StytchSSRProxy.NoBiometricsEnrolledError;
|
|
|
6108
6122
|
exports.NoBiometricsRegistrationError = StytchSSRProxy.NoBiometricsRegistrationError;
|
|
6109
6123
|
exports.NoCredentialsPresentError = StytchSSRProxy.NoCredentialsPresentError;
|
|
6110
6124
|
exports.NoCurrentSessionError = StytchSSRProxy.NoCurrentSessionError;
|
|
6125
|
+
exports.OAuthProviders = StytchSSRProxy.OAuthProviders;
|
|
6126
|
+
exports.OTPMethods = StytchSSRProxy.OTPMethods;
|
|
6127
|
+
exports.OneTapPositions = StytchSSRProxy.OneTapPositions;
|
|
6111
6128
|
exports.PasskeysInvalidEncoding = StytchSSRProxy.PasskeysInvalidEncoding;
|
|
6112
6129
|
exports.PasskeysMisconfigured = StytchSSRProxy.PasskeysMisconfigured;
|
|
6113
6130
|
exports.PasskeysUnsupportedError = StytchSSRProxy.PasskeysUnsupportedError;
|
|
6131
|
+
exports.RNUIProducts = StytchSSRProxy.RNUIProducts;
|
|
6114
6132
|
exports.RandomNumberGenerationFailed = StytchSSRProxy.RandomNumberGenerationFailed;
|
|
6133
|
+
exports.RedirectURLType = StytchSSRProxy.RedirectURLType;
|
|
6115
6134
|
exports.SDKAPIUnreachableError = StytchSSRProxy.SDKAPIUnreachableError;
|
|
6116
6135
|
exports.SDKNotConfiguredError = StytchSSRProxy.SDKNotConfiguredError;
|
|
6117
6136
|
exports.SignInWithAppleMisconfigured = StytchSSRProxy.SignInWithAppleMisconfigured;
|
|
@@ -6119,6 +6138,7 @@ exports.StytchAPIError = StytchSSRProxy.StytchAPIError;
|
|
|
6119
6138
|
exports.StytchAPISchemaError = StytchSSRProxy.StytchAPISchemaError;
|
|
6120
6139
|
exports.StytchAPIUnreachableError = StytchSSRProxy.StytchAPIUnreachableError;
|
|
6121
6140
|
exports.StytchError = StytchSSRProxy.StytchError;
|
|
6141
|
+
exports.StytchEventType = StytchSSRProxy.StytchEventType;
|
|
6122
6142
|
exports.StytchSDKAPIError = StytchSSRProxy.StytchSDKAPIError;
|
|
6123
6143
|
exports.StytchSDKError = StytchSSRProxy.StytchSDKError;
|
|
6124
6144
|
exports.StytchSDKSchemaError = StytchSSRProxy.StytchSDKSchemaError;
|
|
@@ -6126,22 +6146,13 @@ exports.StytchSDKUsageError = StytchSSRProxy.StytchSDKUsageError;
|
|
|
6126
6146
|
exports.UNRECOVERABLE_ERROR_TYPES = StytchSSRProxy.UNRECOVERABLE_ERROR_TYPES;
|
|
6127
6147
|
exports.UserCancellationError = StytchSSRProxy.UserCancellationError;
|
|
6128
6148
|
exports.UserLockedOutError = StytchSSRProxy.UserLockedOutError;
|
|
6149
|
+
exports.Wallets = StytchSSRProxy.Wallets;
|
|
6129
6150
|
exports.errorToStytchError = StytchSSRProxy.errorToStytchError;
|
|
6130
6151
|
exports.defaultDarkTheme = shadcn.defaultDarkTheme;
|
|
6131
6152
|
exports.defaultTheme = shadcn.defaultTheme;
|
|
6132
6153
|
exports.iconsBlack = shadcn.iconsBlack;
|
|
6133
6154
|
exports.iconsWhite = shadcn.iconsWhite;
|
|
6134
6155
|
exports.shadcnTheme = shadcn.shadcnTheme;
|
|
6135
|
-
exports.AuthFlowType = idpHelpers.AuthFlowType;
|
|
6136
|
-
exports.B2BMFAProducts = idpHelpers.B2BMFAProducts;
|
|
6137
|
-
exports.B2BOAuthProviders = idpHelpers.B2BOAuthProviders;
|
|
6138
|
-
exports.OAuthProviders = idpHelpers.OAuthProviders;
|
|
6139
|
-
exports.OTPMethods = idpHelpers.OTPMethods;
|
|
6140
|
-
exports.OneTapPositions = idpHelpers.OneTapPositions;
|
|
6141
|
-
exports.RNUIProducts = idpHelpers.RNUIProducts;
|
|
6142
|
-
exports.RedirectURLType = idpHelpers.RedirectURLType;
|
|
6143
|
-
exports.StytchEventType = idpHelpers.StytchEventType;
|
|
6144
|
-
exports.Wallets = idpHelpers.Wallets;
|
|
6145
6156
|
exports.parseOAuthAuthorizeParams = idpHelpers.parseOAuthAuthorizeParams;
|
|
6146
6157
|
exports.parseOAuthLogoutParams = idpHelpers.parseOAuthLogoutParams;
|
|
6147
6158
|
exports.IdentityProvider = IdentityProvider;
|