utils.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.justifyContentValues = exports.flexWrapValues = exports.default = exports.alignItemsValues = void 0;
  7. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  8. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  9. const flexWrapValues = exports.flexWrapValues = ['wrap', 'nowrap', 'wrap-reverse'];
  10. const justifyContentValues = exports.justifyContentValues = ['flex-start', 'flex-end', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch', 'normal', 'left', 'right'];
  11. const alignItemsValues = exports.alignItemsValues = ['center', 'start', 'end', 'flex-start', 'flex-end', 'self-start', 'self-end', 'baseline', 'normal', 'stretch'];
  12. const genClsWrap = (prefixCls, props) => {
  13. const wrapCls = {};
  14. flexWrapValues.forEach(cssKey => {
  15. wrapCls[`${prefixCls}-wrap-${cssKey}`] = props.wrap === cssKey;
  16. });
  17. return wrapCls;
  18. };
  19. const genClsAlign = (prefixCls, props) => {
  20. const alignCls = {};
  21. alignItemsValues.forEach(cssKey => {
  22. alignCls[`${prefixCls}-align-${cssKey}`] = props.align === cssKey;
  23. });
  24. alignCls[`${prefixCls}-align-stretch`] = !props.align && !!props.vertical;
  25. return alignCls;
  26. };
  27. const genClsJustify = (prefixCls, props) => {
  28. const justifyCls = {};
  29. justifyContentValues.forEach(cssKey => {
  30. justifyCls[`${prefixCls}-justify-${cssKey}`] = props.justify === cssKey;
  31. });
  32. return justifyCls;
  33. };
  34. function createFlexClassNames(prefixCls, props) {
  35. return (0, _classNames.default)((0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({}, genClsWrap(prefixCls, props)), genClsAlign(prefixCls, props)), genClsJustify(prefixCls, props)));
  36. }
  37. var _default = exports.default = createFlexClassNames;