// Copyright (c) Microsoft Corporation.  All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information.

.colorDefinitions(@theme) {
    // TV colors
    @TVHighlight: rgb(86, 86, 86);
    @TVUi3: rgb(107, 107, 107);
    @TVUi4: rgb(194, 194, 194);
    @TVVideoSafeWhite: rgb(235, 235, 235);
    @TVVideoSafeBlack: rgb(16, 16, 16);


    // Primary theme colors
    .mixin(light) {
        @altHigh: rgb(255, 255, 255);
        @baseHigh: rgb(0, 0, 0);
        @chromeHigh: #ccc;
        @chromeMid: #e6e6e6;
        @chromeMediumMid: #f2f2f2;
        @chromeLow: #f2f2f2;

        @listSelectRestOpacity: .4;
        @listSelectHoverOpacity: .6;
        @listSelectPressOpacity: .7;

        // One off colors
        @sliderThumbHover: #1f1f1f;
        @sliderThumbDisabled: #ccc;

        // TV colors
        @TVVideoSafeTheme: @TVVideoSafeWhite;
        @TVVideoSafeInverseTheme: @TVVideoSafeBlack;
    }

    .mixin(dark) {
        @altHigh: rgb(0, 0, 0);
        @baseHigh: rgb(255, 255, 255);
        @chromeHigh: #767676;
        @chromeMid: #393939;
        @chromeMediumMid: #2b2b2b;
        @chromeLow: #171717;

        @listSelectRestOpacity: .6;
        @listSelectHoverOpacity: .8;
        @listSelectPressOpacity: .9;

        // One off colors
        @sliderThumbHover: #f9f9f9;
        @sliderThumbDisabled: #333;

        // TV colors
        @TVVideoSafeTheme: @TVVideoSafeBlack;
        @TVVideoSafeInverseTheme: @TVVideoSafeWhite;
    }
    .mixin(@theme);

    // Secondary colors based off primary
    @altMediumHigh: fade(@altHigh, 80%);
    @altMid: fade(@altHigh, 60%);
    @altMediumMid: fade(@altHigh, 40%);
    @baseMediumHigh: fade(@baseHigh, 80%);
    @baseMid: fade(@baseHigh, 60%);
    @baseMediumMid: fade(@baseHigh, 40%);
    @baseLow: fade(@baseHigh, 20%);

    @listHover: fade(@baseHigh, 10%);
    @listPress: fade(@baseHigh, 20%);

    // Other colors not dependent on anything
    @baseWhite: #fff;
    @baseBlack: #000;
    @blackMediumMid: fade(black, 40%);
}
