@import (reference) '../../style/mixins/typography';

.table-size(@size, @padding-vertical, @padding-horizontal, @table-height,@font-size) {
	.@{table-prefix-cls}.@{table-prefix-cls}-@{size} {
		.@{table-prefix-cls}-title,
		.@{table-prefix-cls}-footer,
		.@{table-prefix-cls}-tbody > tr > td,
		tfoot > tr > th,
		tfoot > tr > td {
			padding: @padding-vertical @padding-horizontal;

			// height: @table-height;
			// .typography-paragraph-2();
			.typography-title(
			    @font-size,
			    @font-weight-regular,
			    20px,
			    @text-color,
			    0.4px
			);
			vertical-align: middle;
			.@{ant-prefix}-checkbox-wrapper {
				line-height: 20px;
				height: 20px;
			}
		}

		tr td&-selection-column,
		tr td&-selection-column {
			padding: @padding-vertical @padding-horizontal;
		}
		.@{table-prefix-cls}-thead > tr > th {
			vertical-align: middle;
			padding: @padding-vertical @padding-horizontal;
			.typography-title(
			    @font-size,
			    @font-weight-medium,
			    20px,
			    @heading-color,
			    0.4px
			);
			.@{ant-prefix}-checkbox-wrapper {
				line-height: 20px;
				height: 20px;
			}
		}

		.@{table-prefix-cls}-filter-trigger {
			margin-right: -(@padding-horizontal / 2);
		}

		.@{table-prefix-cls}-expanded-row-fixed {
			margin: -@padding-vertical -@padding-horizontal;
		}

		.@{table-prefix-cls}-tbody {
			// ========================= Nest Table ===========================
			.@{table-prefix-cls}-wrapper:only-child {
				.@{table-prefix-cls} {
					margin: -@padding-vertical -@padding-horizontal -@padding-vertical (@padding-horizontal +
								ceil((@font-size * 1.4)));
				}
			}
		}
	}
}
// ================================================================
// =                            Middle                            =
// ================================================================
.table-size(~'middle', @table-padding-vertical-md, @table-padding-horizontal-md, @table-height-md,@font-size-sm);
// ================================================================
// =                            Large                            =
// ================================================================
.table-size(~'large', @table-padding-vertical-lg, @table-padding-horizontal-lg,@table-height-lg,@font-size-base);

// ================================================================
// =                            Small                             =
// ================================================================
.table-size(~'small', @table-padding-vertical-sm, @table-padding-horizontal-sm, @table-height-sm,@font-size-sm);

// ================================================================
// =                            XS                             =
// ================================================================
.table-size(~'xs', @table-padding-vertical-xs, @table-padding-horizontal-xs, @table-height-xs,@font-size-sm);

.@{table-prefix-cls}-small {
	.@{table-prefix-cls}-thead > tr > th {
		background-color: @table-header-bg-sm;
	}
	.@{table-prefix-cls}-selection-column {
		width: 46px;
		min-width: 46px;
	}
}
