@skbkontur/ui-kit
Version:
33 lines • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CONTROL_STATES = ['default', 'hover', 'active', 'focus', 'disabled'];
function getThemeColor(colors, colorToken) {
var color = parseToken(colorToken, colors);
return color || '';
}
exports.getThemeColor = getThemeColor;
var parseToken = function (stringValue, colors) {
if (!stringValue) {
return '';
}
var colorValue = stringValue.replace(/\$\.(\w+)\.(\w+)/g, tokenReplacer.bind(null, colors));
if (hasVariable(colorValue)) {
colorValue = parseToken(colorValue, colors);
}
return colorValue;
};
var hasVariable = function (token) {
return token.indexOf('$.') > -1;
};
var tokenReplacer = function (colors, substring) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
}
if (args.length) {
var path = args.slice(0, args.length - 2);
return path.reduce(function (dict, item) { return dict[item]; }, colors);
}
return substring;
};
//# sourceMappingURL=utils.js.map
;