// apps rely on some named colors to be exported
/* GTK NAMED COLORS
   ----------------
   use responsibly! */

// Sass thinks we're using the colors in the variables as strings and may shoot
// warning, it's innocuous and can be defeated by using "" + $var
/*
widget text/foreground color */
@define-color theme_fg_color #{"" + $text};

/*
text color for entries, views and content in general */
@define-color theme_text_color #{"" + $text};

/*
widget base background color */
@define-color theme_bg_color #{"" + $background};

/*
text widgets and the like base background color */
@define-color theme_base_color #{"" + $base};

/*
base background color of selections */
@define-color theme_selected_bg_color #{"" + $primary};

/*
text/foreground color of selections */
@define-color theme_selected_fg_color #{"" + on($primary)};

/*
base background color of insensitive widgets */
@define-color insensitive_bg_color #{"" + $background};

/*
text foreground color of insensitive widgets */
@define-color insensitive_fg_color #{"" + $text-disabled};

/*
insensitive text widgets and the like base background color */
@define-color insensitive_base_color #{"" + $base-alt};

/*
widget text/foreground color on backdrop windows */
@define-color theme_unfocused_fg_color #{"" + $text};

/*
text color for entries, views and content in general on backdrop windows */
@define-color theme_unfocused_text_color #{"" + $text};

/*
widget base background color on backdrop windows */
@define-color theme_unfocused_bg_color #{"" + $background};

/*
text widgets and the like base background color on backdrop windows */
@define-color theme_unfocused_base_color #{"" + $base};

/*
base background color of selections on backdrop windows */
@define-color theme_unfocused_selected_bg_color #{"" + $primary};

/*
text/foreground color of selections on backdrop windows */
@define-color theme_unfocused_selected_fg_color #{"" + on($primary)};

/*
insensitive color on backdrop windows */
@define-color unfocused_insensitive_color #{"" + $text-disabled};

/*
widgets main borders color */
@define-color borders #{"" + $divider};

/*
widgets main borders color on backdrop windows */
@define-color unfocused_borders #{"" + $divider};

/*
these are pretty self explicative */
@define-color warning_color #{"" + $warning};
@define-color error_color #{"" + $error};
@define-color success_color #{"" + $success};
// @define-color destructive_color #{"" + $destructive};

/*
these colors are exported for the window manager and shouldn't be used in applications,
read if you used those and something break with a version upgrade you're on your own... */
@define-color wm_title #{"" + $titlebar-text};
@define-color wm_unfocused_title #{"" + $titlebar-text-secondary};
@define-color wm_highlight #{"" + highlight($titlebar)};
@define-color wm_bg #{"" + $titlebar};
@define-color wm_unfocused_bg #{"" + $titlebar-backdrop};
@define-color wm_button_close_icon #{"" + $titlebar};
@define-color wm_button_close_hover_bg #{"" + $titlebar-primary};
@define-color wm_button_close_active_bg #{"" + darken($titlebar-primary, 10%)};

/*
FIXME this is really an API */
@define-color content_view_bg #{"" + $base};
@define-color placeholder_text_color #{"" + $placeholder_text_color};

/* Very contrasty background for text views (@theme_text_color foreground) */
@define-color text_view_bg #{"" + if($variant == 'light', $base, darken($base, 6%))};

// Budgie-desktop specific indicator colours

// unfocused window 'dot(s)'
@define-color budgie_tasklist_indicator_color #{"" + white};
// focused window 'line'
@define-color budgie_tasklist_indicator_color_active #{"" + white};
// group-ed and unfocused window 'line(s)'
@define-color budgie_tasklist_indicator_color_active_window #{"" + mix(white, $panel, 54%)};
// attention 'dot'
// FIXME: we can't fill whole widget backgrounds with our suggestion colour
//        because of lacking specific style-class on 'needs_attention' state,
//        so use warning orange dot instead.
@define-color budgie_tasklist_indicator_color_attention #{"" + $warning};

//
// Color Palette Definitions for compatibility with Granite.
//

