defaultObscureIconBuilder static method

Widget defaultObscureIconBuilder(
  1. BuildContext context,
  2. FTextFieldStyle style,
  3. ValueNotifier<bool> obscure,
  4. Set<FTextFieldVariant> variants,
)

The default toggle builder that shows an eye icon to toggle password visibility.

Implementation

static Widget defaultObscureIconBuilder(
  BuildContext context,
  FTextFieldStyle style,
  ValueNotifier<bool> obscure,
  Set<FTextFieldVariant> variants,
) {
  final localizations = FLocalizations.of(context) ?? FDefaultLocalizations();
  return Padding(
    padding: style.obscureButtonPadding,
    child: FButton.icon(
      style: style.obscureButtonStyle,
      onPress: variants.contains(FTextFieldVariant.disabled) ? null : () => obscure.value = !obscure.value,
      child: Icon(
        obscure.value ? FIcons.eye : FIcons.eyeClosed,
        semanticLabel: obscure.value
            ? localizations.passwordFieldUnobscureTextButtonSemanticsLabel
            : localizations.passwordFieldObscureTextButtonSemanticsLabel,
      ),
    ),
  );
}