| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import { extend, map } from '../core/util.js';
- var DesignTokenManager = (function () {
- function DesignTokenManager() {
- this._designTokens = {};
- this._resolvedTokens = {};
- }
- DesignTokenManager.prototype.registerTokens = function (tokens) {
- this._designTokens = extend({}, tokens);
- this._resolveTokens();
- };
- DesignTokenManager.prototype.getTokenValue = function (token) {
- var _a;
- if (typeof token !== 'string' || !token.startsWith('@')) {
- return token;
- }
- var key = token.slice(1);
- return (_a = this._resolvedTokens[key]) !== null && _a !== void 0 ? _a : token;
- };
- DesignTokenManager.prototype.resolveColor = function (color) {
- var _this = this;
- if (!color) {
- return color;
- }
- if (typeof color === 'string') {
- return this.getTokenValue(color);
- }
- else if (color.colorStops) {
- var gradient = extend({}, color);
- gradient.colorStops = map(gradient.colorStops, function (stop) {
- var newStop = extend({}, stop);
- newStop.color = _this.getTokenValue(stop.color);
- return newStop;
- });
- return gradient;
- }
- return color;
- };
- DesignTokenManager.prototype.getPaintStyle = function (style) {
- if (!style) {
- return style;
- }
- var paintStyle = extend({}, style);
- if (style.fill != undefined) {
- paintStyle.fill = this.resolveColor(style.fill);
- }
- if (style.stroke != undefined) {
- paintStyle.stroke = this.resolveColor(style.stroke);
- }
- return paintStyle;
- };
- DesignTokenManager.prototype.resolveStyle = function (style) {
- var resolvedStyle = extend({}, style);
- if (style.fill) {
- resolvedStyle.fill = this.resolveColor(style.fill);
- }
- if (style.stroke) {
- resolvedStyle.stroke = this.resolveColor(style.stroke);
- }
- return resolvedStyle;
- };
- DesignTokenManager.prototype._resolveTokens = function () {
- var _this = this;
- this._resolvedTokens = {};
- Object.keys(this._designTokens).forEach(function (category) {
- var tokens = _this._designTokens[category];
- Object.keys(tokens).forEach(function (key) {
- var value = tokens[key];
- _this._resolvedTokens[key] = _this._resolveTokenValue(value);
- });
- });
- };
- DesignTokenManager.prototype._resolveTokenValue = function (value) {
- if (typeof value !== 'string' || !value.startsWith('@')) {
- return value;
- }
- var tokenKey = value.slice(1);
- for (var _i = 0, _a = Object.values(this._designTokens); _i < _a.length; _i++) {
- var category = _a[_i];
- if (tokenKey in category) {
- var referencedValue = category[tokenKey];
- return this._resolveTokenValue(referencedValue);
- }
- }
- return value;
- };
- return DesignTokenManager;
- }());
- export { DesignTokenManager };
|