// ignore_for_file: public_member_api_docs import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:prasule/pw/platformwidget.dart'; /// A [PlatformWidget] implementation of a text field class PlatformField extends PlatformWidget { const PlatformField({ super.key, this.controller, this.enabled, this.labelText, this.obscureText = false, this.autocorrect = false, this.keyboardType, this.inputFormatters = const [], this.onChanged, this.autofillHints, this.textStyle, this.textAlign = TextAlign.start, this.maxLines = 1, this.focusNode, this.inputBorder = const OutlineInputBorder(), }); final TextEditingController? controller; final bool? enabled; final bool obscureText; final String? labelText; final bool autocorrect; final TextInputType? keyboardType; final List inputFormatters; final void Function(String)? onChanged; final List? autofillHints; final TextStyle? textStyle; final TextAlign textAlign; final int? maxLines; final InputBorder inputBorder; final FocusNode? focusNode; @override TextField createAndroidWidget(BuildContext context) => TextField( textAlign: textAlign, controller: controller, enabled: enabled, obscureText: obscureText, decoration: InputDecoration( labelText: labelText, border: inputBorder, ), autocorrect: autocorrect, keyboardType: keyboardType, focusNode: focusNode, style: textStyle, inputFormatters: inputFormatters, onChanged: onChanged, autofillHints: autofillHints, maxLines: maxLines, ); @override CupertinoTextField createIosWidget(BuildContext context) => CupertinoTextField( textAlign: textAlign, controller: controller, enabled: enabled ?? true, obscureText: obscureText, placeholder: labelText, autocorrect: autocorrect, keyboardType: keyboardType, inputFormatters: inputFormatters, onChanged: onChanged, focusNode: focusNode, maxLines: maxLines, style: textStyle, ); }