33 lines
1.7 KiB
JavaScript
33 lines
1.7 KiB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
import { warning } from 'rc-util';
|
|
function getComponentToken(component, token, defaultToken, options) {
|
|
var customToken = _objectSpread({}, token[component]);
|
|
if (options !== null && options !== void 0 && options.deprecatedTokens) {
|
|
var deprecatedTokens = options.deprecatedTokens;
|
|
deprecatedTokens.forEach(function (_ref) {
|
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
oldTokenKey = _ref2[0],
|
|
newTokenKey = _ref2[1];
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
warning(!(customToken !== null && customToken !== void 0 && customToken[oldTokenKey]), "Component Token `".concat(String(oldTokenKey), "` of ").concat(String(component), " is deprecated. Please use `").concat(String(newTokenKey), "` instead."));
|
|
}
|
|
|
|
// Should wrap with `if` clause, or there will be `undefined` in object.
|
|
if (customToken !== null && customToken !== void 0 && customToken[oldTokenKey] || customToken !== null && customToken !== void 0 && customToken[newTokenKey]) {
|
|
var _customToken$newToken;
|
|
(_customToken$newToken = customToken[newTokenKey]) !== null && _customToken$newToken !== void 0 ? _customToken$newToken : customToken[newTokenKey] = customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey];
|
|
}
|
|
});
|
|
}
|
|
var mergedToken = _objectSpread(_objectSpread({}, defaultToken), customToken);
|
|
|
|
// Remove same value as global token to minimize size
|
|
Object.keys(mergedToken).forEach(function (key) {
|
|
if (mergedToken[key] === token[key]) {
|
|
delete mergedToken[key];
|
|
}
|
|
});
|
|
return mergedToken;
|
|
}
|
|
export default getComponentToken; |