@aws-amplify/ui 6.9.1 → 6.10.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.
Files changed (44) hide show
  1. package/dist/esm/helpers/authenticator/facade.mjs +4 -2
  2. package/dist/esm/helpers/authenticator/formFields/defaults.mjs +4 -0
  3. package/dist/esm/helpers/authenticator/getRoute.mjs +4 -0
  4. package/dist/esm/helpers/authenticator/textUtil.mjs +30 -0
  5. package/dist/esm/i18n/dictionaries/authenticator/de.mjs +8 -0
  6. package/dist/esm/i18n/dictionaries/authenticator/defaultTexts.mjs +8 -0
  7. package/dist/esm/i18n/dictionaries/authenticator/en.mjs +8 -0
  8. package/dist/esm/i18n/dictionaries/authenticator/es.mjs +8 -0
  9. package/dist/esm/i18n/dictionaries/authenticator/fr.mjs +8 -0
  10. package/dist/esm/i18n/dictionaries/authenticator/he.mjs +8 -0
  11. package/dist/esm/i18n/dictionaries/authenticator/id.mjs +8 -0
  12. package/dist/esm/i18n/dictionaries/authenticator/it.mjs +8 -0
  13. package/dist/esm/i18n/dictionaries/authenticator/ja.mjs +8 -0
  14. package/dist/esm/i18n/dictionaries/authenticator/kr.mjs +8 -0
  15. package/dist/esm/i18n/dictionaries/authenticator/nb.mjs +8 -0
  16. package/dist/esm/i18n/dictionaries/authenticator/nl.mjs +8 -0
  17. package/dist/esm/i18n/dictionaries/authenticator/pl.mjs +8 -0
  18. package/dist/esm/i18n/dictionaries/authenticator/pt.mjs +8 -0
  19. package/dist/esm/i18n/dictionaries/authenticator/ru.mjs +8 -0
  20. package/dist/esm/i18n/dictionaries/authenticator/sv.mjs +8 -0
  21. package/dist/esm/i18n/dictionaries/authenticator/th.mjs +8 -0
  22. package/dist/esm/i18n/dictionaries/authenticator/tr.mjs +9 -1
  23. package/dist/esm/i18n/dictionaries/authenticator/ua.mjs +8 -0
  24. package/dist/esm/i18n/dictionaries/authenticator/zh.mjs +8 -0
  25. package/dist/esm/machines/authenticator/actions.mjs +22 -5
  26. package/dist/esm/machines/authenticator/actors/signIn.mjs +53 -49
  27. package/dist/esm/machines/authenticator/actors/signUp.mjs +2 -0
  28. package/dist/esm/machines/authenticator/actors/utils.mjs +13 -1
  29. package/dist/esm/machines/authenticator/guards.mjs +13 -1
  30. package/dist/esm/machines/authenticator/index.mjs +2 -1
  31. package/dist/esm/utils/utils.mjs +1 -1
  32. package/dist/index.js +306 -59
  33. package/dist/types/helpers/authenticator/facade.d.ts +4 -2
  34. package/dist/types/helpers/authenticator/textUtil.d.ts +7 -1
  35. package/dist/types/i18n/dictionaries/authenticator/defaultTexts.d.ts +8 -0
  36. package/dist/types/i18n/dictionaries/index.d.ts +8 -0
  37. package/dist/types/i18n/translations.d.ts +8 -0
  38. package/dist/types/machines/authenticator/actors/signIn.d.ts +2 -3
  39. package/dist/types/machines/authenticator/actors/signUp.d.ts +2 -3
  40. package/dist/types/machines/authenticator/actors/utils.d.ts +2 -0
  41. package/dist/types/machines/authenticator/types.d.ts +6 -3
  42. package/dist/types/types/authenticator/form.d.ts +1 -1
  43. package/dist/types/utils/utils.d.ts +1 -1
  44. package/package.json +2 -2
