UNPKG

@skbkontur/ui-kit

Version:

33 lines 1.09 kB
"use strict"; 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