"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getThemeModeColor = exports.getActiveColor = exports.LIGHT_LINK_MODE_COLOR = exports.DARK_LINK_MODE_COLOR = exports.LIGHT_MODE_COLOR = exports.DARK_MODE_COLOR = exports.COLOR_COMPATIBLE = exports.COLOR_SELECTED = exports.COLOR_HOVERED = exports.COLOR_LINK = exports.COLOR_NODE = exports.COLOR_NEGATIVE_TEXT = exports.COLOR_SUB_TEXT = exports.COLOR_TEXT = exports.COLOR_OPAQUE_MAGENTA = exports.COLOR_MAGENTA = exports.COLOR_OPAQUE_CYAN = exports.COLOR_NONE = exports.COLOR_DARK_LINK_YELLOW = exports.COLOR_DARK_YELLOW = exports.COLOR_LINK_YELLOW = exports.COLOR_YELLOW = exports.COLOR_WHITE = exports.COLOR_DARK_LINK_CHARTREUSE = exports.COLOR_DARK_CHARTREUSE = exports.COLOR_LINK_CHARTREUSE = exports.COLOR_CHARTREUSE = exports.COLOR_LINK_BLUE = exports.COLOR_BLUE = exports.COLOR_DARK_OPAQUE_GREEN = exports.COLOR_DARK_LINK_GREEN = exports.COLOR_DARK_GREEN = exports.COLOR_OPAQUE_GREEN = exports.COLOR_LINK_GREEN = exports.COLOR_GREEN = exports.COLOR_OPAQUE_RED = exports.COLOR_LINK_RED = exports.COLOR_RED = exports.COLOR_GRAYSCALE_BASE11 = exports.COLOR_GRAYSCALE_BASE10 = exports.COLOR_GRAYSCALE_BASE09 = exports.COLOR_GRAYSCALE_BASE08 = exports.COLOR_GRAYSCALE_BASE07 = exports.COLOR_GRAYSCALE_BASE06 = exports.COLOR_GRAYSCALE_BASE05 = exports.COLOR_GRAYSCALE_BASE04 = exports.COLOR_GRAYSCALE_BASE03 = exports.COLOR_GRAYSCALE_BASE02 = exports.COLOR_GRAYSCALE_BASE01 = exports.COLOR_GRAYSCALE_BASE00 = void 0;
exports.oppositeTheme = exports.themeBackgroundColor = exports.themeColor = exports.getThemeLinkModeColor = void 0;
exports.applyTheme = applyTheme;
exports.defaultThemeColor = defaultThemeColor;
const color_1 = require("./color");
exports.COLOR_GRAYSCALE_BASE00 = '#FCFCFC';
exports.COLOR_GRAYSCALE_BASE01 = '#E5E5E5';
exports.COLOR_GRAYSCALE_BASE02 = '#D3D3D3';
exports.COLOR_GRAYSCALE_BASE03 = '#C2C2C2';
exports.COLOR_GRAYSCALE_BASE04 = '#B0B0B0';
exports.COLOR_GRAYSCALE_BASE05 = '#A1A1A1';
exports.COLOR_GRAYSCALE_BASE06 = '#787878';
exports.COLOR_GRAYSCALE_BASE07 = '#636363';
exports.COLOR_GRAYSCALE_BASE08 = '#4D4D4D';
exports.COLOR_GRAYSCALE_BASE09 = '#363636';
exports.COLOR_GRAYSCALE_BASE10 = '#1F1F1F';
exports.COLOR_GRAYSCALE_BASE11 = '#080808';
exports.COLOR_RED = '#ff6666';
exports.COLOR_LINK_RED = '#ff4d4d';
exports.COLOR_OPAQUE_RED = '#ff0000';
exports.COLOR_GREEN = '#00aa11';
exports.COLOR_LINK_GREEN = '#0b8e14';
exports.COLOR_OPAQUE_GREEN = '#3ac346';
exports.COLOR_DARK_GREEN = '#007700';
exports.COLOR_DARK_LINK_GREEN = '#085a01';
exports.COLOR_DARK_OPAQUE_GREEN = '#079013';
exports.COLOR_BLUE = '#0066ff';
exports.COLOR_LINK_BLUE = '#1d62c9';
exports.COLOR_CHARTREUSE = '#dfff00';
exports.COLOR_LINK_CHARTREUSE = '#cddd00';
exports.COLOR_DARK_CHARTREUSE = '#4cccf6'; // aquamarine
exports.COLOR_DARK_LINK_CHARTREUSE = '#3aabd4';
exports.COLOR_WHITE = '#ffffff';
exports.COLOR_YELLOW = '#ffcc00';
exports.COLOR_LINK_YELLOW = '#ffbb00';
exports.COLOR_DARK_YELLOW = '#2299ff'; // lightblue
exports.COLOR_DARK_LINK_YELLOW = '#1177dd';
exports.COLOR_NONE = '#00000000';
exports.COLOR_OPAQUE_CYAN = 'hsl(180, 70%, 40%)';
exports.COLOR_MAGENTA = 'hsl(300, 100%, 40%)';
exports.COLOR_OPAQUE_MAGENTA = 'hsl(300, 70%, 40%)';
exports.COLOR_TEXT = exports.COLOR_GRAYSCALE_BASE03;
exports.COLOR_SUB_TEXT = exports.COLOR_GRAYSCALE_BASE06;
exports.COLOR_NEGATIVE_TEXT = exports.COLOR_GRAYSCALE_BASE09;
exports.COLOR_NODE = exports.COLOR_GRAYSCALE_BASE02;
exports.COLOR_LINK = exports.COLOR_GRAYSCALE_BASE07;
exports.COLOR_HOVERED = exports.COLOR_GRAYSCALE_BASE08;
exports.COLOR_SELECTED = exports.COLOR_GRAYSCALE_BASE04;
exports.COLOR_COMPATIBLE = exports.COLOR_GREEN;
exports.DARK_MODE_COLOR = {
    change: exports.COLOR_BLUE,
    remove: exports.COLOR_RED,
    add: exports.COLOR_GREEN,
    data: exports.COLOR_CHARTREUSE,
};
exports.LIGHT_MODE_COLOR = {
    change: exports.COLOR_BLUE,
    remove: exports.COLOR_RED,
    add: exports.COLOR_DARK_GREEN,
    data: exports.COLOR_DARK_CHARTREUSE,
};
exports.DARK_LINK_MODE_COLOR = {
    add: exports.COLOR_LINK_GREEN,
    remove: exports.COLOR_LINK_RED,
    change: exports.COLOR_LINK_BLUE,
    data: exports.COLOR_LINK_CHARTREUSE,
};
exports.LIGHT_LINK_MODE_COLOR = {
    add: exports.COLOR_DARK_LINK_GREEN,
    remove: exports.COLOR_LINK_RED,
    change: exports.COLOR_LINK_BLUE,
    data: exports.COLOR_DARK_LINK_CHARTREUSE,
};
const getActiveColor = (theme) => {
    if (theme === 'dark') {
        return exports.COLOR_YELLOW;
    }
    else {
        return exports.COLOR_DARK_YELLOW;
    }
};
exports.getActiveColor = getActiveColor;
const getThemeModeColor = (theme, mode, _default) => {
    if (theme === 'dark') {
        return exports.DARK_MODE_COLOR[mode] || _default;
    }
    else {
        return exports.LIGHT_MODE_COLOR[mode] || _default;
    }
};
exports.getThemeModeColor = getThemeModeColor;
const getThemeLinkModeColor = (theme, mode) => {
    if (theme === 'dark') {
        return exports.DARK_LINK_MODE_COLOR[mode];
    }
    else {
        return exports.LIGHT_LINK_MODE_COLOR[mode];
    }
};
exports.getThemeLinkModeColor = getThemeLinkModeColor;
const DARK_DEFAULT_COLOR = '#f1f1f1';
const LIGHT_DEFAULT_COLOR = '#1f1f1f';
const themeColor = (theme) => {
    return theme === 'dark' ? DARK_DEFAULT_COLOR : LIGHT_DEFAULT_COLOR;
};
exports.themeColor = themeColor;
const themeBackgroundColor = (theme) => {
    return theme === 'dark' ? LIGHT_DEFAULT_COLOR : DARK_DEFAULT_COLOR;
};
exports.themeBackgroundColor = themeBackgroundColor;
const oppositeTheme = (theme) => {
    return theme === 'dark' ? 'light' : 'dark';
};
exports.oppositeTheme = oppositeTheme;
function applyTheme(theme, color, factor) {
    if (theme === 'dark') {
        return (0, color_1.darkenColor)(color, factor);
    }
    else {
        return (0, color_1.lightenColor)(color, factor);
    }
}
function defaultThemeColor(theme) {
    if (theme === 'dark') {
        return exports.COLOR_GRAYSCALE_BASE00;
    }
    else {
        return exports.COLOR_GRAYSCALE_BASE09;
    }
}
//# sourceMappingURL=theme.js.map