util.js 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.parseColor = parseColor;
  7. var _classnames = _interopRequireDefault(require("classnames"));
  8. var _colors = require("../_util/colors");
  9. var _util = require("../color-picker/util");
  10. function parseColor(prefixCls, color) {
  11. const isInternalColor = (0, _colors.isPresetColor)(color);
  12. const className = (0, _classnames.default)({
  13. [`${prefixCls}-${color}`]: color && isInternalColor
  14. });
  15. const overlayStyle = {};
  16. const arrowStyle = {};
  17. const rgb = (0, _util.generateColor)(color).toRgb();
  18. const luminance = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;
  19. const textColor = luminance < 0.5 ? '#FFF' : '#000';
  20. if (color && !isInternalColor) {
  21. overlayStyle.background = color;
  22. overlayStyle['--ant-tooltip-color'] = textColor;
  23. // @ts-ignore
  24. arrowStyle['--antd-arrow-background-color'] = color;
  25. }
  26. return {
  27. className,
  28. overlayStyle,
  29. arrowStyle
  30. };
  31. }