ant-design/components/table/style/size.tsx
afc163 9b95a30ec9
refactor: Table to CSS-IN-JS (#35584)
* style: add basic styles of table

* style: add basic border styles of table

* style: add more styles of table

* style: add more styles of table

* style: add pagination and summary styles

* add more styles

* style: add cell-ellipsis styles

* style: add Radius style

* style: add basic styles of table

* style: add basic border styles of table

* style: add more styles of table

* style: add more styles of table

* style: add pagination and summary styles

* add more styles

* style: add cell-ellipsis styles

* style: add Radius style

* style: add sorter style

* style: add sorter style

* style: add filter style

* style: add filter style

* style: add filter style

* style: fix filter and sort style

* style: fix bordered style

* style: fix bordered style

* style: fix bordered style

* style: add size style

* style: fix size style

* style: add selection style

* style: format code

* style: add sticky code

* style: add expand code

* style: add expand code

* style: add expand code

* style: add fixed code

* add fixed style

* style: fix diff place

* style: use number as px string

* chore: improve function name

* chore: use token

* style: rtl styles

* chore: fix marigin and padding logical properties

* fix: rtl styles

* fix: table filter dropdown style

* chore: remove useStyle

* chore: revert classNames

* fix: test case

* fix shadow in rtl

* Apply suggestions from code review

* chore: sub filter tree

* style: fix tree dropdown padding

Co-authored-by: zombiej <smith3816@gmail.com>
2022-05-31 10:10:35 +08:00

69 lines
1.9 KiB
TypeScript

import type { CSSObject } from '@ant-design/cssinjs';
import type { GenerateStyle } from '../../_util/theme';
import type { TableToken } from './index';
const genSizeStyle: GenerateStyle<TableToken, CSSObject> = token => {
const { componentCls } = token;
const getSizeStyle = (
size: 'small' | 'middle',
paddingVertical: number,
paddingHorizontal: number,
fontSize: number,
) => ({
[`${componentCls}${componentCls}-${size}`]: {
fontSize,
[`
${componentCls}-title,
${componentCls}-footer,
${componentCls}-thead > tr > th,
${componentCls}-tbody > tr > td,
tfoot > tr > th,
tfoot > tr > td
`]: {
padding: `${paddingVertical}px ${paddingHorizontal}px`,
},
[`${componentCls}-filter-trigger`]: {
marginInlineEnd: `-${paddingHorizontal / 2}px`,
},
[`${componentCls}-expanded-row-fixed`]: {
margin: `-${paddingVertical}px -${paddingHorizontal}px`,
},
[`${componentCls}-tbody`]: {
// ========================= Nest Table ===========================
[`${componentCls}-wrapper:only-child ${componentCls}`]: {
marginBlock: `-${paddingVertical}px`,
marginInline: `${
paddingHorizontal + Math.ceil(token.fontSizeSM * 1.4)
}px -${paddingHorizontal}px`,
},
},
// https://github.com/ant-design/ant-design/issues/35167
[`${componentCls}-selection-column`]: {
paddingInlineStart: `${paddingHorizontal / 4}px`,
},
},
});
return {
[`${componentCls}-wrapper`]: {
...getSizeStyle(
'middle',
token.tablePaddingVerticalMiddle,
token.tablePaddingHorizontalMiddle,
token.tabelFontSizeMiddle,
),
...getSizeStyle(
'small',
token.tablePaddingVerticalSmall,
token.tablePaddingHorizontalSmall,
token.tabelFontSizeSmall,
),
},
};
};
export default genSizeStyle;