@use "sass:color";
@use "../sizes" as *;
@use "../colors" as *;

// adduse

/**
* $name 10. Border color
* $type color
*/
$checkbox-border-color: $base-border-color !default;
$checkbox-checked-color: null !default;
$checkbox-indeterminate-bg: null !default;

/**
* $name 70. Focused state border color
* $type color
*/
$checkbox-border-color-focused: null !default;

/**
* $name 40. Background color
* $type color
*/
$checkbox-bg: null !default;

/**
* $name 20. Hover state border color
* $type color
*/
$checkbox-hover-border-color: null !default;

/**
* $name 80. Active state background color
* $type color
*/
$checkbox-active-icon-bg: null !default;
$checkbox-readonly-border-color: null !default;
$checkbox-invalid-focused-border-color: $base-invalid-color !default;
$checkbox-invalid-faded-border-color: $base-invalid-faded-border-color !default;

@if $color == "carmine" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: -12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: -62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: 9%, $space: hsl) !default;
}

@if $color == "contrast" {
  $checkbox-checked-color: $base-text-color !default;
  $checkbox-indeterminate-bg: $base-inverted-bg !default;
  $checkbox-border-color-focused: $base-focus-color !default;
  $checkbox-bg: $base-bg !default;
  $checkbox-hover-border-color: $base-border-color !default;
  $checkbox-active-icon-bg: $base-inverted-bg !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: -50%, $space: hsl) !default;
}

@if $color == "dark" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: 12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: 62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: -9%, $space: hsl) !default;
}

@if $color == "darkmoon" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: 12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: 62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: -9%, $space: hsl) !default;
}

@if $color == "darkviolet" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-color !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: $base-accent-highlight-color !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: 62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: -9%, $space: hsl) !default;
}

@if $color == "greenmist" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: -12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($base-bg, $lightness: -9%, $space: hsl), $alpha: 0.4) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: 9%, $space: hsl) !default;
}

@if $color == "light" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: -12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: -62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: 9%, $space: hsl) !default;
}

@if $color == "softblue" {
  $checkbox-checked-color: $base-accent !default;
  $checkbox-indeterminate-bg: $base-accent !default;
  $checkbox-border-color-focused: $base-focus-bg !default;
  $checkbox-bg: $base-element-bg !default;
  $checkbox-hover-border-color: color.adjust($base-accent, $lightness: -12%, $space: hsl) !default;
  $checkbox-active-icon-bg: color.change(color.adjust($checkbox-bg, $lightness: -62.5%, $space: hsl), $alpha: 0.2) !default;
  $checkbox-readonly-border-color: color.adjust($checkbox-border-color, $lightness: 9%, $space: hsl) !default;
}

$checkbox-readonly-bg: $checkbox-bg !default;
