in packages/amplify_authenticator/lib/src/widgets/form.dart [294:353]
List<SignUpFormField> runtimeFields(BuildContext context) {
final authConfig = InheritedConfig.of(context)
.amplifyConfig
?.auth
?.awsPlugin
?.auth
?.default$;
final runtimeAttributes = [
...?authConfig?.signupAttributes,
...?authConfig?.verificationMechanisms,
];
if (runtimeAttributes.isEmpty) {
return const [];
}
return runtimeAttributes
.map((attr) {
if (attr == CognitoUserAttributeKey.address) {
return SignUpFormField.address(required: true);
}
if (attr == CognitoUserAttributeKey.birthdate) {
return SignUpFormField.birthdate(required: true);
}
if (attr == CognitoUserAttributeKey.email) {
if (selectedUsernameType == UsernameType.email) {
return null;
}
return SignUpFormField.email(required: true);
}
if (attr == CognitoUserAttributeKey.familyName) {
return SignUpFormField.familyName(required: true);
}
if (attr == CognitoUserAttributeKey.middleName) {
return SignUpFormField.middleName(required: true);
}
if (attr == CognitoUserAttributeKey.gender) {
return SignUpFormField.gender(required: true);
}
if (attr == CognitoUserAttributeKey.givenName) {
return SignUpFormField.givenName(required: true);
}
if (attr == CognitoUserAttributeKey.name) {
return SignUpFormField.name(required: true);
}
if (attr == CognitoUserAttributeKey.nickname) {
return SignUpFormField.nickname(required: true);
}
if (attr == CognitoUserAttributeKey.phoneNumber) {
if (selectedUsernameType == UsernameType.phoneNumber) {
return null;
}
return SignUpFormField.phoneNumber(required: true);
}
if (attr == CognitoUserAttributeKey.preferredUsername) {
return SignUpFormField.preferredUsername(required: true);
}
})
.whereType<SignUpFormField>()
.toList();
}