lerp method

lerp theme

Implementation

@override
ThemeExtension<ShirneDialogTheme> lerp(
  ThemeExtension<ShirneDialogTheme>? other,
  double t,
) {
  final o = other as ShirneDialogTheme?;
  return ShirneDialogTheme(
    alignTop: Alignment.lerp(alignTop, o?.alignTop, t) ?? alignTop,
    alignBottom:
        Alignment.lerp(alignBottom, o?.alignBottom, t) ?? alignBottom,
    iconSuccess: t < 0.5 ? iconSuccess : o?.iconSuccess ?? iconSuccess,
    iconError: t < 0.5 ? iconError : o?.iconError ?? iconError,
    iconWarning: t < 0.5 ? iconWarning : o?.iconWarning ?? iconWarning,
    iconInfo: t < 0.5 ? iconInfo : o?.iconInfo ?? iconInfo,
    iconHelp: t < 0.5 ? iconHelp : o?.iconHelp ?? iconHelp,
    primaryButtonStyle:
        ButtonStyle.lerp(primaryButtonStyle, o?.primaryButtonStyle, t) ??
            primaryButtonStyle,
    defaultButtonStyle:
        ButtonStyle.lerp(defaultButtonStyle, o?.defaultButtonStyle, t) ??
            defaultButtonStyle,
    alertStyle: ModalStyle.lerp(alertStyle, o?.alertStyle, t),
    modalStyle: ModalStyle.lerp(modalStyle, o?.modalStyle, t),
    toastStyle: ToastStyle.lerp(toastStyle, o?.toastStyle, t),
    snackStyle: SnackStyle.lerp(snackStyle, o?.snackStyle, t),
    loadingStyle: LoadingStyle.lerp(loadingStyle, other?.loadingStyle, t),
  );
}