content: import 'package:flutter/material.dart';
  
  class InputTextFormField extends StatefulWidget {
    final TextEditingController controller;
    final bool isSecureField;
    final bool autoCorrect;
    final String? hint;
    final EdgeInsets? contentPadding;
    final String? Function(String?)? validation;
    final double hintTextSize;
    final bool enable;
    final TextInputAction? textInputAction;
    final Function(String)? onFieldSubmitted;
    const InputTextFormField({
      super.key,
      required this.controller,
      this.isSecureField = false,
      this.autoCorrect = false,
      this.enable = true,
      this.hint,
      this.validation,
      this.contentPadding,
      this.textInputAction,
      this.hintTextSize = 14,
      this.onFieldSubmitted,
    });
  
    @override
    State<InputTextFormField> createState() => _InputTextFormFieldState();
  }
  
  class _InputTextFormFieldState extends State<InputTextFormField> {
    bool _passwordVisible = false;
    @override
    Widget build(BuildContext context) {
      return TextFormField(
        controller: widget.controller,
        obscureText: widget.isSecureField && !_passwordVisible,
        enableSuggestions: !widget.isSecureField,
        autocorrect: widget.autoCorrect,
        validator: widget.validation,
        autovalidateMode: AutovalidateMode.onUserInteraction,
        enabled: widget.enable,
        textInputAction: widget.textInputAction,
        onFieldSubmitted: widget.onFieldSubmitted,
        decoration: InputDecoration(
          filled: true,
          hintText: widget.hint,
          hintStyle: TextStyle(
            fontSize: widget.hintTextSize,
          ),
          contentPadding: widget.contentPadding,
          suffixIcon: widget.isSecureField
              ? IconButton(
                  icon: Icon(
                    _passwordVisible ? Icons.visibility : Icons.visibility_off,
                    color: Colors.black87,
                  ),
                  onPressed: () {
                    setState(() {
                      _passwordVisible = !_passwordVisible;
                    });
                  },
                )
              : null,
          border: OutlineInputBorder(
              borderRadius: BorderRadius.circular(12.0),
              borderSide: const BorderSide(
                color: Colors.transparent,
                width: 0.0,
              ),
          ),
        ),
      );
    }
  }
  