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,
  15. bool isCompact = false,
})

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,
  bool isCompact = false,
}) {
  Widget? toIconWidget(dynamic ic) {
    if (ic == null) return null;
    if (ic is IconData) return Icon(ic);
    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,
    isCompact: isCompact,
  );
}