From d783c4e9131463908c8d179009bd17725d5a0dd3 Mon Sep 17 00:00:00 2001 From: tangjinzhou <415800467@qq.com> Date: Thu, 10 Mar 2022 11:05:20 +0800 Subject: [PATCH] style: update style --- components/descriptions/index.tsx | 1 + components/list/index.tsx | 2 +- components/style/compact.less | 4 + components/style/core/base.less | 7 - components/style/core/global.less | 13 +- components/style/core/motion.less | 3 +- components/style/core/motion/fade.less | 2 + components/style/core/motion/move.less | 8 + components/style/dark.less | 2 + components/style/default.less | 4 + components/style/mixins/clearfix.less | 8 +- components/style/mixins/compatibility.less | 11 +- components/style/mixins/customize.less | 3 + components/style/mixins/iconfont.less | 15 - components/style/mixins/index.less | 6 +- components/style/mixins/modal-mask.less | 4 +- components/style/mixins/operation-unit.less | 2 - components/style/mixins/reset.less | 2 - components/style/themes/compact.less | 12 +- components/style/themes/dark.less | 1 + components/style/themes/default.less | 90 +- components/style/themes/index.less | 6 + components/style/themes/variable.less | 1116 +++++++++++++++++++ components/style/v2-compatible-reset.less | 51 - components/style/v2-compatible-reset.tsx | 1 - components/style/variable.less | 4 + 26 files changed, 1217 insertions(+), 161 deletions(-) create mode 100644 components/style/compact.less create mode 100644 components/style/default.less create mode 100644 components/style/themes/variable.less delete mode 100644 components/style/v2-compatible-reset.less delete mode 100644 components/style/v2-compatible-reset.tsx create mode 100644 components/style/variable.less diff --git a/components/descriptions/index.tsx b/components/descriptions/index.tsx index 2234bd7e3..4f782e381 100644 --- a/components/descriptions/index.tsx +++ b/components/descriptions/index.tsx @@ -54,6 +54,7 @@ export const DescriptionsItem = defineComponent({ }); const DEFAULT_COLUMN_MAP: Partial> = { + xxxl: 3, xxl: 3, xl: 3, lg: 3, diff --git a/components/list/index.tsx b/components/list/index.tsx index 52756116b..68b23c8b2 100644 --- a/components/list/index.tsx +++ b/components/list/index.tsx @@ -21,7 +21,7 @@ import { responsiveArray } from '../_util/responsiveObserve'; export { ListItemProps } from './Item'; export type { ListItemMetaProps } from './ItemMeta'; -export type ColumnType = 'gutter' | 'column' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; +export type ColumnType = 'gutter' | 'column' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl'; export type ColumnCount = number; export interface ListGridType { diff --git a/components/style/compact.less b/components/style/compact.less new file mode 100644 index 000000000..ef0008ba3 --- /dev/null +++ b/components/style/compact.less @@ -0,0 +1,4 @@ +@root-entry-name: default; + +@import './themes/compact.less'; +@import './core/index'; diff --git a/components/style/core/base.less b/components/style/core/base.less index 5f0bf8104..a704c5512 100644 --- a/components/style/core/base.less +++ b/components/style/core/base.less @@ -7,11 +7,4 @@ input::-ms-reveal { display: none; } - - &, - *, - *::before, - *::after { - box-sizing: border-box; // 1 - } } diff --git a/components/style/core/global.less b/components/style/core/global.less index d4f53103f..cb26cce38 100644 --- a/components/style/core/global.less +++ b/components/style/core/global.less @@ -1,4 +1,4 @@ -/* stylelint-disable at-rule-no-unknown */ +/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */ // Reboot // @@ -199,6 +199,7 @@ sup { sub { bottom: -0.25em; } + sup { top: -0.5em; } @@ -280,10 +281,6 @@ img { border-style: none; // remove the border on images inside links in IE 10-. } -svg:not(:root) { - overflow: hidden; // Hide the overflow in IE -} - // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property. // // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11 @@ -322,12 +319,6 @@ caption { caption-side: bottom; } -th { - // Matches default `` alignment by inheriting from the ``, or the - // closest parent with a set `text-align`. - text-align: inherit; -} - // // Forms // diff --git a/components/style/core/motion.less b/components/style/core/motion.less index 730c69368..286d50eba 100644 --- a/components/style/core/motion.less +++ b/components/style/core/motion.less @@ -1,4 +1,4 @@ -@import '../mixins/motion'; +// @import '../mixins/motion'; This has moved to theme/xxx inside. @import 'motion/fade'; @import 'motion/move'; @import 'motion/other'; @@ -8,6 +8,7 @@ // For common/openAnimation .ant-motion-collapse-legacy { overflow: hidden; + &-active { transition: height @animation-duration-base @ease-in-out, opacity @animation-duration-base @ease-in-out !important; diff --git a/components/style/core/motion/fade.less b/components/style/core/motion/fade.less index ac70f2d56..26fe0fd4e 100644 --- a/components/style/core/motion/fade.less +++ b/components/style/core/motion/fade.less @@ -27,6 +27,7 @@ 0% { opacity: 0; } + 100% { opacity: 1; } @@ -36,6 +37,7 @@ 0% { opacity: 1; } + 100% { opacity: 0; } diff --git a/components/style/core/motion/move.less b/components/style/core/motion/move.less index 68ae3eff0..c9758a743 100644 --- a/components/style/core/motion/move.less +++ b/components/style/core/motion/move.less @@ -32,6 +32,7 @@ transform-origin: 0 0; opacity: 0; } + 100% { transform: translateY(0%); transform-origin: 0 0; @@ -45,6 +46,7 @@ transform-origin: 0 0; opacity: 1; } + 100% { transform: translateY(100%); transform-origin: 0 0; @@ -58,6 +60,7 @@ transform-origin: 0 0; opacity: 0; } + 100% { transform: translateX(0%); transform-origin: 0 0; @@ -71,6 +74,7 @@ transform-origin: 0 0; opacity: 1; } + 100% { transform: translateX(-100%); transform-origin: 0 0; @@ -84,6 +88,7 @@ transform-origin: 0 0; opacity: 0; } + 100% { transform: translateX(0%); transform-origin: 0 0; @@ -97,6 +102,7 @@ transform-origin: 0 0; opacity: 1; } + 100% { transform: translateX(100%); transform-origin: 0 0; @@ -110,6 +116,7 @@ transform-origin: 0 0; opacity: 0; } + 100% { transform: translateY(0%); transform-origin: 0 0; @@ -123,6 +130,7 @@ transform-origin: 0 0; opacity: 1; } + 100% { transform: translateY(-100%); transform-origin: 0 0; diff --git a/components/style/dark.less b/components/style/dark.less index d268da201..12a37313e 100644 --- a/components/style/dark.less +++ b/components/style/dark.less @@ -1,2 +1,4 @@ +@root-entry-name: default; + @import './themes/dark.less'; @import './core/index'; diff --git a/components/style/default.less b/components/style/default.less new file mode 100644 index 000000000..ecec08453 --- /dev/null +++ b/components/style/default.less @@ -0,0 +1,4 @@ +// This is same as `index.less` but given `root-entry-name` for `dist/antd.less` usage +@root-entry-name: default; + +@import './index'; diff --git a/components/style/mixins/clearfix.less b/components/style/mixins/clearfix.less index 79b74bdda..07e89f801 100644 --- a/components/style/mixins/clearfix.less +++ b/components/style/mixins/clearfix.less @@ -1,12 +1,16 @@ // mixins for clearfix // ------------------------ .clearfix() { - &::before, - &::after { + // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229 + &::before { display: table; content: ''; } + &::after { + // https://github.com/ant-design/ant-design/issues/21864 + display: table; clear: both; + content: ''; } } diff --git a/components/style/mixins/compatibility.less b/components/style/mixins/compatibility.less index 8be87515a..c5fb0dbc2 100644 --- a/components/style/mixins/compatibility.less +++ b/components/style/mixins/compatibility.less @@ -3,17 +3,14 @@ // Placeholder text .placeholder(@color: @input-placeholder-color) { // Firefox + /* stylelint-disable-next-line selector-no-vendor-prefix */ &::-moz-placeholder { - color: @color; opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526 } - // Internet Explorer 10+ - &:-ms-input-placeholder { - color: @color; - } - // Safari and Chrome - &::-webkit-input-placeholder { + + &::placeholder { color: @color; + user-select: none; // https://github.com/ant-design/ant-design/pull/32639 } &:placeholder-shown { diff --git a/components/style/mixins/customize.less b/components/style/mixins/customize.less index e393c8ca3..6f6fc1864 100644 --- a/components/style/mixins/customize.less +++ b/components/style/mixins/customize.less @@ -64,6 +64,7 @@ .@{table-prefix-cls}-row-expand-icon { border: @popover-border; } + tfoot { > tr { > th, @@ -72,6 +73,7 @@ } } } + thead { > tr { > th { @@ -80,6 +82,7 @@ } } } + tbody { > tr { > td { diff --git a/components/style/mixins/iconfont.less b/components/style/mixins/iconfont.less index a504af724..000e1ecd7 100644 --- a/components/style/mixins/iconfont.less +++ b/components/style/mixins/iconfont.less @@ -26,18 +26,3 @@ display: block; } } - -// for iconfont font size -// fix chrome 12px bug, support ie -.iconfont-size-under-12px(@size, @rotate: 0deg) { - display: inline-block; - @font-scale: unit((@size / 12px)); - - font-size: 12px; - // IE9 - font-size: ~'@{size} \9'; - transform: scale(@font-scale) rotate(@rotate); - :root & { - font-size: @font-size-sm; // reset IE9 and above - } -} diff --git a/components/style/mixins/index.less b/components/style/mixins/index.less index c36323ed2..921eb9147 100644 --- a/components/style/mixins/index.less +++ b/components/style/mixins/index.less @@ -4,10 +4,10 @@ @import 'compatibility'; @import 'clearfix'; @import 'iconfont'; -@import 'motion'; -@import 'reset'; -@import 'operation-unit'; @import 'typography'; @import 'customize'; @import 'box'; @import 'modal-mask'; +@import 'motion'; +@import 'reset'; +@import 'operation-unit'; diff --git a/components/style/mixins/modal-mask.less b/components/style/mixins/modal-mask.less index 581cf3113..5a532c528 100644 --- a/components/style/mixins/modal-mask.less +++ b/components/style/mixins/modal-mask.less @@ -3,8 +3,8 @@ .modal-mask() { pointer-events: none; - &.zoom-enter, - &.zoom-appear { + &.@{ant-prefix}-zoom-enter, + &.@{ant-prefix}zoom-appear { transform: none; // reset scale avoid mousePosition bug opacity: 0; animation-duration: @animation-duration-slow; diff --git a/components/style/mixins/operation-unit.less b/components/style/mixins/operation-unit.less index 03ee5f93d..2dc85bf11 100644 --- a/components/style/mixins/operation-unit.less +++ b/components/style/mixins/operation-unit.less @@ -1,5 +1,3 @@ -@import '../../style/themes/default'; - .operation-unit() { color: @link-color; text-decoration: none; diff --git a/components/style/mixins/reset.less b/components/style/mixins/reset.less index 2709bb8bf..905c16e24 100644 --- a/components/style/mixins/reset.less +++ b/components/style/mixins/reset.less @@ -1,5 +1,3 @@ -@import '../themes/index'; - .reset-component() { box-sizing: border-box; margin: 0; diff --git a/components/style/themes/compact.less b/components/style/themes/compact.less index 841d77402..913ec9a55 100644 --- a/components/style/themes/compact.less +++ b/components/style/themes/compact.less @@ -84,7 +84,6 @@ // Radio // --- @radio-size: 14px; -@radio-top: -2px; @radio-wrapper-margin-right: 6px; // Switch @@ -105,7 +104,7 @@ // --- @input-padding-vertical-base: round( max( - round((@input-height-base - @font-size-base * @line-height-base) / 2 * 10) / 10 - + (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) - @border-width-base, 2px ) @@ -182,6 +181,7 @@ // --- @drawer-header-padding: 11px @padding-lg; @drawer-footer-padding-vertical: @padding-sm; +@drawer-footer-padding-horizontal: @padding-sm; @drawer-header-close-size: 44px; // Modal @@ -221,7 +221,7 @@ @table-padding-horizontal-md: 8px; @table-padding-vertical-sm: 4px; @table-padding-horizontal-sm: 4px; -@table-selection-column-width: 54px; +@table-selection-column-width: 32px; // Statistic // --- @@ -231,12 +231,8 @@ // --- @alert-with-description-no-icon-padding-vertical: 7px; @alert-with-description-padding-vertical: 11px; -@alert-with-description-padding: @alert-with-description-padding-vertical 15px - @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size * 2 + - @alert-with-description-padding-vertical; -@alert-icon-top: 7px + @font-size-base * @line-height-base / 2 - @font-size-base / 2; +@alert-icon-top: 7px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); @alert-with-description-icon-size: 20px; -@alert-with-description-icon-top: @alert-with-description-padding-vertical; // Skeleton // --- diff --git a/components/style/themes/dark.less b/components/style/themes/dark.less index f11cb04cc..00ec8c7bd 100644 --- a/components/style/themes/dark.less +++ b/components/style/themes/dark.less @@ -314,6 +314,7 @@ @table-header-sort-bg: #262626; @table-header-filter-active-bg: #434343; @table-header-sort-active-bg: #303030; +@table-fixed-header-sort-active-bg: #222; @table-filter-btns-bg: @popover-background; @table-expanded-row-bg: @table-header-bg; @table-filter-dropdown-bg: @popover-background; diff --git a/components/style/themes/default.less b/components/style/themes/default.less index 075b516e9..758bc598e 100644 --- a/components/style/themes/default.less +++ b/components/style/themes/default.less @@ -9,7 +9,11 @@ // An override for the html selector for theme prefixes @html-selector: html; +// [CSS-VARIABLE-REPLACE-BEGIN: html-variables] +// [CSS-VARIABLE-REPLACE-END: html-variables] + // -------- Colors ----------- +// >>> Primary @primary-color: @blue-6; @primary-color-hover: color(~`colorPalette('@{primary-color}', 5) `); @primary-color-active: color(~`colorPalette('@{primary-color}', 7) `); @@ -51,22 +55,6 @@ @white: #fff; @black: #000; -// >>> Warning -@warning-color: @gold-6; -@warning-color-hover: color(~`colorPalette('@{warning-color}', 5) `); -@warning-color-active: color(~`colorPalette('@{warning-color}', 7) `); -@warning-color-outline: fade(@warning-color, @outline-fade); -@warning-color-deprecated-bg: color(~`colorPalette('@{warning-color}', 1) `); -@warning-color-deprecated-border: color(~`colorPalette('@{warning-color}', 3) `); - -// >>> Error -@error-color: @red-5; -@error-color-hover: color(~`colorPalette('@{error-color}', 5) `); -@error-color-active: color(~`colorPalette('@{error-color}', 7) `); -@error-color-outline: fade(@error-color, @outline-fade); -@error-color-deprecated-bg: color(~`colorPalette('@{error-color}', 1) `); -@error-color-deprecated-border: color(~`colorPalette('@{error-color}', 3) `); - // Color used by default to control hover and active backgrounds and for // alert info backgrounds. @primary-1: color(~`colorPalette('@{primary-color}', 1) `); // replace tint(@primary-color, 90%) @@ -186,7 +174,7 @@ // Outline @outline-blur-size: 0; @outline-width: 2px; -@outline-color: @primary-color; +@outline-color: @primary-color; // No use anymore @outline-fade: 20%; @background-color-light: hsv(0, 0, 98%); // background of header and selected item @@ -201,12 +189,17 @@ // Shadow @shadow-color: rgba(0, 0, 0, 0.15); @shadow-color-inverse: @component-background; -@box-shadow-base: @shadow-1-down; -@shadow-1-up: 0 -2px 8px @shadow-color; -@shadow-1-down: 0 2px 8px @shadow-color; -@shadow-1-left: -2px 0 8px @shadow-color; -@shadow-1-right: 2px 0 8px @shadow-color; -@shadow-2: 0 4px 12px @shadow-color; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), + 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), + 0 12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); // Buttons @btn-font-weight: 400; @@ -226,8 +219,8 @@ @btn-default-border: @border-color-base; @btn-danger-color: #fff; -@btn-danger-bg: color(~`colorPalette('@{error-color}', 5) `); -@btn-danger-border: color(~`colorPalette('@{error-color}', 5) `); +@btn-danger-bg: @error-color; +@btn-danger-border: @error-color; @btn-disable-color: @disabled-color; @btn-disable-bg: @disabled-bg; @@ -243,9 +236,9 @@ @btn-padding-horizontal-lg: @btn-padding-horizontal-base; @btn-padding-horizontal-sm: @padding-xs - 1px; -@btn-height-base: 32px; -@btn-height-lg: 40px; -@btn-height-sm: 24px; +@btn-height-base: @height-base; +@btn-height-lg: @height-lg; +@btn-height-sm: @height-sm; @btn-line-height: @line-height-base; @@ -318,11 +311,13 @@ @radio-wrapper-margin-right: 8px; // Media queries breakpoints -// Extra small screen / phone +// @screen-xs and @screen-xs-min is not used in Grid +// smallest break point is @screen-md @screen-xs: 480px; @screen-xs-min: @screen-xs; +// 👆 Extra small screen / phone -// Small screen / tablet +// 👇 Small screen / tablet @screen-sm: 576px; @screen-sm-min: @screen-sm; @@ -341,8 +336,6 @@ // Extra extra large screen / large desktop @screen-xxl: 1600px; @screen-xxl-min: @screen-xxl; - -// Extra extra large screen / large desktop @screen-xxxl: 2000px; @screen-xxxl-min: @screen-xxxl; @@ -356,7 +349,6 @@ // Grid system @grid-columns: 24; -@grid-gutter-width: 0; // Layout @layout-body-background: #f0f2f5; @@ -847,8 +839,8 @@ @pagination-font-weight-active: 500; @pagination-item-bg-active: @component-background; @pagination-item-link-bg: @component-background; -@pagination-item-disabled-color-active: @white; -@pagination-item-disabled-bg-active: darken(@disabled-bg, 10%); +@pagination-item-disabled-color-active: @disabled-color; +@pagination-item-disabled-bg-active: @disabled-active-bg; @pagination-item-input-bg: @component-background; @pagination-mini-options-size-changer-top: 0px; @@ -909,11 +901,12 @@ // Collapse // --- -@collapse-header-padding: 12px 16px; +@collapse-header-padding: @padding-sm @padding-md; @collapse-header-padding-extra: 40px; @collapse-header-bg: @background-color-light; @collapse-content-padding: @padding-md; @collapse-content-bg: @component-background; +@collapse-header-arrow-left: 16px; // Skeleton // --- @@ -940,7 +933,6 @@ // --- @message-notice-content-padding: 10px 16px; @message-notice-content-bg: @component-background; - // Motion // --- @wave-animation-width: 6px; @@ -970,6 +962,7 @@ @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size; @alert-icon-top: 8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); @alert-with-description-icon-size: 24px; + // List // --- @list-header-background: transparent; @@ -988,7 +981,7 @@ // --- @statistic-title-font-size: @font-size-base; @statistic-content-font-size: 24px; -@statistic-unit-font-size: 16px; +@statistic-unit-font-size: 24px; @statistic-font-family: @font-family; // Drawer @@ -1019,16 +1012,6 @@ // --- @upload-actions-color: @text-color-secondary; -// Image -// --- -@image-size-base: 48px; -@image-font-size-base: 24px; -@image-bg: #f5f5f5; -@image-color: #fff; -@image-preview-operation-size: 18px; -@image-preview-operation-color: @text-color-dark; -@image-preview-operation-disabled-color: fade(@image-preview-operation-color, 45%); - // Steps // --- @process-tail-color: @border-color-split; @@ -1065,3 +1048,14 @@ @result-subtitle-font-size: @font-size-base; @result-icon-font-size: 72px; @result-extra-margin: 24px 0 0 0; + +// Image +// --- +@image-size-base: 48px; +@image-font-size-base: 24px; +@image-bg: #f5f5f5; +@image-color: #fff; +@image-mask-font-size: 16px; +@image-preview-operation-size: 18px; +@image-preview-operation-color: @text-color-dark; +@image-preview-operation-disabled-color: fade(@image-preview-operation-color, 25%); diff --git a/components/style/themes/index.less b/components/style/themes/index.less index f19386d8b..3cdbe0538 100644 --- a/components/style/themes/index.less +++ b/components/style/themes/index.less @@ -1 +1,7 @@ +// Default using variable as entry to support site variable version +// This will be replaced in webpack bundle +// @root-entry-name: variable; + @import './default.less'; +// @import './variable.less'; +// @import './@{root-entry-name}.less'; diff --git a/components/style/themes/variable.less b/components/style/themes/variable.less new file mode 100644 index 000000000..edcd6e0ea --- /dev/null +++ b/components/style/themes/variable.less @@ -0,0 +1,1116 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +@import '../color/colors'; + +@theme: variable; + +// The prefix to use on all css classes from ant. +@ant-prefix: ant; + +// An override for the html selector for theme prefixes +@html-selector: html; + +html { + @base-primary: @blue-6; + + // ========= Primary Color ========= + --@{ant-prefix}-primary-color: @base-primary; + --@{ant-prefix}-primary-color-hover: color(~`colorPalette('@{base-primary}', 5) `); + --@{ant-prefix}-primary-color-active: color(~`colorPalette('@{base-primary}', 7) `); + --@{ant-prefix}-primary-color-outline: fade(@base-primary, @outline-fade); + + // Legacy + @legacy-primary-1: color(~`colorPalette('@{base-primary}', 1) `); + + --@{ant-prefix}-primary-1: @legacy-primary-1; + --@{ant-prefix}-primary-2: color(~`colorPalette('@{base-primary}', 2) `); + --@{ant-prefix}-primary-3: color(~`colorPalette('@{base-primary}', 3) `); + --@{ant-prefix}-primary-4: color(~`colorPalette('@{base-primary}', 4) `); + --@{ant-prefix}-primary-5: color(~`colorPalette('@{base-primary}', 5) `); + --@{ant-prefix}-primary-6: @base-primary; + --@{ant-prefix}-primary-7: color(~`colorPalette('@{base-primary}', 7) `); + + // Deprecated + --@{ant-prefix}-primary-color-deprecated-pure: ~''; + --@{ant-prefix}-primary-color-deprecated-l-35: lighten(@base-primary, 35%); + --@{ant-prefix}-primary-color-deprecated-l-20: lighten(@base-primary, 20%); + --@{ant-prefix}-primary-color-deprecated-t-20: tint(@base-primary, 20%); + --@{ant-prefix}-primary-color-deprecated-t-50: tint(@base-primary, 50%); + --@{ant-prefix}-primary-color-deprecated-f-12: fade(@base-primary, 12%); + --@{ant-prefix}-primary-color-active-deprecated-f-30: fade(@legacy-primary-1, 30%); + --@{ant-prefix}-primary-color-active-deprecated-d-02: darken(@legacy-primary-1, 2%); + + // ========= Success Color ========= + --@{ant-prefix}-success-color: @green-6; + --@{ant-prefix}-success-color-hover: color(~`colorPalette('@{green-6}', 5) `); + --@{ant-prefix}-success-color-active: color(~`colorPalette('@{green-6}', 7) `); + --@{ant-prefix}-success-color-outline: fade(@green-6, @outline-fade); + --@{ant-prefix}-success-color-deprecated-bg: ~`colorPalette('@{green-6}', 1) `; + --@{ant-prefix}-success-color-deprecated-border: ~`colorPalette('@{green-6}', 3) `; + + // ========== Error Color ========== + --@{ant-prefix}-error-color: @red-5; + --@{ant-prefix}-error-color-hover: color(~`colorPalette('@{red-5}', 5) `); + --@{ant-prefix}-error-color-active: color(~`colorPalette('@{red-5}', 7) `); + --@{ant-prefix}-error-color-outline: fade(@red-5, @outline-fade); + --@{ant-prefix}-error-color-deprecated-bg: ~`colorPalette('@{red-5}', 1) `; + --@{ant-prefix}-error-color-deprecated-border: ~`colorPalette('@{red-5}', 3) `; + + // ========= Warning Color ========= + --@{ant-prefix}-warning-color: @gold-6; + --@{ant-prefix}-warning-color-hover: color(~`colorPalette('@{gold-6}', 5) `); + --@{ant-prefix}-warning-color-active: color(~`colorPalette('@{gold-6}', 7) `); + --@{ant-prefix}-warning-color-outline: fade(@gold-6, @outline-fade); + --@{ant-prefix}-warning-color-deprecated-bg: ~`colorPalette('@{gold-6}', 1) `; + --@{ant-prefix}-warning-color-deprecated-border: ~`colorPalette('@{gold-6}', 3) `; + + // ========== Info Color =========== + --@{ant-prefix}-info-color: @base-primary; + --@{ant-prefix}-info-color-deprecated-bg: ~`colorPalette('@{base-primary}', 1) `; + --@{ant-prefix}-info-color-deprecated-border: ~`colorPalette('@{base-primary}', 3) `; +} + +// -------- Colors ----------- +// >>> Primary +@primary-color: ~'var(--@{ant-prefix}-primary-color)'; +@primary-color-hover: ~'var(--@{ant-prefix}-primary-color-hover)'; +@primary-color-active: ~'var(--@{ant-prefix}-primary-color-active)'; +@primary-color-outline: ~'var(--@{ant-prefix}-primary-color-outline)'; + +@processing-color: @primary-color; + +// >>> Info +@info-color: ~'var(--@{ant-prefix}-info-color)'; +@info-color-deprecated-bg: ~'var(--@{ant-prefix}-info-color-deprecated-bg)'; +@info-color-deprecated-border: ~'var(--@{ant-prefix}-info-color-deprecated-border)'; + +// >>> Success +@success-color: ~'var(--@{ant-prefix}-success-color)'; +@success-color-hover: ~'var(--@{ant-prefix}-success-color-hover)'; +@success-color-active: ~'var(--@{ant-prefix}-success-color-active)'; +@success-color-outline: ~'var(--@{ant-prefix}-success-color-outline)'; +@success-color-deprecated-bg: ~'var(--@{ant-prefix}-success-color-deprecated-bg)'; +@success-color-deprecated-border: ~'var(--@{ant-prefix}-success-color-deprecated-border)'; + +// >>> Warning +@warning-color: ~'var(--@{ant-prefix}-warning-color)'; +@warning-color-hover: ~'var(--@{ant-prefix}-warning-color-hover)'; +@warning-color-active: ~'var(--@{ant-prefix}-warning-color-active)'; +@warning-color-outline: ~'var(--@{ant-prefix}-warning-color-outline)'; +@warning-color-deprecated-bg: ~'var(--@{ant-prefix}-warning-color-deprecated-bg)'; +@warning-color-deprecated-border: ~'var(--@{ant-prefix}-warning-color-deprecated-border)'; + +// >>> Error +@error-color: ~'var(--@{ant-prefix}-error-color)'; +@error-color-hover: ~'var(--@{ant-prefix}-error-color-hover)'; +@error-color-active: ~'var(--@{ant-prefix}-error-color-active)'; +@error-color-outline: ~'var(--@{ant-prefix}-error-color-outline)'; +@error-color-deprecated-bg: ~'var(--@{ant-prefix}-error-color-deprecated-bg)'; +@error-color-deprecated-border: ~'var(--@{ant-prefix}-error-color-deprecated-border)'; + +@highlight-color: @red-5; +@normal-color: #d9d9d9; +@white: #fff; +@black: #000; + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: ~'var(--@{ant-prefix}-primary-1)'; // replace tint(@primary-color, 90%) +@primary-2: ~'var(--@{ant-prefix}-primary-2)'; // replace tint(@primary-color, 80%) +@primary-3: ~'var(--@{ant-prefix}-primary-3)'; // unused +@primary-4: ~'var(--@{ant-prefix}-primary-4)'; // unused +@primary-5: ~'var(--@{ant-prefix}-primary-5)'; // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) +@primary-6: ~'var(--@{ant-prefix}-primary-6)'; // color used to control the text color of active buttons, don't use, use @primary-color +@primary-7: ~'var(--@{ant-prefix}-primary-7)'; // replace shade(@primary-color, 5%) +@primary-8: color(~`colorPalette('@{primary-color}', 8) `); // unused +@primary-9: color(~`colorPalette('@{primary-color}', 9) `); // unused +@primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused + +// Base Scaffolding Variables +// --- + +// Background color for `` +@body-background: #fff; +// Base background color for most components +@component-background: #fff; +// Popover background color +@popover-background: @component-background; +@popover-customize-border-color: @border-color-split; +@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; +@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; +@text-color: fade(@black, 85%); +@text-color-secondary: fade(@black, 45%); +@text-color-inverse: @white; +@icon-color: inherit; +@icon-color-hover: fade(@black, 75%); +@heading-color: fade(@black, 85%); +@text-color-dark: fade(@white, 85%); +@text-color-secondary-dark: fade(@white, 65%); +@text-selection-bg: @primary-color; +@font-variant-base: tabular-nums; +@font-feature-settings-base: 'tnum'; +@font-size-base: 14px; +@font-size-lg: @font-size-base + 2px; +@font-size-sm: 12px; +@heading-1-size: ceil(@font-size-base * 2.71); +@heading-2-size: ceil(@font-size-base * 2.14); +@heading-3-size: ceil(@font-size-base * 1.71); +@heading-4-size: ceil(@font-size-base * 1.42); +@heading-5-size: ceil(@font-size-base * 1.14); +// https://github.com/ant-design/ant-design/issues/20210 +@line-height-base: 1.5715; +@border-radius-base: 2px; +@border-radius-sm: @border-radius-base; + +// vertical paddings +@padding-lg: 24px; // containers +@padding-md: 16px; // small containers and buttons +@padding-sm: 12px; // Form controls and items +@padding-xs: 8px; // small items +@padding-xss: 4px; // more small + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// vertical margins +@margin-lg: 24px; // containers +@margin-md: 16px; // small containers and buttons +@margin-sm: 12px; // Form controls and items +@margin-xs: 8px; // small items +@margin-xss: 4px; // more small + +// height rules +@height-base: 32px; +@height-lg: 40px; +@height-sm: 24px; + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg: @primary-1; +@item-hover-bg: #f5f5f5; + +// ICONFONT +@iconfont-css-prefix: anticon; + +// LINK +@link-color: @primary-color; +@link-hover-color: @primary-color-hover; +@link-active-color: @primary-color-active; +@link-decoration: none; +@link-hover-decoration: none; +@link-focus-decoration: none; +@link-focus-outline: 0; + +// Animation +@ease-base-out: cubic-bezier(0.7, 0.3, 0.1, 1); +@ease-base-in: cubic-bezier(0.9, 0, 0.3, 0.7); +@ease-out: cubic-bezier(0.215, 0.61, 0.355, 1); +@ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19); +@ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); +@ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46); +@ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6); +@ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46); +@ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1); +@ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34); +@ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86); +@ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); +@ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06); +@ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1); + +// Border color +@border-color-base: hsv(0, 0, 85%); // base border outline a component +@border-color-split: hsv(0, 0, 94%); // split border inside a component +@border-color-inverse: @white; +@border-width-base: 1px; // width of the border for a component +@border-style-base: solid; // style of a components border + +// Outline +@outline-blur-size: 0; +@outline-width: 2px; +@outline-color: @primary-color; // No use anymore +@outline-fade: 20%; + +@background-color-light: hsv(0, 0, 98%); // background of header and selected item +@background-color-base: hsv(0, 0, 96%); // Default grey background color + +// Disabled states +@disabled-color: fade(#000, 25%); +@disabled-bg: @background-color-base; +@disabled-active-bg: tint(@black, 90%); +@disabled-color-dark: fade(#fff, 35%); + +// Shadow +@shadow-color: rgba(0, 0, 0, 0.15); +@shadow-color-inverse: @component-background; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), + 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), + 0 12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); + +// Buttons +@btn-font-weight: 400; +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-sm: @border-radius-base; +@btn-border-width: @border-width-base; +@btn-border-style: @border-style-base; +@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); +@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + +@btn-primary-color: #fff; +@btn-primary-bg: @primary-color; + +@btn-default-color: @text-color; +@btn-default-bg: @component-background; +@btn-default-border: @border-color-base; + +@btn-danger-color: #fff; +@btn-danger-bg: @error-color; +@btn-danger-border: @error-color; + +@btn-disable-color: @disabled-color; +@btn-disable-bg: @disabled-bg; +@btn-disable-border: @border-color-base; + +@btn-default-ghost-color: @component-background; +@btn-default-ghost-bg: transparent; +@btn-default-ghost-border: @component-background; + +@btn-font-size-lg: @font-size-lg; +@btn-font-size-sm: @font-size-base; +@btn-padding-horizontal-base: @padding-md - 1px; +@btn-padding-horizontal-lg: @btn-padding-horizontal-base; +@btn-padding-horizontal-sm: @padding-xs - 1px; + +@btn-height-base: @height-base; +@btn-height-lg: @height-lg; +@btn-height-sm: @height-sm; + +@btn-line-height: @line-height-base; + +@btn-circle-size: @btn-height-base; +@btn-circle-size-lg: @btn-height-lg; +@btn-circle-size-sm: @btn-height-sm; + +@btn-square-size: @btn-height-base; +@btn-square-size-lg: @btn-height-lg; +@btn-square-size-sm: @btn-height-sm; +@btn-square-only-icon-size: @font-size-base + 2px; +@btn-square-only-icon-size-sm: @font-size-base; +@btn-square-only-icon-size-lg: @btn-font-size-lg + 2px; + +@btn-group-border: @primary-5; + +@btn-link-hover-bg: transparent; +@btn-text-hover-bg: rgba(0, 0, 0, 0.018); + +// Checkbox +@checkbox-size: 16px; +@checkbox-color: @primary-color; +@checkbox-check-color: #fff; +@checkbox-check-bg: @checkbox-check-color; +@checkbox-border-width: @border-width-base; +@checkbox-border-radius: @border-radius-base; +@checkbox-group-item-margin-right: 8px; + +// Descriptions +@descriptions-bg: #fafafa; +@descriptions-title-margin-bottom: 20px; +@descriptions-default-padding: @padding-md @padding-lg; +@descriptions-middle-padding: @padding-sm @padding-lg; +@descriptions-small-padding: @padding-xs @padding-md; +@descriptions-item-padding-bottom: @padding-md; +@descriptions-item-trailing-colon: true; +@descriptions-item-label-colon-margin-right: 8px; +@descriptions-item-label-colon-margin-left: 2px; +@descriptions-extra-color: @text-color; + +// Divider +@divider-text-padding: 1em; +@divider-orientation-margin: 5%; +@divider-color: rgba(0, 0, 0, 6%); + +// Dropdown +@dropdown-selected-color: @primary-color; +@dropdown-menu-submenu-disabled-bg: @component-background; + +// Empty +@empty-font-size: @font-size-base; + +// Radio +@radio-size: 16px; +@radio-top: 0.2em; +@radio-border-width: 1px; +@radio-dot-size: @radio-size - 8px; +@radio-dot-color: @primary-color; +@radio-dot-disabled-color: fade(@black, 20%); +@radio-solid-checked-color: @component-background; + +// Radio buttons +@radio-button-bg: @btn-default-bg; +@radio-button-checked-bg: @btn-default-bg; +@radio-button-color: @btn-default-color; +@radio-button-hover-color: @primary-5; +@radio-button-active-color: @primary-7; +@radio-disabled-button-checked-bg: @disabled-active-bg; +@radio-disabled-button-checked-color: @disabled-color; +@radio-wrapper-margin-right: 8px; + +// Media queries breakpoints +// @screen-xs and @screen-xs-min is not used in Grid +// smallest break point is @screen-md +@screen-xs: 480px; +@screen-xs-min: @screen-xs; +// 👆 Extra small screen / phone + +// 👇 Small screen / tablet +@screen-sm: 576px; +@screen-sm-min: @screen-sm; + +// Medium screen / desktop +@screen-md: 768px; +@screen-md-min: @screen-md; + +// Large screen / wide desktop +@screen-lg: 992px; +@screen-lg-min: @screen-lg; + +// Extra large screen / full hd +@screen-xl: 1200px; +@screen-xl-min: @screen-xl; + +// Extra extra large screen / large desktop +@screen-xxl: 1600px; +@screen-xxl-min: @screen-xxl; +@screen-xxxl: 2000px; +@screen-xxxl-min: @screen-xxxl; + +// provide a maximum +@screen-xs-max: (@screen-sm-min - 1px); +@screen-sm-max: (@screen-md-min - 1px); +@screen-md-max: (@screen-lg-min - 1px); +@screen-lg-max: (@screen-xl-min - 1px); +@screen-xl-max: (@screen-xxl-min - 1px); +@screen-xxl-max: (@screen-xxxl-min - 1px); + +// Grid system +@grid-columns: 24; + +// Layout +@layout-body-background: #f0f2f5; +@layout-header-background: #001529; +@layout-header-height: 64px; +@layout-header-padding: 0 50px; +@layout-header-color: @text-color; +@layout-footer-padding: 24px 50px; +@layout-footer-background: @layout-body-background; +@layout-sider-background: @layout-header-background; +@layout-trigger-height: 48px; +@layout-trigger-background: #002140; +@layout-trigger-color: #fff; +@layout-zero-trigger-width: 36px; +@layout-zero-trigger-height: 42px; +// Layout light theme +@layout-sider-background-light: #fff; +@layout-trigger-background-light: #fff; +@layout-trigger-color-light: @text-color; + +// z-index list, order by `z-index` +@zindex-badge: auto; +@zindex-table-fixed: 2; +@zindex-affix: 10; +@zindex-back-top: 10; +@zindex-picker-panel: 10; +@zindex-popup-close: 10; +@zindex-modal: 1000; +@zindex-modal-mask: 1000; +@zindex-message: 1010; +@zindex-notification: 1010; +@zindex-popover: 1030; +@zindex-dropdown: 1050; +@zindex-picker: 1050; +@zindex-popoconfirm: 1060; +@zindex-tooltip: 1070; +@zindex-image: 1080; + +// Animation +@animation-duration-slow: 0.3s; // Modal +@animation-duration-base: 0.2s; +@animation-duration-fast: 0.1s; // Tooltip + +//CollapsePanel +@collapse-panel-border-radius: @border-radius-base; + +//Dropdown +@dropdown-menu-bg: @component-background; +@dropdown-vertical-padding: 5px; +@dropdown-edge-child-vertical-padding: 4px; +@dropdown-font-size: @font-size-base; +@dropdown-line-height: 22px; + +// Form +// --- +@label-required-color: @highlight-color; +@label-color: @heading-color; +@form-warning-input-bg: @input-bg; +@form-item-margin-bottom: 24px; +@form-item-trailing-colon: true; +@form-vertical-label-padding: 0 0 8px; +@form-vertical-label-margin: 0; +@form-item-label-font-size: @font-size-base; +@form-item-label-height: @input-height-base; +@form-item-label-colon-margin-right: 8px; +@form-item-label-colon-margin-left: 2px; +@form-error-input-bg: @input-bg; + +// Input +// --- +@input-height-base: @height-base; +@input-height-lg: @height-lg; +@input-height-sm: @height-sm; +@input-padding-horizontal: @control-padding-horizontal - 1px; +@input-padding-horizontal-base: @input-padding-horizontal; +@input-padding-horizontal-sm: @control-padding-horizontal-sm - 1px; +@input-padding-horizontal-lg: @input-padding-horizontal; +@input-padding-vertical-base: max( + (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 3px +); +@input-padding-vertical-sm: max( + (round(((@input-height-sm - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 0 +); +@input-padding-vertical-lg: ( + ceil(((@input-height-lg - @font-size-lg * @line-height-base) / 2) * 10) / 10 + ) - @border-width-base; +@input-placeholder-color: hsv(0, 0, 75%); +@input-color: @text-color; +@input-icon-color: @input-color; +@input-border-color: @border-color-base; +@input-bg: @component-background; +@input-number-hover-border-color: @input-hover-border-color; +@input-number-handler-active-bg: #f4f4f4; +@input-number-handler-hover-bg: @primary-5; +@input-number-handler-bg: @component-background; +@input-number-handler-border-color: @border-color-base; +@input-addon-bg: @background-color-light; +@input-hover-border-color: @primary-5; +@input-disabled-bg: @disabled-bg; +@input-outline-offset: 0 0; +@input-icon-hover-color: fade(@black, 85%); +@input-disabled-color: @disabled-color; + +// Mentions +// --- +@mentions-dropdown-bg: @component-background; +@mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg; + +// Select +// --- +@select-border-color: @border-color-base; +@select-item-selected-color: @text-color; +@select-item-selected-font-weight: 600; +@select-dropdown-bg: @component-background; +@select-item-selected-bg: @primary-1; +@select-item-active-bg: @item-hover-bg; +@select-dropdown-vertical-padding: @dropdown-vertical-padding; +@select-dropdown-font-size: @dropdown-font-size; +@select-dropdown-line-height: @dropdown-line-height; +@select-dropdown-height: 32px; +@select-background: @component-background; +@select-clear-background: @select-background; +@select-selection-item-bg: @background-color-base; +@select-selection-item-border-color: @border-color-split; +@select-single-item-height-lg: 40px; +@select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2; // Normal 24px +@select-multiple-item-height-lg: 32px; +@select-multiple-item-spacing-half: ceil((@input-padding-vertical-base / 2)); +@select-multiple-disabled-background: @input-disabled-bg; +@select-multiple-item-disabled-color: #bfbfbf; +@select-multiple-item-disabled-border-color: @select-border-color; + +// Cascader +// --- +@cascader-bg: @component-background; +@cascader-item-selected-bg: @primary-1; +@cascader-menu-bg: @component-background; +@cascader-menu-border-color-split: @border-color-split; + +// Cascader +// ---- +@cascader-dropdown-vertical-padding: @dropdown-vertical-padding; +@cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding; +@cascader-dropdown-font-size: @dropdown-font-size; +@cascader-dropdown-line-height: @dropdown-line-height; + +// Anchor +// --- +@anchor-bg: transparent; +@anchor-border-color: @border-color-split; +@anchor-link-top: 7px; +@anchor-link-left: 16px; +@anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left; + +// Tooltip +// --- +// Tooltip max width +@tooltip-max-width: 250px; +// Tooltip text color +@tooltip-color: #fff; +// Tooltip background color +@tooltip-bg: rgba(0, 0, 0, 0.75); +// Tooltip arrow width +@tooltip-arrow-width: 5px; +// Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +// Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + +// Popover +// --- +// Popover body background color +@popover-bg: @component-background; +// Popover text color +@popover-color: @text-color; +// Popover maximum width +@popover-min-width: 177px; +@popover-min-height: 32px; +// Popover arrow width +@popover-arrow-width: 6px; +// Popover arrow color +@popover-arrow-color: @popover-bg; +// Popover outer arrow width +// Popover outer arrow color +@popover-arrow-outer-color: @popover-bg; +// Popover distance with trigger +@popover-distance: @popover-arrow-width + 4px; +@popover-padding-horizontal: @padding-md; + +// Modal +// -- +@modal-header-padding-vertical: @padding-md; +@modal-header-padding-horizontal: @padding-lg; +@modal-body-padding: @padding-lg; +@modal-header-bg: @component-background; +@modal-header-padding: @modal-header-padding-vertical @modal-header-padding-horizontal; +@modal-header-border-width: @border-width-base; +@modal-header-border-style: @border-style-base; +@modal-header-title-line-height: 22px; +@modal-header-title-font-size: @font-size-lg; +@modal-header-border-color-split: @border-color-split; +@modal-header-close-size: 56px; +@modal-content-bg: @component-background; +@modal-heading-color: @heading-color; +@modal-close-color: @text-color-secondary; +@modal-footer-bg: transparent; +@modal-footer-border-color-split: @border-color-split; +@modal-footer-border-style: @border-style-base; +@modal-footer-padding-vertical: 10px; +@modal-footer-padding-horizontal: 16px; +@modal-footer-border-width: @border-width-base; +@modal-mask-bg: fade(@black, 45%); +@modal-confirm-body-padding: 32px 32px 24px; + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: @background-color-base; +@progress-info-text-color: @progress-text-color; +@progress-radius: 100px; +@progress-steps-item-bg: #f3f3f3; +@progress-text-font-size: 1em; +@progress-text-color: @text-color; // This is for circle text color, should be renamed better +@progress-circle-text-font-size: 1em; +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-item-group-height: @line-height-base; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-popup-bg: @component-background; +@menu-item-color: @text-color; +@menu-inline-submenu-bg: @background-color-light; +@menu-highlight-color: @primary-color; +@menu-highlight-danger-color: @error-color; +@menu-item-active-bg: @primary-1; +@menu-item-active-danger-bg: @red-1; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +@menu-item-vertical-margin: 4px; +@menu-item-font-size: @font-size-base; +@menu-item-boundary-margin: 8px; +@menu-item-padding-horizontal: 20px; +@menu-item-padding: 0 @menu-item-padding-horizontal; +@menu-horizontal-line-height: 46px; +@menu-icon-margin-right: 10px; +@menu-icon-size: @menu-item-font-size; +@menu-icon-size-lg: @font-size-lg; +@menu-item-group-title-font-size: @menu-item-font-size; + +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-danger-color: @error-color; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-inline-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; +@menu-dark-item-active-danger-bg: @error-color; +@menu-dark-selected-item-icon-color: @white; +@menu-dark-selected-item-text-color: @white; +@menu-dark-item-hover-bg: transparent; +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-bg: @component-background; +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: #fafafa; +@table-row-hover-bg: @background-color-light; +@table-selected-row-color: inherit; +@table-selected-row-bg: @primary-1; +@table-body-selected-sort-bg: @table-selected-row-bg; +@table-selected-row-hover-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-d-02)'; +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; +@table-padding-vertical-md: (@table-padding-vertical * 3 / 4); +@table-padding-horizontal-md: (@table-padding-horizontal / 2); +@table-padding-vertical-sm: (@table-padding-vertical / 2); +@table-padding-horizontal-sm: (@table-padding-horizontal / 2); +@table-border-color: @border-color-split; +@table-border-radius-base: @border-radius-base; +@table-footer-bg: @background-color-light; +@table-footer-color: @heading-color; +@table-header-bg-sm: @table-header-bg; +@table-font-size: @font-size-base; +@table-font-size-md: @table-font-size; +@table-font-size-sm: @table-font-size; +@table-header-cell-split-color: rgba(0, 0, 0, 0.06); +// Sorter +// Legacy: `table-header-sort-active-bg` is used for hover not real active +@table-header-sort-active-bg: rgba(0, 0, 0, 0.04); +@table-fixed-header-sort-active-bg: hsv(0, 0, 96%); + +// Filter +@table-header-filter-active-bg: rgba(0, 0, 0, 0.04); +@table-filter-btns-bg: inherit; +@table-filter-dropdown-bg: @component-background; +@table-expand-icon-bg: @component-background; +@table-selection-column-width: 32px; +// Sticky +@table-sticky-scroll-bar-bg: fade(#000, 35%); +@table-sticky-scroll-bar-radius: 4px; + +// Tag +// -- +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; +@tag-line-height: 20px; + +// TimePicker +// --- +@picker-bg: @component-background; +@picker-basic-cell-hover-color: @item-hover-bg; +@picker-basic-cell-active-with-range-color: @primary-1; +@picker-basic-cell-hover-with-range-color: ~'var(--@{ant-prefix}-primary-color-deprecated-l-35)'; +@picker-basic-cell-disabled-bg: rgba(0, 0, 0, 0.04); +@picker-border-color: @border-color-split; +@picker-date-hover-range-border-color: ~'var(--@{ant-prefix}-primary-color-deprecated-l-20)'; +@picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color; +@picker-time-panel-column-width: 56px; +@picker-time-panel-column-height: 224px; +@picker-time-panel-cell-height: 28px; +@picker-panel-cell-height: 24px; +@picker-panel-cell-width: 36px; +@picker-text-height: 40px; +@picker-panel-without-time-cell-height: 66px; + +// Calendar +// --- +@calendar-bg: @component-background; +@calendar-input-bg: @input-bg; +@calendar-border-color: @border-color-inverse; +@calendar-item-active-bg: @item-active-bg; +@calendar-column-active-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-f-30)'; +@calendar-full-bg: @calendar-bg; +@calendar-full-panel-bg: @calendar-full-bg; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-height-sm: 14px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-size-sm: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; +@badge-text-color: @component-background; +@badge-color: @highlight-color; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; +@rate-star-size: 20px; +@rate-star-hover-scale: scale(1.1); + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-font-size: @font-size-lg; +@card-head-font-size-sm: @font-size-base; +@card-head-padding: 16px; +@card-head-padding-sm: (@card-head-padding / 2); +@card-head-height: 48px; +@card-head-height-sm: 36px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-base-sm: (@card-padding-base / 2); +@card-actions-background: @component-background; +@card-actions-li-margin: 12px 0; +@card-skeleton-bg: #cfd8dc; +@card-background: @component-background; +@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), + 0 5px 12px 4px rgba(0, 0, 0, 0.09); +@card-radius: @border-radius-base; +@card-head-tabs-margin-bottom: -17px; +@card-head-extra-color: @text-color; + +// Comment +// --- +@comment-bg: inherit; +@comment-padding-base: @padding-md 0; +@comment-nest-indent: 44px; +@comment-font-size-base: @font-size-base; +@comment-font-size-sm: @font-size-sm; +@comment-author-name-color: @text-color-secondary; +@comment-author-time-color: #ccc; +@comment-action-color: @text-color-secondary; +@comment-action-hover-color: #595959; +@comment-actions-margin-bottom: inherit; +@comment-actions-margin-top: @margin-sm; +@comment-content-detail-p-margin-bottom: inherit; + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-card-horizontal-padding: ( + (@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2 + ) - @border-width-base @padding-md; +@tabs-card-horizontal-padding-sm: 6px @padding-md; +@tabs-card-horizontal-padding-lg: 7px @padding-md 6px; +@tabs-title-font-size: @font-size-base; +@tabs-title-font-size-lg: @font-size-lg; +@tabs-title-font-size-sm: @font-size-base; +@tabs-ink-bar-color: @primary-color; +@tabs-bar-margin: 0 0 @margin-md 0; +@tabs-horizontal-gutter: 32px; +@tabs-horizontal-margin: 0 0 0 @tabs-horizontal-gutter; +@tabs-horizontal-margin-rtl: 0 0 0 32px; +@tabs-horizontal-padding: @padding-sm 0; +@tabs-horizontal-padding-lg: @padding-md 0; +@tabs-horizontal-padding-sm: @padding-xs 0; +@tabs-vertical-padding: @padding-xs @padding-lg; +@tabs-vertical-margin: @margin-md 0 0 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; +@tabs-card-gutter: 2px; +@tabs-card-tab-active-border-top: 2px solid transparent; + +// BackTop +// --- +@back-top-color: #fff; +@back-top-bg: @text-color-secondary; +@back-top-hover-bg: @text-color; + +// Avatar +// --- +@avatar-size-base: 32px; +@avatar-size-lg: 40px; +@avatar-size-sm: 24px; +@avatar-font-size-base: 18px; +@avatar-font-size-lg: 24px; +@avatar-font-size-sm: 14px; +@avatar-bg: #ccc; +@avatar-color: #fff; +@avatar-border-radius: @border-radius-base; +@avatar-group-overlapping: -8px; +@avatar-group-space: 3px; +@avatar-group-border-color: #fff; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-min-width: 44px; +@switch-sm-min-width: 28px; +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; +@switch-bg: @component-background; +@switch-shadow-color: fade(#00230b, 20%); +@switch-padding: 2px; +@switch-inner-margin-min: ceil(@switch-height * 0.3); +@switch-inner-margin-max: ceil(@switch-height * 1.1); +@switch-sm-inner-margin-min: ceil(@switch-sm-height * 0.3); +@switch-sm-inner-margin-max: ceil(@switch-sm-height * 1.1); + +// Pagination +// --- +@pagination-item-bg: @component-background; +@pagination-item-size: @height-base; +@pagination-item-size-sm: 24px; +@pagination-font-family: @font-family; +@pagination-font-weight-active: 500; +@pagination-item-bg-active: @component-background; +@pagination-item-link-bg: @component-background; +@pagination-item-disabled-color-active: @disabled-color; +@pagination-item-disabled-bg-active: @disabled-active-bg; +@pagination-item-input-bg: @component-background; +@pagination-mini-options-size-changer-top: 0px; + +// PageHeader +// --- +@page-header-padding: @padding-lg; +@page-header-padding-vertical: @padding-md; +@page-header-padding-breadcrumb: @padding-sm; +@page-header-content-padding-vertical: @padding-sm; +@page-header-back-color: #000; +@page-header-ghost-bg: inherit; +@page-header-heading-title: @heading-4-size; +@page-header-heading-sub-title: 14px; +@page-header-tabs-tab-font-size: 16px; + +// Breadcrumb +// --- +@breadcrumb-base-color: @text-color-secondary; +@breadcrumb-last-item-color: @text-color; +@breadcrumb-font-size: @font-size-base; +@breadcrumb-icon-font-size: @font-size-base; +@breadcrumb-link-color: @text-color-secondary; +@breadcrumb-link-color-hover: @primary-5; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 10px 6px 10px; +@slider-rail-background-color: @background-color-base; +@slider-rail-background-color-hover: #e1e1e1; +@slider-track-background-color: @primary-3; +@slider-track-background-color-hover: @primary-4; +@slider-handle-border-width: 2px; +@slider-handle-background-color: @component-background; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: ~'var(--@{ant-prefix}-primary-color-deprecated-t-20)'; +@slider-handle-color-focus-shadow: ~'var(--@{ant-prefix}-primary-color-deprecated-f-12)'; +@slider-handle-color-tooltip-open: @primary-color; +@slider-handle-size: 14px; +@slider-handle-margin-top: -5px; +@slider-handle-shadow: 0; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: ~'var(--@{ant-prefix}-primary-color-deprecated-t-50)'; +@slider-disabled-color: @disabled-color; +@slider-disabled-background-color: @component-background; + +// Tree +// --- +@tree-bg: @component-background; +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; +@tree-node-hover-bg: @item-hover-bg; +@tree-node-selected-bg: @primary-2; + +// Collapse +// --- +@collapse-header-padding: @padding-sm @padding-md; +@collapse-header-padding-extra: 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; +@collapse-header-arrow-left: 16px; + +// Skeleton +// --- +@skeleton-color: rgba(190, 190, 190, 0.2); +@skeleton-to-color: shade(@skeleton-color, 5%); +@skeleton-paragraph-margin-top: 28px; +@skeleton-paragraph-li-margin-top: @margin-md; +@skeleton-paragraph-li-height: 16px; +@skeleton-title-height: 16px; +@skeleton-title-paragraph-margin-top: @margin-lg; + +// Transfer +// --- +@transfer-header-height: 40px; +@transfer-item-height: @height-base; +@transfer-disabled-bg: @disabled-bg; +@transfer-list-height: 200px; +@transfer-item-hover-bg: @item-hover-bg; +@transfer-item-selected-hover-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-d-02)'; +@transfer-item-padding-vertical: 6px; +@transfer-list-search-icon-top: 12px; + +// Message +// --- +@message-notice-content-padding: 10px 16px; +@message-notice-content-bg: @component-background; +// Motion +// --- +@wave-animation-width: 6px; + +// Alert +// --- +@alert-success-border-color: @success-color-deprecated-border; +@alert-success-bg-color: @success-color-deprecated-bg; +@alert-success-icon-color: @success-color; +@alert-info-border-color: @info-color-deprecated-border; +@alert-info-bg-color: @info-color-deprecated-bg; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: @warning-color-deprecated-border; +@alert-warning-bg-color: @warning-color-deprecated-bg; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: @error-color-deprecated-border; +@alert-error-bg-color: @error-color-deprecated-bg; +@alert-error-icon-color: @error-color; +@alert-message-color: @heading-color; +@alert-text-color: @text-color; +@alert-close-color: @text-color-secondary; +@alert-close-hover-color: @icon-color-hover; +@alert-no-icon-padding-vertical: @padding-xs; +@alert-with-description-no-icon-padding-vertical: @padding-md - 1px; +@alert-with-description-padding-vertical: @padding-md - 1px; +@alert-with-description-padding: @alert-with-description-padding-vertical 15px + @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size; +@alert-icon-top: 8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); +@alert-with-description-icon-size: 24px; + +// List +// --- +@list-header-background: transparent; +@list-footer-background: transparent; +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-padding-sm: @padding-xs @padding-md; +@list-item-padding-lg: 16px 24px; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; +@list-customize-card-bg: @component-background; +@list-item-meta-description-font-size: @font-size-base; + +// Statistic +// --- +@statistic-title-font-size: @font-size-base; +@statistic-content-font-size: 24px; +@statistic-unit-font-size: 24px; +@statistic-font-family: @font-family; + +// Drawer +// --- +@drawer-header-padding: @padding-md @padding-lg; +@drawer-body-padding: @padding-lg; +@drawer-bg: @component-background; +@drawer-footer-padding-vertical: @modal-footer-padding-vertical; +@drawer-footer-padding-horizontal: @modal-footer-padding-horizontal; +@drawer-header-close-size: 56px; + +// Timeline +// --- +@timeline-width: 2px; +@timeline-color: @border-color-split; +@timeline-dot-border-width: 2px; +@timeline-dot-color: @primary-color; +@timeline-dot-bg: @component-background; +@timeline-item-padding-bottom: 20px; + +// Typography +// --- +@typography-title-font-weight: 600; +@typography-title-margin-top: 1.2em; +@typography-title-margin-bottom: 0.5em; + +// Upload +// --- +@upload-actions-color: @text-color-secondary; + +// Steps +// --- +@process-tail-color: @border-color-split; +@steps-nav-arrow-color: fade(@black, 25%); +@steps-background: @component-background; +@steps-icon-size: 32px; +@steps-icon-custom-size: @steps-icon-size; +@steps-icon-custom-top: 0px; +@steps-icon-custom-font-size: 24px; +@steps-icon-top: -0.5px; +@steps-icon-font-size: @font-size-lg; +@steps-icon-margin: 0 8px 0 0; +@steps-title-line-height: @height-base; +@steps-small-icon-size: 24px; +@steps-small-icon-margin: 0 8px 0 0; +@steps-dot-size: 8px; +@steps-dot-top: 2px; +@steps-current-dot-size: 10px; +@steps-description-max-width: 140px; +@steps-nav-content-max-width: auto; +@steps-vertical-icon-width: 16px; +@steps-vertical-tail-width: 16px; +@steps-vertical-tail-width-sm: 12px; + +// Notification +// --- +@notification-bg: @component-background; +@notification-padding-vertical: 16px; +@notification-padding-horizontal: 24px; + +// Result +// --- +@result-title-font-size: 24px; +@result-subtitle-font-size: @font-size-base; +@result-icon-font-size: 72px; +@result-extra-margin: 24px 0 0 0; + +// Image +// --- +@image-size-base: 48px; +@image-font-size-base: 24px; +@image-bg: #f5f5f5; +@image-color: #fff; +@image-mask-font-size: 16px; +@image-preview-operation-size: 18px; +@image-preview-operation-color: @text-color-dark; +@image-preview-operation-disabled-color: fade(@image-preview-operation-color, 25%); diff --git a/components/style/v2-compatible-reset.less b/components/style/v2-compatible-reset.less deleted file mode 100644 index 7fe3a6d7e..000000000 --- a/components/style/v2-compatible-reset.less +++ /dev/null @@ -1,51 +0,0 @@ -// For 2.x reset compatibility -// import 'antd/style/v2-compatible-reset'; -// or -// @import '~antd/style/v2-compatible-reset.css'; -// unify the setting of elements's margin and padding for browsers -body, -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6, -pre, -code, -form, -fieldset, -legend, -input, -textarea, -p, -blockquote, -th, -td, -hr, -button, -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - margin: 0; - padding: 0; -} - -ul, -ol { - list-style: none; -} diff --git a/components/style/v2-compatible-reset.tsx b/components/style/v2-compatible-reset.tsx deleted file mode 100644 index 8fed6241d..000000000 --- a/components/style/v2-compatible-reset.tsx +++ /dev/null @@ -1 +0,0 @@ -import './v2-compatible-reset.less'; diff --git a/components/style/variable.less b/components/style/variable.less new file mode 100644 index 000000000..6c702934c --- /dev/null +++ b/components/style/variable.less @@ -0,0 +1,4 @@ +@root-entry-name: variable; + +@import './themes/variable.less'; +@import './core/index';