@@ -6,11 +6,12 @@
6
6
  import { Sender } from 'xstate';
7
7
  import { AuthUser } from 'aws-amplify/auth';
8
8
  import { FederatedProvider, LoginMechanism, SocialProvider, UnverifiedUserAttributes, ValidationError } from '../../types';
9
- import { AuthEvent, AuthEventData, AuthMachineState, ChallengeName, NavigableRoute, V5CodeDeliveryDetails } from '../../machines/authenticator/types';
10
- export type AuthenticatorRoute = 'authenticated' | 'confirmResetPassword' | 'confirmSignIn' | 'confirmSignUp' | 'confirmVerifyUser' | 'forceNewPassword' | 'idle' | 'forgotPassword' | 'setup' | 'signOut' | 'setupTotp' | 'signIn' | 'signUp' | 'transition' | 'verifyUser';
9
+ import { AuthEvent, AuthEventData, AuthMachineState, AuthMFAType, ChallengeName, NavigableRoute, V5CodeDeliveryDetails } from '../../machines/authenticator/types';
10
+ export type AuthenticatorRoute = 'authenticated' | 'confirmResetPassword' | 'confirmSignIn' | 'confirmSignUp' | 'confirmVerifyUser' | 'forceNewPassword' | 'idle' | 'forgotPassword' | 'setup' | 'signOut' | 'selectMfaType' | 'setupEmail' | 'setupTotp' | 'signIn' | 'signUp' | 'transition' | 'verifyUser';
11
11
  type AuthenticatorValidationErrors = ValidationError;
12
12
  export type AuthStatus = 'configuring' | 'authenticated' | 'unauthenticated';
