(function (factory) {
    if (typeof module === "object" && typeof module.exports === "object") {
        var v = factory(require, exports);
        if (v !== undefined) module.exports = v;
    }
    else if (typeof define === "function" && define.amd) {
        define(["require", "exports", "tslib", "../Typography", "../Colors", "../effects", "../Shape"], factory);
    }
})(function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.DEFAULT_COLOR_TOKENS = exports.DARK_THEME = exports.DEFAULT_THEME = exports.DARK_THEME_BASIC = exports.LIGHT_THEME = exports.LIGHT_THEME_BASIC = exports.THEME_COMPONENTS_NAMES = void 0;
    var tslib_1 = require("tslib");
    var Typography_1 = require("../Typography");
    var Colors_1 = require("../Colors");
    var effects_1 = require("../effects");
    var Shape_1 = require("../Shape");
    exports.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"
    ];
    exports.LIGHT_THEME_BASIC = {
        colors: Colors_1.LIGHT_COLORS,
        dividers: effects_1.DIVIDERS_LIGHT,
        dividersColors: effects_1.DIVIDERS_COLOR_LIGHT,
        name: "light",
        borders: effects_1.BORDERS_LIGHT,
        shadows: effects_1.SHADOWS_LIGHT,
        blur: effects_1.BLUR,
        shape: Shape_1.Shape,
        typography: Typography_1.Typography,
        colorIcon: Colors_1.LIGHT_COLORS.grayscale12
    };
    exports.LIGHT_THEME = new Proxy((0, tslib_1.__assign)((0, tslib_1.__assign)({}, exports.LIGHT_THEME_BASIC), { components: {} }), {
        set: function (target, p, value) {
            target[p] = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, target[p]), value);
            return true;
        }
    });
    exports.DARK_THEME_BASIC = {
        colors: Colors_1.DARK_COLORS,
        dividers: effects_1.DIVIDERS_DARK,
        dividersColors: effects_1.DIVIDERS_COLOR_DARK,
        name: "dark",
        borders: effects_1.BORDERS_DARK,
        shadows: effects_1.SHADOWS_DARK,
        blur: effects_1.BLUR,
        shape: Shape_1.Shape,
        typography: Typography_1.Typography,
        colorIcon: Colors_1.DARK_COLORS.grayscale12
    };
    exports.DEFAULT_THEME = {
        colors: Colors_1.LIGHT_COLORS,
        dividers: effects_1.DIVIDERS_LIGHT,
        dividersColors: effects_1.DIVIDERS_COLOR_LIGHT,
        name: "light",
        borders: effects_1.BORDERS_LIGHT,
        shadows: effects_1.SHADOWS_LIGHT,
        blur: effects_1.BLUR,
        shape: Shape_1.Shape,
        typography: Typography_1.Typography,
        colorIcon: Colors_1.LIGHT_COLORS.grayscale12,
        components: {}
    };
    exports.DARK_THEME = new Proxy((0, tslib_1.__assign)((0, tslib_1.__assign)({}, exports.DARK_THEME_BASIC), { components: {} }), {
        set: function (target, p, value) {
            target[p] = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, target[p]), value);
            return true;
        }
    });
    exports.DEFAULT_COLOR_TOKENS = new Proxy({}, {
        set: function (target, p, value) {
            target[p] = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, target[p]), value);
            return true;
        }
    });
});
