// ==========================================================================
// # Split Complementary
// ==========================================================================
// 
// Split-complementary color scheme is a three-color combination consisting 
// of a base color and two colors that are 150 degrees and 210 degrees
// apart from the base color.
//
// | Model | Color     | Chromatic | Harmonized |         | 
// | :---: | :-------: | :-------: | :-------:  | :---:   |
// | RGB   | #8e43e7   | #e7e043   | #ddcf55    | 150°    |
// |       |           | #4ae743   | #51d555    | 210°    |
// 
// | Model | Color     | Chromatic | Harmonized |         | 
// | :---: | :-------: | :-------: | :-------:  | :---:   |
// | RYB   | #8e43e7   | #e7ab43   | #dda055    | 150°    |
// |       |           | #d4e743   | #ccd555    | 210°    |
// 
// @debug color.adjust(#8e43e7, $hue: 150);
// @debug color.adjust(#8e43e7, $hue: 210);
//
// @debug functions.adjust-hue-ryb(#8e43e7, 150);
// @debug functions.adjust-hue-ryb(#8e43e7, 210);

@use "sass:color";

@use "../core";
@use "../functions";

// ==========================================================================
// # Variables
// ==========================================================================

$-split-1-400: color.adjust(core.$brand-color, $hue: 150);
$-split-2-400: color.adjust(core.$brand-color, $hue: 210);

@if (core.$color-model == ryb) {
  $-split-1-400: functions.adjust-hue-ryb(core.$brand-color, 150);
  $-split-2-400: functions.adjust-hue-ryb(core.$brand-color, 210);
} @else {}

@if core.$color-mode-harmony {
  $-split-1-400: functions.make-color-harmony(core.$brand-color, $-split-1-400);
  $-split-2-400: functions.make-color-harmony(core.$brand-color, $-split-2-400);
} @else {}

// ==========================================================================
// # Monochromatic
// ==========================================================================

// ## Split (1) @ 150°
$split-1-100: functions.make-color-mono($-split-1-400, 100) !default;
$split-1-200: functions.make-color-mono($-split-1-400, 200) !default;
$split-1-300: functions.make-color-mono($-split-1-400, 300) !default;
$split-1-400: $-split-1-400 !default;
$split-1-500: functions.make-color-mono($-split-1-400, 500) !default;
$split-1-600: functions.make-color-mono($-split-1-400, 600) !default;
$split-1-700: functions.make-color-mono($-split-1-400, 700) !default;
$split-1-800: functions.make-color-mono($-split-1-400, 800) !default;
$split-1-900: functions.make-color-mono($-split-1-400, 900) !default;

// ## Split (2) @ 210°
$split-2-100: functions.make-color-mono($-split-2-400, 100) !default;
$split-2-200: functions.make-color-mono($-split-2-400, 200) !default;
$split-2-300: functions.make-color-mono($-split-2-400, 300) !default;
$split-2-400: $-split-2-400 !default;
$split-2-500: functions.make-color-mono($-split-2-400, 500) !default;
$split-2-600: functions.make-color-mono($-split-2-400, 600) !default;
$split-2-700: functions.make-color-mono($-split-2-400, 700) !default;
$split-2-800: functions.make-color-mono($-split-2-400, 800) !default;
$split-2-900: functions.make-color-mono($-split-2-400, 900) !default;

// =============================================================================
// # Map
// =============================================================================

$map-split-1: (
  "split-1-100": $split-1-100,
  "split-1-200": $split-1-200,
  "split-1-300": $split-1-300,
  "split-1-400": $split-1-400,
  "split-1-500": $split-1-500,
  "split-1-600": $split-1-600,
  "split-1-700": $split-1-700,
  "split-1-800": $split-1-800,
  "split-1-900": $split-1-900
) !default;

$map-split-2: (
  "split-2-100": $split-2-100,
  "split-2-200": $split-2-200,
  "split-2-300": $split-2-300,
  "split-2-400": $split-2-400,
  "split-2-500": $split-2-500,
  "split-2-600": $split-2-600,
  "split-2-700": $split-2-700,
  "split-2-800": $split-2-800,
  "split-2-900": $split-2-900
) !default;

$map-split: core.map-collect($map-split-1, $map-split-2) !default;