getComponentToken.js 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
  2. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  3. import { warning } from 'rc-util';
  4. function getComponentToken(component, token, defaultToken, options) {
  5. var customToken = _objectSpread({}, token[component]);
  6. if (options !== null && options !== void 0 && options.deprecatedTokens) {
  7. var deprecatedTokens = options.deprecatedTokens;
  8. deprecatedTokens.forEach(function (_ref) {
  9. var _ref2 = _slicedToArray(_ref, 2),
  10. oldTokenKey = _ref2[0],
  11. newTokenKey = _ref2[1];
  12. if (process.env.NODE_ENV !== 'production') {
  13. 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."));
  14. }
  15. // Should wrap with `if` clause, or there will be `undefined` in object.
  16. if (customToken !== null && customToken !== void 0 && customToken[oldTokenKey] || customToken !== null && customToken !== void 0 && customToken[newTokenKey]) {
  17. var _customToken$newToken;
  18. (_customToken$newToken = customToken[newTokenKey]) !== null && _customToken$newToken !== void 0 ? _customToken$newToken : customToken[newTokenKey] = customToken === null || customToken === void 0 ? void 0 : customToken[oldTokenKey];
  19. }
  20. });
  21. }
  22. var mergedToken = _objectSpread(_objectSpread({}, defaultToken), customToken);
  23. // Remove same value as global token to minimize size
  24. Object.keys(mergedToken).forEach(function (key) {
  25. if (mergedToken[key] === token[key]) {
  26. delete mergedToken[key];
  27. }
  28. });
  29. return mergedToken;
  30. }
  31. export default getComponentToken;