A Flutter package to visually assess the strength of a password using a customizable strength bar
password_strength_indicator
A Flutter package to visually assess the strength of a password using a customizable strength bar.
Features
- Visual representation of password strength using a strength bar.
- Customize the width, thickness, radius, and colors of the strength bar.
- Control the animation duration and curve for a smooth user experience.
- Define a callback function to receive the strength value of the password.
- Implement a custom strength builder to calculate the strength of the password based on your own criteria.
- Choose from different styles for the appearance of the strength bar.
Screenshots
Installation
To use this package, add password_strength_indicator
as a dependency in your pubspec.yaml
file.
Usage
Import the package:
import 'package:password_strength_indicator/password_strength_indicator.dart';
To use the PasswordStrengthIndicator
widget, simply provide the desired parameters:
PasswordStrengthIndicator(
width: 200, // Change the width of the strength bar
thickness: 12, // Change the thickness of the strength bar
backgroundColor: Colors.grey, // Change the background color of the strength bar
radius: 8, // Change the radius of the strength bar
colors: StrengthColors(
// Customize the colors of the strength bar
weak: Colors.orange,
medium: Colors.yellow,
strong: Colors.green,
),
duration: Duration(milliseconds: 300), // Set the animation duration
curve: Curves.easeOut, // Set the animation curve
callback: (double strength) {
// Receive the strength value of the password
print('Password Strength: $strength');
},
strengthBuilder: (String password) {
// Implement a custom strength builder to calculate the strength based on your criteria
// Return a value between 0.0 (too weak) and 1.0 (very strong)
// Example:
return password.length / 10;
},
style: StrengthBarStyle.line, // Choose a style for the strength bar
),
Contribution
Contributions to this package are welcome! If you find a bug or have any suggestions, feel free to open an issue or submit a pull request on the GitHub repository.
License
This package is released under the MIT License. See LICENSE for details.
Developed with ❤️ by Thaanu Perera
If you find this package helpful, consider giving it a ⭐ on pub.dev. Happy coding!