// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'password_visibility_provider.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Password Visibility State Provider
///
/// Manages the visibility state of password input fields.
/// Default state is false (password hidden).
///
/// Usage in login/register pages:
/// ```dart
/// class LoginPage extends ConsumerWidget {
///   @override
///   Widget build(BuildContext context, WidgetRef ref) {
///     final isPasswordVisible = ref.watch(passwordVisibilityProvider);
///
///     return TextField(
///       obscureText: !isPasswordVisible,
///       decoration: InputDecoration(
///         suffixIcon: IconButton(
///           icon: Icon(
///             isPasswordVisible ? Icons.visibility : Icons.visibility_off,
///           ),
///           onPressed: () {
///             ref.read(passwordVisibilityProvider.notifier).toggle();
///           },
///         ),
///       ),
///     );
///   }
/// }
/// ```

@ProviderFor(PasswordVisibility)
const passwordVisibilityProvider = PasswordVisibilityProvider._();

/// Password Visibility State Provider
///
/// Manages the visibility state of password input fields.
/// Default state is false (password hidden).
///
/// Usage in login/register pages:
/// ```dart
/// class LoginPage extends ConsumerWidget {
///   @override
///   Widget build(BuildContext context, WidgetRef ref) {
///     final isPasswordVisible = ref.watch(passwordVisibilityProvider);
///
///     return TextField(
///       obscureText: !isPasswordVisible,
///       decoration: InputDecoration(
///         suffixIcon: IconButton(
///           icon: Icon(
///             isPasswordVisible ? Icons.visibility : Icons.visibility_off,
///           ),
///           onPressed: () {
///             ref.read(passwordVisibilityProvider.notifier).toggle();
///           },
///         ),
///       ),
///     );
///   }
/// }
/// ```
final class PasswordVisibilityProvider
    extends $NotifierProvider<PasswordVisibility, bool> {
  /// Password Visibility State Provider
  ///
  /// Manages the visibility state of password input fields.
  /// Default state is false (password hidden).
  ///
  /// Usage in login/register pages:
  /// ```dart
  /// class LoginPage extends ConsumerWidget {
  ///   @override
  ///   Widget build(BuildContext context, WidgetRef ref) {
  ///     final isPasswordVisible = ref.watch(passwordVisibilityProvider);
  ///
  ///     return TextField(
  ///       obscureText: !isPasswordVisible,
  ///       decoration: InputDecoration(
  ///         suffixIcon: IconButton(
  ///           icon: Icon(
  ///             isPasswordVisible ? Icons.visibility : Icons.visibility_off,
  ///           ),
  ///           onPressed: () {
  ///             ref.read(passwordVisibilityProvider.notifier).toggle();
  ///           },
  ///         ),
  ///       ),
  ///     );
  ///   }
  /// }
  /// ```
  const PasswordVisibilityProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'passwordVisibilityProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$passwordVisibilityHash();

  @$internal
  @override
  PasswordVisibility create() => PasswordVisibility();

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(bool value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<bool>(value),
    );
  }
}

String _$passwordVisibilityHash() =>
    r'25b6fa914e42dd83c8443aecbeb1d608cccd00ab';

/// Password Visibility State Provider
///
/// Manages the visibility state of password input fields.
/// Default state is false (password hidden).
///
/// Usage in login/register pages:
/// ```dart
/// class LoginPage extends ConsumerWidget {
///   @override
///   Widget build(BuildContext context, WidgetRef ref) {
///     final isPasswordVisible = ref.watch(passwordVisibilityProvider);
///
///     return TextField(
///       obscureText: !isPasswordVisible,
///       decoration: InputDecoration(
///         suffixIcon: IconButton(
///           icon: Icon(
///             isPasswordVisible ? Icons.visibility : Icons.visibility_off,
///           ),
///           onPressed: () {
///             ref.read(passwordVisibilityProvider.notifier).toggle();
///           },
///         ),
///       ),
///     );
///   }
/// }
/// ```

abstract class _$PasswordVisibility extends $Notifier<bool> {
  bool build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref = this.ref as $Ref<bool, bool>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<bool, bool>,
              bool,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}

