import { __assign } from "tslib";
import { Typography } from "../Typography";
import { DARK_COLORS, LIGHT_COLORS } from "../Colors";
import { DIVIDERS_COLOR_DARK, DIVIDERS_COLOR_LIGHT, DIVIDERS_DARK, DIVIDERS_LIGHT, BORDERS_DARK, BORDERS_LIGHT, SHADOWS_DARK, SHADOWS_LIGHT, BLUR } from "../effects";
import { Shape } from "../Shape";
export var THEME_COMPONENTS_NAMES = [
    "avatar",
    "banner",
    "breadcrumbs",
    "calendar",
    "button",
    "checkBox",
    "cluster",
    "colorPicker",
    "dateBox",
    "divider",
    "emptyState",
    "infoCard",
    "input",
    "inputColor",
    "inputNumber",
    "label",
    "list",
    "mapObject",
    "pageHeader",
    "pagination",
    "preloader",
    "progressBar",
    "radioButton",
    "roll",
    "scroll",
    "searchBox",
    "segmentedControl",
    "select",
    "slider",
    "snackBar",
    "status",
    "switch",
    "tab",
    "tag",
    "textarea",
    "tooltip",
    "popover",
    "tree",
    "dropdown",
    "steps",
    "mobileSteps"
];
export var LIGHT_THEME_BASIC = {
    colors: LIGHT_COLORS,
    dividers: DIVIDERS_LIGHT,
    dividersColors: DIVIDERS_COLOR_LIGHT,
    name: "light",
    borders: BORDERS_LIGHT,
    shadows: SHADOWS_LIGHT,
    blur: BLUR,
    shape: Shape,
    typography: Typography,
    colorIcon: LIGHT_COLORS.grayscale12
};
export var LIGHT_THEME = new Proxy(__assign(__assign({}, LIGHT_THEME_BASIC), { components: {} }), {
    set: function (target, p, value) {
        target[p] = __assign(__assign({}, target[p]), value);
        return true;
    }
});
export var DARK_THEME_BASIC = {
    colors: DARK_COLORS,
    dividers: DIVIDERS_DARK,
    dividersColors: DIVIDERS_COLOR_DARK,
    name: "dark",
    borders: BORDERS_DARK,
    shadows: SHADOWS_DARK,
    blur: BLUR,
    shape: Shape,
    typography: Typography,
    colorIcon: DARK_COLORS.grayscale12
};
export var DEFAULT_THEME = {
    colors: LIGHT_COLORS,
    dividers: DIVIDERS_LIGHT,
    dividersColors: DIVIDERS_COLOR_LIGHT,
    name: "light",
    borders: BORDERS_LIGHT,
    shadows: SHADOWS_LIGHT,
    blur: BLUR,
    shape: Shape,
    typography: Typography,
    colorIcon: LIGHT_COLORS.grayscale12,
    components: {}
};
export var DARK_THEME = new Proxy(__assign(__assign({}, DARK_THEME_BASIC), { components: {} }), {
    set: function (target, p, value) {
        target[p] = __assign(__assign({}, target[p]), value);
        return true;
    }
});
export var DEFAULT_COLOR_TOKENS = new Proxy({}, {
    set: function (target, p, value) {
        target[p] = __assign(__assign({}, target[p]), value);
        return true;
    }
});
