@import "aloha_prefix";
@import "funktions";

$a_primary:                                 #0d6efd !default;
$a_secondary:                               #6c757d !default;
$a_tertiary:                                #da6c8e !default;
$a_link_color:                              $a_primary !default;
$a_link_decoration:                         underline !default;
$a_link_shade_percentage:                   20% !default;
$a_link_hover_color:                        shift-color($a_link_color, $a_link_shade_percentage) !default;
$a_link_hover_decoration:                   underline !default;

$a_info:                                    #0DCAF0FF !default;
$a_success:                                 #198754 !default;
$a_warning:                                 #FFC107FF !default;
$a_danger:                                  #DC3545FF !default;

$a_white:                                   #fff !default;
$a_gray_100:                                #f8f9fa !default;
$a_gray_200:                                #e9ecef !default;
$a_gray_300:                                #dee2e6 !default;
$a_gray_400:                                #ced4da !default;
$a_gray_500:                                #adb5bd !default;
$a_gray_600:                                #6c757d !default;
$a_gray_700:                                #495057 !default;
$a_gray_800:                                #343a40 !default;
$a_gray_900:                                #212529 !default;
$a_black:                                   #000 !default;

$a_light:                                   $a_gray_100 !default;
$a_dark:                                    $a_gray_900 !default;

$a_focus_color:                             #d0e3a4 !default;
$a_text_color:                              #212529 !default;
$a_body_bg:                                 $a_white !default;

// rgb
$a_primary_rgb: to-rgb($a_primary);
$a_secondary_rgb: to-rgb($a_secondary);
$a_tertiary_rgb: to-rgb($a_secondary);
$a_link_rgb: to-rgb($a_link_color);
$a_info_rgb: to-rgb($a_info);
$a_success_rgb: to-rgb($a_success);
$a_warning_rgb: to-rgb($a_warning);
$a_danger_rgb: to-rgb($a_danger);
$a_light_rgb: to-rgb($a_light);
$a_dark_rgb: to-rgb($a_dark);

$a_color_contrast_dark:      $a_black !default;
$a_color_contrast_light:     $a_white !default;

// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
$a_min_contrast_ratio:   4.5 !default;

// text
$a_primary_text_emphasis:   shade-color($a_primary, 60%) !default;
$a_secondary_text_emphasis: shade-color($a_secondary, 60%) !default;
$a_tertiary_text_emphasis:  shade-color($a_tertiary, 60%) !default;
$a_success_text_emphasis:   shade-color($a_success, 60%) !default;
$a_info_text_emphasis:      shade-color($a_info, 60%) !default;
$a_warning_text_emphasis:   shade-color($a_warning, 60%) !default;
$a_danger_text_emphasis:    shade-color($a_danger, 60%) !default;
$a_light_text_emphasis:     $a_gray_700 !default;
$a_dark_text_emphasis:      $a_gray_700 !default;

// subtle
$a_primary_bg_subtle:       tint-color($a_primary, 80%) !default;
$a_secondary_bg_subtle:     tint-color($a_secondary, 80%) !default;
$a_tertiary_bg_subtle:      tint-color($a_tertiary, 80%) !default;
$a_success_bg_subtle:       tint-color($a_success, 80%) !default;
$a_info_bg_subtle:          tint-color($a_info, 80%) !default;
$a_warning_bg_subtle:       tint-color($a_warning, 80%) !default;
$a_danger_bg_subtle:        tint-color($a_danger, 80%) !default;
$a_light_bg_subtle:         mix($a_gray_100, $a_white) !default;
$a_dark_bg_subtle:          $a_gray_400 !default;

// border-subtle
$a_primary_border_subtle:   tint-color($a_primary, 60%) !default;
$a_secondary_border_subtle: tint-color($a_secondary, 60%) !default;
$a_tertiary_border_subtle:  tint-color($a_tertiary, 60%) !default;
$a_success_border_subtle:   tint-color($a_success, 60%) !default;
$a_info_border_subtle:      tint-color($a_info, 60%) !default;
$a_warning_border_subtle:   tint-color($a_warning, 60%) !default;
$a_danger_border_subtle:    tint-color($a_danger, 60%) !default;
$a_light_border_subtle:     $a_gray_200 !default;
$a_dark_border_subtle:      $a_gray_500 !default;

