CLTextField.icon constructor

CLTextField.icon({
  1. Key? key,
  2. required TextEditingController controller,
  3. required String labelText,
  4. required dynamic icon,
  5. bool isReadOnly = false,
  6. GestureTapCallback? onTap,
  7. FocusNode? focusNode,
  8. Future onChanged(
    1. String value
    )?,
  9. bool isRequired = false,
  10. IconAlignment iconAlignment = IconAlignment.start,
  11. bool isRounded = false,
  12. bool isEnabled = true,
  13. String? initValue,
  14. List<FormFieldValidator<String>>? validators,
})

Implementation

factory CLTextField.icon({
  Key? key,
  required TextEditingController controller,
  required String labelText,
  required dynamic icon,
  bool isReadOnly = false,
  GestureTapCallback? onTap,
  FocusNode? focusNode,
  Future Function(String value)? onChanged,
  bool isRequired = false,
  IconAlignment iconAlignment = IconAlignment.start,
  bool isRounded = false,
  bool isEnabled = true,
  String? initValue,
  List<FormFieldValidator<String>>? validators,
}) {
  Widget? toIconWidget(dynamic ic) {
    if (ic == null) return null;
    if (ic is IconData) return Icon(ic, size: 16, color: Colors.grey);
    return ic as Widget;
  }
  return CLTextField(
    key: key, controller: controller, labelText: labelText,
    isRequired: isRequired, initValue: initValue,
    prefixIcon: iconAlignment == IconAlignment.start ? toIconWidget(icon) : null,
    suffixIcon: iconAlignment == IconAlignment.end ? toIconWidget(icon) : null,
    onChanged: onChanged, focusNode: focusNode, onTap: onTap,
    isReadOnly: isReadOnly, isRounded: isRounded, isEnabled: isEnabled,
    validators: validators,
  );
}