borderColor method

NikuTextField borderColor({
  1. Color base = Colors.grey,
  2. Color enabled = Colors.grey,
  3. Color disabled = Colors.grey,
  4. Color focused = Colors.grey,
  5. Color error = Colors.red,
  6. Color focusedError = Colors.red,
})

Setting multiple border color at once.

Equivalent to

TextFormField(
  decoration: InputDecoration(
    border: UnderlineInputBorder(
      BorderSide(
        # ...Others properties
        color: color,
      ),
    ),
    enabledBorder: UnderlineInputBorder(
      BorderSide(
        # ...Others properties
        color: color,
      ),
    ),
    disabledBorder: UnderlineInputBorder(
      BorderSide(
        # ...Others properties
        color: color,
      ),
    ),
    focusedBorder: UnderlineInputBorder(
      BorderSide(
        # ...Others properties
        color: color,
      ),
    ),
    errorBorder: UnderlineInputBorder(
      BorderSide(
        # ...Others properties
        color: color,
      ),
    ),
  );
);

Implementation

NikuTextField borderColor({
  Color base = Colors.grey,
  Color enabled = Colors.grey,
  Color disabled = Colors.grey,
  Color focused = Colors.grey,
  Color error = Colors.red,
  Color focusedError = Colors.red,
}) {
  final fallbackBorder = BorderSide(
    color: Colors.grey,
    width: 2,
    style: BorderStyle.solid,
  );

  _input_border = _input_border?.copyWith(
    borderSide: _input_border?.borderSide.copyWith(
          color: base,
        ) ??
        fallbackBorder,
  );

  _input_enabledBorder = _input_enabledBorder?.copyWith(
    borderSide: _input_enabledBorder?.borderSide.copyWith(
          color: enabled,
        ) ??
        fallbackBorder,
  );

  _input_disabledBorder = _input_disabledBorder?.copyWith(
    borderSide: _input_disabledBorder?.borderSide.copyWith(
          color: disabled,
        ) ??
        fallbackBorder,
  );

  _input_focusedBorder = _input_focusedBorder?.copyWith(
    borderSide: _input_focusedBorder?.borderSide.copyWith(
          color: focused,
        ) ??
        fallbackBorder,
  );

  _input_errorBorder = _input_errorBorder?.copyWith(
    borderSide: _input_errorBorder?.borderSide.copyWith(
          color: error,
        ) ??
        fallbackBorder,
  );

  _input_focusedErrorBorder = _input_focusedBorder?.copyWith(
    borderSide: _input_focusedBorder?.borderSide.copyWith(
          color: focusedError,
        ) ??
        fallbackBorder,
  );

  return this;
}