13
13
  interface AuthenticatorServiceContextFacade {
14
+ allowedMfaTypes: AuthMFAType[] | undefined;
14
15
  authStatus: AuthStatus;
15
16
  challengeName: ChallengeName | undefined;
16
17
  codeDeliveryDetails: V5CodeDeliveryDetails;
@@ -30,6 +31,7 @@ type AuthenticatorSendEventAliases = Record<SendEventAlias, (data?: AuthEventDat
30
31
  export interface AuthenticatorServiceFacade extends AuthenticatorSendEventAliases, AuthenticatorServiceContextFacade {
31
32
  }
32
33
  interface NextAuthenticatorServiceContextFacade {
34
+ allowedMfaTypes: AuthMFAType[] | undefined;
33
35
  challengeName: ChallengeName | undefined;
34
36
  codeDeliveryDetails: V5CodeDeliveryDetails | undefined;
35
37
  errorMessage: string | undefined;
@@ -1,5 +1,5 @@
1
1
  import { SocialProvider } from '../../types';
2
- import { ChallengeName, V5CodeDeliveryDetails } from '../../machines/authenticator/types';
2
+ import { AuthMFAType, ChallengeName, V5CodeDeliveryDetails } from '../../machines/authenticator/types';
3
3
  import { AuthenticatorRoute } from './facade';
4
4
  export declare const authenticatorTextUtil: {
5
5
  /** Shared */
@@ -35,12 +35,18 @@ export declare const authenticatorTextUtil: {
35
35
  readonly getChallengeText: (challengeName?: ChallengeName) => string;
36
36
  /** ForgotPassword */
37
37
  readonly getResetYourPasswordText: () => string;
38
+ /** SetupEmail */
39
+ readonly getSetupEmailText: () => string;
38
40
  /** SetupTotp */
39
41
  readonly getSetupTotpText: () => string;
40
42
  readonly getSetupTotpInstructionsText: () => string;
41
43
  readonly getCopiedText: () => string;
42
44
  /** FederatedSignIn */
43
45
  readonly getSignInWithFederationText: (route: AuthenticatorRoute, provider: SocialProvider) => string;
46
+ /** SelectMfaType */
47
+ readonly getMfaTypeLabelByValue: (mfaType: AuthMFAType) => string;
48
+ readonly getSelectMfaTypeByChallengeName: (challengeName?: ChallengeName) => string;
49
+ readonly getSelectMfaTypeText: () => string;
44
50
  /** VerifyUser */
45
51
  readonly getSkipText: () => string;
46
52
  readonly getVerifyText: () => string;
@@ -15,6 +15,7 @@ export declare const defaultTexts: {
15
15
  CONFIRM_RESET_PASSWORD_HEADING: string;
16
16
  CONFIRM_SIGNUP_HEADING: string;
17
17
  CONFIRM_SMS: string;
18
+ CONFIRM_EMAIL: string;
18
19
  CONFIRM_MFA_DEFAULT: string;
19
20
  CONFIRM_TOTP: string;
20
21
  CONFIRM: string;
@@ -23,6 +24,7 @@ export declare const defaultTexts: {
23
24
  CREATE_ACCOUNT: string;
24
25
  CREATING_ACCOUNT: string;
25
26
  EMAIL_ADDRESS: string;
27
+ EMAIL_OTP: string;
26
28
  ENTER_BIRTHDATE: string;
27
29
  ENTER_CODE: string;
28
30
  ENTER_CONFIRMATION_CODE: string;
@@ -44,6 +46,8 @@ export declare const defaultTexts: {
44
46
  LOADING: string;
45
47
  LOGIN_NAME: string;
46
48
  MIDDLE_NAME: string;
49
+ MFA_SETUP_SELECTION: string;
50
+ MFA_SELECTION: string;
47
51
  NAME: string;
48
52
  NICKNAME: string;
49
53
  NEW_PASSWORD: string;
@@ -57,6 +61,8 @@ export declare const defaultTexts: {
57
61
  RESET_PASSWORD: string;
58
62
  SEND_CODE: string;
59
63
  SENDING: string;
64
+ SELECT_MFA_TYPE: string;
65
+ SETUP_EMAIL: string;
60
66
  SETUP_TOTP: string;
61
67
  SHOW_PASSWORD: string;
62
68
  SIGN_IN_BUTTON: string;
@@ -69,8 +75,10 @@ export declare const defaultTexts: {
69
75
  SIGN_UP_BUTTON: string;
70
76
  SIGNING_IN_BUTTON: string;
71
77
  SKIP: string;
78
+ SMS_MFA: string;
72
79
  SUBMIT: string;
73
80
  SUBMITTING: string;
81
+ SOFTWARE_TOKEN_MFA: string;
74
82
  UPPERCASE_COPY: string;
75
83
  VERIFY_CONTACT: string;
76
84
  VERIFY_HEADING: string;
@@ -1003,6 +1003,7 @@ export declare const defaultTexts: {
1003
1003
  CONFIRM_RESET_PASSWORD_HEADING: string;
1004
1004
  CONFIRM_SIGNUP_HEADING: string;
1005
1005
  CONFIRM_SMS: string;
1006
+ CONFIRM_EMAIL: string;
1006
1007
  CONFIRM_MFA_DEFAULT: string;
1007
1008
  CONFIRM_TOTP: string;
1008
1009
  CONFIRM: string;
@@ -1011,6 +1012,7 @@ export declare const defaultTexts: {
1011
1012
  CREATE_ACCOUNT: string;
1012
1013
  CREATING_ACCOUNT: string;
1013
1014
  EMAIL_ADDRESS: string;
1015
+ EMAIL_OTP: string;
1014
1016
  ENTER_BIRTHDATE: string;
1015
1017
  ENTER_CODE: string;
1016
1018
  ENTER_CONFIRMATION_CODE: string;
@@ -1032,6 +1034,8 @@ export declare const defaultTexts: {
1032
1034
  LOADING: string;
1033
1035
  LOGIN_NAME: string;
1034
1036
  MIDDLE_NAME: string;
1037
+ MFA_SETUP_SELECTION: string;
1038
+ MFA_SELECTION: string;
1035
1039
  NAME: string;
1036
1040
  NICKNAME: string;
1037
1041
  NEW_PASSWORD: string;
@@ -1045,6 +1049,8 @@ export declare const defaultTexts: {
1045
1049
  RESET_PASSWORD: string;
1046
1050
  SEND_CODE: string;
1047
1051
  SENDING: string;
1052
+ SELECT_MFA_TYPE: string;
1053
+ SETUP_EMAIL: string;
1048
1054
  SETUP_TOTP: string;
1049
1055
  SHOW_PASSWORD: string;
1050
1056
  SIGN_IN_BUTTON: string;
@@ -1057,8 +1063,10 @@ export declare const defaultTexts: {
1057
1063
  SIGN_UP_BUTTON: string;
1058
1064
  SIGNING_IN_BUTTON: string;
1059
1065
  SKIP: string;
1066
+ SMS_MFA: string;
1060
1067
  SUBMIT: string;
1061
1068
  SUBMITTING: string;
1069
+ SOFTWARE_TOKEN_MFA: string;
1062
1070
  UPPERCASE_COPY: string;
1063
1071
  VERIFY_CONTACT: string;
1064
1072
  VERIFY_HEADING: string;
@@ -26,6 +26,7 @@ export declare const DefaultTexts: {
26
26
  readonly CONFIRM_RESET_PASSWORD_HEADING: string;
27
27
  readonly CONFIRM_SIGNUP_HEADING: string;
28
28
  readonly CONFIRM_SMS: string;
29
+ readonly CONFIRM_EMAIL: string;
29
30
  readonly CONFIRM_MFA_DEFAULT: string;
30
31
  readonly CONFIRM_TOTP: string;
31
32
  readonly CONFIRM: string;
@@ -34,6 +35,7 @@ export declare const DefaultTexts: {
34
35
  readonly CREATE_ACCOUNT: string;
35
36
  readonly CREATING_ACCOUNT: string;
36
37
  readonly EMAIL_ADDRESS: string;
38
+ readonly EMAIL_OTP: string;
37
39
  readonly ENTER_BIRTHDATE: string;
38
40
  readonly ENTER_CODE: string;
39
41
  readonly ENTER_CONFIRMATION_CODE: string;
@@ -55,6 +57,8 @@ export declare const DefaultTexts: {
55
57
  readonly LOADING: string;
56
58
  readonly LOGIN_NAME: string;
57
59
  readonly MIDDLE_NAME: string;
60
+ readonly MFA_SETUP_SELECTION: string;
61
+ readonly MFA_SELECTION: string;
58
62
  readonly NAME: string;
59
63
  readonly NICKNAME: string;
60
64
  readonly NEW_PASSWORD: string;
@@ -68,6 +72,8 @@ export declare const DefaultTexts: {
68
72
  readonly RESET_PASSWORD: string;
69
73
  readonly SEND_CODE: string;
70
74
  readonly SENDING: string;
75
+ readonly SELECT_MFA_TYPE: string;
76
+ readonly SETUP_EMAIL: string;
71
77
  readonly SETUP_TOTP: string;
72
78
  readonly SHOW_PASSWORD: string;
73
79
  readonly SIGN_IN_BUTTON: string;
@@ -80,8 +86,10 @@ export declare const DefaultTexts: {
80
86
  readonly SIGN_UP_BUTTON: string;
81
87
  readonly SIGNING_IN_BUTTON: string;
82
88
  readonly SKIP: string;
89
+ readonly SMS_MFA: string;
83
90
  readonly SUBMIT: string;
84
91
  readonly SUBMITTING: string;
92
+ readonly SOFTWARE_TOKEN_MFA: string;
85
93
  readonly UPPERCASE_COPY: string;
86
94
  readonly VERIFY_CONTACT: string;
87
95
  readonly VERIFY_HEADING: string;
@@ -1,7 +1,6 @@
1
- import { defaultServices } from '../defaultServices';
2
- import { AuthEvent, SignInContext } from '../types';
1
+ import { AuthEvent, SignInContext, AuthContext } from '../types';
3
2
  export interface SignInMachineOptions {
4
- services?: Partial<typeof defaultServices>;
3
+ services?: AuthContext['services'];
5
4
  }
6
5
  export declare function signInActor({ services }: SignInMachineOptions): import("xstate").StateMachine<SignInContext, any, AuthEvent, {
7
6
  value: any;
@@ -1,7 +1,6 @@
1
- import { AuthEvent, SignUpContext } from '../types';
2
- import { defaultServices } from '../defaultServices';
1
+ import { AuthContext, AuthEvent, SignUpContext } from '../types';
3
2
  export type SignUpMachineOptions = {
4
- services?: Partial<typeof defaultServices>;
3
+ services?: AuthContext['services'];
5
4
  };
6
5
  export declare function signUpActor({ services }: SignUpMachineOptions): import("xstate").StateMachine<SignUpContext, any, AuthEvent, {
7
6
  value: any;
@@ -1,3 +1,4 @@
1
+ import { Step } from '../types';
1
2
  export declare const getFederatedSignInState: (target: 'signIn' | 'signUp') => {
2
3
  entry: string[];
3
4
  invoke: {
@@ -11,3 +12,4 @@ export declare const getFederatedSignInState: (target: 'signIn' | 'signUp') => {
11
12
  };
12
13
  };
13
14
  };
15
+ export declare const getConfirmSignInFormValuesKey: (signInStep: Step) => 'confirmation_code' | 'mfa_type' | 'email';
@@ -2,7 +2,8 @@ import { State } from 'xstate';
2
2
  import { AuthUser } from 'aws-amplify/auth';
3
3
  import { LoginMechanism, SignUpAttribute, SocialProvider, UnverifiedUserAttributes, AuthFormData, AuthFormFields, AuthTouchData, ValidationError, PasswordSettings } from '../../types';
4
4
  import { defaultServices } from './defaultServices';
5
- export type ChallengeName = 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA' | 'SELECT_MFA_TYPE' | 'MFA_SETUP' | 'PASSWORD_VERIFIER' | 'CUSTOM_CHALLENGE' | 'DEVICE_SRP_AUTH' | 'DEVICE_PASSWORD_VERIFIER' | 'ADMIN_NO_SRP_AUTH' | 'NEW_PASSWORD_REQUIRED';
5
+ export type ChallengeName = 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA' | 'EMAIL_OTP' | 'SELECT_MFA_TYPE' | 'MFA_SETUP' | 'PASSWORD_VERIFIER' | 'CUSTOM_CHALLENGE' | 'DEVICE_SRP_AUTH' | 'DEVICE_PASSWORD_VERIFIER' | 'ADMIN_NO_SRP_AUTH' | 'NEW_PASSWORD_REQUIRED';
6
+ export type AuthMFAType = 'SMS' | 'TOTP' | 'EMAIL';
6
7
  /**
7
8
  * `AuthDeliveryMedium` is deeply nested in the v6 types, added this as utility
8
9
  */
@@ -58,6 +59,7 @@ export interface ActorDoneData {
58
59
  totpSecretCode?: string;
59
60
  username?: string;
60
61
  unverifiedUserAttributes?: UnverifiedUserAttributes;
62
+ allowedMfaTypes?: AuthMFAType[];
61
63
  }
62
64
  /**
63
65
  * Context interface for the top-level machine
@@ -79,11 +81,11 @@ export interface AuthContext {
79
81
  hasSetup?: boolean;
80
82
  }
81
83
  export type InitialStep = 'FORGOT_PASSWORD' | 'SIGN_IN' | 'SIGN_UP';
82
- export type SignInStep = 'CONFIRM_SIGN_IN_WITH_SMS_CODE' | 'CONFIRM_SIGN_IN_WITH_TOTP_CODE' | 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED' | 'CONFIRM_SIGN_UP' | 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP' | 'RESET_PASSWORD' | 'SIGN_IN_COMPLETE';
84
+ export type SignInStep = 'CONFIRM_SIGN_IN_WITH_EMAIL_CODE' | 'CONFIRM_SIGN_IN_WITH_SMS_CODE' | 'CONFIRM_SIGN_IN_WITH_TOTP_CODE' | 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED' | 'CONFIRM_SIGN_UP' | 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP' | 'CONTINUE_SIGN_IN_WITH_EMAIL_SETUP' | 'CONTINUE_SIGN_IN_WITH_MFA_SETUP_SELECTION' | 'CONTINUE_SIGN_IN_WITH_MFA_SELECTION' | 'RESET_PASSWORD' | 'SIGN_IN_COMPLETE';
83
85
  export type ResetPasswordStep = 'CONFIRM_RESET_PASSWORD_WITH_CODE' | 'RESET_PASSWORD_COMPLETE';
84
86
  export type SignUpStep = 'CONFIRM_SIGN_UP' | 'COMPLETE_AUTO_SIGN_IN' | 'SIGN_UP_COMPLETE';
85
87
  export type UserAttributeStep = 'SHOULD_CONFIRM_USER_ATTRIBUTE' | 'CONFIRM_ATTRIBUTE_WITH_CODE' | 'CONFIRM_ATTRIBUTE_COMPLETE';
86
- type Step = InitialStep | SignInStep | SignUpStep | ResetPasswordStep | UserAttributeStep;
88
+ export type Step = InitialStep | SignInStep | SignUpStep | ResetPasswordStep | UserAttributeStep;
87
89
  /**
88
90
  * Base context for all actors that have auth forms associated
89
91
  */
@@ -94,6 +96,7 @@ interface BaseFormContext {
94
96
  step: Step;
95
97
  totpSecretCode?: string;
96
98
  unverifiedUserAttributes?: UnverifiedUserAttributes;
99
+ allowedMfaTypes?: AuthMFAType[];
97
100
  username?: string;
98
101
  selectedUserAttribute?: string;
99
102
  user?: AuthUser;
@@ -8,7 +8,7 @@ export type AuthTouchData = Record<string, boolean>;
8
8
  /**
9
9
  * List of routes that support custom formFields
10
10
  */
11
- export type FormFieldComponents = 'signIn' | 'signUp' | 'forceNewPassword' | 'confirmResetPassword' | 'confirmSignIn' | 'confirmSignUp' | 'confirmVerifyUser' | 'forgotPassword' | 'setupTotp';
11
+ export type FormFieldComponents = 'signIn' | 'signUp' | 'forceNewPassword' | 'confirmResetPassword' | 'confirmSignIn' | 'confirmSignUp' | 'confirmVerifyUser' | 'forgotPassword' | 'setupEmail' | 'setupTotp';
12
12
  /**
13
13
  * Used to customize form field attributes for each authenticator screen.
14
14
  */
@@ -127,7 +127,7 @@ export declare const classNameModifierByFlag: (base: string, modifier: Modifiers
127
127
  * @param {(value: string) => string} template callback format param
128
128
  * @returns formatted string array
129
129
  */
130
- export declare function templateJoin(values: string[], template: (value: string) => string): string;
130
+ export declare function templateJoin(values: string[], template: (value: string, index: number, values: string[]) => string): string;
131
131
  /**
132
132
  * A function that does nothing
133
133
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui",
3
- "version": "6.9.1",
3
+ "version": "6.10.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {
@@ -70,4 +70,4 @@
70
70
  "sideEffects": [
71
71
  "dist/**/*.css"
72
72
  ]
73
- }
73
+ }