import 'package:design/design.dart';

/// Created by Haoyi on 2022/9/14
///
///
part 'remove_ads_design_model.g.dart';

@DesignSpec(width: 670, height: 200, nestedSpec: true)
abstract class RemoveAdsCardDesignSpec implements BasicDesignSpec {
  @SpecRadius.circular(SpecHeight(24))
  BorderRadius get removeAdsCardRadius;

  @SpecHorizontal(354)
  double get radialLightWidth;

  @SpecAspectWidthSize(670, 0.29850746)
  Size get removeAdsSize;

  @SpecHorizontal(80)
  double get removeAdsImageEndSpacing;

  @SpecHorizontal(28)
  double get removeAdsImageVerticalSpacing;

  @SpecWidth(390)
  double get productDetailsWidth;

  @SpecFontSize(26)
  double get productDetailsFontSize;

  @SpecFontSize(26)
  double get productPriceFontSize;

  @SpecOffset(SpecOrigin(0), SpecVertical(1))
  Offset get productPriceTextShadowOffset;

  @SpecVertical(32)
  double get productDetailsTopSpacing;

  @SpecVertical(22)
  double get purchaseButtonTopSpacing;

  @SpecEdgeInsets.only(start: SpecWidth(40))
  EdgeInsets get purchaseDetailsPadding;

  @SpecAspectHeightSize(56, 3.0)
  Size get removeAdsPurchaseButtonSize;

  @SpecRadius.circular(SpecHeight(34))
  BorderRadius get purchaseButtonRadius;

  @SpecOffset(SpecOrigin(0), SpecVertical(1))
  Offset get purchaseButtonShadowOffset;

  @SpecVertical(16)
  double get tipsSpacing;

  @SpecHeight(40)
  double get tipsSize;

  @SpecHeight(207)
  double get tipsMinHeight;

  @SpecWidth(486)
  double get tipsWidth;

  @SpecFontSize(26)
  double get tipsFontSize;

  @SpecVertical(12)
  double get tipsGap;

  @SpecHeight(24)
  double get tipsRadius;

  @SpecEdgeInsets.only(
      top: SpecHeight(22), bottom: SpecHeight(26), start: SpecWidth(32), end: SpecWidth(32))
  EdgeInsets get tipsContentPadding;

  static RemoveAdsCardDesignSpec create(Size measuredSize, {Offset offset = Offset.zero}) =>
      _RemoveAdsCardDesignSpec._create(measuredSize, offset: offset);
}
