size.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { unit } from '@ant-design/cssinjs';
  2. const genSizeStyle = token => {
  3. const {
  4. componentCls,
  5. tableExpandColumnWidth,
  6. calc
  7. } = token;
  8. const getSizeStyle = (size, paddingVertical, paddingHorizontal, fontSize) => ({
  9. [`${componentCls}${componentCls}-${size}`]: {
  10. fontSize,
  11. [`
  12. ${componentCls}-title,
  13. ${componentCls}-footer,
  14. ${componentCls}-cell,
  15. ${componentCls}-thead > tr > th,
  16. ${componentCls}-tbody > tr > th,
  17. ${componentCls}-tbody > tr > td,
  18. tfoot > tr > th,
  19. tfoot > tr > td
  20. `]: {
  21. padding: `${unit(paddingVertical)} ${unit(paddingHorizontal)}`
  22. },
  23. [`${componentCls}-filter-trigger`]: {
  24. marginInlineEnd: unit(calc(paddingHorizontal).div(2).mul(-1).equal())
  25. },
  26. [`${componentCls}-expanded-row-fixed`]: {
  27. margin: `${unit(calc(paddingVertical).mul(-1).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`
  28. },
  29. [`${componentCls}-tbody`]: {
  30. // ========================= Nest Table ===========================
  31. [`${componentCls}-wrapper:only-child ${componentCls}`]: {
  32. marginBlock: unit(calc(paddingVertical).mul(-1).equal()),
  33. marginInline: `${unit(calc(tableExpandColumnWidth).sub(paddingHorizontal).equal())} ${unit(calc(paddingHorizontal).mul(-1).equal())}`
  34. }
  35. },
  36. // https://github.com/ant-design/ant-design/issues/35167
  37. [`${componentCls}-selection-extra`]: {
  38. paddingInlineStart: unit(calc(paddingHorizontal).div(4).equal())
  39. }
  40. }
  41. });
  42. return {
  43. [`${componentCls}-wrapper`]: Object.assign(Object.assign({}, getSizeStyle('middle', token.tablePaddingVerticalMiddle, token.tablePaddingHorizontalMiddle, token.tableFontSizeMiddle)), getSizeStyle('small', token.tablePaddingVerticalSmall, token.tablePaddingHorizontalSmall, token.tableFontSizeSmall))
  44. };
  45. };
  46. export default genSizeStyle;