//* Strawberry *
@define-color STRAWBERRY_100 #{#FF9262};
@define-color STRAWBERRY_300 #{#FF793E};
@define-color STRAWBERRY_500 #{#F15D22};
@define-color STRAWBERRY_700 #{#CF3B00};
@define-color STRAWBERRY_900 #{#AC1800};
//* Orange *
@define-color ORANGE_100 #{#FFDB91};
@define-color ORANGE_300 #{#FFCA40};
@define-color ORANGE_500 #{#FAA41A};
@define-color ORANGE_700 #{#DE8800};
@define-color ORANGE_900 #{#C26C00};
//* Banana *
@define-color BANANA_100 #{#FFFFA8};
@define-color BANANA_300 #{#FFFA7D};
@define-color BANANA_500 #{#FFCE51};
@define-color BANANA_700 #{#D1A023};
@define-color BANANA_900 #{#A27100};
//* Lime *
@define-color LIME_100 #{#A2F3BE};
@define-color LIME_300 #{#8ADBA6};
@define-color LIME_500 #{#73C48F};
@define-color LIME_700 #{#479863};
@define-color LIME_900 #{#1C6D38};
//* Blueberry *
@define-color BLUEBERRY_100 #{#94A6FF};
@define-color BLUEBERRY_300 #{#6A7CE0};
@define-color BLUEBERRY_500 #{#3F51B5};
@define-color BLUEBERRY_700 #{#213397};
@define-color BLUEBERRY_900 #{#031579};
//* Grape *
@define-color GRAPE_100 #{#D25DE6};
@define-color GRAPE_300 #{#B84ACB};
@define-color GRAPE_500 #{#9C27B0};
@define-color GRAPE_700 #{#830E97};
@define-color GRAPE_900 #{#6A007E};
//* Cocoa *
@define-color COCOA_100 #{#9F9792};
@define-color COCOA_300 #{#7B736E};
@define-color COCOA_500 #{#574F4A};
@define-color COCOA_700 #{#463E39};
@define-color COCOA_900 #{#342C27};
//* Silver *
@define-color SILVER_100 #{#EEE};
@define-color SILVER_300 #{#CCC};
@define-color SILVER_500 #{#AAA};
@define-color SILVER_700 #{#888};
@define-color SILVER_900 #{#666};
//* Slate *
@define-color SLATE_100 #{#888};
@define-color SLATE_300 #{#666};
@define-color SLATE_500 #{#444};
@define-color SLATE_700 #{#222};
@define-color SLATE_900 #{#111};
//* Black *
@define-color BLACK_100 #{#474341};
@define-color BLACK_300 #{#403C3A};
@define-color BLACK_500 #{#393634};
@define-color BLACK_700 #{#33302F};
@define-color BLACK_900 #{#2B2928};

/* GTK NAMED COLORS (Libadwaita)
   ----------------
   use responsibly! */

// Sass thinks we're using the colors in the variables as strings and may shoot
// warning, it's innocuous and can be defeated by using #{$var}.

// These are the colors apps are can override. We define the defaults here and
// define variables for them in _colors.scss

// The main accent color and the matching text value
@define-color accent_bg_color #{$primary};
@define-color accent_fg_color #{on($primary)};
@define-color accent_color #{$primary};

// destructive-action buttons
@define-color destructive_bg_color #{$destructive};
@define-color destructive_fg_color #{on($destructive)};
@define-color destructive_color #{$destructive};

// Levelbars, entries, labels and infobars. These don't need text colors
@define-color success_bg_color #{$success};
@define-color success_fg_color #{on($success)};
@define-color success_color #{$success};

@define-color warning_bg_color #{$warning};
@define-color warning_fg_color #{on($warning)};
@define-color warning_color #{$warning};

@define-color error_bg_color #{$error};
@define-color error_fg_color #{on($error)};
@define-color error_color #{$error};

// Window
@define-color window_bg_color #{$base};
@define-color window_fg_color #{$text};

// Views - e.g. text view or tree view
@define-color view_bg_color #{$base};
@define-color view_fg_color #{$text};

// Header bar, search bar, tab bar
@define-color headerbar_bg_color #{$titlebar};
@define-color headerbar_fg_color #{$titlebar-text};
@define-color headerbar_border_color #{$border};
@define-color headerbar_backdrop_color @window_bg_color;
@define-color headerbar_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))};

// Cards, boxed lists
@define-color card_bg_color #{$base};
@define-color card_fg_color #{$text};
@define-color card_shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))};

// Dialogs
@define-color dialog_bg_color #{$base};
@define-color dialog_fg_color #{$text};

// Popovers
@define-color popover_bg_color #{$base};
@define-color popover_fg_color #{$text};

// Thumbnails
@define-color thumbnail_bg_color #{$base};
@define-color thumbnail_fg_color #{$text};

// Miscellaneous
@define-color shade_color #{if($variant == 'light', transparentize(black, .93), transparentize(black, .64))};
@define-color scrollbar_outline_color #{if($variant == 'light', white, transparentize(black, .5))};
