import { lowerCaseValidator, numberValidator, symbolValidator, upperCaseValidator, } from "#/utils/validators"; import { PasswordComplexityPolicy } from "@zitadel/server"; type Props = { passwordComplexityPolicy: PasswordComplexityPolicy; password: string; equals: boolean; }; const check = ( ); const cross = ( ); const desc = "text-14px leading-4 text-input-light-label dark:text-input-dark-label"; export default function PasswordComplexity({ passwordComplexityPolicy, password, equals, }: Props) { const hasMinLength = password?.length >= passwordComplexityPolicy.minLength; const hasSymbol = symbolValidator(password); const hasNumber = numberValidator(password); const hasUppercase = upperCaseValidator(password); const hasLowercase = lowerCaseValidator(password); return (
{hasMinLength ? check : cross} Password length {passwordComplexityPolicy.minLength}
{hasSymbol ? check : cross} has Symbol
{hasNumber ? check : cross} has Number
{hasUppercase ? check : cross} has uppercase
{hasLowercase ? check : cross} has lowercase
{equals ? check : cross} equals
); }