import 'package:design/design.dart';
part 'dialog_label_alert_design_model.g.dart';

@DesignSpec(width: 750, height: 1624)
abstract class DialogLabelAlertDesignSpec implements BasicDesignSpec {
  @NestedAspectSpec(590.0 / 328.0, 590.0 / 750.0, widthUpperLimit: 400)
  DialogLabelAlertContentDesignSpec get contentSpec;

  static DialogLabelAlertDesignSpec get() => _DialogLabelAlertDesignSpec.get();
}

@DesignSpec(width: 590.0, height: 328.0, nestedSpec: true)
abstract class DialogLabelAlertContentDesignSpec implements BasicDesignSpec {
  @SpecEdgeInsets.only(top: SpecVertical(56), start: SpecHorizontal(64), end: SpecHorizontal(64))
  EdgeInsets get contentInsets;

  @SpecRadius.circular(SpecHeight(40))
  BorderRadius get cardRadius;

  @SpecAbsoluteFontSize(32)
  double get contentFontSize;

  @SpecHeight(64)
  double get buttonTopSpace;

  @SpecOrigin(0.5)
  double get horizontalLineHeight;

  @SpecOrigin(0.5)
  double get verticalLineWidth;

  @SpecHeight(104)
  double get buttonHeight;

  @SpecAbsoluteFontSize(32)
  double get buttonFontSize;

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