/// Confirm Password Visibility State Provider
///
/// Separate provider for confirm password field in registration forms.
/// This allows independent control of password and confirm password visibility.
///
/// Usage in registration page:
/// ```dart
/// final isConfirmPasswordVisible = ref.watch(confirmPasswordVisibilityProvider);
///
/// TextField(
///   obscureText: !isConfirmPasswordVisible,
///   decoration: InputDecoration(
///     labelText: 'Xác nhận mật khẩu',
///     suffixIcon: IconButton(
///       icon: Icon(
///         isConfirmPasswordVisible ? Icons.visibility : Icons.visibility_off,
///       ),
///       onPressed: () {
///         ref.read(confirmPasswordVisibilityProvider.notifier).toggle();
///       },
///     ),
///   ),
/// );
/// ```

@ProviderFor(ConfirmPasswordVisibility)
const confirmPasswordVisibilityProvider = ConfirmPasswordVisibilityProvider._();

/// Confirm Password Visibility State Provider
///
/// Separate provider for confirm password field in registration forms.
/// This allows independent control of password and confirm password visibility.
///
/// Usage in registration page:
/// ```dart
/// final isConfirmPasswordVisible = ref.watch(confirmPasswordVisibilityProvider);
///
/// TextField(
///   obscureText: !isConfirmPasswordVisible,
///   decoration: InputDecoration(
///     labelText: 'Xác nhận mật khẩu',
///     suffixIcon: IconButton(
///       icon: Icon(
///         isConfirmPasswordVisible ? Icons.visibility : Icons.visibility_off,
///       ),
///       onPressed: () {
///         ref.read(confirmPasswordVisibilityProvider.notifier).toggle();
///       },
///     ),
///   ),
/// );
/// ```
final class ConfirmPasswordVisibilityProvider
    extends $NotifierProvider<ConfirmPasswordVisibility, bool> {
  /// Confirm Password Visibility State Provider
  ///
  /// Separate provider for confirm password field in registration forms.
  /// This allows independent control of password and confirm password visibility.
  ///
  /// Usage in registration page:
  /// ```dart
  /// final isConfirmPasswordVisible = ref.watch(confirmPasswordVisibilityProvider);
  ///
  /// TextField(
  ///   obscureText: !isConfirmPasswordVisible,
  ///   decoration: InputDecoration(
  ///     labelText: 'Xác nhận mật khẩu',
  ///     suffixIcon: IconButton(
  ///       icon: Icon(
  ///         isConfirmPasswordVisible ? Icons.visibility : Icons.visibility_off,
  ///       ),
  ///       onPressed: () {
  ///         ref.read(confirmPasswordVisibilityProvider.notifier).toggle();
  ///       },
  ///     ),
  ///   ),
  /// );
  /// ```
  const ConfirmPasswordVisibilityProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'confirmPasswordVisibilityProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$confirmPasswordVisibilityHash();

  @$internal
  @override
  ConfirmPasswordVisibility create() => ConfirmPasswordVisibility();

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(bool value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<bool>(value),
    );
  }
}

String _$confirmPasswordVisibilityHash() =>
    r'8408bba9db1e8deba425f98015a4e2fa76d75eb8';

/// Confirm Password Visibility State Provider
///
/// Separate provider for confirm password field in registration forms.
/// This allows independent control of password and confirm password visibility.
///
/// Usage in registration page:
/// ```dart
/// final isConfirmPasswordVisible = ref.watch(confirmPasswordVisibilityProvider);
///
/// TextField(
///   obscureText: !isConfirmPasswordVisible,
///   decoration: InputDecoration(
///     labelText: 'Xác nhận mật khẩu',
///     suffixIcon: IconButton(
///       icon: Icon(
///         isConfirmPasswordVisible ? Icons.visibility : Icons.visibility_off,
///       ),
///       onPressed: () {
///         ref.read(confirmPasswordVisibilityProvider.notifier).toggle();
///       },
///     ),
///   ),
/// );
/// ```

abstract class _$ConfirmPasswordVisibility extends $Notifier<bool> {
  bool build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref = this.ref as $Ref<bool, bool>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<bool, bool>,
              bool,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}
