vyuh_feature_auth
Authentication UI and content configurations consume the AuthPlugin capability. Include the feature and an appropriate auth provider to support the sign-in methods your app exposes.
How the pieces fit together
Choose a declaration
AuthActionButton · AuthActionType · AuthFlow · AuthFlowScope · AuthFlowState · AuthFormBuilder · AuthState · AuthUserCardLayout · DefaultEmailPasswordFormLayout · DefaultPhoneOtpFormLayout · DefaultUsernamePasswordFormLayout · EmailField · EmailPasswordForm · EmailPasswordFormDescriptor · EmailPasswordView · ErrorBuilder · ErrorText · ForgotPasswordForm · ForgotPasswordFormLayout · ForgotPasswordView · HintAction · HintActionAlignment · HintActionText · HintActionTextDefaultLayout · HintActionTextDescriptor · LoaderButton · OAuthLayoutType · OAuthSignIn · OAuthSignInDescriptor · OAuthSignInLayout · OAuthSignInView · OtpInputField · PasswordField · PhoneInputField · PhoneOtpForm · PhoneOtpFormDescriptor · ProfileCard · ProfileCardLayout · ProfileFormDescriptor · ScopedWidgetBuilder · UsernameField · UsernamePasswordForm · UsernamePasswordFormDescriptor · UsernamePasswordView · descriptor · emailAuthForm · emailControlName · emailPasswordAuthForm · feature · otpControlName · passwordControlName · phoneControlName · phoneOtpAuthForm · usernameControlName · usernamePasswordAuthForm
AuthActionButton
Public declaration in this package.
final class AuthActionButton extends StatelessWidgetDirectly declared public members:
final void Function(BuildContext context) onPressed;final String? title;final Icon? icon;final ButtonStyle? buttonStyle;final AuthFlowScope scope;final bool showError;final Axis direction;final ErrorBuilder? errorBuilder;const AuthActionButton({super.key, this.title, required this.onPressed, this.buttonStyle, this.icon, this.direction = Axis.vertical, required this.scope, this.showError = true, this.errorBuilder});Widget build(BuildContext context);AuthActionType
Public declaration in this package.
enum AuthActionTypeDirectly declared public members:
String get title;AuthFlow
Public declaration in this package.
final class AuthFlow extends StatefulWidgetDirectly declared public members:
final ScopedWidgetBuilder builder;const AuthFlow({super.key, required this.builder});State<AuthFlow> createState();AuthFlowScope
Public declaration in this package.
final class AuthFlowScopeDirectly declared public members:
final AuthState authState;final dynamic error;final Function(Future<void> Function() action, {AuthState endState}) runAuthAction;AuthFlowScope({required this.authState, required this.error, required this.runAuthAction});AuthFlowState
Public declaration in this package.
class AuthFlowState extends State<AuthFlow>Directly declared public members:
final dynamic authState;dynamic error;void initState();void dispose();Widget build(BuildContext context);void runAuthAction(Future<void> Function() action, {AuthState endState = AuthState.signedIn});AuthFormBuilder
Public declaration in this package.
final class AuthFormBuilder extends StatelessWidgetDirectly declared public members:
final FormGroup Function() form;final Widget Function(BuildContext, AuthFlowScope, VoidCallback submit) child;final Widget Function(BuildContext, AuthFlowScope)? footer;final String actionTitle;final Future<void> Function(FormGroup) authAction;final AuthState endAuthState;final bool showError;final ErrorBuilder? errorBuilder;const AuthFormBuilder({super.key, required this.form, required this.child, required this.actionTitle, this.footer, required this.authAction, required this.endAuthState, this.showError = true, this.errorBuilder});Widget build(BuildContext context);AuthState
Public declaration in this package.
enum AuthStateAuthUserCardLayout
Public declaration in this package.
final class AuthUserCardLayout extends LayoutConfiguration<vf.Card>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;AuthUserCardLayout();Widget build(BuildContext context, vf.Card content);DefaultEmailPasswordFormLayout
Public declaration in this package.
final class DefaultEmailPasswordFormLayout extends LayoutConfiguration<EmailPasswordForm>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultEmailPasswordFormLayout();factory DefaultEmailPasswordFormLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, EmailPasswordForm content);DefaultPhoneOtpFormLayout
Public declaration in this package.
final class DefaultPhoneOtpFormLayout extends LayoutConfiguration<PhoneOtpForm>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultPhoneOtpFormLayout();factory DefaultPhoneOtpFormLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, PhoneOtpForm content);DefaultUsernamePasswordFormLayout
Public declaration in this package.
final class DefaultUsernamePasswordFormLayout extends LayoutConfiguration<UsernamePasswordForm>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultUsernamePasswordFormLayout();factory DefaultUsernamePasswordFormLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, UsernamePasswordForm content);EmailField
Public declaration in this package.
class EmailField extends StatelessWidgetDirectly declared public members:
final void Function() submit;const EmailField({super.key, required this.submit});Widget build(BuildContext context);EmailPasswordForm
Public declaration in this package.
final class EmailPasswordForm extends ContentItemDirectly declared public members:
final bool showPasswordVisibilityToggle;final AuthActionType actionType;final bool showLoginError;final Action? action;final Action? forgotPasswordAction;final Action? signupAction;final Action? loginAction;static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;EmailPasswordForm({this.showPasswordVisibilityToggle = false, this.actionType = AuthActionType.signIn, this.showLoginError = true, this.action, this.forgotPasswordAction, this.signupAction, this.loginAction, super.layout, super.modifiers});factory EmailPasswordForm.fromJson(Map<String, dynamic> json);EmailPasswordFormDescriptor
Public declaration in this package.
final class EmailPasswordFormDescriptor extends ContentDescriptorDirectly declared public members:
EmailPasswordFormDescriptor({super.layouts});EmailPasswordView
Public declaration in this package.
class EmailPasswordView extends StatelessWidgetDirectly declared public members:
final EmailPasswordForm content;const EmailPasswordView({super.key, required this.content});Widget build(BuildContext context);ErrorBuilder
Public declaration in this package.
typedef ErrorBuilder = Widget Function(BuildContext context, Object? error);ErrorText
Public declaration in this package.
class ErrorText extends StatelessWidgetDirectly declared public members:
final dynamic error;const ErrorText({super.key, this.error});Widget build(BuildContext context);ForgotPasswordForm
Public declaration in this package.
final class ForgotPasswordForm extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final bool showLoginError;final Action? action;final Action? returnAction;ForgotPasswordForm({this.action, this.returnAction, this.showLoginError = true, super.layout, super.modifiers});factory ForgotPasswordForm.fromJson(Map<String, dynamic> json);ForgotPasswordFormLayout
Public declaration in this package.
final class ForgotPasswordFormLayout extends LayoutConfiguration<ForgotPasswordForm>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;ForgotPasswordFormLayout();factory ForgotPasswordFormLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, ForgotPasswordForm content);ForgotPasswordView
Public declaration in this package.
class ForgotPasswordView extends StatelessWidgetDirectly declared public members:
final String? email;final ForgotPasswordForm content;const ForgotPasswordView({super.key, this.email, required this.content});Widget build(BuildContext context);HintAction
Public declaration in this package.
class HintAction extends StatelessWidgetDirectly declared public members:
final Widget hintLabel;final Widget actionLabel;final void Function(BuildContext) onTap;final WrapAlignment alignment;const HintAction({super.key, required this.hintLabel, required this.actionLabel, required this.onTap, this.alignment = WrapAlignment.center});static Widget defaultHintLabel(BuildContext context, String label);static Widget defaultActionLabel(BuildContext context, String label);Widget build(BuildContext context);HintActionAlignment
Public declaration in this package.
enum HintActionAlignmentDirectly declared public members:
WrapAlignment get wrapAlignment;HintActionText
Public declaration in this package.
final class HintActionText extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final String hint;final Action? action;final HintActionAlignment alignment;HintActionText({super.layout, required this.hint, this.action, this.alignment = HintActionAlignment.center, super.modifiers});factory HintActionText.fromJson(Map<String, dynamic> json);HintActionTextDefaultLayout
Public declaration in this package.
final class HintActionTextDefaultLayout extends LayoutConfiguration<HintActionText>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;HintActionTextDefaultLayout();factory HintActionTextDefaultLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, HintActionText content);HintActionTextDescriptor
Public declaration in this package.
final class HintActionTextDescriptor extends ContentDescriptorDirectly declared public members:
HintActionTextDescriptor({super.layouts = const []});LoaderButton
Public declaration in this package.
final class LoaderButton extends StatelessWidgetDirectly declared public members:
final String? title;final void Function() onPressed;final bool loading;final Icon? icon;final ButtonStyle? buttonStyle;const LoaderButton({super.key, this.title, required this.onPressed, this.loading = false, this.icon, this.buttonStyle});Widget build(BuildContext context);OAuthLayoutType
Public declaration in this package.
enum OAuthLayoutTypeOAuthSignIn
Public declaration in this package.
final class OAuthSignIn extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final List<OAuthType> authTypes;final bool showLoginError;final Action? action;OAuthSignIn({this.authTypes = const [], this.showLoginError = true, this.action, super.layout, super.modifiers});factory OAuthSignIn.fromJson(Map<String, dynamic> json);OAuthSignInDescriptor
Public declaration in this package.
final class OAuthSignInDescriptor extends ContentDescriptorDirectly declared public members:
OAuthSignInDescriptor({super.layouts});OAuthSignInLayout
Public declaration in this package.
final class OAuthSignInLayout extends LayoutConfiguration<OAuthSignIn>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final OAuthLayoutType type;final Axis direction;OAuthSignInLayout({this.type = OAuthLayoutType.iconText, this.direction = Axis.vertical});factory OAuthSignInLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, OAuthSignIn content);OAuthSignInView
Public declaration in this package.
class OAuthSignInView extends StatefulWidgetDirectly declared public members:
final OAuthSignIn content;final OAuthSignInLayout layout;const OAuthSignInView({super.key, required this.content, required this.layout});State<OAuthSignInView> createState();OtpInputField
Public declaration in this package.
class OtpInputField extends StatelessWidgetDirectly declared public members:
final String labelText;final void Function(BuildContext) submit;const OtpInputField({super.key, required this.submit, this.labelText = 'OTP'});Widget build(BuildContext context);PasswordField
Public declaration in this package.
class PasswordField extends StatefulWidgetDirectly declared public members:
final bool showPasswordVisibilityToggle;final bool autofocus;final void Function() submit;const PasswordField({super.key, this.showPasswordVisibilityToggle = false, this.autofocus = false, required this.submit});State<PasswordField> createState();PhoneInputField
Public declaration in this package.
class PhoneInputField extends StatelessWidgetDirectly declared public members:
final String labelText;final void Function(BuildContext) submit;const PhoneInputField({super.key, required this.submit, this.labelText = 'Phone Number'});Widget build(BuildContext context);PhoneOtpForm
Public declaration in this package.
final class PhoneOtpForm extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final bool showLoginError;final Action? action;final Action? getOtpAction;final Action? signupAction;PhoneOtpForm({this.action, this.getOtpAction, this.signupAction, this.showLoginError = true, super.layout, super.modifiers});factory PhoneOtpForm.fromJson(Map<String, dynamic> json);PhoneOtpFormDescriptor
Public declaration in this package.
final class PhoneOtpFormDescriptor extends ContentDescriptorDirectly declared public members:
PhoneOtpFormDescriptor({super.layouts});ProfileCard
Public declaration in this package.
final class ProfileCard extends ContentItemDirectly declared public members:
final Action? logoutAction;final Action? loginAction;static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;ProfileCard({this.loginAction, this.logoutAction, super.layout, super.modifiers});factory ProfileCard.fromJson(Map<String, dynamic> json);ProfileCardLayout
Public declaration in this package.
final class ProfileCardLayout extends LayoutConfiguration<ProfileCard>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;ProfileCardLayout();factory ProfileCardLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, ProfileCard content);ProfileFormDescriptor
Public declaration in this package.
final class ProfileFormDescriptor extends ContentDescriptorDirectly declared public members:
ProfileFormDescriptor({super.layouts});ScopedWidgetBuilder
Public declaration in this package.
typedef ScopedWidgetBuilder = Widget Function(BuildContext context, AuthFlowScope scope);UsernameField
Public declaration in this package.
class UsernameField extends StatelessWidgetDirectly declared public members:
final void Function() submit;const UsernameField({super.key, required this.submit});Widget build(BuildContext context);UsernamePasswordForm
Public declaration in this package.
final class UsernamePasswordForm extends ContentItemDirectly declared public members:
final bool showPasswordVisibilityToggle;final AuthActionType actionType;final bool showLoginError;final Action? action;final Action? forgotPasswordAction;final Action? signupAction;final Action? loginAction;static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;UsernamePasswordForm({this.showPasswordVisibilityToggle = false, this.actionType = AuthActionType.signIn, this.showLoginError = true, this.action, this.forgotPasswordAction, this.signupAction, this.loginAction, super.layout, super.modifiers});factory UsernamePasswordForm.fromJson(Map<String, dynamic> json);UsernamePasswordFormDescriptor
Public declaration in this package.
final class UsernamePasswordFormDescriptor extends ContentDescriptorDirectly declared public members:
UsernamePasswordFormDescriptor({super.layouts});UsernamePasswordView
Public declaration in this package.
class UsernamePasswordView extends StatelessWidgetDirectly declared public members:
final UsernamePasswordForm content;const UsernamePasswordView({super.key, required this.content});Widget build(BuildContext context);descriptor
Public declaration in this package.
final descriptor = ContentExtensionDescriptor( contents: [ CardDescriptor(layouts: [AuthUserCardLayout.typeDescriptor]), ], contentBuilders: [ EmailPasswordForm.contentBuilder, UsernamePasswordForm.contentBuilder, ProfileCard.contentBuilder, ForgotPasswordForm.contentBuilder, OAuthSignIn.contentBuilder, PhoneOtpForm.contentBuilder, HintActionText.contentBuilder, ], );emailAuthForm
Public declaration in this package.
FormGroup emailAuthForm({String? email})emailControlName
Public declaration in this package.
const emailControlName = 'email';emailPasswordAuthForm
Public declaration in this package.
FormGroup emailPasswordAuthForm({String? email})feature
Public declaration in this package.
FeatureDescriptor feature({List<go.RouteBase> Function()? routes})otpControlName
Public declaration in this package.
const otpControlName = 'otp';passwordControlName
Public declaration in this package.
const passwordControlName = 'password';phoneControlName
Public declaration in this package.
const phoneControlName = 'phone';phoneOtpAuthForm
Public declaration in this package.
FormGroup phoneOtpAuthForm()usernameControlName
Public declaration in this package.
const usernameControlName = 'username';usernamePasswordAuthForm
Public declaration in this package.
FormGroup usernamePasswordAuthForm({String? username})