Theme.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  8. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  9. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  10. var _warning = require("rc-util/lib/warning");
  11. var uuid = 0;
  12. /**
  13. * Theme with algorithms to derive tokens from design tokens.
  14. * Use `createTheme` first which will help to manage the theme instance cache.
  15. */
  16. var Theme = exports.default = /*#__PURE__*/function () {
  17. function Theme(derivatives) {
  18. (0, _classCallCheck2.default)(this, Theme);
  19. (0, _defineProperty2.default)(this, "derivatives", void 0);
  20. (0, _defineProperty2.default)(this, "id", void 0);
  21. this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];
  22. this.id = uuid;
  23. if (derivatives.length === 0) {
  24. (0, _warning.warning)(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');
  25. }
  26. uuid += 1;
  27. }
  28. (0, _createClass2.default)(Theme, [{
  29. key: "getDerivativeToken",
  30. value: function getDerivativeToken(token) {
  31. return this.derivatives.reduce(function (result, derivative) {
  32. return derivative(token, result);
  33. }, undefined);
  34. }
  35. }]);
  36. return Theme;
  37. }();