lerp method

  1. @useResult
FTextFieldStyle lerp(
  1. FTextFieldStyle other,
  2. double t
)

Linearly interpolate between this and another FTextFieldStyle using the given factor t.

Implementation

@useResult
FTextFieldStyle lerp(FTextFieldStyle other, double t) => .new(
  keyboardAppearance: t < 0.5 ? keyboardAppearance : other.keyboardAppearance,
  cursorColor: .lerp(cursorColor, other.cursorColor, t) ?? cursorColor,
  fillColor: .lerp(fillColor, other.fillColor, t) ?? fillColor,
  filled: t < 0.5 ? filled : other.filled,
  contentPadding: .lerp(contentPadding, other.contentPadding, t) ?? contentPadding,
  clearButtonPadding: .lerp(clearButtonPadding, other.clearButtonPadding, t) ?? clearButtonPadding,
  obscureButtonPadding: .lerp(obscureButtonPadding, other.obscureButtonPadding, t) ?? obscureButtonPadding,
  scrollPadding: .lerp(scrollPadding, other.scrollPadding, t) ?? scrollPadding,
  clearButtonStyle: clearButtonStyle.lerp(other.clearButtonStyle, t),
  obscureButtonStyle: obscureButtonStyle.lerp(other.obscureButtonStyle, t),
  contentTextStyle: .lerpTextStyle(contentTextStyle, other.contentTextStyle, t),
  hintTextStyle: .lerpTextStyle(hintTextStyle, other.hintTextStyle, t),
  counterTextStyle: .lerpTextStyle(counterTextStyle, other.counterTextStyle, t),
  border: t < 0.5 ? border : other.border,
  labelPadding: .lerp(labelPadding, other.labelPadding, t) ?? labelPadding,
  descriptionPadding: .lerp(descriptionPadding, other.descriptionPadding, t) ?? descriptionPadding,
  errorPadding: .lerp(errorPadding, other.errorPadding, t) ?? errorPadding,
  childPadding: .lerp(childPadding, other.childPadding, t) ?? childPadding,
  labelTextStyle: .lerpTextStyle(labelTextStyle, other.labelTextStyle, t),
  descriptionTextStyle: .lerpTextStyle(descriptionTextStyle, other.descriptionTextStyle, t),
  errorTextStyle: .lerp(errorTextStyle, other.errorTextStyle, t) ?? errorTextStyle,
);