Widget nikoText({
required TextEditingController ctler,
required String label,
required Function(String? newValue) fnc,
final List<TextInputFormatter>? inputFormatters,
final String? Function(String?)? validator,
TextInputType? keyboardType,
int? maxLines,
int? minLines,
bool? obscureText,
bool? enabled,
}) {
return Focus(
onFocusChange: (hasFocus) {
if(hasFocus) {
ctler.selection = TextSelection.fromPosition(const TextPosition(offset: 0));
}
},
child: TextFormField(
readOnly: !(enabled ?? true),
obscureText: obscureText ?? false,
validator: validator,
inputFormatters: inputFormatters,
autovalidateMode: AutovalidateMode.onUserInteraction,
controller: ctler,
maxLines: maxLines ?? 1,
minLines: minLines ?? 1,
autofocus: true,
keyboardAppearance: Brightness.dark,
style: const TextStyle(
fontSize: 20,
),
onChanged: (String? newValue) => fnc(newValue),
keyboardType: keyboardType,
decoration: InputDecoration(
isDense: true,
border: const OutlineInputBorder(),
filled: true,
fillColor: Colors.white,
labelText: label,
hintText: ' ',
alignLabelWithHint: true,
suffixIconConstraints: const BoxConstraints(maxWidth: 23, minWidth: 10),
contentPadding: const EdgeInsets.symmetric(
vertical: 12,
horizontal: 4,
),
),
)
);
}