import 'package:flutter/material.dart';

/// Constants that we should use throughout the app for widget dimension/stylings.

/// Dimensions

const double kPadding2px = 2.0;
const double kPadding4px = 4.0;
const double kPadding8px = 8.0;
const double kPadding12px = 12.0;
const double kPadding16px = 16.0;
const double kPadding20px = 20.0;
const double kPadding24px = 24.0;
const double kPadding28px = 28.0;

const double kBaseSize8px = 8.0;
const double kBaseSize12px = 12.0;
const double kBaseSize16px = 16.0;
const double kBaseSize20px = 20.0;
const double kBaseSize24px = 24.0;
const double kBaseSize28px = 28.0;
const double kBaseSize32px = 32.0;
const double kBaseSize36px = 36.0;
const double kBaseSize48px = 48.0;
const double kBaseSize60px = 60.0;
const double kBaseSize72px = 72.0;
const double kBaseSize96px = 96.0;
const double kBaseSize120px = 120.0;
const double kBaseSize160px = 160.0;

const double kWidth48px = 48.0;
const double kWidth56px = 56.0;
//* Width for a property editor that is a quarter of the width of panel.
const double kWidth60px = 60.0;
const double kWidth64px = 64.0;
const double kWidth72px = 72.0;
const double kWidth80px = 80.0;
const double kWidth96px = 96.0;
const double kWidth108px = 108.0;
const double kWidth120px = 120.0;
//* Width for a property editor that is half the width of panel.
const double kWidth132px = 132.0;
const double kWidth144px = 144.0;
const double kWidth160px = 160.0;
//* Width for a property editor that is total the width of panel.
const double kWidth276px = 276.0;

const double kWidth440px = 440.0;
const double kWidth480px = 480.0;
const double kWidth600px = 600.0;
const double kWidth720px = 720.0;
const double kWidth840px = 840.0;

const double kHeight16px = 16.0;
const double kHeight20px = 20.0;
const double kHeight24px = 24.0;
const double kHeight28px = 28.0;
//* Typically used for input fields' height.
const double kHeight32px = 32.0;
const double kHeight36px = 36.0;
const double kHeight40px = 40.0;
const double kHeight48px = 48.0;
const double kHeight56px = 56.0;
const double kHeight64px = 64.0;
const double kHeight72px = 72.0;
const double kHeight80px = 80.0;
const double kHeight88px = 88.0;
const double kHeight96px = 96.0;

const double kHeight240px = 240.0;
const double kHeight320px = 320.0;
const double kHeight400px = 400.0;
const double kHeight480px = 480.0;

/// Border Radius

const double kBorderRadius4px = 4.0;
const double kBorderRadius8px = 8.0;
const double kBorderRadius12px = 12.0;

/// Border Width

const double kBorderWidth1px = 1.0;
const double kBorderWidth1_5px = 1.5;
const double kBorderWidth2px = 2.0;

/// Line Width

const double kLineWidth1px = 1.0;
const double kLineWidth2px = 2.0;
const double kLineWidth4px = 4.0;

//* Typically used for icon size in property name line.
const double kIconSize14px = 14.0;
const double kIconSize16px = 16.0;
const double kIconSize20px = 20.0;
const double kIconSize22px = 22.0;
const double kIconSize24px = 24.0;
const double kIconSize32px = 32.0;

/// Durations

const Duration kDuration250ms = Duration(milliseconds: 250);
const Duration kDuration500ms = Duration(milliseconds: 500);

/// Durations

const Curve kCurveEase = Curves.ease;

/// Elevations and shadowing

const double kElevation0 = 0.0;
const double kElevation2 = 2.0;
const double kElevation4 = 4.0;
const double kElevation8 = 8.0;

final kBoxShadow2 = kElevationToShadow[2]!;
final kBoxShadow4 = kElevationToShadow[4]!;
final kBoxShadow8 = kElevationToShadow[8]!;

/// Blur

const double kBlur4 = 4.0;
const double kBlur8 = 8.0;

/// Opacity

const double kOpacity0_2 = 0.2;
const double kOpacity0_4 = 0.4;
const double kOpacity0_6 = 0.6;
const double kOpacity0_8 = 0.8;

/// Color

const kErrorColor = Color(0xFFDF3F3F);
const kPrimaryColor = Color(0xFF4B39EF);
const kSecondaryColor = Color(0xFFEE8B60);
const kTertiaryColor = Color(0xFF1D2429);
const kSuccessToastColor = Color(0xFF39D2C0);
const kGrey250 = Color(0xFFE3E7ED);
const kGrey800 = Color(0xFF424E5A);
const kDiffAddedColor = Colors.green;
const kDiffDeletedColor = Color.fromARGB(255, 255, 129, 129);

/// Font Sizes

const double kFontSize12px = 12.0;
const double kFontSize13px = 13.0;
const double kFontSize14px = 14.0;
const double kFontSize16px = 16.0;
const double kFontSize18px = 18.0;
const double kFontSize20px = 20.0;
const double kFontSize24px = 24.0;
const double kFontSize32px = 32.0;
const double kFontSize36px = 36.0;
