@mixin propL($name, $var) {
    #{$name}: $var;
}

$primary: (
    50: var(--color-primary-50),
    100: var(--color-primary-100),
    200: var(--color-primary-200),
    300: var(--color-primary-300),
    400: var(--color-primary-400),
    500: var(--color-primary-500),
    600: var(--color-primary-600),
    700: var(--color-primary-700),
    800: var(--color-primary-800),
    900: var(--color-primary-900),
    A100: var(--color-primary-A100),
    A200: var(--color-primary-A200),
    A400: var(--color-primary-A400),
    A700: var(--color-primary-A700),
);

$danger: (
    50: var(--color-danger-50),
    100: var(--color-danger-100),
    200: var(--color-danger-200),
    300: var(--color-danger-300),
    400: var(--color-danger-400),
    500: var(--color-danger-500),
    600: var(--color-danger-600),
    700: var(--color-danger-700),
    800: var(--color-danger-800),
    900: var(--color-danger-900),
    A100: var(--color-danger-A100),
    A200: var(--color-danger-A200),
    A400: var(--color-danger-A400),
    A700: var(--color-danger-A700),
);

$warn: (
    50: var(--color-warn-50),
    100: var(--color-warn-100),
    200: var(--color-warn-200),
    300: var(--color-warn-300),
    400: var(--color-warn-400),
    500: var(--color-warn-500),
    600: var(--color-warn-600),
    700: var(--color-warn-700),
    800: var(--color-warn-800),
    900: var(--color-warn-900),
    A100: var(--color-warn-A100),
    A200: var(--color-warn-A200),
    A400: var(--color-warn-A400),
    A700: var(--color-warn-A700),
);

$success: (
    50: var(--color-success-50),
    100: var(--color-success-100),
    200: var(--color-success-200),
    300: var(--color-success-300),
    400: var(--color-success-400),
    500: var(--color-success-500),
    600: var(--color-success-600),
    700: var(--color-success-700),
    800: var(--color-success-800),
    900: var(--color-success-900),
    A100: var(--color-success-A100),
    A200: var(--color-success-A200),
    A400: var(--color-success-A400),
    A700: var(--color-success-A700),
);

@function entity-color($name) {
    @return (
        text: var(--color-#{$name}-text),
        bg: var(--color-#{$name}-background),
        hover-text: var(--color-#{$name}-hover-text),
        hover-bg: var(--color-#{$name}-hover-background),
    );
}

$primary-color:             var(--color-primary);
$primary-contrast-color:    var(--color-primary-contrast);
$primary-color-dark:        var(--color-primary-dark);
$primary-color-light:       var(--color-primary-light);

$danger-color:              var(--color-danger);
$danger-contrast-color:     var(--color-danger-contrast);
$danger-color-dark:         var(--color-danger-dark);
$danger-color-light:        var(--color-danger-light);

$warn-color:                var(--color-warn);
$warn-contrast-color:       var(--color-warn-contrast);
$warn-color-dark:           var(--color-warn-dark);
$warn-color-light:          var(--color-warn-light);

$success-color:             var(--color-success);
$success-contrast-color:    var(--color-success-contrast);
$success-color-dark:        var(--color-success-dark);
$success-color-light:       var(--color-success-light);

$primary-text:              var(--color-text-primary);
$secondary-text:            var(--color-text-secondary);
$main-background:           var(--color-main-background);
$secondary-background:           var(--color-secondary-background);
$card-background:           var(--color-card-background);
$outline-color:             var(--color-outline);
$hover-bg-color:           var(--color-hover-bg);
$selection-color:           var(--color-selection);
$border-color:              var(--color-border);

// Header
$header-color:              entity-color(header);
$footer-color:              entity-color(footer);
$navigation-color:          entity-color(navigation);
$breadcrumb-color:          entity-color(breadcrumb);
$folder-icon-color:         var(--color-file-explorer-folder-icon);

// Input
$input-text-color:          var(--color-input-text);
$input-background-color:    var(--color-input-background);
$input-disabled-text-color:    var(--color-input-disabled-text);
$input-disabled-border-color:    var(--color-input-disabled-border);
$input-disabled-background-color:    var(--color-input-disabled-background);
$input-placeholder-color:   var(--color-input-placeholder);
$input-border-color:        var(--color-input-border);
$input-focus-border-color:  var(--color-input-focus-border);


$button-basic-text-color:   var(--color-button-basic-text);
$button-basic-bg-color:     var(--color-button-basic-bg);
$button-basic-hover-bg-color:     var(--color-button-basic-hover-bg);
$button-disabled-text-color:   var(--color-button-disabled-text);
$button-focus-text-color:   var(--color-button-focus-text);
$button-disabled-bg-color:     var(--color-button-disabled-bg);
