@use '../mixins/color' as *;
@use '../variables' as *;

/*
  Text colors
*/
@include text-color-variant('.text-body-font', 'body-font-color'); // ! New text color. It's an old .text-dark

// Shades.
// @include text-color-variant('.text-dark', $body-font-color); // old spectre.css
// @include text-color-variant('.text-dark', 'body-font-color'); // old @angular-package/spectre.css
@include text-color-variant('.text-dark', 'dark-color');
// @include text-color-variant('.text-light', $light-color); // old spectre.css
@include text-color-variant('.text-light', 'light-color');

// Gray colors.
// @include text-color-variant('.text-gray', $gray-color); // old spectre.css
@include text-color-variant('.text-gray', 'gray-color');
@include text-color-variant('.text-gray-dark', 'gray-color-dark'); // ! New text color.
@include text-color-variant('.text-gray-light', 'gray-color-light'); // ! New text color.

// Link colors.
@include text-color-variant('.text-link', 'link-color'); // ! New text color.
@include text-color-variant('.text-link-dark', 'link-color-dark'); // ! New text color.
@include text-color-variant('.text-link-light', 'link-color-light'); // ! New text color.

// @include text-color-variant('.text-primary', $primary-color); // old spectre.css
@include text-color-variant('.text-primary', 'primary-color');
@include text-color-variant('.text-primary-dark', 'primary-color-dark'); // ! New text color.
@include text-color-variant('.text-primary-light', 'primary-color-light'); // ! New text color.

// @include text-color-variant('.text-secondary', $secondary-color-dark); // old spectre.css
@include text-color-variant('.text-secondary', 'secondary-color-dark');
@include text-color-variant('.text-secondary-dark', 'secondary-color-dark'); // ! New text color.
@include text-color-variant('.text-secondary-light', 'secondary-color-light'); // ! New text color.

// Control colors.
@include text-color-variant('.text-disabled', 'disabled-color'); // ! New text color.
// @include text-color-variant('.text-error', $error-color); // old spectre.css
@include text-color-variant('.text-error', 'error-color');
@include text-color-variant('.text-info', 'info-color'); // ! New text color.
// @include text-color-variant('.text-success', $success-color); // old spectre.css
@include text-color-variant('.text-success', 'success-color');
// @include text-color-variant('.text-warning', $warning-color); // old spectre.css
@include text-color-variant('.text-warning', 'warning-color');

// Other colors.
@include text-color-variant('.text-code', 'code-color'); // ! New text color.
@include text-color-variant('.text-highlight', 'highlight-color'); // ! New text color.

/*
  Background colors
*/
// Accent
@include bg-color-variant('.bg-accent', 'accent-color', $accent-color);

// BG core colors
@include bg-color-variant('.bg', 'bg-color', $bg-color);
@include bg-color-variant('.bg-body', 'body-bg-color', $body-bg-color); // ! New background color.
@include bg-color-variant('.bg-color', 'bg-color', $bg-color); // ! Add to have naming consistency.
@include bg-color-variant('.bg-color-light', 'bg-color-light', $bg-color-light);
@include bg-color-variant('.bg-color-dark', 'bg-color-dark', $bg-color-dark);

// Shades.
// @include bg-color-variant('.bg-dark', $dark-color); // old.spectre.css
@include bg-color-variant('.bg-dark', 'dark-color', $dark-color);
@include bg-color-variant('.bg-light', 'light-color', $light-color);

// Primary.
// @include bg-color-variant('.bg-primary', $primary-color); // old spectre.css
@include bg-color-variant('.bg-primary', 'primary-color', $primary-color);
@include bg-color-variant('.bg-primary-dark', 'primary-color-dark', $primary-color-dark); // ! New background color.
@include bg-color-variant('.bg-primary-light', 'primary-color-light', $primary-color-light); // ! New background color.

// Secondary.
// @include bg-color-variant('.bg-secondary', $secondary-color); // old.spectre.css
@include bg-color-variant('.bg-secondary', 'secondary-color', $secondary-color);
@include bg-color-variant('.bg-secondary-dark', 'secondary-color-dark', $secondary-color-dark); // ! New background color.
@include bg-color-variant('.bg-secondary-light', 'secondary-color-light', $secondary-color-light); // ! New background color.

/*
  Control colors.
*/
@include bg-color-variant('.bg-disabled', 'disabled-color', $disabled-color); // ! New background color.
// @include bg-color-variant('.bg-error', $error-color); // old.spectre.css
@include bg-color-variant('.bg-error', 'error-color', $error-color);
@include bg-color-variant('.bg-info', 'info-color', $info-color);
// @include bg-color-variant('.bg-success', $success-color); // old.spectre.css
@include bg-color-variant('.bg-success', 'success-color', $success-color);
// @include bg-color-variant('.bg-warning', $warning-color); // old.spectre.css
@include bg-color-variant('.bg-warning', 'warning-color', $warning-color);

/*
  Gray colors.
*/
// @include bg-color-variant('.bg-gray', $bg-color); // old.spectre.css
@include bg-color-variant('.bg-gray', 'gray-color', $gray-color);
@include bg-color-variant('.bg-gray-dark', 'gray-color-dark', $gray-color-dark);
@include bg-color-variant('.bg-gray-light', 'gray-color-light', $gray-color-light);

// Link colors.
@include bg-color-variant('.bg-link', 'link-color', $link-color);  // ! New background color.
@include bg-color-variant('.bg-link-dark', 'link-color-dark', $link-color-dark); // ! New background color.
@include bg-color-variant('.bg-link-light', 'link-color-light', $link-color-light); // ! New background color.

// Other colors.
@include bg-color-variant('.bg-code', 'code-color'); // ! New background color.
@include bg-color-variant('.bg-highlight', 'highlight-color'); // ! New background color.