$a_colors_global: (
    primary: $a_primary,
    primary_50: mix(#fff, $a_primary, 50),
    primary_rgb: $a_primary_rgb,
    secondary: $a_secondary,
    secondary_50: mix(#fff, $a_secondary, 50),
    secondary_rgb: $a_secondary_rgb,
    tertiary: $a_tertiary,
    tertiary_50: mix(#fff, $a_tertiary, 50),
    tertiary_rgb: $a_tertiary_rgb,
    link: $a_link_color,
    link_hover: $a_link_hover_color,
    link_50: mix(#fff, $a_link_color, 50),
    link_rgb: $a_link_rgb,
    info: $a_info,
    info_50: mix(#fff, $a_info, 50),
    info_rgb: $a_info_rgb,
    success: $a_success,
    success_50: mix(#fff, $a_success, 50),
    success_rgb: $a_success_rgb,
    warning: $a_warning,
    warning_50: mix(#fff, $a_warning, 50),
    warning_rgb: $a_warning_rgb,
    danger: $a_danger,
    danger_50: mix(#fff, $a_danger, 50),
    danger_rgb: $a_danger_rgb,
    light: $a_light,
    light_rgb: $a_light_rgb,
    dark: $a_dark,
    dark_rgb: $a_dark_rgb,
    white: $a_white,
    black: $a_black,
    gray_100: $a_gray_100,
    gray_200: $a_gray_200,
    gray_300: $a_gray_300,
    gray_400: $a_gray_400,
    gray_500: $a_gray_500,
    gray_600: $a_gray_600,
    gray_700: $a_gray_700,
    gray_800: $a_gray_800,
    gray_900: $a_gray_900,
    focus: $a_focus_color,
    text: $a_text_color,
    body_bg: $a_body_bg,
) !default;

$a_colors: (
    primary,
    secondary,
    tertiary,
    text,
    info,
    success,
    warning,
    danger,
    link,
    white,
    black,
    gray_100,
    gray_200,
    gray_300,
    gray_400,
    gray_500,
    gray_600,
    gray_700,
    gray_800,
    gray_900,
) !default;

$a_bg_colors: (
    primary,
    secondary,
    tertiary,
    text,
    info,
    success,
    warning,
    danger,
    link,
    white,
    black,
    gray_100,
    gray_200,
    gray_300,
    gray_400,
    gray_500,
    gray_600,
    gray_700,
    gray_800,
    gray_900,
) !default;

$a_theme_colors: (
        "primary":    $a_primary,
        "secondary":  $a_secondary,
        "tertiary":   $a_tertiary,
        "success":    $a_success,
        "info":       $a_info,
        "warning":    $a_warning,
        "danger":     $a_danger,
        "light":      $a_light,
        "dark":       $a_dark
) !default;

$a_theme_colors_text: (
        "primary": $a_primary_text_emphasis,
        "secondary": $a_secondary_text_emphasis,
        "tertiary": $a_tertiary_text_emphasis,
        "success": $a_success_text_emphasis,
        "info": $a_info_text_emphasis,
        "warning": $a_warning_text_emphasis,
        "danger": $a_danger_text_emphasis,
        "light": $a_light_text_emphasis,
        "dark": $a_dark_text_emphasis,
) !default;

$a_theme_colors_bg_subtle: (
        "primary": $a_primary_bg_subtle,
        "secondary": $a_secondary_bg_subtle,
        "tertiary": $a_tertiary_bg_subtle,
        "success": $a_success_bg_subtle,
        "info": $a_info_bg_subtle,
        "warning": $a_warning_bg_subtle,
        "danger": $a_danger_bg_subtle,
        "light": $a_light_bg_subtle,
        "dark": $a_dark_bg_subtle,
) !default;

$a_theme_colors_border_subtle: (
        "primary": $a_primary_border_subtle,
        "secondary": $a_secondary_border_subtle,
        "tertiary": $a_tertiary_border_subtle,
        "success": $a_success_border_subtle,
        "info": $a_info_border_subtle,
        "warning": $a_warning_border_subtle,
        "danger": $a_danger_border_subtle,
        "light": $a_light_border_subtle,
        "dark": $a_dark_border_subtle,
) !default;


@function getColorVar($value, $suffix: "") {
    @return --#{ $aloha-prefix }color_#{ $value }#{ $suffix };
}
