/********** global ***************/
/******** borderSize *******/
@border-none: 0;
@border-1: 1px;
@border-2: 2px;
@border-3: 3px;
@border-4: 4px;
@border-5: 5px;
/******** borderStyle *******/
@border-solid: solid;
@border-dashed: dashed;
@border-dotted: dotted;
/******** radius *******/
@border-radius-none: 0;
@border-radius-small: 2px;
@border-radius-medium: 4px;
@border-radius-large: 8px;
@border-radius-circle: 50%;
/******** shadow distance *******/
@shadow-distance-none: 0;
@shadow-distance-1: 1px;
@shadow-distance-2: 2px;
@shadow-distance-3: 3px;
@shadow-distance-4: 4px;
/******** size *******/
@size-none: 0;
@size-1: 4px;
@size-2: 8px;
@size-3: 12px;
@size-4: 16px;
@size-5: 20px;
@size-6: 24px;
@size-7: 28px;
@size-8: 32px;
@size-9: 36px;
@size-10: 40px;
@size-11: 44px;
@size-12: 48px;
@size-13: 52px;
@size-14: 56px;
@size-15: 60px;
@size-16: 64px;
@size-17: 68px;
@size-18: 72px;
@size-19: 76px;
@size-20: 80px;
@size-21: 84px;
@size-22: 88px;
@size-23: 92px;
@size-24: 96px;
@size-25: 100px;
@size-26: 104px;
@size-27: 108px;
@size-28: 112px;
@size-29: 116px;
@size-30: 120px;
@size-31: 124px;
@size-32: 128px;
@size-33: 132px;
@size-34: 136px;
@size-35: 140px;
@size-36: 144px;
@size-37: 148px;
@size-38: 152px;
@size-39: 156px;
@size-40: 160px;
@size-41: 164px;
@size-42: 168px;
@size-43: 172px;
@size-44: 176px;
@size-45: 180px;
@size-46: 184px;
@size-47: 188px;
@size-48: 192px;
@size-49: 196px;
@size-50: 200px;
@size-mini: @size-6;
@size-small: @size-7;
@size-default: @size-8;
@size-large: @size-9;
/******** spacing *******/
@spacing-none: 0;
@spacing-1: 2px;
@spacing-2: 4px;
@spacing-3: 6px;
@spacing-4: 8px;
@spacing-5: 10px;
@spacing-6: 12px;
@spacing-7: 16px;
@spacing-8: 20px;
@spacing-9: 24px;
@spacing-10: 32px;
@spacing-11: 36px;
@spacing-12: 40px;
@spacing-13: 48px;
@spacing-14: 56px;
@spacing-15: 60px;
@spacing-16: 64px;
@spacing-17: 72px;
@spacing-18: 80px;
@spacing-19: 84px;
@spacing-20: 96px;
@spacing-21: 100px;
@spacing-22: 120px;
@color-transparent: transparent;
/******** shadow *******/
@shadow-none: none;
@shadow-special: 0 0 1px rgba(0, 0, 0, 0.3);
@shadow1-center: 0 0 5px rgba(0, 0, 0, 0.1);
@shadow1-up: 0 -2px 5px rgba(0, 0, 0, 0.1);
@shadow1-down: 0 2px 5px rgba(0, 0, 0, 0.1);
@shadow1-left: -2px 0 5px rgba(0, 0, 0, 0.1);
@shadow1-right: 2px 0 5px rgba(0, 0, 0, 0.1);
@shadow1-left-up: -2px -2px 5px rgba(0, 0, 0, 0.1);
@shadow1-left-down: -2px 2px 5px rgba(0, 0, 0, 0.1);
@shadow1-right-up: 2px -2px 5px rgba(0, 0, 0, 0.1);
@shadow1-right-down: 2px 2px 5px rgba(0, 0, 0, 0.1);
@shadow2-center: 0 0 10px rgba(0, 0, 0, 0.1);
@shadow2-up: 0 -4px 10px rgba(0, 0, 0, 0.1);
@shadow2-down: 0 4px 10px rgba(0, 0, 0, 0.1);
@shadow2-left: -4px 0 10px rgba(0, 0, 0, 0.1);
@shadow2-right: 4px 0 10px rgba(0, 0, 0, 0.1);
@shadow2-left-up: -4px -4px 10px rgba(0, 0, 0, 0.1);
@shadow2-left-down: -4px 4px 10px rgba(0, 0, 0, 0.1);
@shadow2-right-up: 4px -4px 10px rgba(0, 0, 0, 0.1);
@shadow2-right-down: 4px 4px 10px rgba(0, 0, 0, 0.1);
@shadow3-center: 0 0 20px rgba(0, 0, 0, 0.1);
@shadow3-up: 0 -8px 20px rgba(0, 0, 0, 0.1);
@shadow3-down: 0 8px 20px rgba(0, 0, 0, 0.1);
@shadow3-left: -8px 0 20px rgba(0, 0, 0, 0.1);
@shadow3-right: 8px 0 20px rgba(0, 0, 0, 0.1);
@shadow3-left-up: -8px -8px 20px rgba(0, 0, 0, 0.1);
@shadow3-left-down: -8px 8px 20px rgba(0, 0, 0, 0.1);
@shadow3-right-up: 8px -8px 20px rgba(0, 0, 0, 0.1);
@shadow3-right-down: 8px 8px 20px rgba(0, 0, 0, 0.1);
/******** opacity *******/
@opacity-none: 0;
@opacity-1: 10%;
@opacity-2: 20%;
@opacity-3: 30%;
@opacity-4: 40%;
@opacity-5: 50%;
@opacity-6: 60%;
@opacity-7: 70%;
@opacity-8: 80%;
@opacity-9: 90%;
@opacity-10: 100%;
/******** fontSize *******/
@font-size-display-3: 56px;
@font-size-display-2: 48px;
@font-size-display-1: 36px;
@font-size-title-3: 24px;
@font-size-title-2: 20px;
@font-size-title-1: 16px;
@font-size-body-3: 14px;
@font-size-body-2: 13px;
@font-size-body-1: 12px;
@font-size-caption: 12px;
/******** fontWeight ********/
@font-weight-100: 100;
@font-weight-200: 200;
@font-weight-300: 300;
@font-weight-400: 400;
@font-weight-500: 500;
@font-weight-600: 600;
@font-weight-700: 700;
@font-weight-800: 800;
@font-weight-900: 900;
/******** Primary *******/
@color-primary-1: rgb(var(~'@{arco-cssvars-prefix}-primary-1'));
@color-primary-2: rgb(var(~'@{arco-cssvars-prefix}-primary-2'));
@color-primary-3: rgb(var(~'@{arco-cssvars-prefix}-primary-3'));
@color-primary-4: rgb(var(~'@{arco-cssvars-prefix}-primary-4'));
@color-primary-5: rgb(var(~'@{arco-cssvars-prefix}-primary-5'));
@color-primary-6: rgb(var(~'@{arco-cssvars-prefix}-primary-6'));
@color-primary-7: rgb(var(~'@{arco-cssvars-prefix}-primary-7'));
@color-primary-8: rgb(var(~'@{arco-cssvars-prefix}-primary-8'));
@color-primary-9: rgb(var(~'@{arco-cssvars-prefix}-primary-9'));
@color-primary-10: rgb(var(~'@{arco-cssvars-prefix}-primary-10'));
/******** success *******/
@color-success-1: rgb(var(~'@{arco-cssvars-prefix}-success-1'));
@color-success-2: rgb(var(~'@{arco-cssvars-prefix}-success-2'));
@color-success-3: rgb(var(~'@{arco-cssvars-prefix}-success-3'));
@color-success-4: rgb(var(~'@{arco-cssvars-prefix}-success-4'));
@color-success-5: rgb(var(~'@{arco-cssvars-prefix}-success-5'));
@color-success-6: rgb(var(~'@{arco-cssvars-prefix}-success-6'));
@color-success-7: rgb(var(~'@{arco-cssvars-prefix}-success-7'));
@color-success-8: rgb(var(~'@{arco-cssvars-prefix}-success-8'));
@color-success-9: rgb(var(~'@{arco-cssvars-prefix}-success-9'));
@color-success-10: rgb(var(~'@{arco-cssvars-prefix}-success-10'));
/******** warning *******/
@color-warning-1: rgb(var(~'@{arco-cssvars-prefix}-warning-1'));
@color-warning-2: rgb(var(~'@{arco-cssvars-prefix}-warning-2'));
@color-warning-3: rgb(var(~'@{arco-cssvars-prefix}-warning-3'));
@color-warning-4: rgb(var(~'@{arco-cssvars-prefix}-warning-4'));
@color-warning-5: rgb(var(~'@{arco-cssvars-prefix}-warning-5'));
@color-warning-6: rgb(var(~'@{arco-cssvars-prefix}-warning-6'));
@color-warning-7: rgb(var(~'@{arco-cssvars-prefix}-warning-7'));
@color-warning-8: rgb(var(~'@{arco-cssvars-prefix}-warning-8'));
@color-warning-9: rgb(var(~'@{arco-cssvars-prefix}-warning-9'));
@color-warning-10: rgb(var(~'@{arco-cssvars-prefix}-warning-10'));
/******** danger *******/
@color-danger-1: rgb(var(~'@{arco-cssvars-prefix}-danger-1'));
@color-danger-2: rgb(var(~'@{arco-cssvars-prefix}-danger-2'));
@color-danger-3: rgb(var(~'@{arco-cssvars-prefix}-danger-3'));
@color-danger-4: rgb(var(~'@{arco-cssvars-prefix}-danger-4'));
@color-danger-5: rgb(var(~'@{arco-cssvars-prefix}-danger-5'));
@color-danger-6: rgb(var(~'@{arco-cssvars-prefix}-danger-6'));
@color-danger-7: rgb(var(~'@{arco-cssvars-prefix}-danger-7'));
@color-danger-8: rgb(var(~'@{arco-cssvars-prefix}-danger-8'));
@color-danger-9: rgb(var(~'@{arco-cssvars-prefix}-danger-9'));
@color-danger-10: rgb(var(~'@{arco-cssvars-prefix}-danger-10'));
/******** link *******/
@color-link-1: rgb(var(~'@{arco-cssvars-prefix}-link-1'));
@color-link-2: rgb(var(~'@{arco-cssvars-prefix}-link-2'));
@color-link-3: rgb(var(~'@{arco-cssvars-prefix}-link-3'));
@color-link-4: rgb(var(~'@{arco-cssvars-prefix}-link-4'));
@color-link-5: rgb(var(~'@{arco-cssvars-prefix}-link-5'));
@color-link-6: rgb(var(~'@{arco-cssvars-prefix}-link-6'));
@color-link-7: rgb(var(~'@{arco-cssvars-prefix}-link-7'));
@color-link-8: rgb(var(~'@{arco-cssvars-prefix}-link-8'));
@color-link-9: rgb(var(~'@{arco-cssvars-prefix}-link-9'));
@color-link-10: rgb(var(~'@{arco-cssvars-prefix}-link-10'));
/******** radius *******/
@radius-none: var(~'@{arco-cssvars-prefix}-border-radius-none');
@radius-small: var(~'@{arco-cssvars-prefix}-border-radius-small');
@radius-medium: var(~'@{arco-cssvars-prefix}-border-radius-medium');
@radius-large: var(~'@{arco-cssvars-prefix}-border-radius-large');
@radius-circle: var(~'@{arco-cssvars-prefix}-border-radius-circle');
// Other
@color-white: #ffffff;
@dark-color-white: fade(#fff, 90%); // 在亮色模式下所有白色文字对应。对应 @color-white;
@color-black: #000000;
@dark-color-black: #000000;
@mask-bg-opacity: @opacity-6;
@mask-color-bg: rgba(@gray-10, @mask-bg-opacity);
@dark-mask-color-bg: rgba(@dark-gray-1, @mask-bg-opacity);
// 暗黑主题的导航组件背景色,需要在主题商店可配置
@color-menu-dark-bg: #232324;
@color-menu-light-bg: #ffffff;
@color-spin-layer-bg: rgba(255, 255, 255, 0.6);
@color-menu-dark-hover: fade(#fff, 4%);
@color-tooltip-bg: rgb(var(~'@{arco-cssvars-prefix}-gray-10'));
// component
@dark-color-tooltip-bg: #373739;
@dark-color-spin-layer-bg: rgba(51, 51, 51, 0.6);
@dark-color-menu-dark-hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
// variables
@color-border: rgb(var(~'@{arco-cssvars-prefix}-gray-3'));
@color-bg-popup: var(~'@{arco-cssvars-prefix}-color-bg-5');
@color-bg-1: #fff;
@color-bg-2: #fff;
@color-bg-3: #fff;
@color-bg-4: #fff;
@color-bg-5: #fff;
@color-bg-white: #fff;
@color-text-1: var(~'@{arco-cssvars-prefix}-color-neutral-10'); // 标题,正文
@color-text-2: var(~'@{arco-cssvars-prefix}-color-neutral-8'); // 语句
@color-text-3: var(~'@{arco-cssvars-prefix}-color-neutral-6'); // 次要信息
@color-text-4: var(~'@{arco-cssvars-prefix}-color-neutral-4'); // 次要信息
@color-fill-1: var(~'@{arco-cssvars-prefix}-color-neutral-1');
@color-fill-2: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@color-fill-3: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@color-fill-4: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@color-border-1: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@color-border-2: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@color-border-3: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@color-border-4: var(~'@{arco-cssvars-prefix}-color-neutral-6');
@color-primary-light-1: rgb(var(~'@{arco-cssvars-prefix}-primary-1'));
@color-primary-light-2: rgb(var(~'@{arco-cssvars-prefix}-primary-2'));
@color-primary-light-3: rgb(var(~'@{arco-cssvars-prefix}-primary-3'));
@color-primary-light-4: rgb(var(~'@{arco-cssvars-prefix}-primary-4'));
@color-secondary: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@color-secondary-hover: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@color-secondary-active: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@color-secondary-disabled: var(~'@{arco-cssvars-prefix}-color-neutral-1');
@color-danger-light-1: rgb(var(~'@{arco-cssvars-prefix}-danger-1'));
@color-danger-light-2: rgb(var(~'@{arco-cssvars-prefix}-danger-2'));
@color-danger-light-3: rgb(var(~'@{arco-cssvars-prefix}-danger-3'));
@color-danger-light-4: rgb(var(~'@{arco-cssvars-prefix}-danger-4'));
@color-success-light-1: rgb(var(~'@{arco-cssvars-prefix}-success-1'));
@color-success-light-2: rgb(var(~'@{arco-cssvars-prefix}-success-2'));
@color-success-light-3: rgb(var(~'@{arco-cssvars-prefix}-success-3'));
@color-success-light-4: rgb(var(~'@{arco-cssvars-prefix}-success-4'));
@color-warning-light-1: rgb(var(~'@{arco-cssvars-prefix}-warning-1'));
@color-warning-light-2: rgb(var(~'@{arco-cssvars-prefix}-warning-2'));
@color-warning-light-3: rgb(var(~'@{arco-cssvars-prefix}-warning-3'));
@color-warning-light-4: rgb(var(~'@{arco-cssvars-prefix}-warning-4'));
@color-link-light-1: rgb(var(~'@{arco-cssvars-prefix}-link-1'));
@color-link-light-2: rgb(var(~'@{arco-cssvars-prefix}-link-2'));
@color-link-light-3: rgb(var(~'@{arco-cssvars-prefix}-link-3'));
@color-link-light-4: rgb(var(~'@{arco-cssvars-prefix}-link-4'));
@color-data-1: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-5'));
@color-data-2: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-3'));
@color-data-3: rgb(var(~'@{arco-cssvars-prefix}-blue-5'));
@color-data-4: rgb(var(~'@{arco-cssvars-prefix}-blue-3'));
@color-data-5: rgb(var(~'@{arco-cssvars-prefix}-orange-6'));
@color-data-6: rgb(var(~'@{arco-cssvars-prefix}-orange-3'));
@color-data-7: rgb(var(~'@{arco-cssvars-prefix}-green-4'));
@color-data-8: rgb(var(~'@{arco-cssvars-prefix}-green-3'));
@color-data-9: rgb(var(~'@{arco-cssvars-prefix}-purple-4'));
@color-data-10: rgb(var(~'@{arco-cssvars-prefix}-purple-3'));
@color-data-11: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));
@color-data-12: rgb(var(~'@{arco-cssvars-prefix}-gold-4'));
@color-data-13: rgb(var(~'@{arco-cssvars-prefix}-lime-6'));
@color-data-14: rgb(var(~'@{arco-cssvars-prefix}-lime-4'));
@color-data-15: rgb(var(~'@{arco-cssvars-prefix}-magenta-4'));
@color-data-16: rgb(var(~'@{arco-cssvars-prefix}-magenta-3'));
@color-data-17: rgb(var(~'@{arco-cssvars-prefix}-cyan-6'));
@color-data-18: rgb(var(~'@{arco-cssvars-prefix}-cyan-3'));
@color-data-19: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-4'));
@color-data-20: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-2'));
@dark-color-border: #333335;
@dark-color-bg-1: #17171a; // 整体背景,就是 @dark-gray-1
@dark-color-bg-2: #232324; // 一级容器背景 (“白色”)
@dark-color-bg-3: #2a2a2b; // 二级容器背景
@dark-color-bg-4: #313132; // 三级容器背景
@dark-color-bg-5: #373739; // 下拉框、Tooltips 背景
@dark-color-bg-white: #f6f6f6; // 在亮色模式下 radio,switch 白色背景
@dark-color-text-1: fade(#fff, 90%); // 标题,正文
@dark-color-text-2: fade(#fff, 70%); // 语句
@dark-color-text-3: fade(#fff, 50%); // 次要信息
@dark-color-text-4: fade(#fff, 30%); // 禁用态
@dark-color-fill-1: fade(#fff, 4%);
@dark-color-fill-2: fade(#fff, 8%);
@dark-color-fill-3: fade(#fff, 12%);
@dark-color-fill-4: fade(#fff, 16%);
@dark-color-primary-light-1: rgba(var(~'@{arco-cssvars-prefix}-primary-6'), 0.2);
@dark-color-primary-light-2: rgba(var(~'@{arco-cssvars-prefix}-primary-6'), 0.35);
@dark-color-primary-light-3: rgba(var(~'@{arco-cssvars-prefix}-primary-6'), 0.5);
@dark-color-primary-light-4: rgba(var(~'@{arco-cssvars-prefix}-primary-6'), 0.65);
@dark-color-secondary: rgba(var(~'@{arco-cssvars-prefix}-gray-9'), 0.08);
@dark-color-secondary-hover: rgba(var(~'@{arco-cssvars-prefix}-gray-8'), 0.16);
@dark-color-secondary-active: rgba(var(~'@{arco-cssvars-prefix}-gray-7'), 0.24);
@dark-color-secondary-disabled: rgba(var(~'@{arco-cssvars-prefix}-gray-9'), 0.08);
@dark-color-danger-light-1: rgba(var(~'@{arco-cssvars-prefix}-danger-6'), 0.2);
@dark-color-danger-light-2: rgba(var(~'@{arco-cssvars-prefix}-danger-6'), 0.35);
@dark-color-danger-light-3: rgba(var(~'@{arco-cssvars-prefix}-danger-6'), 0.5);
@dark-color-danger-light-4: rgba(var(~'@{arco-cssvars-prefix}-danger-6'), 0.65);
@dark-color-success-light-1: rgba(var(~'@{arco-cssvars-prefix}-success-6'), 0.2);
@dark-color-success-light-2: rgba(var(~'@{arco-cssvars-prefix}-success-6'), 0.35);
@dark-color-success-light-3: rgba(var(~'@{arco-cssvars-prefix}-success-6'), 0.5);
@dark-color-success-light-4: rgba(var(~'@{arco-cssvars-prefix}-success-6'), 0.65);
@dark-color-warning-light-1: rgba(var(~'@{arco-cssvars-prefix}-warning-6'), 0.2);
@dark-color-warning-light-2: rgba(var(~'@{arco-cssvars-prefix}-warning-6'), 0.35);
@dark-color-warning-light-3: rgba(var(~'@{arco-cssvars-prefix}-warning-6'), 0.5);
@dark-color-warning-light-4: rgba(var(~'@{arco-cssvars-prefix}-warning-6'), 0.65);
@dark-color-link-light-1: rgba(var(~'@{arco-cssvars-prefix}-link-6'), 0.2);
@dark-color-link-light-2: rgba(var(~'@{arco-cssvars-prefix}-link-6'), 0.35);
@dark-color-link-light-3: rgba(var(~'@{arco-cssvars-prefix}-link-6'), 0.5);
@dark-color-link-light-4: rgba(var(~'@{arco-cssvars-prefix}-link-6'), 0.65);
/********* icon hover *********/
@icon-hover-border-radius: @radius-circle;
@icon-hover-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@icon-hover-size-default-height: @size-5;
@icon-hover-size-small-height: @size-5;
@icon-hover-size-mini-height: @size-5;
@icon-hover-size-large-height: @size-6;
@icon-hover-size-huge-height: @size-6;
@icon-hover-size-small-icon: @size-3;
@icon-hover-size-mini-icon: @size-3;
@icon-hover-size-default-icon: @size-3;
@icon-hover-size-large-icon: @size-3;
@icon-hover-size-huge-icon: @size-3;
@prefix: arco;
@arco-theme-tag: body; // css 变量定义的选择器
@arco-vars-prefix: ~''; // css 变量的前缀
// --arco-color-white or --color-white
@arco-cssvars-prefix: if(@arco-vars-prefix = ~'', -, ~'--@{arco-vars-prefix}');
// @font-family: 'nunito_for_arco', 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB',
// 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
@font-family: Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,noto sans,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;
@code-family: Consolas, Menlo;
// global font size
@font-size-body: 14px;
@transition-duration-1: 0.1s;
@transition-duration-2: 0.2s;
@transition-duration-3: 0.3s;
@transition-duration-4: 0.4s;
@transition-duration-5: 0.5s;
@transition-duration-loading: 1s;
// 线性
@transition-timing-function-linear: cubic-bezier(0, 0, 1, 1);
// 标准
@transition-timing-function-standard: cubic-bezier(0.34, 0.69, 0.1, 1);
// 过冲
@transition-timing-function-overshoot: cubic-bezier(0.3, 1.3, 0.3, 1);
// 减速
@transition-timing-function-decelerate: cubic-bezier(0.4, 0.8, 0.74, 1);
// 加速
@transition-timing-function-accelerate: cubic-bezier(0.26, 0, 0.6, 0.2);
@z-index-popup-base: 1000;
@z-index-affix: @z-index-popup-base - 1; // 999
@z-index-popup: @z-index-popup-base; // 1000
@z-index-drawer: @z-index-popup-base + 1; // 1001
@z-index-modal: @z-index-drawer; // 1001
@z-index-message: @z-index-popup-base + 3; // 1003
@z-index-notification: @z-index-popup-base + 3; // 1003
@z-index-image-preview: @z-index-modal; // 1001
@line-height-base: 1.5715;
@popup-box-shadow-base: @shadow1-down;
@{arco-theme-tag} {
@{arco-cssvars-prefix}-color-white: @color-white;
@{arco-cssvars-prefix}-color-black: @color-black;
@{arco-cssvars-prefix}-color-border: @color-border;
@{arco-cssvars-prefix}-color-bg-popup: @color-bg-popup;
@{arco-cssvars-prefix}-color-bg-1: @color-bg-1;
@{arco-cssvars-prefix}-color-bg-2: @color-bg-2;
@{arco-cssvars-prefix}-color-bg-3: @color-bg-3;
@{arco-cssvars-prefix}-color-bg-4: @color-bg-4;
@{arco-cssvars-prefix}-color-bg-5: @color-bg-5;
@{arco-cssvars-prefix}-color-bg-white: @color-bg-white;
@{arco-cssvars-prefix}-color-neutral-1: rgb(var(~'@{arco-cssvars-prefix}-gray-1'));
@{arco-cssvars-prefix}-color-neutral-2: rgb(var(~'@{arco-cssvars-prefix}-gray-2'));
@{arco-cssvars-prefix}-color-neutral-3: rgb(var(~'@{arco-cssvars-prefix}-gray-3'));
@{arco-cssvars-prefix}-color-neutral-4: rgb(var(~'@{arco-cssvars-prefix}-gray-4'));
@{arco-cssvars-prefix}-color-neutral-5: rgb(var(~'@{arco-cssvars-prefix}-gray-5'));
@{arco-cssvars-prefix}-color-neutral-6: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));
@{arco-cssvars-prefix}-color-neutral-7: rgb(var(~'@{arco-cssvars-prefix}-gray-7'));
@{arco-cssvars-prefix}-color-neutral-8: rgb(var(~'@{arco-cssvars-prefix}-gray-8'));
@{arco-cssvars-prefix}-color-neutral-9: rgb(var(~'@{arco-cssvars-prefix}-gray-9'));
@{arco-cssvars-prefix}-color-neutral-10: rgb(var(~'@{arco-cssvars-prefix}-gray-10'));
@{arco-cssvars-prefix}-color-text-1: @color-text-1;
@{arco-cssvars-prefix}-color-text-2: @color-text-2;
@{arco-cssvars-prefix}-color-text-3: @color-text-3;
@{arco-cssvars-prefix}-color-text-4: @color-text-4;
@{arco-cssvars-prefix}-color-border-1: @color-border-1;
@{arco-cssvars-prefix}-color-border-2: @color-border-2;
@{arco-cssvars-prefix}-color-border-3: @color-border-3;
@{arco-cssvars-prefix}-color-border-4: @color-border-4;
@{arco-cssvars-prefix}-color-fill-1: @color-fill-1;
@{arco-cssvars-prefix}-color-fill-2: @color-fill-2;
@{arco-cssvars-prefix}-color-fill-3: @color-fill-3;
@{arco-cssvars-prefix}-color-fill-4: @color-fill-4;
@{arco-cssvars-prefix}-color-primary-light-1: @color-primary-light-1;
@{arco-cssvars-prefix}-color-primary-light-2: @color-primary-light-2;
@{arco-cssvars-prefix}-color-primary-light-3: @color-primary-light-3;
@{arco-cssvars-prefix}-color-primary-light-4: @color-primary-light-4;
@{arco-cssvars-prefix}-color-secondary: @color-secondary;
@{arco-cssvars-prefix}-color-secondary-hover: @color-secondary-hover;
@{arco-cssvars-prefix}-color-secondary-active: @color-secondary-active;
@{arco-cssvars-prefix}-color-secondary-disabled: @color-secondary-disabled;
@{arco-cssvars-prefix}-color-danger-light-1: @color-danger-light-1;
@{arco-cssvars-prefix}-color-danger-light-2: @color-danger-light-2;
@{arco-cssvars-prefix}-color-danger-light-3: @color-danger-light-3;
@{arco-cssvars-prefix}-color-danger-light-4: @color-danger-light-4;
@{arco-cssvars-prefix}-color-success-light-1: @color-success-light-1;
@{arco-cssvars-prefix}-color-success-light-2: @color-success-light-2;
@{arco-cssvars-prefix}-color-success-light-3: @color-success-light-3;
@{arco-cssvars-prefix}-color-success-light-4: @color-success-light-4;
@{arco-cssvars-prefix}-color-warning-light-1: @color-warning-light-1;
@{arco-cssvars-prefix}-color-warning-light-2: @color-warning-light-2;
@{arco-cssvars-prefix}-color-warning-light-3: @color-warning-light-3;
@{arco-cssvars-prefix}-color-warning-light-4: @color-warning-light-4;
@{arco-cssvars-prefix}-color-link-light-1: @color-link-light-1;
@{arco-cssvars-prefix}-color-link-light-2: @color-link-light-2;
@{arco-cssvars-prefix}-color-link-light-3: @color-link-light-3;
@{arco-cssvars-prefix}-color-link-light-4: @color-link-light-4;
@{arco-cssvars-prefix}-color-data-1: @color-data-1;
@{arco-cssvars-prefix}-color-data-2: @color-data-2;
@{arco-cssvars-prefix}-color-data-3: @color-data-3;
@{arco-cssvars-prefix}-color-data-4: @color-data-4;
@{arco-cssvars-prefix}-color-data-5: @color-data-5;
@{arco-cssvars-prefix}-color-data-6: @color-data-6;
@{arco-cssvars-prefix}-color-data-7: @color-data-7;
@{arco-cssvars-prefix}-color-data-8: @color-data-8;
@{arco-cssvars-prefix}-color-data-9: @color-data-9;
@{arco-cssvars-prefix}-color-data-10: @color-data-10;
@{arco-cssvars-prefix}-color-data-11: @color-data-11;
@{arco-cssvars-prefix}-color-data-12: @color-data-12;
@{arco-cssvars-prefix}-color-data-13: @color-data-13;
@{arco-cssvars-prefix}-color-data-14: @color-data-14;
@{arco-cssvars-prefix}-color-data-15: @color-data-15;
@{arco-cssvars-prefix}-color-data-16: @color-data-16;
@{arco-cssvars-prefix}-color-data-17: @color-data-17;
@{arco-cssvars-prefix}-color-data-18: @color-data-18;
@{arco-cssvars-prefix}-color-data-19: @color-data-19;
@{arco-cssvars-prefix}-color-data-20: @color-data-20;
// radius
@{arco-cssvars-prefix}-border-radius-none: @border-radius-none;
@{arco-cssvars-prefix}-border-radius-small: @border-radius-small;
@{arco-cssvars-prefix}-border-radius-medium: @border-radius-medium;
@{arco-cssvars-prefix}-border-radius-large: @border-radius-large;
@{arco-cssvars-prefix}-border-radius-circle: @border-radius-circle;
// component
@{arco-cssvars-prefix}-color-tooltip-bg: @color-tooltip-bg;
@{arco-cssvars-prefix}-color-spin-layer-bg: @color-spin-layer-bg;
@{arco-cssvars-prefix}-color-menu-dark-bg: @color-menu-dark-bg;
@{arco-cssvars-prefix}-color-menu-light-bg: @color-menu-light-bg;
@{arco-cssvars-prefix}-color-menu-dark-hover: @color-menu-dark-hover;
@{arco-cssvars-prefix}-color-mask-bg: @mask-color-bg;
// font
@{arco-cssvars-prefix}-font-weight-100: @font-weight-100;
@{arco-cssvars-prefix}-font-weight-200: @font-weight-200;
@{arco-cssvars-prefix}-font-weight-300: @font-weight-300;
@{arco-cssvars-prefix}-font-weight-400: @font-weight-400;
@{arco-cssvars-prefix}-font-weight-500: @font-weight-500;
@{arco-cssvars-prefix}-font-weight-600: @font-weight-600;
@{arco-cssvars-prefix}-font-weight-700: @font-weight-700;
@{arco-cssvars-prefix}-font-weight-800: @font-weight-800;
@{arco-cssvars-prefix}-font-weight-900: @font-weight-900;
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
@{arco-cssvars-prefix}-color-white: @dark-color-white; // 在亮色模式下所有白色文字对应。对应 @color-white;
@{arco-cssvars-prefix}-color-black: @dark-color-black;
@{arco-cssvars-prefix}-color-border: @dark-color-border;
@{arco-cssvars-prefix}-color-bg-1: @dark-color-bg-1; // 整体背景,就是 @dark-gray-1
@{arco-cssvars-prefix}-color-bg-2: @dark-color-bg-2; // 一级容器背景 (“白色”)
@{arco-cssvars-prefix}-color-bg-3: @dark-color-bg-3; // 二级容器背景
@{arco-cssvars-prefix}-color-bg-4: @dark-color-bg-4; // 三级容器背景
@{arco-cssvars-prefix}-color-bg-5: @dark-color-bg-5; // 下拉框、Tooltips 背景
@{arco-cssvars-prefix}-color-bg-white: @dark-color-bg-white; // 在亮色模式下 radio,switch 白色背景
@{arco-cssvars-prefix}-color-text-1: @dark-color-text-1; // 标题,正文
@{arco-cssvars-prefix}-color-text-2: @dark-color-text-2; // 语句
@{arco-cssvars-prefix}-color-text-3: @dark-color-text-3; // 次要信息
@{arco-cssvars-prefix}-color-text-4: @dark-color-text-4; // 禁用态
@{arco-cssvars-prefix}-color-fill-1: @dark-color-fill-1;
@{arco-cssvars-prefix}-color-fill-2: @dark-color-fill-2;
@{arco-cssvars-prefix}-color-fill-3: @dark-color-fill-3;
@{arco-cssvars-prefix}-color-fill-4: @dark-color-fill-4;
@{arco-cssvars-prefix}-color-primary-light-1: @dark-color-primary-light-1;
@{arco-cssvars-prefix}-color-primary-light-2: @dark-color-primary-light-2;
@{arco-cssvars-prefix}-color-primary-light-3: @dark-color-primary-light-3;
@{arco-cssvars-prefix}-color-primary-light-4: @dark-color-primary-light-4;
@{arco-cssvars-prefix}-color-secondary: @dark-color-secondary;
@{arco-cssvars-prefix}-color-secondary-hover: @dark-color-secondary-hover;
@{arco-cssvars-prefix}-color-secondary-active: @dark-color-secondary-active;
@{arco-cssvars-prefix}-color-secondary-disabled: @dark-color-secondary-disabled;
@{arco-cssvars-prefix}-color-danger-light-1: @dark-color-danger-light-1;
@{arco-cssvars-prefix}-color-danger-light-2: @dark-color-danger-light-2;
@{arco-cssvars-prefix}-color-danger-light-3: @dark-color-danger-light-3;
@{arco-cssvars-prefix}-color-danger-light-4: @dark-color-danger-light-4;
@{arco-cssvars-prefix}-color-success-light-1: @dark-color-success-light-1;
@{arco-cssvars-prefix}-color-success-light-2: @dark-color-success-light-2;
@{arco-cssvars-prefix}-color-success-light-3: @dark-color-success-light-3;
@{arco-cssvars-prefix}-color-success-light-4: @dark-color-success-light-4;
@{arco-cssvars-prefix}-color-warning-light-1: @dark-color-warning-light-1;
@{arco-cssvars-prefix}-color-warning-light-2: @dark-color-warning-light-2;
@{arco-cssvars-prefix}-color-warning-light-3: @dark-color-warning-light-3;
@{arco-cssvars-prefix}-color-warning-light-4: @dark-color-warning-light-4;
@{arco-cssvars-prefix}-color-link-light-1: @dark-color-link-light-1;
@{arco-cssvars-prefix}-color-link-light-2: @dark-color-link-light-2;
@{arco-cssvars-prefix}-color-link-light-3: @dark-color-link-light-3;
@{arco-cssvars-prefix}-color-link-light-4: @dark-color-link-light-4;
// component
@{arco-cssvars-prefix}-color-tooltip-bg: @dark-color-tooltip-bg;
@{arco-cssvars-prefix}-color-spin-layer-bg: @dark-color-spin-layer-bg;
@{arco-cssvars-prefix}-color-menu-dark-bg: @color-menu-dark-bg;
@{arco-cssvars-prefix}-color-menu-light-bg: @color-menu-dark-bg;
@{arco-cssvars-prefix}-color-menu-dark-hover: @dark-color-menu-dark-hover;
@{arco-cssvars-prefix}-color-mask-bg: @dark-mask-color-bg;
}
}
/* stylelint-disable */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html,
body {
line-height: 1.5; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-webkit-font-smoothing: antialiased; /* chrome、safari */
-moz-osx-font-smoothing: grayscale; /* firefox */
font-family: @font-family;
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
padding: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
tr,
th {
margin: 0;
padding: 0;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
/* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
/* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type='checkbox'],
[type='radio'] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type='search']::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}
* {
outline: none;
}
/**
* remove input clear icon in IE & Edge
*/
input::-ms-clear,
input::-ms-reveal {
display: none;
}
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.@{prefix}-icon {
display: inline-block;
color: inherit;
font-style: normal;
width: 1em;
height: 1em;
vertical-align: -2px;
stroke: currentColor;
}
.@{prefix}-icon[fill='currentColor'] {
fill: currentColor;
stroke: none;
}
.@{prefix}-icon[stroke='currentColor'] {
stroke: currentColor;
fill: none;
}
.@{prefix}-icon[fill='currentColor'][stroke='currentColor'] {
fill: currentColor;
stroke: currentColor;
}
.@{prefix}-icon-loading {
animation: ~'@{prefix}-loading-circle' @transition-duration-loading infinite @transition-timing-function-linear;
}
@keyframes ~'@{prefix}-loading-circle' {
100% {
transform: rotate(360deg);
}
}
.@{prefix}-icon-hover {
position: relative;
display: inline-block;
cursor: pointer;
line-height: 0;
.@{prefix}-icon {
position: relative;
vertical-align: -0.09em;
}
&::before {
content: '';
position: absolute;
display: block;
border-radius: @icon-hover-border-radius;
background-color: @color-transparent;
box-sizing: border-box;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
}
&:hover::before {
background-color: @icon-hover-color-bg;
}
&.@{prefix}-icon-hover-disabled::before {
opacity: 0;
}
.size(@icon-size, @icon-bg-height) {
// line-height: @icon-size;
&::before {
top: 50%;
left: 50%;
height: @icon-bg-height;
width: @icon-bg-height;
transform: translate(-50%, -50%);
}
}
.size(@icon-hover-size-default-icon, @icon-hover-size-default-height);
&-size-mini {
.size(@icon-hover-size-mini-icon, @icon-hover-size-mini-height);
}
&-size-small {
.size(@icon-hover-size-small-icon, @icon-hover-size-small-height);
}
&-size-large {
.size(@icon-hover-size-large-icon, @icon-hover-size-large-height);
}
&-size-huge {
.size(@icon-hover-size-huge-icon, @icon-hover-size-huge-height);
}
}
// used by drawer mask
.fadeInStandard-enter,
.fadeInStandard-appear {
opacity: 0;
}
.fadeInStandard-enter-active,
.fadeInStandard-appear-active {
opacity: 1;
transition: opacity @transition-duration-3 @transition-timing-function-standard;
}
.fadeInStandard-exit {
opacity: 1;
}
.fadeInStandard-exit-active {
opacity: 0;
transition: opacity @transition-duration-3 @transition-timing-function-standard;
}
.fadeIn-enter,
.fadeIn-appear {
opacity: 0;
}
.fadeIn-enter-active,
.fadeIn-appear-active {
opacity: 1;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
}
.fadeIn-exit {
opacity: 1;
}
.fadeIn-exit-active {
opacity: 0;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
}
// used by cascader select treeselect ... like picker
.slideDynamicOrigin-enter,
.slideDynamicOrigin-appear {
opacity: 0;
transform-origin: 0 0;
transform: scaleY(0.9) translateZ(0);
}
.slideDynamicOrigin-enter-active,
.slideDynamicOrigin-appear-active {
opacity: 1;
transform-origin: 0 0;
transform: scaleY(1) translateZ(0);
transition: transform @transition-duration-2 @transition-timing-function-standard,
opacity @transition-duration-2 @transition-timing-function-standard;
}
.slideDynamicOrigin-exit {
opacity: 1;
transform-origin: 0 0;
transform: scaleY(1) translateZ(0);
transition: transform @transition-duration-2 @transition-timing-function-standard,
opacity @transition-duration-2 @transition-timing-function-standard;
}
.slideDynamicOrigin-exit-active {
opacity: 0;
transform-origin: 0 0;
transform: scaleY(0.9) translateZ(0);
transition: transform @transition-duration-2 @transition-timing-function-standard,
opacity @transition-duration-2 @transition-timing-function-standard;
}
// used by drawer
.slideLeft-enter,
.slideLeft-appear {
transform: translateX(-100%);
}
.slideLeft-enter-active,
.slideLeft-appear-active {
transform: translateX(0);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideLeft-exit {
transform: translateX(0);
}
.slideLeft-exit-active {
transform: translateX(-100%);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideRight-enter,
.slideRight-appear {
transform: translateX(100%);
}
.slideRight-enter-active,
.slideRight-appear-active {
transform: translateX(0);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideRight-exit {
transform: translateX(0);
}
.slideRight-exit-active {
transform: translateX(100%);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideTop-enter,
.slideTop-appear {
transform: translateY(-100%);
}
.slideTop-enter-active,
.slideTop-appear-active {
transform: translateY(0);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideTop-exit {
transform: translateY(0);
}
.slideTop-exit-active {
transform: translateY(-100%);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideBottom-enter,
.slideBottom-appear {
transform: translateY(100%);
}
.slideBottom-enter-active,
.slideBottom-appear-active {
transform: translateY(0);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
.slideBottom-exit {
transform: translateY(0);
}
.slideBottom-exit-active {
transform: translateY(100%);
transition: transform @transition-duration-3 @transition-timing-function-standard;
}
// modal use
.zoomIn-enter,
.zoomIn-appear {
opacity: 0;
transform: scale(0.5, 0.5);
}
.zoomIn-enter-active,
.zoomIn-appear-active {
opacity: 1;
transform: scale(1, 1);
transition: opacity @transition-duration-3 @transition-timing-function-standard,
transform @transition-duration-3 @transition-timing-function-standard;
}
.zoomIn-exit {
opacity: 1;
transform: scale(1, 1);
}
.zoomIn-exit-active {
opacity: 0;
transform: scale(0.5, 0.5);
transition: opacity @transition-duration-3 @transition-timing-function-overshoot,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
// used by tooltip。缩放出现,渐隐退出
.zoomInFadeOut-enter,
.zoomInFadeOut-appear {
opacity: 0;
transform: scale(0.5, 0.5);
}
.zoomInFadeOut-enter-active,
.zoomInFadeOut-appear-active {
opacity: 1;
transform: scale(1, 1);
transition: opacity @transition-duration-2 @transition-timing-function-standard,
transform @transition-duration-2 @transition-timing-function-standard;
}
.zoomInFadeOut-exit {
opacity: 1;
transform: scale(1, 1);
}
.zoomInFadeOut-exit-active {
opacity: 0;
transform: scale(0.5, 0.5);
transition: opacity @transition-duration-2 @transition-timing-function-overshoot,
transform @transition-duration-2 @transition-timing-function-overshoot;
}
// used by slide, table filter
.zoomInBig-enter,
.zoomInBig-appear {
opacity: 0;
transform: scale(0.5, 0.5);
}
.zoomInBig-enter-active,
.zoomInBig-appear-active {
opacity: 1;
transform: scale(1, 1);
transition: opacity @transition-duration-2 @transition-timing-function-linear,
transform @transition-duration-2 @transition-timing-function-linear;
}
.zoomInBig-exit {
opacity: 1;
transform: scale(1, 1);
}
.zoomInBig-exit-active {
opacity: 0;
transform: scale(0.2, 0.2);
transition: opacity @transition-duration-2 @transition-timing-function-linear,
transform @transition-duration-2 @transition-timing-function-linear;
}
.zoomInLeft-enter,
.zoomInLeft-appear {
opacity: 0.1;
transform-origin: 0 50%;
transform: scale(0.1, 0.1);
}
.zoomInLeft-enter-active,
.zoomInLeft-appear-active {
opacity: 1;
transform: scale(1, 1);
transition: opacity @transition-duration-3 @transition-timing-function-linear,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
.zoomInLeft-exit {
opacity: 1;
transform-origin: 0 50%;
transform: scale(1, 1);
}
.zoomInLeft-exit-active {
opacity: 0.1;
transform: scale(0.1, 0.1);
transition: opacity @transition-duration-3 @transition-timing-function-linear,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
// used by alert form
.zoomInTop-enter,
.zoomInTop-appear {
opacity: 0;
transform-origin: 0% 0%;
transform: scaleY(0.8) translateZ(0);
}
.zoomInTop-enter-active,
.zoomInTop-appear-active {
opacity: 1;
transform-origin: 0% 0%;
transform: scaleY(1) translateZ(0);
transition: transform @transition-duration-3 @transition-timing-function-overshoot,
opacity @transition-duration-3 @transition-timing-function-overshoot;
}
.zoomInTop-exit {
opacity: 1;
transform-origin: 0% 0%;
transform: scaleY(1) translateZ(0);
}
.zoomInTop-exit-active {
opacity: 0;
transform-origin: 0% 0%;
transform: scaleY(0.8) translateZ(0);
transition: transform @transition-duration-3 @transition-timing-function-overshoot,
opacity @transition-duration-3 @transition-timing-function-overshoot;
}
.zoomInBottom-enter,
.zoomInBottom-appear {
opacity: 0;
transform-origin: 100% 100%;
transform: scaleY(0.8) translateZ(0);
}
.zoomInBottom-enter-active,
.zoomInBottom-appear-active {
opacity: 1;
transform-origin: 100% 100%;
transform: scaleY(1) translateZ(0);
transition: transform @transition-duration-3 @transition-timing-function-overshoot,
opacity @transition-duration-3 @transition-timing-function-overshoot;
}
.zoomInBottom-exit {
opacity: 1;
transform-origin: 100% 100%;
transform: scaleY(1) translateZ(0);
}
.zoomInBottom-exit-active {
opacity: 0;
transform-origin: 100% 100%;
transform: scaleY(0.8) translateZ(0);
transition: transform @transition-duration-3 @transition-timing-function-overshoot,
opacity @transition-duration-3 @transition-timing-function-overshoot;
}
body {
font-size: @font-size-body;
}
/********** global end ***************/
/********** Alert ***************/
@alert-border-width: @border-1;
@alert-margin-close-icon-left: @spacing-4;
@alert-margin-icon-right: @spacing-4;
@alert-margin-action-right: @spacing-4;
@alert-margin-action-left: @spacing-4;
@alert-border-radius: @radius-small;
@alert-line-height: 1.5715;
@alert-title-line-height: 1.5;
@alert-title-margin-bottom: @spacing-2;
@alert-padding-horizontal: @spacing-7;
@alert-padding-vertical: 9px;
@alert-padding-horizontal_with_title: @spacing-7;
@alert-padding-vertical_with_title: @spacing-7;
@alert-font-weight-title: @font-weight-500;
@alert-font-size-text-title: @font-size-title-1;
@alert-font-size-text-content: @font-size-body-3;
@alert-font-size-icon: 16px;
@alert-font-size-icon_with_title: 18px;
@alert-font-size-close-icon: 12px;
@alert-color-close-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@alert-color-close-icon_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
/*****************************************************
* type: info / warning / error /success
*****************************************************/
@alert-info-color-bg: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@alert-info-color-border: @color-transparent;
@alert-info-color-icon: @color-primary-6;
@alert-info-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-info-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-info-color-text-content_title: var(~'@{arco-cssvars-prefix}-color-text-2');
@alert-warning-color-bg: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@alert-warning-color-border: @color-transparent;
@alert-warning-color-icon: @color-warning-6;
@alert-warning-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-warning-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-warning-color-text-content_title: var(~'@{arco-cssvars-prefix}-color-text-2');
@alert-error-color-bg: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@alert-error-color-border: @color-transparent;
@alert-error-color-icon: @color-danger-6;
@alert-error-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-error-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-error-color-text-content_title: var(~'@{arco-cssvars-prefix}-color-text-2');
@alert-success-color-bg: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@alert-success-color-border: @color-transparent;
@alert-success-color-icon: @color-success-6;
@alert-success-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-success-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@alert-success-color-text-content_title: var(~'@{arco-cssvars-prefix}-color-text-2');
@alert-prefix-cls: ~'@{prefix}-alert';
.@{alert-prefix-cls} {
box-sizing: border-box;
border-radius: @alert-border-radius;
padding: (@alert-padding-vertical - @alert-border-width)
(@alert-padding-horizontal - @alert-border-width);
font-size: @alert-font-size-text-content;
overflow: hidden;
display: flex;
width: 100%;
text-align: left;
align-items: center;
line-height: @alert-line-height;
&-with-title {
padding: (@alert-padding-vertical_with_title - @alert-border-width)
(@alert-padding-horizontal_with_title - @alert-border-width);
}
&-with-title {
align-items: flex-start;
}
&-info {
border: @alert-border-width solid @alert-info-color-border;
background-color: @alert-info-color-bg;
}
&-success {
border: @alert-border-width solid @alert-success-color-border;
background-color: @alert-success-color-bg;
}
&-warning {
border: @alert-border-width solid @alert-warning-color-border;
background-color: @alert-warning-color-bg;
}
&-error {
border: @alert-border-width solid @alert-error-color-border;
background-color: @alert-error-color-bg;
}
&-banner {
border: none;
border-radius: 0;
}
&-content-wrapper {
position: relative;
flex: 1;
}
&-title {
font-size: @alert-font-size-text-title;
font-weight: @alert-font-weight-title;
line-height: @alert-title-line-height;
margin-bottom: @alert-title-margin-bottom;
}
&-info &-title {
color: @alert-info-color-text-title;
}
&-info &-content {
color: @alert-info-color-text-content;
}
&-info&-with-title &-content {
color: @alert-info-color-text-content_title;
}
&-success &-title {
color: @alert-success-color-text-title;
}
&-success &-content {
color: @alert-success-color-text-content;
}
&-success&-with-title &-content {
color: @alert-success-color-text-content_title;
}
&-warning &-title {
color: @alert-warning-color-text-title;
}
&-warning &-content {
color: @alert-warning-color-text-content;
}
&-warning&-with-title &-content {
color: @alert-warning-color-text-content_title;
}
&-error &-title {
color: @alert-error-color-text-title;
}
&-error &-content {
color: @alert-error-color-text-content;
}
&-error&-with-title &-content {
color: @alert-error-color-text-content_title;
}
&-icon-wrapper {
margin-right: @alert-margin-icon-right;
height: @alert-line-height * @alert-font-size-text-content;
display: flex;
align-items: center;
svg {
font-size: @alert-font-size-icon;
}
}
&-with-title &-icon-wrapper {
height: @alert-title-line-height * @alert-font-size-text-title;
}
&-with-title &-icon-wrapper svg {
font-size: @alert-font-size-icon_with_title;
}
&-info &-icon-wrapper svg {
color: @alert-info-color-icon;
}
&-success &-icon-wrapper svg {
color: @alert-success-color-icon;
}
&-warning &-icon-wrapper svg {
color: @alert-warning-color-icon;
}
&-error &-icon-wrapper svg {
color: @alert-error-color-icon;
}
&-close-btn {
box-sizing: border-box;
padding: 0;
border: none;
outline: none;
font-size: @alert-font-size-close-icon;
color: @alert-color-close-icon;
background-color: transparent;
cursor: pointer;
transition: color @transition-duration-1 @transition-timing-function-linear;
margin-left: @alert-margin-close-icon-left;
top: 4px;
right: 0;
&:hover {
color: @alert-color-close-icon_hover;
}
}
&-action + &-close-btn {
margin-left: @alert-margin-action-right;
}
&-action {
margin-left: @alert-margin-action-left;
}
&-with-title &-close-btn {
margin-top: 0;
margin-right: 0;
}
}
.@{alert-prefix-cls}-rtl {
direction: rtl;
text-align: right;
.@{alert-prefix-cls}-with-title {
align-items: flex-end;
}
.@{alert-prefix-cls}-icon-wrapper {
margin-right: 0;
margin-left: @alert-margin-icon-right;
}
.@{alert-prefix-cls}-close-btn {
right: initial;
left: 0;
}
.@{alert-prefix-cls}-action {
margin-left: 0;
margin-right: @alert-margin-action-left;
+ .@{alert-prefix-cls}-close-btn {
margin-left: 0;
margin-right: @alert-margin-action-right;
}
}
}
/********** Alert end ***************/
/********** Anchor ***************/
// Line
@anchor-width: 150px;
@anchor-line-width: 2px;
@anchor-line-slider-height: 12px;
@anchor-line-margin-right: 12px;
@anchor-color-bg-line: var(~'@{arco-cssvars-prefix}-color-fill-3');
@anchor-color-bg-line_active: @color-primary-6;
@anchor-border-radius-title-hover: @radius-small;
@anchor-item-inner-margin-left: @spacing-7;
@anchor-title-padding-horizontal: @spacing-4;
@anchor-title-padding-vertical: @spacing-2;
@anchor-title-margin-bottom: @spacing-1;
@anchor-title-margin-left_horizontal: @spacing-7;
@anchor-color-title: var(~'@{arco-cssvars-prefix}-color-text-2');
@anchor-color-title_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@anchor-color-title_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@anchor-font-weight-title_hover: @font-weight-500;
@anchor-font-weight-title_horizontal_hover: @font-weight-400;
@anchor-font-weight-title_active: @font-weight-500;
@anchor-color-bg-title_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@anchor-font-size-title: 14px;
// Lineless
@anchor-lineless-color-title_active: @color-primary-6;
@anchor-lineless-bg-title_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@anchor-lineless-font-weight-title_active: @font-weight-500;
@anchor-color-box-shadow: @color-primary-6;
@anchor-prefix-cls: ~'@{prefix}-anchor';
.@{anchor-prefix-cls} {
position: relative;
width: @anchor-width;
overflow: auto;
&-line {
&-slider {
position: absolute;
height: @anchor-line-slider-height;
width: @anchor-line-width;
margin-top: (
(@anchor-font-size-title * @line-height-base) / 2 + @anchor-title-padding-vertical -
@anchor-line-slider-height / 2
);
background-color: @anchor-color-bg-line_active;
left: 0;
top: 0;
transition: all @transition-duration-2 @transition-timing-function-standard;
z-index: 1;
}
}
&-list {
margin-left: @anchor-line-margin-right - @anchor-title-padding-horizontal + @anchor-line-width;
position: relative;
&::before {
content: '';
position: absolute;
height: 100%;
background-color: @anchor-color-bg-line;
width: @anchor-line-width;
left: @anchor-title-padding-horizontal - @anchor-line-margin-right - @anchor-line-width;
}
}
&-link {
margin-bottom: @anchor-title-margin-bottom;
&-title {
color: @anchor-color-title;
line-height: @line-height-base;
font-size: @anchor-font-size-title;
margin-bottom: @anchor-title-margin-bottom;
padding: @anchor-title-padding-vertical @anchor-title-padding-horizontal;
text-decoration: none;
cursor: pointer;
text-overflow: ellipsis;
overflow: hidden;
display: block;
white-space: nowrap;
border-radius: @anchor-border-radius-title-hover;
}
&-title:hover {
background-color: @anchor-color-bg-title_hover;
color: @anchor-color-title_hover;
font-weight: @anchor-font-weight-title_hover;
}
&-title:focus-visible {
box-shadow: inset 0 0 0 2px @anchor-color-box-shadow;
}
&-active > &-title {
transition: all @transition-duration-1 @transition-timing-function-linear;
color: @anchor-color-title_active;
font-weight: @anchor-font-weight-title_active;
}
}
&-link &-link {
margin-left: @anchor-item-inner-margin-left;
}
// Lineless
&-lineless &-list {
margin-left: 0;
&::before {
display: none;
}
}
&-lineless &-link-active > &-link-title {
background-color: @anchor-lineless-bg-title_active;
color: @anchor-lineless-color-title_active;
font-weight: @anchor-lineless-font-weight-title_active;
}
}
.@{anchor-prefix-cls}-rtl {
direction: rtl;
.@{anchor-prefix-cls}-list {
margin-left: 0;
margin-right: @anchor-line-margin-right - @anchor-title-padding-horizontal + @anchor-line-width;
&::before {
left: initial;
right: @anchor-title-padding-horizontal - @anchor-line-margin-right - @anchor-line-width;
}
}
.@{anchor-prefix-cls}-link {
.@{anchor-prefix-cls}-link {
margin-left: 0;
margin-right: @anchor-item-inner-margin-left;
}
}
&.@{anchor-prefix-cls}-lineless {
.@{anchor-prefix-cls}-list {
margin-right: 0;
}
}
.@{anchor-prefix-cls}-line {
&-slider {
left: initial;
right: 0;
}
}
}
// Line
@anchor-width: 150px;
@anchor-line-width: 2px;
@anchor-line-slider-height: 12px;
@anchor-line-margin-right: 12px;
@anchor-color-bg-line: var(~'@{arco-cssvars-prefix}-color-fill-3');
@anchor-color-bg-line_active: @color-primary-6;
@anchor-border-radius-title-hover: @radius-small;
@anchor-item-inner-margin-left: @spacing-7;
@anchor-title-padding-horizontal: @spacing-4;
@anchor-title-padding-vertical: @spacing-2;
@anchor-title-margin-bottom: @spacing-1;
@anchor-title-margin-left_horizontal: @spacing-7;
@anchor-color-title: var(~'@{arco-cssvars-prefix}-color-text-2');
@anchor-color-title_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@anchor-color-title_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@anchor-font-weight-title_hover: @font-weight-500;
@anchor-font-weight-title_horizontal_hover: @font-weight-400;
@anchor-font-weight-title_active: @font-weight-500;
@anchor-color-bg-title_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@anchor-font-size-title: 14px;
// Lineless
@anchor-lineless-color-title_active: @color-primary-6;
@anchor-lineless-bg-title_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@anchor-lineless-font-weight-title_active: @font-weight-500;
@anchor-color-box-shadow: @color-primary-6;
@anchor-prefix-cls: ~'@{prefix}-anchor';
.@{anchor-prefix-cls} {
&&-horizontal {
width: 100%;
}
&-horizontal &-list {
display: flex;
width: 100%;
margin: 0;
&::before {
left: 0;
right: 0;
width: 100%;
bottom: 0;
height: 2px;
}
}
&-horizontal &-link-title:hover {
font-weight: @anchor-font-weight-title_horizontal_hover;
}
&-horizontal &-link-active &-link-title:hover {
font-weight: @anchor-font-weight-title_active;
}
&-horizontal &-link:not(:first-of-type) {
margin-left: @anchor-title-margin-left_horizontal;
}
&-rtl&-horizontal &-link:not(:first-of-type) {
margin-right: @anchor-title-margin-left_horizontal;
margin-left: unset;
}
&-horizontal &-line-slider {
height: @anchor-line-width;
width: 0;
margin: 0;
top: unset;
bottom: 0;
background-color: transparent;
right: unset;
&::before {
content: '';
display: block;
position: absolute;
left: @anchor-title-padding-horizontal;
right: @anchor-title-padding-horizontal;
height: 100%;
background-color: @anchor-color-bg-line_active;
}
}
// 横向无轴线模式
&&-lineless &-link,
&&-lineless &-link-title {
margin-bottom: 0;
}
}
/********** Anchor end ***************/
/********** Affix ***************/
@affix-prefix-cls: ~'@{prefix}-affix';
.@{affix-prefix-cls} {
position: fixed;
z-index: @z-index-affix;
}
/********** Affix end ***************/
/********** AutoComplete ***************/
/**********************************************
* Popup Box
**********************************************/
@auto-complete-popup-max-height: @size-50;
@auto-complete-popup-border-radius: @radius-medium;
@auto-complete-popup-padding-vertical: @spacing-2;
@auto-complete-popup-font-size: @font-size-body-3;
@auto-complete-popup-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@auto-complete-popup-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@auto-complete-option-height: @size-9;
@auto-complete-option-font-weight_selected: @font-weight-500;
@auto-complete-option-padding-horizontal: @spacing-6;
@auto-complete-option-color-bg_default: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@auto-complete-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@auto-complete-option-color-bg_selected: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@auto-complete-option-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@auto-complete-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@auto-complete-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@auto-complete-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@auto-complete-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@auto-complete-prefix-cls: ~'@{prefix}-autocomplete';
@select-prefix-cls: ~'@{prefix}-select';
.@{auto-complete-prefix-cls} {
&-popup .@{select-prefix-cls}-popup {
border: 1px solid @auto-complete-popup-color-border;
border-radius: @auto-complete-popup-border-radius;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
box-shadow: @auto-complete-popup-box-shadow;
.@{select-prefix-cls}-popup-inner {
padding: @auto-complete-popup-padding-vertical 0;
max-height: @auto-complete-popup-max-height;
}
.@{select-prefix-cls}-option {
height: @auto-complete-option-height;
padding: 0 @auto-complete-option-padding-horizontal;
font-size: @auto-complete-popup-font-size;
line-height: $height;
.option-color(@status) {
@class-suffix: if(@status = default, ~'', ~'-@{status}');
&@{class-suffix} {
color: ~'@{auto-complete-option-color-text_@{status}}';
background-color: ~'@{auto-complete-option-color-bg_@{status}}';
}
}
.option-color(default);
.option-color(selected);
.option-color(hover);
// disabled 优先级最高,放在最后
.option-color(disabled);
&-selected {
font-weight: @auto-complete-option-font-weight_selected;
}
}
}
}
/********** AutoComplete end ***************/
/********** Avatar ***************/
@avatar-size-default: @size-10;
@avatar-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@avatar-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-4');
@avatar-color-group-item-border: var(~'@{arco-cssvars-prefix}-color-bg-2');
@avatar-group-item-border-width: 2px;
@avatar-group-item-margin-left: -10px;
@avatar-group-popover-item-spacing: @spacing-2;
@avatar-font-weight-text: @font-weight-500;
@avatar-font-size-text: 20px;
@avatar-circle-border-radius: @radius-circle;
@avatar-square-border-radius: @radius-medium;
@avatar-font-size-max-count: 20px;
@avatar-color-max-count-text: var(~'@{arco-cssvars-prefix}-color-white');
@avatar-size-trigger-button: @size-5;
@avatar-spacing-trigger-button-right: @spacing-2;
@avatar-spacing-trigger-button-bottom: @spacing-2;
@avatar-color-trigger-button-bg: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@avatar-color-trigger-button-bg_hover: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@avatar-color-trigger-mask-icon: var(~'@{arco-cssvars-prefix}-color-white');
@avatar-opacity-trigger-mask-bg: @opacity-6;
@avatar-color-trigger-icon-button: var(~'@{arco-cssvars-prefix}-color-fill-4');
@avatar-size-trigger-icon: @size-3;
@avatar-border-trigger-button-radius: @radius-circle;
@avatar-prefix-cls: ~'@{prefix}-avatar';
.@{avatar-prefix-cls} {
display: inline-flex;
align-items: center;
position: relative;
background-color: @avatar-color-bg;
white-space: nowrap;
color: @avatar-color-text;
box-sizing: border-box;
vertical-align: middle;
width: @avatar-size-default;
height: @avatar-size-default;
font-size: @avatar-font-size-text;
&-circle {
border-radius: @avatar-circle-border-radius;
}
&-circle &-image {
border-radius: @avatar-circle-border-radius;
overflow: hidden;
}
&-square {
border-radius: @avatar-square-border-radius;
}
&-square &-image {
border-radius: @avatar-square-border-radius;
overflow: hidden;
}
&-text {
position: absolute;
left: 50%;
transform-origin: 0 center;
transform: translateX(-50%);
font-weight: @avatar-font-weight-text;
// 避免继承行高导致的文字不居中
line-height: 1;
}
&-image {
display: inline-flex;
width: 100%;
height: 100%;
img,
picture {
width: 100%;
height: 100%;
}
}
&-trigger-icon-button {
position: absolute;
display: inline-flex;
align-items: center;
justify-content: center;
bottom: -@avatar-spacing-trigger-button-bottom;
right: -@avatar-spacing-trigger-button-right;
color: @avatar-color-trigger-icon-button;
font-size: @avatar-size-trigger-icon;
border-radius: @avatar-border-trigger-button-radius;
width: @avatar-size-trigger-button;
height: @avatar-size-trigger-button;
line-height: @avatar-size-trigger-button;
background-color: @avatar-color-trigger-button-bg;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
z-index: 1;
}
&-trigger-icon-mask {
position: absolute;
display: flex;
opacity: 0;
z-index: 0;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
top: 0;
left: 0;
font-size: 16px;
transition: all @transition-duration-1 @transition-timing-function-linear;
border-radius: @avatar-square-border-radius;
background-color: fade(@gray-10, @avatar-opacity-trigger-mask-bg);
color: @avatar-color-trigger-mask-icon;
}
&-circle &-trigger-icon-mask {
border-radius: @avatar-circle-border-radius;
}
&-with-trigger-icon {
cursor: pointer;
}
&-with-trigger-icon:hover &-trigger-icon-mask {
z-index: 2;
opacity: 1;
}
&-with-trigger-icon:hover &-trigger-icon-button {
background-color: @avatar-color-trigger-button-bg_hover;
}
&-rtl {
direction: rtl;
}
&-rtl &-trigger-icon-button {
right: unset;
left: -@avatar-spacing-trigger-button-right;
}
}
.@{avatar-prefix-cls} {
&-group {
display: inline-block;
line-height: 0;
&-max-count-avatar {
cursor: default;
color: @avatar-color-max-count-text;
font-size: @avatar-font-size-max-count;
}
&-rtl {
direction: rtl;
}
}
&-group & {
border: @avatar-group-item-border-width solid @avatar-color-group-item-border;
}
&-group &:not(:first-child) {
margin-left: @avatar-group-item-margin-left;
}
&-group-popover &:not(:first-child) {
margin-left: @avatar-group-popover-item-spacing;
}
}
/********** Avatar end ***************/
/********** BackTop ***************/
@backtop-margin-bottom: @spacing-9;
@backtop-margin-right: @spacing-9;
@backtop-button-size-width: @size-10;
@backtop-button-size-font: @font-size-body-1;
@backtop-button-size-icon: 14px;
@backtop-button-color-bg: @color-primary-6;
@backtop-button-color-bg_hover: @color-primary-5;
@backtop-button-border-radius: @radius-circle;
@backtop-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@backtop-prefix-cls: ~'@{prefix}-backtop';
.@{backtop-prefix-cls} {
position: fixed;
bottom: @backtop-margin-bottom;
right: @backtop-margin-right;
z-index: 100;
cursor: pointer;
&-button {
width: @backtop-button-size-width;
height: @backtop-button-size-width;
font-size: @backtop-button-size-font;
text-align: center;
outline: none;
background-color: @backtop-button-color-bg;
border-radius: @backtop-button-border-radius;
color: @backtop-button-color-text;
transition: all @transition-duration-2 @transition-timing-function-linear;
cursor: pointer;
border: none;
&:focus-visible {
box-shadow: 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-primary-light-3');
}
&:hover {
background-color: @backtop-button-color-bg_hover;
}
svg {
font-size: @backtop-button-size-icon;
}
}
}
/********** BackTop end ***************/
/********** Badge ***************/
@badge-size-count-height: @size-5;
@badge-padding-count-horizontal: @spacing-3;
@badge-margin-status-text-left: @spacing-4;
@badge-font-count-size: @font-size-body-1;
@badge-font-status-text-size: @font-size-body-3;
@badge-color-count-text: var(~'@{arco-cssvars-prefix}-color-white');
@badge-color-status-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@badge-color-count-bg: @color-danger-6;
@badge-size-dot-width: 6px;
@badge-color-dot-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-4');
@badge-color-dot-bg_processing: @color-primary-6;
@badge-color-dot-bg_success: @color-success-6;
@badge-color-dot-bg_warning: @color-warning-6;
@badge-color-dot-bg_error: @color-danger-6;
@badge-font-count-weight: @font-weight-500;
@badge-red-color-dot-bg: @color-danger-6;
@badge-orangered-color-dot-bg: @orangered-6;
@badge-orange-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-orange-6'));
@badge-lime-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-lime-6'));
@badge-gold-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));
@badge-green-color-dot-bg: @color-success-6;
@badge-cyan-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-cyan-6'));
@badge-arcoblue-color-dot-bg: @color-primary-6;
@badge-pinkpurple-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-6'));
@badge-purple-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-purple-6'));
@badge-magenta-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-magenta-6'));
@badge-gray-color-dot-bg: rgb(var(~'@{arco-cssvars-prefix}-gray-4'));
@badge-prefix-cls: ~'@{prefix}-badge';
.@{badge-prefix-cls} {
display: inline-block;
position: relative;
line-height: 1;
&-rtl {
direction: rtl;
}
&-number,
&-dot,
&-text,
&-custom-dot {
position: absolute;
z-index: 2;
transform: translate(50%, -50%);
transform-origin: 100% 0%;
border-radius: @badge-size-count-height;
box-sizing: border-box;
text-align: center;
top: 2px;
right: 2px;
overflow: hidden;
}
&-rtl &-number,
&-rtl &-dot,
&-rtl &-text,
&-rtl &-custom-dot {
right: unset;
}
&-custom-dot {
background-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
}
&-number,
&-text {
height: @badge-size-count-height;
min-width: @badge-size-count-height;
line-height: @badge-size-count-height;
font-weight: @badge-font-count-weight;
padding: 0 @badge-padding-count-horizontal;
font-size: @badge-font-count-size;
color: @badge-color-count-text;
background-color: @badge-color-count-bg;
box-shadow: 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-bg-2');
}
&-dot {
width: @badge-size-dot-width;
height: @badge-size-dot-width;
background-color: @badge-color-count-bg;
border-radius: @radius-circle;
box-shadow: 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-bg-2');
}
&-no-children &-dot,
&-no-children &-number,
&-no-children &-text {
position: relative;
display: inline-block;
transform: none;
top: unset;
right: unset;
}
&-status-wrapper {
display: inline-flex;
align-items: center;
}
&-status-dot {
display: inline-block;
width: @badge-size-dot-width;
height: @badge-size-dot-width;
border-radius: @radius-circle;
}
&-status-default {
background-color: @badge-color-dot-bg_default;
}
&-status-processing {
background-color: @badge-color-dot-bg_processing;
}
&-status-success {
background-color: @badge-color-dot-bg_success;
}
&-status-warning {
background-color: @badge-color-dot-bg_warning;
}
&-status-error {
background-color: @badge-color-dot-bg_error;
}
@colors: red, orangered, orange, gold, lime, green, cyan, arcoblue, purple, pinkpurple, magenta,
gray;
.for(@data, @i: 1) when(@i =< length(@data)) {
@color-name: extract(@data, @i);
@color: ~'badge-@{color-name}-color-dot-bg';
&-color-@{color-name} {
background-color: @@color;
}
.for(@data, (@i + 1));
}
.for(@colors);
&-status-text {
color: @badge-color-status-text;
margin-left: @badge-margin-status-text-left;
font-size: @badge-font-status-text-size;
line-height: @line-height-base;
}
&-rtl &-status-text {
margin-left: 0;
margin-right: @badge-margin-status-text-left;
}
&-number-text {
display: inline-block;
animation: ~'@{prefix}-badge-scale' @transition-duration-5 @transition-timing-function-overshoot;
}
}
@keyframes ~'@{prefix}-badge-scale' {
from {
transform: scale(0, 0);
}
to {
transform: scale(1, 1);
}
}
.badge-zoom-enter,
.badge-zoom-appear {
// opacity: 0;
transform-origin: center;
transform: translate(50%, -50%) scale(0.2, 0.2);
}
.badge-zoom-enter-active,
.badge-zoom-appear-active {
opacity: 1;
transform-origin: center;
transform: translate(50%, -50%) scale(1, 1);
transition: opacity @transition-duration-3 @transition-timing-function-overshoot,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
.badge-zoom-exit {
opacity: 1;
transform-origin: center;
transform: translate(50%, -50%) scale(1, 1);
}
.badge-zoom-exit-active {
opacity: 0;
transform-origin: center;
transform: translate(50%, -50%) scale(0.2, 0.2);
transition: opacity @transition-duration-3 @transition-timing-function-overshoot,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
/********** Badge end ***************/
/********** Breadcrumb ***************/
@breadcrumb-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@breadcrumb-color-text_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@breadcrumb-color-link-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@breadcrumb-color-separator: var(~'@{arco-cssvars-prefix}-color-text-4');
@breadcrumb-color-bg: @color-transparent;
@breadcrumb-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@breadcrumb-margin-separator-horizontal: @spacing-2;
@breadcrumb-margin-dropdown-icon-left: @spacing-2;
@breadcrumb-padding-text-horizontal: @spacing-2;
@breadcrumb-border-text-radius_hover: @radius-small;
@breadcrumb-size-text-height: @size-6;
@breadcrumb-size-dropdown-icon: @size-3;
@breadcrumb-size-font-size: @font-size-body-3;
@breadcrumb-font-weight_active: @font-weight-500;
@breadcrumb-color-icon: var(~'@{arco-cssvars-prefix}-color-text-3');
@breadcrumb-color-link-text_hover: @color-link-6;
@breadcrumb-color-dropdown-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@breadcrumb-color-box-shadow: @color-primary-6;
@breadcrumb-prefix-cls: ~'@{prefix}-breadcrumb';
.@{breadcrumb-prefix-cls} {
display: inline-block;
font-size: @breadcrumb-size-font-size;
color: var(~'@{arco-cssvars-prefix}-color-text-2');
&-icon {
color: var(~'@{arco-cssvars-prefix}-color-text-2');
}
&-item {
display: inline-flex;
align-items: center;
padding: 0 @breadcrumb-padding-text-horizontal;
vertical-align: middle;
line-height: @breadcrumb-size-text-height;
color: @breadcrumb-color-text;
> .@{prefix}-icon {
color: @breadcrumb-color-icon;
}
a,
&[href] {
display: inline-block;
border-radius: @breadcrumb-border-text-radius_hover;
padding: 0 @breadcrumb-padding-text-horizontal;
margin: 0 -@breadcrumb-padding-text-horizontal;
text-decoration: none;
color: @breadcrumb-color-link-text;
background-color: @breadcrumb-color-bg;
&:hover {
background-color: @breadcrumb-color-bg_hover;
color: @breadcrumb-color-link-text_hover;
}
&:focus-visible {
box-shadow: 0 0 0 2px @breadcrumb-color-box-shadow;
}
}
&:last-child {
color: @breadcrumb-color-text_active;
font-weight: @breadcrumb-font-weight_active;
}
&-ellipses {
display: inline-block;
position: relative;
top: -3px;
padding: 0 @breadcrumb-padding-text-horizontal;
color: var(~'@{arco-cssvars-prefix}-color-text-2');
}
&-separator {
display: inline-block;
margin: 0 @breadcrumb-margin-separator-horizontal;
vertical-align: middle;
line-height: @breadcrumb-size-text-height;
color: @breadcrumb-color-separator;
}
&-with-dropdown {
cursor: pointer;
}
&-dropdown-icon {
font-size: @breadcrumb-size-dropdown-icon;
margin-left: @breadcrumb-margin-dropdown-icon-left;
color: @breadcrumb-color-dropdown-icon;
&-active svg {
transform: rotate(180deg);
}
}
}
}
.@{breadcrumb-prefix-cls}-rtl {
.@{breadcrumb-prefix-cls}-item-dropdown-icon {
margin-left: 0;
margin-right: @breadcrumb-margin-dropdown-icon-left;
}
}
/********** Breadcrumb end ***************/
/********** Button ***************/
@btn-font-weight: @font-weight-400;
@btn-border-radius: @radius-small;
@btn-border-width: @border-1;
@btn-size-mini-height: @size-mini;
@btn-size-small-height: @size-small;
@btn-size-default-height: @size-default;
@btn-size-large-height: @size-large;
@btn-size-mini-radius: @btn-border-radius;
@btn-size-small-radius: @btn-border-radius;
@btn-size-default-radius: @btn-border-radius;
@btn-size-large-radius: @btn-border-radius;
@btn-size-mini-border-width: @btn-border-width;
@btn-size-small-border-width: @btn-border-width;
@btn-size-default-border-width: @btn-border-width;
@btn-size-large-border-width: @btn-border-width;
@btn-size-mini-icon-spacing: @spacing-2;
@btn-size-small-icon-spacing: @spacing-3;
@btn-size-default-icon-spacing: @spacing-4;
@btn-size-large-icon-spacing: @spacing-4;
@btn-size-mini-icon-vertical-align: -2px;
@btn-size-small-icon-vertical-align: -2px;
@btn-size-default-icon-vertical-align: -2px;
@btn-size-large-icon-vertical-align: -2px;
@btn-size-mini-padding-horizontal: 11px;
@btn-size-small-padding-horizontal: 15px;
@btn-size-default-padding-horizontal: 15px;
@btn-size-large-padding-horizontal: 19px;
@btn-size-mini-font-size: @font-size-body-1;
@btn-size-small-font-size: @font-size-body-3;
@btn-size-default-font-size: @font-size-body-3;
@btn-size-large-font-size: @font-size-body-3;
/***** Outline *****/
@btn-outline-color-text: @color-primary-6;
@btn-outline-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@btn-outline-color-text_hover: @color-primary-5;
@btn-outline-color-text_active: @color-primary-7;
@btn-outline-color-bg: @color-transparent;
@btn-outline-color-bg_disabled: @color-transparent;
@btn-outline-color-bg_hover: @color-transparent;
@btn-outline-color-bg_active: @color-transparent;
@btn-outline-color-border: @color-primary-6;
@btn-outline-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@btn-outline-color-border_hover: @color-primary-5;
@btn-outline-color-border_active: @color-primary-7;
// status
@btn-outline-color-text_warning: @color-warning-6;
@btn-outline-color-text_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-outline-color-text_warning_hover: @color-warning-5;
@btn-outline-color-text_warning_active: @color-warning-7;
@btn-outline-color-bg_warning: @color-transparent;
@btn-outline-color-bg_warning_disabled: @color-transparent;
@btn-outline-color-bg_warning_hover: @color-transparent;
@btn-outline-color-bg_warning_active: @color-transparent;
@btn-outline-color-border_warning: @color-warning-6;
@btn-outline-color-border_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-outline-color-border_warning_hover: @color-warning-5;
@btn-outline-color-border_warning_active: @color-warning-7;
@btn-outline-color-text_danger: @color-danger-6;
@btn-outline-color-text_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-outline-color-text_danger_hover: @color-danger-5;
@btn-outline-color-text_danger_active: @color-danger-7;
@btn-outline-color-bg_danger: @color-transparent;
@btn-outline-color-bg_danger_disabled: @color-transparent;
@btn-outline-color-bg_danger_hover: @color-transparent;
@btn-outline-color-bg_danger_active: @color-transparent;
@btn-outline-color-border_danger: @color-danger-6;
@btn-outline-color-border_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-outline-color-border_danger_hover: @color-danger-5;
@btn-outline-color-border_danger_active: @color-danger-7;
@btn-outline-color-text_success: @color-success-6;
@btn-outline-color-text_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-outline-color-text_success_hover: @color-success-5;
@btn-outline-color-text_success_active: @color-success-7;
@btn-outline-color-bg_success: @color-transparent;
@btn-outline-color-bg_success_disabled: @color-transparent;
@btn-outline-color-bg_success_hover: @color-transparent;
@btn-outline-color-bg_success_active: @color-transparent;
@btn-outline-color-border_success: @color-success-6;
@btn-outline-color-border_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-outline-color-border_success_hover: @color-success-5;
@btn-outline-color-border_success_active: @color-success-7;
// border
@btn-outline-border-style: @border-solid;
/***** Primary *****/
@btn-primary-color-text: #fff;
@btn-primary-color-text_disabled: #fff;
@btn-primary-color-text_hover: #fff;
@btn-primary-color-text_active: #fff;
@btn-primary-color-bg: @color-primary-6;
@btn-primary-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@btn-primary-color-bg_hover: @color-primary-5;
@btn-primary-color-bg_active: @color-primary-7;
@btn-primary-color-border: @color-transparent;
@btn-primary-color-border_disabled: @color-transparent;
@btn-primary-color-border_hover: @color-transparent;
@btn-primary-color-border_active: @color-transparent;
// status
@btn-primary-color-text_warning: #fff;
@btn-primary-color-text_warning_disabled: #fff;
@btn-primary-color-text_warning_hover: #fff;
@btn-primary-color-text_warning_active: #fff;
@btn-primary-color-bg_warning: @color-warning-6;
@btn-primary-color-bg_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-primary-color-bg_warning_hover: @color-warning-5;
@btn-primary-color-bg_warning_active: @color-warning-7;
@btn-primary-color-border_warning: @color-transparent;
@btn-primary-color-border_warning_disabled: @color-transparent;
@btn-primary-color-border_warning_hover: @color-transparent;
@btn-primary-color-border_warning_active: @color-transparent;
@btn-primary-color-text_danger: #fff;
@btn-primary-color-text_danger_disabled: #fff;
@btn-primary-color-text_danger_hover: #fff;
@btn-primary-color-text_danger_active: #fff;
@btn-primary-color-bg_danger: @color-danger-6;
@btn-primary-color-bg_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-primary-color-bg_danger_hover: @color-danger-5;
@btn-primary-color-bg_danger_active: @color-danger-7;
@btn-primary-color-border_danger: @color-transparent;
@btn-primary-color-border_danger_disabled: @color-transparent;
@btn-primary-color-border_danger_hover: @color-transparent;
@btn-primary-color-border_danger_active: @color-transparent;
@btn-primary-color-text_success: #fff;
@btn-primary-color-text_success_disabled: #fff;
@btn-primary-color-text_success_hover: #fff;
@btn-primary-color-text_success_active: #fff;
@btn-primary-color-bg_success: @color-success-6;
@btn-primary-color-bg_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-primary-color-bg_success_hover: @color-success-5;
@btn-primary-color-bg_success_active: @color-success-7;
@btn-primary-color-border_success: @color-transparent;
@btn-primary-color-border_success_disabled: @color-transparent;
@btn-primary-color-border_success_hover: @color-transparent;
@btn-primary-color-border_success_active: @color-transparent;
// border
@btn-primary-border-style: @border-solid;
/***** Secondary *****/
@btn-secondary-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-secondary-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@btn-secondary-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-secondary-color-text_active: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-secondary-color-bg: var(~'@{arco-cssvars-prefix}-color-secondary');
@btn-secondary-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-secondary-disabled');
@btn-secondary-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-secondary-hover');
@btn-secondary-color-bg_active: var(~'@{arco-cssvars-prefix}-color-secondary-active');
@btn-secondary-color-border: @color-transparent;
@btn-secondary-color-border_disabled: @color-transparent;
@btn-secondary-color-border_hover: @color-transparent;
@btn-secondary-color-border_active: @color-transparent;
// status
@btn-secondary-color-text_warning: @color-warning-6;
@btn-secondary-color-text_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-secondary-color-text_warning_hover: @color-warning-6;
@btn-secondary-color-text_warning_active: @color-warning-6;
@btn-secondary-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@btn-secondary-color-bg_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@btn-secondary-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@btn-secondary-color-bg_warning_active: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-secondary-color-border_warning: @color-transparent;
@btn-secondary-color-border_warning_disabled: @color-transparent;
@btn-secondary-color-border_warning_hover: @color-transparent;
@btn-secondary-color-border_warning_active: @color-transparent;
@btn-secondary-color-text_danger: @color-danger-6;
@btn-secondary-color-text_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-secondary-color-text_danger_hover: @color-danger-6;
@btn-secondary-color-text_danger_active: @color-danger-6;
@btn-secondary-color-bg_danger: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@btn-secondary-color-bg_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@btn-secondary-color-bg_danger_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@btn-secondary-color-bg_danger_active: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-secondary-color-border_danger: @color-transparent;
@btn-secondary-color-border_danger_disabled: @color-transparent;
@btn-secondary-color-border_danger_hover: @color-transparent;
@btn-secondary-color-border_danger_active: @color-transparent;
@btn-secondary-color-text_success: @color-success-6;
@btn-secondary-color-text_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-secondary-color-text_success_hover: @color-success-6;
@btn-secondary-color-text_success_active: @color-success-6;
@btn-secondary-color-bg_success: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@btn-secondary-color-bg_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@btn-secondary-color-bg_success_hover: var(~'@{arco-cssvars-prefix}-color-success-light-2');
@btn-secondary-color-bg_success_active: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-secondary-color-border_success: @color-transparent;
@btn-secondary-color-border_success_disabled: @color-transparent;
@btn-secondary-color-border_success_hover: @color-transparent;
@btn-secondary-color-border_success_active: @color-transparent;
// border
@btn-secondary-border-style: @border-solid;
/***** Dashed *****/
@btn-dashed-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-dashed-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@btn-dashed-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-dashed-color-text_active: var(~'@{arco-cssvars-prefix}-color-text-2');
@btn-dashed-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-dashed-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-dashed-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@btn-dashed-color-bg_active: var(~'@{arco-cssvars-prefix}-color-fill-4');
@btn-dashed-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@btn-dashed-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@btn-dashed-color-border_hover: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@btn-dashed-color-border_active: var(~'@{arco-cssvars-prefix}-color-neutral-5');
// status
@btn-dashed-color-text_warning: @color-warning-6;
@btn-dashed-color-text_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-dashed-color-text_warning_hover: @color-warning-6;
@btn-dashed-color-text_warning_active: @color-warning-6;
@btn-dashed-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@btn-dashed-color-bg_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@btn-dashed-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@btn-dashed-color-bg_warning_active: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-dashed-color-border_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@btn-dashed-color-border_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@btn-dashed-color-border_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-dashed-color-border_warning_active: var(~'@{arco-cssvars-prefix}-color-warning-light-4');
@btn-dashed-color-text_danger: @color-danger-6;
@btn-dashed-color-text_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-dashed-color-text_danger_hover: @color-danger-6;
@btn-dashed-color-text_danger_active: @color-danger-6;
@btn-dashed-color-bg_danger: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@btn-dashed-color-bg_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@btn-dashed-color-bg_danger_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@btn-dashed-color-bg_danger_active: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-dashed-color-border_danger: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@btn-dashed-color-border_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@btn-dashed-color-border_danger_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-dashed-color-border_danger_active: var(~'@{arco-cssvars-prefix}-color-danger-light-4');
@btn-dashed-color-text_success: @color-success-6;
@btn-dashed-color-text_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-dashed-color-text_success_hover: @color-success-6;
@btn-dashed-color-text_success_active: @color-success-6;
@btn-dashed-color-bg_success: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@btn-dashed-color-bg_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@btn-dashed-color-bg_success_hover: var(~'@{arco-cssvars-prefix}-color-success-light-2');
@btn-dashed-color-bg_success_active: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-dashed-color-border_success: var(~'@{arco-cssvars-prefix}-color-success-light-2');
@btn-dashed-color-border_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-2');
@btn-dashed-color-border_success_hover: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-dashed-color-border_success_active: var(~'@{arco-cssvars-prefix}-color-success-light-4');
// border
@btn-dashed-border-style: @border-dashed;
/***** Text *****/
@btn-text-color-text: @color-primary-6;
@btn-text-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@btn-text-color-text_hover: @color-primary-6;
@btn-text-color-text_active: @color-primary-6;
@btn-text-color-bg: @color-transparent;
@btn-text-color-bg_disabled: @color-transparent;
@btn-text-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-text-color-bg_active: var(~'@{arco-cssvars-prefix}-color-fill-3');
@btn-text-color-border: @color-transparent;
@btn-text-color-border_disabled: @color-transparent;
@btn-text-color-border_hover: @color-transparent;
@btn-text-color-border_active: @color-transparent;
// status
@btn-text-color-text_warning: @color-warning-6;
@btn-text-color-text_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@btn-text-color-text_warning_hover: @color-warning-6;
@btn-text-color-text_warning_active: @color-warning-6;
@btn-text-color-bg_warning: @color-transparent;
@btn-text-color-bg_warning_disabled: @color-transparent;
@btn-text-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-text-color-bg_warning_active: var(~'@{arco-cssvars-prefix}-color-fill-3');
@btn-text-color-border_warning: @color-transparent;
@btn-text-color-border_warning_disabled: @color-transparent;
@btn-text-color-border_warning_hover: @color-transparent;
@btn-text-color-border_warning_active: @color-transparent;
@btn-text-color-text_danger: @color-danger-6;
@btn-text-color-text_danger_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@btn-text-color-text_danger_hover: @color-danger-6;
@btn-text-color-text_danger_active: @color-danger-6;
@btn-text-color-bg_danger: @color-transparent;
@btn-text-color-bg_danger_disabled: @color-transparent;
@btn-text-color-bg_danger_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-text-color-bg_danger_active: var(~'@{arco-cssvars-prefix}-color-fill-3');
@btn-text-color-border_danger: @color-transparent;
@btn-text-color-border_danger_disabled: @color-transparent;
@btn-text-color-border_danger_hover: @color-transparent;
@btn-text-color-border_danger_active: @color-transparent;
@btn-text-color-text_success: @color-success-6;
@btn-text-color-text_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@btn-text-color-text_success_hover: @color-success-6;
@btn-text-color-text_success_active: @color-success-6;
@btn-text-color-bg_success: @color-transparent;
@btn-text-color-bg_success_disabled: @color-transparent;
@btn-text-color-bg_success_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@btn-text-color-bg_success_active: var(~'@{arco-cssvars-prefix}-color-fill-3');
@btn-text-color-border_success: @color-transparent;
@btn-text-color-border_success_disabled: @color-transparent;
@btn-text-color-border_success_hover: @color-transparent;
@btn-text-color-border_success_active: @color-transparent;
// border
@btn-text-border-style: @border-solid;
/***** focus-visible *****/
@btn-box-shadow-radius: 2px;
@btn-primary-color-box-shadow: @color-primary-3;
@btn-outline-color-box-shadow: @color-primary-3;
@btn-secondary-color-box-shadow: @color-secondary-active;
@btn-dashed-color-box-shadow: @color-secondary-active;
@btn-text-color-box-shadow: @color-secondary-active;
@btn-color-box-shadow_warning: @color-warning-3;
@btn-color-box-shadow_danger: @color-danger-3;
@btn-color-box-shadow_success: @color-success-3;
@btn-prefix-cls: ~'@{prefix}-btn';
.btn-type(@type) {
.@{btn-prefix-cls}-@{type}:not(.@{btn-prefix-cls}-disabled) {
background-color: ~'@{btn-@{type}-color-bg}';
color: ~'@{btn-@{type}-color-text}';
border: @btn-size-default-border-width ~'@{btn-@{type}-border-style}' ~'@{btn-@{type}-color-border}';
&:not(.@{btn-prefix-cls}-loading):hover {
border-color: ~'@{btn-@{type}-color-border_hover}';
color: ~'@{btn-@{type}-color-text_hover}';
background-color: ~'@{btn-@{type}-color-bg_hover}';
}
&:not(.@{btn-prefix-cls}-loading):active {
border-color: ~'@{btn-@{type}-color-border_active}';
color: ~'@{btn-@{type}-color-text_active}';
background-color: ~'@{btn-@{type}-color-bg_active}';
}
&:focus-visible {
box-shadow: 0 0 0 @btn-box-shadow-radius ~'@{btn-@{type}-color-box-shadow}';
}
}
.@{btn-prefix-cls}-@{type}.@{btn-prefix-cls}-disabled {
background-color: ~'@{btn-@{type}-color-bg_disabled}';
color: ~'@{btn-@{type}-color-text_disabled}';
border: @btn-size-default-border-width ~'@{btn-@{type}-border-style}' ~'@{btn-@{type}-color-border_disabled}';
cursor: not-allowed;
}
}
.btn-status(@type, @status) {
.@{btn-prefix-cls}-@{type}.@{btn-prefix-cls}-status-@{status}:not(.@{btn-prefix-cls}-disabled) {
background-color: ~'@{btn-@{type}-color-bg_@{status}}';
color: ~'@{btn-@{type}-color-text_@{status}}';
border-color: ~'@{btn-@{type}-color-border_@{status}}';
&:not(.@{btn-prefix-cls}-loading):hover {
border-color: ~'@{btn-@{type}-color-border_@{status}_hover}';
color: ~'@{btn-@{type}-color-text_@{status}_hover}';
background-color: ~'@{btn-@{type}-color-bg_@{status}_hover}';
}
&:not(.@{btn-prefix-cls}-loading):active {
border-color: ~'@{btn-@{type}-color-border_@{status}_active}';
color: ~'@{btn-@{type}-color-text_@{status}_active}';
background-color: ~'@{btn-@{type}-color-bg_@{status}_active}';
}
&:focus-visible {
box-shadow: 0 0 0 @btn-box-shadow-radius ~'@{btn-color-box-shadow_@{status}}';
}
}
.@{btn-prefix-cls}-@{type}.@{btn-prefix-cls}-status-@{status}.@{btn-prefix-cls}-disabled {
color: ~'@{btn-@{type}-color-text_@{status}_disabled}';
background-color: ~'@{btn-@{type}-color-bg_@{status}_disabled}';
border: @btn-size-default-border-width ~'@{btn-@{type}-border-style}' ~'@{btn-@{type}-color-border_@{status}_disabled}';
}
}
.btn-size(@size) {
.@{btn-prefix-cls}-size-@{size} {
padding: 0 ~'@{btn-size-@{size}-padding-horizontal}';
font-size: ~'@{btn-size-@{size}-font-size}';
height: ~'@{btn-size-@{size}-height}';
border-radius: ~'@{btn-size-@{size}-radius}';
// line-height: calc(~'@{size-@{size}}' - ~'@{btn-size-@{size}-border-width}' * 2);
> svg + span,
> span + svg {
margin-left: ~'@{btn-size-@{size}-icon-spacing}';
}
svg {
vertical-align: ~'@{btn-size-@{size}-icon-vertical-align}';
}
&.@{btn-prefix-cls}-rtl {
> svg + span,
> span + svg {
margin-left: 0;
margin-right: ~'@{btn-size-@{size}-icon-spacing}';
}
}
}
@bsp: ~'btn-size-@{size}-padding-horizontal';
@bsf: ~'btn-size-@{size}-font-size';
@bss: ~'btn-size-@{size}-icon-spacing';
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-loading-fixed-width.@{btn-prefix-cls}-loading {
padding-left: @@bsp - ((@@bsf + @@bss) / 2);
padding-right: @@bsp - ((@@bsf + @@bss) / 2);
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-icon-only {
width: ~'@{size-@{size}}';
height: ~'@{size-@{size}}';
padding: 0;
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-circle {
width: ~'@{size-@{size}}';
height: ~'@{size-@{size}}';
padding: 0;
text-align: center;
border-radius: @radius-circle;
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round {
border-radius: calc(~'@{size-@{size}}' * 0.5);
}
.@{btn-prefix-cls}-group {
.@{btn-prefix-cls}-size-@{size}:first-child {
border-radius: ~'@{btn-size-@{size}-radius}' 0 0 ~'@{btn-size-@{size}-radius}';
}
.@{btn-prefix-cls}-size-@{size}:last-child {
border-radius: 0 ~'@{btn-size-@{size}-radius}' ~'@{btn-size-@{size}-radius}' 0;
}
.@{btn-prefix-cls}-size-@{size}:first-child:last-child {
border-radius: ~'@{btn-size-@{size}-radius}';
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:first-child {
border-radius: calc(~'@{size-@{size}}' * 0.5) 0 0 calc(~'@{size-@{size}}' * 0.5);
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:last-child {
border-radius: 0 calc(~'@{size-@{size}}' * 0.5) calc(~'@{size-@{size}}' * 0.5) 0;
}
.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:first-child:last-child {
border-radius: calc(~'@{size-@{size}}' * 0.5);
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}:first-child {
border-radius: 0 ~'@{btn-size-@{size}-radius}' ~'@{btn-size-@{size}-radius}' 0;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}:last-child {
border-radius: ~'@{btn-size-@{size}-radius}' 0 0 ~'@{btn-size-@{size}-radius}';
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}:first-child:last-child {
border-radius: ~'@{btn-size-@{size}-radius}';
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:first-child {
border-radius: 0 calc(~'@{size-@{size}}' * 0.5) calc(~'@{size-@{size}}' * 0.5) 0;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:last-child {
border-radius: calc(~'@{size-@{size}}' * 0.5) 0 0 calc(~'@{size-@{size}}' * 0.5);
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-size-@{size}.@{btn-prefix-cls}-shape-round:first-child:last-child {
border-radius: calc(~'@{size-@{size}}' * 0.5);
}
}
}
.@{btn-prefix-cls} {
display: inline-block;
position: relative;
outline: none;
font-weight: @btn-font-weight;
appearance: none;
user-select: none;
cursor: pointer;
white-space: nowrap;
transition: all @transition-duration-1 @transition-timing-function-linear;
box-sizing: border-box;
line-height: @line-height-base;
> a:only-child {
color: currentColor;
}
&:active {
transition: none;
}
&:empty {
display: inline-block;
vertical-align: bottom;
}
&-long {
display: block;
width: 100%;
}
// link
&-link {
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
&:not([href]) {
color: var(~'@{arco-cssvars-prefix}-color-text-4');
}
&:hover {
text-decoration: none;
}
}
&-loading {
cursor: default;
position: relative;
&::before {
content: '';
position: absolute;
top: -1px;
right: -1px;
bottom: -1px;
left: -1px;
z-index: 1;
display: block;
background: #fff;
border-radius: inherit;
opacity: 0.4;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
pointer-events: none;
}
}
&-loading-fixed-width {
transition: none;
}
&-two-chinese-chars > *:not(svg) {
letter-spacing: 0.3em;
margin-right: -0.3em;
}
a&-icon-only {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: top;
}
}
.btn-type(outline);
.btn-status(outline, warning);
.btn-status(outline, danger);
.btn-status(outline, success);
.btn-type(primary);
.btn-status(primary, warning);
.btn-status(primary, danger);
.btn-status(primary, success);
.btn-type(secondary);
.btn-status(secondary, warning);
.btn-status(secondary, danger);
.btn-status(secondary, success);
.btn-type(dashed);
.btn-status(dashed, warning);
.btn-status(dashed, danger);
.btn-status(dashed, success);
.btn-type(text);
.btn-status(text, warning);
.btn-status(text, danger);
.btn-status(text, success);
.btn-size(mini);
.btn-size(small);
.btn-size(default);
.btn-size(large);
.@{btn-prefix-cls}-group {
display: inline-block;
.@{btn-prefix-cls}-outline:not(:first-child),
.@{btn-prefix-cls}-dashed:not(:first-child) {
margin-left: -1px;
}
.@{btn-prefix-cls}-primary:not(:last-child) {
border-right: 1px solid @btn-primary-color-bg_hover;
}
.@{btn-prefix-cls}-secondary:not(:last-child) {
border-right: 1px solid @btn-secondary-color-bg_hover;
}
.@{btn-prefix-cls}-text:not(:last-child) {
border-right: 1px solid @btn-text-color-border_hover;
}
.@{btn-prefix-cls}-status-warning:not(:last-child) {
border-right: 1px solid @btn-primary-color-bg_warning_hover;
&.@{btn-prefix-cls}-text {
border-right: 1px solid @btn-text-color-bg_warning_hover;
}
}
.@{btn-prefix-cls}-status-danger:not(:last-child) {
border-right: 1px solid @btn-primary-color-bg_danger_hover;
&.@{btn-prefix-cls}-text {
border-right: 1px solid @btn-text-color-bg_danger_hover;
}
}
.@{btn-prefix-cls}-status-success:not(:last-child) {
border-right: 1px solid @btn-primary-color-bg_success_hover;
&.@{btn-prefix-cls}-text {
border-right: 1px solid @btn-text-color-bg_success_hover;
}
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-outline:not(:first-child),
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-dashed:not(:first-child) {
margin-left: 0;
margin-right: -1px;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-primary:not(:last-child) {
border-left: 1px solid @btn-primary-color-bg_hover;
border-right: 0;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-secondary:not(:last-child) {
border-left: 1px solid @btn-secondary-color-bg_hover;
border-right: 0;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-text:not(:last-child) {
border-left: 1px solid @btn-text-color-border_hover;
border-right: 0;
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-status-warning:not(:last-child) {
border-left: 1px solid @btn-primary-color-bg_warning_hover;
border-right: 0;
&.@{btn-prefix-cls}-text {
border-left: 1px solid @btn-text-color-bg_warning_hover;
}
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-status-danger:not(:last-child) {
border-left: 1px solid @btn-primary-color-bg_danger_hover;
border-right: 0;
&.@{btn-prefix-cls}-text {
border-left: 1px solid @btn-text-color-bg_danger_hover;
}
}
.@{btn-prefix-cls}-rtl.@{btn-prefix-cls}-status-success:not(:last-child) {
border-left: 1px solid @btn-primary-color-bg_success_hover;
border-right: 0;
&.@{btn-prefix-cls}-text {
border-left: 1px solid @btn-text-color-bg_success_hover;
}
}
.@{btn-prefix-cls}-outline,
.@{btn-prefix-cls}-dashed {
&:hover,
&:active {
z-index: 2;
}
}
.@{btn-prefix-cls}:not(:first-child):not(:last-child) {
border-radius: 0;
}
}
.@{btn-prefix-cls}-rtl {
direction: rtl;
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{btn-prefix-cls}-primary.@{btn-prefix-cls}-disabled {
color: rgba(255, 255, 255, 30%);
}
}
}
/********** Button end ***************/
/********** Calendar ***************/
@calendar-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@calendar-header-padding-horizontal: 24px;
@calendar-header-padding-vertical: 24px;
@calendar-panel-date-cell-padding-vertical: 4px;
@calendar-panel-date-cell-circle-height: 24px;
@calendar-panel-year-cell-padding-vertical: 4px;
@calendar-panel-year-cell-circle-height: 24px;
@calendar-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@calendar-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-5');
@calendar-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@calendar-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@calendar-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@calendar-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@calendar-color-bg-circle_selected: @color-primary-6;
@calendar-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@calendar-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@calendar-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@calendar-color-bg-cell-range-boundary: @color-primary-6;
@calendar-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@calendar-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@calendar-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@calendar-panel-color-text-cell_hover: @color-primary-6;
@calendar-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@calendar-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@calendar-panel-color-bg-cell_selected: @color-primary-6;
@calendar-panel-color-current-time-dot: @color-primary-6;
// 不放到风格配置平台
@calendar-panel-cell-boundary-border-radius: (
(@calendar-panel-date-cell-circle-height + @calendar-panel-date-cell-padding-vertical * 2) / 2
);
@calendar-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@calendar-prefix-cls: ~'@{prefix}-calendar';
.@{calendar-prefix-cls} {
box-sizing: border-box;
border: 1px solid @calendar-color-border;
&-header {
display: flex;
padding: @calendar-header-padding-vertical @calendar-header-padding-horizontal;
&-left {
display: flex;
flex: 1;
align-items: center;
position: relative;
height: 28px;
line-height: 28px;
}
&-right {
height: 28px;
position: relative;
}
&-value {
font-size: 20px;
font-weight: @font-weight-500;
color: var(~'@{arco-cssvars-prefix}-color-text-1');
}
&-icon {
width: 28px;
height: 28px;
line-height: 28px;
border-radius: 50%;
text-align: center;
font-size: 12px;
transition: all @transition-duration-1 @transition-timing-function-linear;
user-select: none;
margin-right: 12px;
color: @calendar-color-switch-icon;
background-color: @calendar-color-bg-switch-icon;
&:not(:first-child) {
margin: 0 12px;
}
&:focus-visible {
box-shadow: 0 0 0 2px @calendar-color-box-shadow;
}
}
&-icon:not(&-icon-hidden) {
cursor: pointer;
&:hover {
background-color: @calendar-color-bg-switch-icon_hover;
}
}
}
// 下拉类型的年选择框
& &-header-value-year {
width: 100px;
margin-right: 8px;
}
// 下拉类型的月选择框
& &-header-value-month {
width: 76px;
margin-right: 32px;
}
&-month {
width: 100%;
&-row {
height: 100px;
display: flex;
.@{calendar-prefix-cls}-cell {
flex: 1;
border-bottom: 1px solid @calendar-color-border;
overflow: hidden;
}
&:last-child .@{calendar-prefix-cls}-cell {
border-bottom: unset;
}
}
&-cell-body {
box-sizing: border-box;
}
}
&-mode-month:not(&-panel) &-cell:not(:last-child) {
border-right: 1px solid @calendar-color-border;
}
&-week-list {
display: flex;
padding: 0;
width: 100%;
box-sizing: border-box;
border-bottom: 1px solid @calendar-color-border;
&-item {
padding: 20px 16px;
text-align: left;
color: #7d7d7f;
flex: 1;
}
}
&-cell &-date {
height: 100%;
width: 100%;
padding: 10px;
box-sizing: border-box;
cursor: pointer;
&-circle {
width: 28px;
height: 28px;
line-height: 28px;
border-radius: 50%;
text-align: center;
}
}
&-date-content {
height: 70px;
overflow-y: auto;
}
&-cell-today &-date-circle {
box-sizing: border-box;
border: 1px solid @color-primary-6;
}
&-date-value {
font-size: 16px;
font-weight: @font-weight-500;
color: @calendar-color-cell-text-not-in-view;
}
&-cell-in-view &-date-value {
color: @calendar-color-cell-text-in-view;
}
&-mode-month &-cell-selected &-date-circle {
border: 1px solid @calendar-color-bg-circle_selected;
background-color: @calendar-color-bg-circle_selected;
color: #fff;
}
&-mode-year &-cell-selected &-cell-selected &-date-circle {
border: 1px solid @calendar-color-bg-circle_selected;
background-color: @calendar-color-bg-circle_selected;
color: #fff;
}
// Mode: year
&-mode-year:not(&-panel) {
min-width: 820px;
}
&-mode-year &-header {
border-bottom: 1px solid @calendar-color-border;
}
&-mode-year &-body {
padding: 12px;
}
&-mode-year &-year-row {
display: flex;
}
&-year-row > &-cell {
flex: 1;
padding: 20px 8px;
&:not(:last-child) {
border-right: 1px solid @calendar-color-border;
}
}
&-year-row:not(:last-child) > &-cell {
border-bottom: 1px solid @calendar-color-border;
}
&-month-with-days &-month-row {
height: 26px;
}
&-month-with-days &-cell {
border-bottom: 0;
}
&-month-with-days &-month-cell-body {
padding: 0;
}
&-month-with-days &-month-title {
padding: 10px 6px;
font-size: 16px;
font-weight: @font-weight-500;
color: @calendar-color-text-title;
}
&-month-cell {
font-size: 12px;
width: 100%;
}
&-month-cell &-week-list {
border-bottom: unset;
padding: 0;
}
&-month-cell &-week-list-item {
padding: 6px;
text-align: center;
color: #7d7d7f;
}
&-month-cell &-cell {
text-align: center;
}
&-month-cell &-date {
padding: 2px;
&-value {
font-size: 14px;
}
&-circle {
display: inline-block;
width: 22px;
height: 22px;
line-height: 22px;
border-radius: 50%;
text-align: center;
}
}
}
// panel
.@{calendar-prefix-cls} {
&-panel {
border: 1px solid @calendar-color-border;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-5');
}
&-panel &-header {
padding: 8px 16px;
border-bottom: 1px solid @calendar-color-border;
&-value {
font-size: 14px;
line-height: 24px;
flex: 1;
text-align: center;
}
&-icon {
width: 24px;
height: 24px;
line-height: 24px;
margin-left: 2px;
margin-right: 2px;
}
}
&-panel &-body {
padding: 14px 16px;
}
&-panel &-month-cell-body {
padding: 0;
}
&-panel &-month-row {
height: unset;
}
&-panel &-week-list {
padding: 0;
border-bottom: unset;
}
&-panel &-week-list-item {
padding: 0;
text-align: center;
font-weight: 400;
height: 32px;
line-height: 32px;
}
&-panel &-cell,
&-panel &-year-row &-cell {
text-align: center;
box-sizing: border-box;
padding: 2px 0;
border-bottom: 0;
border-right: 0;
}
&-panel &-cell &-date {
padding: @calendar-panel-date-cell-padding-vertical 0;
display: flex;
justify-content: center;
&-value {
font-size: 14px;
min-width: @calendar-panel-date-cell-circle-height;
height: @calendar-panel-date-cell-circle-height;
line-height: @calendar-panel-date-cell-circle-height;
cursor: pointer;
}
}
&-panel&-mode-year &-cell {
padding: 4px 0;
}
&-panel&-mode-year &-cell &-date {
padding: @calendar-panel-year-cell-padding-vertical;
&-value {
border-radius: 12px;
width: 100%;
}
}
&-panel &-cell-selected &-date-value {
color: @calendar-panel-color-text-cell_selected;
background-color: @calendar-panel-color-bg-cell_selected;
border-radius: 50%;
}
&-panel
&-cell:not(&-cell-selected):not(&-cell-range-start):not(&-cell-range-end):not(&-cell-hover-range-start):not(&-cell-hover-range-end):not(&-cell-disabled):not(&-cell-week)
&-date-value:hover {
background-color: @calendar-panel-color-bg-cell_hover;
border-radius: 50%;
color: @calendar-panel-color-text-cell_hover;
}
&-panel&-mode-year
&-cell:not(&-cell-selected):not(&-cell-range-start):not(&-cell-range-end):not(&-cell-hover-range-start):not(&-cell-hover-range-end):not(&-cell-disabled)
&-date-value:hover {
border-radius: (@calendar-panel-year-cell-circle-height / 2);
}
&-panel &-cell-today {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
bottom: 0;
left: 50%;
margin-left: -2px;
width: 4px;
height: 4px;
border-radius: 50%;
background-color: @calendar-panel-color-current-time-dot;
}
}
&-cell-in-range &-date {
background-color: @calendar-color-bg-cell-in-range;
}
&-cell-range-start &-date {
border-radius: @calendar-panel-cell-boundary-border-radius 0 0
@calendar-panel-cell-boundary-border-radius;
}
&-cell-range-end &-date {
border-radius: 0 @calendar-panel-cell-boundary-border-radius
@calendar-panel-cell-boundary-border-radius 0;
}
&-cell-in-range-near-hover &-date {
border-radius: 0;
}
&-cell-range-start &-date-value,
&-cell-range-end &-date-value {
background-color: @calendar-color-bg-cell-range-boundary;
border-radius: 50%;
color: @calendar-color-text-cell-range-boundary;
}
&-cell-hover-in-range &-date {
background-color: @calendar-color-bg-cell-hover-in-range;
}
&-cell-hover-range-start &-date {
border-radius: @calendar-panel-cell-boundary-border-radius 0 0
@calendar-panel-cell-boundary-border-radius;
}
&-cell-hover-range-end &-date {
border-radius: 0 @calendar-panel-cell-boundary-border-radius
@calendar-panel-cell-boundary-border-radius 0;
}
&-cell-hover-range-start &-date-value,
&-cell-hover-range-end &-date-value {
background-color: @calendar-color-bg-cell-hover-range-boundary;
border-radius: 50%;
color: @calendar-color-text-cell-hover-range-boundary;
}
&-panel &-cell-disabled {
> .@{calendar-prefix-cls}-date {
background-color: @calendar-color-bg-cell-disabled;
cursor: not-allowed;
> .@{calendar-prefix-cls}-date-value {
color: @calendar-color-cell-text-not-in-view;
background-color: @calendar-color-bg-cell-disabled;
cursor: not-allowed;
}
}
}
&-panel &-footer-btn-wrapper {
height: 38px;
line-height: 38px;
text-align: center;
border-top: 1px solid @calendar-color-border;
cursor: pointer;
color: var(~'@{arco-cssvars-prefix}-color-text-1');
}
&-rtl {
direction: rtl;
}
&-rtl &-header-icon {
margin-right: 0;
margin-left: 12px;
transform: scaleX(-1);
}
// rtl
&-rtl &-week-list-item {
text-align: right;
}
&-rtl&-mode-month:not(&-panel) &-cell:not(:last-child) {
border-left: 1px solid @calendar-color-border;
border-right: 0;
}
&-rtl &-header-value-year {
margin-left: 8px;
margin-right: 0;
}
&-rtl &-header-value-month {
margin-right: 0;
margin-left: 32px;
}
}
/********** Calendar end ***************/
/********** Card ***************/
@card-size-small-height-title: @size-10;
@card-size-small-font-size-title: @font-size-title-1;
@card-size-small-font-size-title-extra: @font-size-body-3;
@card-size-small-font-size: @font-size-body-3;
@card-size-small-padding-horizontal-title: @spacing-7;
@card-size-small-padding-horizontal-body: @spacing-7;
@card-size-small-padding-vertical-body: @spacing-6;
@card-size-default-height-title: 46px;
@card-size-default-font-size-title: @font-size-title-1;
@card-size-default-font-size-title-extra: @font-size-body-3;
@card-size-default-font-size: @font-size-body-3;
@card-size-default-padding-horizontal-title: @spacing-7;
@card-size-default-padding-horizontal-body: @spacing-7;
@card-size-default-padding-vertical-body: @spacing-7;
@card-line-height: @line-height-base;
@card-font-weight-title: @font-weight-500;
@card-margin-top-meta-footer: @spacing-8;
@card-margin-top-meta-description: @spacing-2;
@card-margin-right-action-item: @spacing-6;
@card-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@card-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@card-color-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@card-color-title-extra: @color-primary-6;
@card-color-body: var(~'@{arco-cssvars-prefix}-color-text-2');
@card-color-action: var(~'@{arco-cssvars-prefix}-color-text-2');
@card-color-action_hover: @color-primary-6;
@card-color-box-shadow: rgb(var(~'@{arco-cssvars-prefix}-gray-2'));
@card-color-box-shadow_dark: rgba(var(~'@{arco-cssvars-prefix}-gray-1'), 40%);
@card-border-width: @border-1;
@card-border-width-title-bottom: @border-1;
@card-border-radius: @radius-small;
@card-border-radius-no-border: @radius-none;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@card-prefix-cls: ~'@{prefix}-card';
.@{card-prefix-cls} {
position: relative;
background: @card-color-bg;
transition: box-shadow @transition-duration-2 @transition-timing-function-linear;
border-radius: @card-border-radius-no-border;
&-header {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
box-sizing: border-box;
border-bottom: @card-border-width-title-bottom solid @card-color-border;
overflow: hidden;
&-no-title::before {
content: ' ';
display: block;
}
&-title {
flex: 1;
font-weight: @card-font-weight-title;
color: @card-color-title;
.text-ellipsis();
}
&-extra {
color: @card-color-title-extra;
.text-ellipsis();
}
}
&-body {
color: @card-color-body;
}
&-cover {
overflow: hidden;
> * {
display: block;
width: 100%;
}
}
&-actions {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: @card-margin-top-meta-footer;
&::before {
content: '';
visibility: hidden;
}
&-right {
display: flex;
align-items: center;
}
&-item {
display: flex;
align-items: center;
justify-content: center;
color: @card-color-action;
cursor: pointer;
.text-ellipsis();
transition: color @transition-duration-2 @transition-timing-function-linear;
&:hover {
color: @card-color-action_hover;
}
&:not(:last-child) {
margin-right: @card-margin-right-action-item;
}
}
}
&-meta {
&-footer {
display: flex;
align-items: center;
justify-content: space-between;
&:last-child {
margin-top: @card-margin-top-meta-footer;
}
&-only-actions::before {
content: '';
visibility: hidden;
}
.@{card-prefix-cls}-actions {
margin-top: 0;
}
}
&-title {
font-weight: @card-font-weight-title;
color: @card-color-title;
.text-ellipsis();
}
&-description:not(:first-child) {
margin-top: @card-margin-top-meta-description;
}
}
&-grid {
position: relative;
box-sizing: border-box;
width: 33.33%;
box-shadow: @card-border-width 0 0 0 @card-color-border,
0 @card-border-width 0 0 @card-color-border,
@card-border-width @card-border-width 0 0 @card-color-border,
@card-border-width 0 0 0 @card-color-border inset,
0 @card-border-width 0 0 @card-color-border inset;
&::before {
content: '';
pointer-events: none;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
transition: box-shadow @transition-duration-2 @transition-timing-function-linear;
}
&-hoverable:hover {
z-index: 1;
&::before {
box-shadow: 0 4px 10px @card-color-box-shadow;
}
}
// 避免 Card 的背景色遮住由 box-shadow 实现的 Grid 的边框
.@{card-prefix-cls} {
background: none;
box-shadow: none;
}
}
// 以下为特殊状态的补充
&-contain-grid:not(&-loading) > &-body {
display: flex;
flex-wrap: wrap;
margin: 0 -@card-border-width;
padding: 0;
}
&-hoverable:hover {
box-shadow: 0 4px 10px @card-color-box-shadow;
}
&-bordered {
border: @card-border-width solid @card-color-border;
border-radius: @card-border-radius;
.@{card-prefix-cls}-cover {
border-radius: @card-border-radius @card-border-radius 0 0;
}
}
&-loading &-body {
overflow: hidden;
text-align: center;
}
// 不同尺寸
.size(@size) {
&-size-@{size} {
font-size: ~'@{card-size-@{size}-font-size}';
.@{card-prefix-cls}-header {
height: ~'@{card-size-@{size}-height-title}';
padding-left: ~'@{card-size-@{size}-padding-horizontal-title}';
padding-right: ~'@{card-size-@{size}-padding-horizontal-title}';
}
.@{card-prefix-cls}-header-title,
.@{card-prefix-cls}-meta-title {
font-size: ~'@{card-size-@{size}-font-size-title}';
}
.@{card-prefix-cls}-header-extra {
font-size: ~'@{card-size-@{size}-font-size-title-extra}';
}
.@{card-prefix-cls}-body {
padding: ~'@{card-size-@{size}-padding-vertical-body}' ~'@{card-size-@{size}-padding-horizontal-body}';
}
}
}
.size(default);
.size(small);
&-rtl &-actions-item:not(:last-child) {
margin-left: @card-margin-right-action-item;
margin-right: 0;
}
}
// dark mode
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{card-prefix-cls}-grid-hoverable:hover::before,
.@{card-prefix-cls}-hoverable:hover {
box-shadow: 0 4px 10px @card-color-box-shadow_dark;
}
}
}
/********** Card end ***************/
/********** Carousel ***************/
@carousel-content-border-radius: 0;
// arrow
@carousel-arrow-position: @spacing-6;
@carousel-arrow-size: @size-6;
@carousel-arrow-font-size: @font-size-body-3;
@carousel-arrow-color-icon: var(~'@{arco-cssvars-prefix}-color-white');
@carousel-arrow-color-bg: rgba(@color-white, 0.3);
@carousel-arrow-color-bg_hover: rgba(@color-white, 0.5);
@carousel-arrow-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
// indicator
@carousel-indicator-size-wrapper: @size-12;
@carousel-indicator-color-bg-wrapper: rgba(0, 0, 0, 0.15);
@carousel-indicator-dot-size: 6px;
@carousel-indicator-line-size-width: @size-3;
@carousel-indicator-line-size-height: @size-1;
@carousel-indicator-slider-size-width: @size-12;
@carousel-indicator-slider-size-height: @size-1;
@carousel-indicator-position: @spacing-6;
@carousel-indicator-gap: @spacing-4;
@carousel-indicator-border-radius: @radius-medium;
@carousel-indicator-color_default: rgba(@color-white, 0.3);
@carousel-indicator-color_active: var(~'@{arco-cssvars-prefix}-color-white');
@carousel-indicator-outer-border-radius: 20px;
@carousel-indicator-outer-padding: @spacing-2;
@carousel-indicator-outer-color_default: rgba(var(~'@{arco-cssvars-prefix}-gray-4'), 0.5);
@carousel-indicator-outer-color_active: var(~'@{arco-cssvars-prefix}-color-fill-4');
@carousel-indicator-outer-color-bg: @color-transparent;
@keyframes ~'@{prefix}-carousel-slide-x-in' {
from {
transform: translateX(100%);
}
to {
transform: translateX(0);
}
}
@keyframes ~'@{prefix}-carousel-slide-x-out' {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}
@keyframes ~'@{prefix}-carousel-slide-x-in-reverse' {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
@keyframes ~'@{prefix}-carousel-slide-x-out-reverse' {
from {
transform: translateX(0);
}
to {
transform: translateX(100%);
}
}
@keyframes ~'@{prefix}-carousel-slide-y-in' {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
@keyframes ~'@{prefix}-carousel-slide-y-out' {
from {
transform: translateY(0);
}
to {
transform: translateY(-100%);
}
}
@keyframes ~'@{prefix}-carousel-slide-y-in-reverse' {
from {
transform: translateY(-100%);
}
to {
transform: translateY(0);
}
}
@keyframes ~'@{prefix}-carousel-slide-y-out-reverse' {
from {
transform: translateY(0);
}
to {
transform: translateY(100%);
}
}
// 卡片翻页动画
@keyframes ~'@{prefix}-carousel-card-bottom-to-middle' {
from {
opacity: 0;
transform: translateX(0%) translateZ(-400px);
}
to {
opacity: 0.4;
transform: translateX(0%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-bottom' {
from {
opacity: 0.4;
transform: translateX(-100%) translateZ(-200px);
}
to {
opacity: 0;
transform: translateX(-100%) translateZ(-400px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-bottom-rtl' {
from {
opacity: 0.4;
transform: translateX(100%) translateZ(-200px);
}
to {
opacity: 0;
transform: translateX(100%) translateZ(-400px);
}
}
@keyframes ~'@{prefix}-carousel-card-top-to-middle' {
from {
opacity: 1;
transform: translateX(-50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(-100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-top-to-middle-rtl' {
from {
opacity: 1;
transform: translateX(50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-top' {
from {
opacity: 0.4;
transform: translateX(0) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(-50%) translateZ(0);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-top-rtl' {
from {
opacity: 0.4;
transform: translateX(0) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(50%) translateZ(0);
}
}
@keyframes ~'@{prefix}-carousel-card-bottom-to-middle-reverse' {
from {
opacity: 0;
transform: translateX(-100%) translateZ(-400px);
}
to {
opacity: 0.4;
transform: translateX(-100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-bottom-to-middle-reverse-rtl' {
from {
opacity: 0;
transform: translateX(100%) translateZ(-400px);
}
to {
opacity: 0.4;
transform: translateX(100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-bottom-reverse' {
from {
opacity: 0.4;
transform: translateX(0%) translateZ(-200px);
}
to {
opacity: 0;
transform: translateX(0%) translateZ(-400px);
}
}
@keyframes ~'@{prefix}-carousel-card-top-to-middle-reverse' {
from {
opacity: 1;
transform: translateX(-50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(0%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-top-to-middle-reverse-rtl' {
from {
opacity: 1;
transform: translateX(50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(0%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-top-reverse' {
from {
opacity: 0.4;
transform: translateX(-100%) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(-50%) translateZ(0);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-top-reverse-rtl' {
from {
opacity: 0.4;
transform: translateX(100%) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(50%) translateZ(0);
}
}
@keyframes ~'@{prefix}-carousel-card-right-to-middle' {
from {
opacity: 0;
transform: translateX(-50%) translateY(0%) translateZ(-400px);
}
to {
opacity: 0.4;
transform: translateX(-50%) translateY(0%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-right' {
from {
opacity: 0.4;
transform: translateX(-50%) translateY(-100%) translateZ(-200px);
}
to {
opacity: 0;
transform: translateX(-50%) translateY(-100%) translateZ(-400px);
}
}
@keyframes ~'@{prefix}-carousel-card-left-to-middle' {
from {
opacity: 1;
transform: translateX(-50%) translateY(-50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(-50%) translateY(-100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-left' {
from {
opacity: 0.4;
transform: translateX(-50%) translateY(0) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(-50%) translateZ(0);
}
}
@keyframes ~'@{prefix}-carousel-card-right-to-middle-reverse' {
from {
opacity: 0;
transform: translateX(-50%) translateY(-100%) translateZ(-400px);
}
to {
opacity: 0.4;
transform: translateX(-50%) translateY(-100%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-right-reverse' {
from {
opacity: 0.4;
transform: translateX(-50%) translateY(0%) translateZ(-200px);
}
to {
opacity: 0;
transform: translateX(-50%) translateY(0%) translateZ(-400px);
}
}
@keyframes ~'@{prefix}-carousel-card-left-to-middle-reverse' {
from {
opacity: 1;
transform: translateX(-50%) translateY(-50%) translateZ(0);
}
to {
opacity: 0.4;
transform: translateX(-50%) translateY(0%) translateZ(-200px);
}
}
@keyframes ~'@{prefix}-carousel-card-middle-to-left-reverse' {
from {
opacity: 0.4;
transform: translateX(-50%) translateY(-100%) translateZ(-200px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(-50%) translateZ(0);
}
}
@carousel-prefix-cls: ~'@{prefix}-carousel';
.@{carousel-prefix-cls} {
position: relative;
&-indicator-position-outer {
margin-bottom: @carousel-indicator-position * 2 + @carousel-indicator-dot-size;
}
&-slide,
&-card,
&-fade {
width: 100%;
height: 100%;
overflow: hidden;
position: relative;
> * {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
}
&-item-current {
z-index: 1;
position: relative;
}
&-slide {
> *:not(.@{carousel-prefix-cls}-item-current) {
visibility: hidden;
}
.item-position(@direction) {
.@{carousel-prefix-cls}-item-slide-out {
display: block;
animation: ~'@{prefix}-carousel-slide-@{direction}-out';
}
.@{carousel-prefix-cls}-item-slide-in {
display: block;
animation: ~'@{prefix}-carousel-slide-@{direction}-in';
}
&.@{carousel-prefix-cls}-negative {
.@{carousel-prefix-cls}-item-slide-out {
animation: ~'@{prefix}-carousel-slide-@{direction}-out-reverse';
}
.@{carousel-prefix-cls}-item-slide-in {
animation: ~'@{prefix}-carousel-slide-@{direction}-in-reverse';
}
}
}
&.@{carousel-prefix-cls}-horizontal {
.item-position(x);
}
&.@{carousel-prefix-cls}-vertical {
.item-position(y);
}
}
&-card {
// 通过改变 perspective 来取得不同景深关系
perspective: 800px;
&.@{carousel-prefix-cls}-horizontal {
> * {
left: 50%;
opacity: 0;
transform: translateX(-50%) translateZ(-400px);
animation: ~'@{prefix}-carousel-card-middle-to-bottom';
.@{carousel-prefix-cls}-rtl & {
left: unset;
right: 50%;
animation: ~'@{prefix}-carousel-card-middle-to-bottom-rtl';
}
}
// prev 右边对齐容器中线
.@{carousel-prefix-cls}-item-prev {
opacity: 0.4;
transform: translateX(-100%) translateZ(-200px);
animation: ~'@{prefix}-carousel-card-top-to-middle';
.@{carousel-prefix-cls}-rtl & {
transform: translateX(100%) translateZ(-200px);
animation: ~'@{prefix}-carousel-card-top-to-middle-rtl';
}
}
// next 左边对齐容器中线
.@{carousel-prefix-cls}-item-next {
opacity: 0.4;
transform: translateX(0%) translateZ(-200px);
animation: ~'@{prefix}-carousel-card-bottom-to-middle';
}
// current 居中
.@{carousel-prefix-cls}-item-current {
opacity: 1;
transform: translateX(-50%) translateZ(0);
animation: ~'@{prefix}-carousel-card-middle-to-top';
.@{carousel-prefix-cls}-rtl & {
transform: translateX(50%) translateZ(0);
animation: ~'@{prefix}-carousel-card-middle-to-top-rtl';
}
}
&.@{carousel-prefix-cls}-negative {
> * {
animation: ~'@{prefix}-carousel-card-middle-to-bottom-reverse';
}
// prev 右边对齐容器中线
.@{carousel-prefix-cls}-item-prev {
animation: ~'@{prefix}-carousel-card-bottom-to-middle-reverse';
.@{carousel-prefix-cls}-rtl & {
animation: ~'@{prefix}-carousel-card-bottom-to-middle-reverse-rtl';
}
}
// next 左边对齐容器中线
.@{carousel-prefix-cls}-item-next {
animation: ~'@{prefix}-carousel-card-top-to-middle-reverse';
.@{carousel-prefix-cls}-rtl & {
animation: ~'@{prefix}-carousel-card-top-to-middle-reverse-rtl';
}
}
// current 居中
.@{carousel-prefix-cls}-item-current {
animation: ~'@{prefix}-carousel-card-middle-to-top-reverse';
.@{carousel-prefix-cls}-rtl & {
animation: ~'@{prefix}-carousel-card-middle-to-top-reverse-rtl';
}
}
}
}
&.@{carousel-prefix-cls}-vertical {
> * {
top: 50%;
left: 50%;
opacity: 0;
transform: translateX(-50%) translateY(-50%) translateZ(-400px);
animation: ~'@{prefix}-carousel-card-middle-to-right';
display: flex;
justify-content: center;
}
// prev 右边对齐容器中线
.@{carousel-prefix-cls}-item-prev {
opacity: 0.4;
transform: translateX(-50%) translateY(-100%) translateZ(-200px);
animation: ~'@{prefix}-carousel-card-left-to-middle';
}
// next 左边对齐容器中线
.@{carousel-prefix-cls}-item-next {
opacity: 0.4;
transform: translateX(-50%) translateY(0%) translateZ(-200px);
animation: ~'@{prefix}-carousel-card-right-to-middle';
}
// current 居中
.@{carousel-prefix-cls}-item-current {
opacity: 1;
transform: translateX(-50%) translateY(-50%) translateZ(0);
animation: ~'@{prefix}-carousel-card-middle-to-left';
}
}
&.@{carousel-prefix-cls}-negative {
> * {
animation: ~'@{prefix}-carousel-card-middle-to-right-reverse';
}
// prev 右边对齐容器中线
.@{carousel-prefix-cls}-item-prev {
animation: ~'@{prefix}-carousel-card-right-to-middle-reverse';
}
// next 左边对齐容器中线
.@{carousel-prefix-cls}-item-next {
animation: ~'@{prefix}-carousel-card-left-to-middle-reverse';
}
// current 居中
.@{carousel-prefix-cls}-item-current {
animation: ~'@{prefix}-carousel-card-middle-to-left-reverse';
}
}
}
&-fade {
> * {
left: 50%;
transform: translateX(-50%);
opacity: 0;
}
.@{carousel-prefix-cls}-item-current {
opacity: 1;
}
}
// 指示器样式
&-indicator {
display: flex;
position: absolute;
margin: 0;
padding: 0;
&-wrapper {
position: absolute;
z-index: 2;
&-top {
left: 0;
right: 0;
top: 0;
height: @carousel-indicator-size-wrapper;
background: linear-gradient(
180deg,
@carousel-indicator-color-bg-wrapper 0%,
rgba(0, 0, 0, 0%) 87%
);
}
&-bottom {
left: 0;
right: 0;
bottom: 0;
height: @carousel-indicator-size-wrapper;
background: linear-gradient(
180deg,
rgba(0, 0, 0, 0%) 13%,
@carousel-indicator-color-bg-wrapper 100%
);
}
&-left {
left: 0;
top: 0;
width: @carousel-indicator-size-wrapper;
height: 100%;
background: linear-gradient(
90deg,
@carousel-indicator-color-bg-wrapper 0%,
rgba(0, 0, 0, 0%) 87%
);
}
&-right {
right: 0;
top: 0;
width: @carousel-indicator-size-wrapper;
height: 100%;
background: linear-gradient(
90deg,
rgba(0, 0, 0, 0%) 13%,
@carousel-indicator-color-bg-wrapper 100%
);
}
&-outer {
left: 0;
right: 0;
background: none;
}
&-outer-right {
right: 0;
top: 0;
width: @size-5;
height: 100%;
}
}
&-bottom {
bottom: @carousel-indicator-position;
left: 50%;
transform: translateX(-50%);
}
&-top {
top: @carousel-indicator-position;
left: 50%;
transform: translateX(-50%);
}
&-left {
left: @carousel-indicator-position;
top: 50%;
transform: translate(-50%, -50%) rotate(90deg);
}
&-right {
right: @carousel-indicator-position;
top: 50%;
transform: translate(50%, -50%) rotate(90deg);
}
// 位于外部的指示器样式
&-outer {
left: 50%;
transform: translateX(-50%);
padding: @carousel-indicator-outer-padding;
border-radius: @carousel-indicator-outer-border-radius;
background-color: @carousel-indicator-outer-color-bg;
&.@{carousel-prefix-cls}-indicator-dot {
bottom: -(@carousel-indicator-position + @carousel-indicator-dot-size + $padding);
}
&.@{carousel-prefix-cls}-indicator-line {
bottom: -(@carousel-indicator-position + @carousel-indicator-line-size-height + $padding);
}
&.@{carousel-prefix-cls}-indicator-slider {
padding: 0;
bottom: -(@carousel-indicator-position + @carousel-indicator-slider-size-height + $padding);
background-color: @carousel-indicator-outer-color_default;
}
.@{carousel-prefix-cls}-indicator-item {
background-color: @carousel-indicator-outer-color_default;
&:hover,
&-active {
background-color: @carousel-indicator-outer-color_active;
}
}
}
&-outer-right {
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(90deg);
padding: @carousel-indicator-outer-padding;
border-radius: @carousel-indicator-outer-border-radius;
background-color: @carousel-indicator-outer-color-bg;
&.@{carousel-prefix-cls}-indicator-slider {
padding: 0;
background-color: @carousel-indicator-outer-color_default;
}
.@{carousel-prefix-cls}-indicator-item {
background-color: @carousel-indicator-outer-color_default;
&:hover,
&-active {
background-color: @carousel-indicator-outer-color_active;
}
}
}
// 图标样式
&-item {
display: inline-block;
border-radius: @carousel-indicator-border-radius;
background-color: @carousel-indicator-color_default;
cursor: pointer;
&:hover,
&-active {
background-color: @carousel-indicator-color_active;
}
}
&-dot {
.@{carousel-prefix-cls}-indicator-item {
width: @carousel-indicator-dot-size;
height: $width;
border-radius: 50%;
&:not(:last-child) {
margin-right: @carousel-indicator-gap;
}
}
}
&-line {
.@{carousel-prefix-cls}-indicator-item {
width: @carousel-indicator-line-size-width;
height: @carousel-indicator-line-size-height;
&:not(:last-child) {
margin-right: @carousel-indicator-gap;
}
}
}
&-slider {
width: @carousel-indicator-slider-size-width;
height: @carousel-indicator-slider-size-height;
border-radius: @carousel-indicator-border-radius;
background-color: @carousel-indicator-color_default;
cursor: pointer;
.@{carousel-prefix-cls}-indicator-item {
position: absolute;
top: 0;
height: 100%;
transition: left 0.3s;
}
}
}
&-arrow {
> div {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: @carousel-arrow-size;
height: @carousel-arrow-size;
border-radius: 50%;
color: @carousel-arrow-color-icon;
background-color: @carousel-arrow-color-bg;
cursor: pointer;
z-index: 2;
user-select: none;
&:focus-visible {
box-shadow: 0 0 0 2px @carousel-arrow-color-box-shadow;
}
> svg {
color: @carousel-arrow-color-icon;
font-size: @carousel-arrow-font-size;
}
&:hover {
background-color: @carousel-arrow-color-bg_hover;
}
}
&-left {
left: @carousel-arrow-position;
top: 50%;
transform: translateY(-50%);
}
&-right {
top: 50%;
transform: translateY(-50%);
right: @carousel-arrow-position;
}
&-top {
left: 50%;
transform: translateX(-50%);
top: @carousel-arrow-position;
}
&-bottom {
left: 50%;
transform: translateX(-50%);
bottom: @carousel-arrow-position;
}
}
&-arrow-hover div {
opacity: 0;
transition: all 0.3s;
}
&:hover {
.@{carousel-prefix-cls}-arrow-hover div {
opacity: 1;
}
}
&-rtl {
direction: rtl;
}
&-rtl &-indicator-dot &-indicator-item:not(:last-child) {
margin-left: @carousel-indicator-gap;
margin-right: 0;
}
&-rtl &-indicator-line &-indicator-item:not(:last-child) {
margin-left: @carousel-indicator-gap;
margin-right: 0;
}
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{carousel-prefix-cls}-arrow > div {
background-color: rgba(var(~'@{arco-cssvars-prefix}-gray-1'), 0.3);
&:hover {
background-color: rgba(var(~'@{arco-cssvars-prefix}-gray-1'), 0.5);
}
}
.@{carousel-prefix-cls}-indicator-item,
.@{carousel-prefix-cls}-indicator-slider {
background-color: rgba(var(~'@{arco-cssvars-prefix}-gray-1'), 0.3);
}
.@{carousel-prefix-cls}-indicator-item-active,
.@{carousel-prefix-cls}-indicator-item:hover {
background-color: @carousel-indicator-color_active;
}
.@{carousel-prefix-cls}-indicator-outer.@{carousel-prefix-cls}-indicator-slider {
background-color: @carousel-indicator-outer-color_default;
}
.@{carousel-prefix-cls}-indicator-outer .@{carousel-prefix-cls}-indicator-item:hover,
.@{carousel-prefix-cls}-indicator-outer .@{carousel-prefix-cls}-indicator-item-active {
background-color: @carousel-indicator-outer-color_active;
}
}
}
/********** Carousel end ***************/
/********** Cascader ***************/
@cascader-size-item-height: @size-9;
@cascader-size-item-width: 120px;
@cascader-font-item-size: @font-size-body-3;
@cascader-margin-item-icon-left: @spacing-6;
@cascader-color-item-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@cascader-color-item-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@cascader-padding-item-left: @spacing-6;
@cascader-padding-item-right: @spacing-5;
@cascader-size-item-icon: @size-3;
@cascader-color-item-text_hover: @cascader-color-item-text;
@cascader-color-item-text_active: @cascader-color-item-text;
@cascader-color-item-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@cascader-color-item-text_disabled_active: var(~'@{arco-cssvars-prefix}-color-text-4');
@cascader-font-item-weight_active: @font-weight-500;
@cascader-color-item-bg_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@cascader-color-item-bg_hover: @cascader-color-item-bg_active;
@cascader-color-item-bg_disabled: @color-transparent;
@cascader-color-item-bg_disabled_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@cascader-color-checkbox-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@cascader-margin-checkbox-right: @spacing-4;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* type: single / multi
* size: mini / small / default / large
**********************************************/
@select-size-mini-height: @size-mini;
@select-size-small-height: @size-small;
@select-size-default-height: @size-default;
@select-size-large-height: @size-large;
@select-size-mini-font-size: @font-size-body-1;
@select-size-small-font-size: @font-size-body-3;
@select-size-default-font-size: @font-size-body-3;
@select-size-large-font-size: @font-size-body-3;
@select-signal-size-mini-padding: @spacing-4;
@select-signal-size-small-padding: @spacing-6;
@select-signal-size-default-padding: @spacing-6;
@select-signal-size-large-padding: @spacing-7;
@select-multi-padding: @spacing-2;
@select-size-icon: @size-3;
@select-size-icon-bg: @size-4;
/**********************************************
* border
**********************************************/
@select-border-width: @border-1;
@select-border-radius: @radius-small;
/************************************************
* status: default / disabled _ (hover / focus)
************************************************/
// text color
@select-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-text_focused: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-placeholder_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@select-color-placeholder_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-placeholder_focused: var(~'@{arco-cssvars-prefix}-color-text-3');
// icon color
@select-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-icon_focused: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// bg color with hover & focus
@select-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@select-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@select-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_disabled_hover: @select-color-bg_disabled;
// border color with hover & focus
@select-color-border_default: @color-transparent;
@select-color-border_default_hover: @color-transparent;
@select-color-border_default_focus: @color-primary-6;
@select-color-border_error: @color-transparent;
@select-color-border_error_hover: @color-transparent;
@select-color-border_error_focus: @color-danger-6;
@select-color-border_disabled: @color-transparent;
@select-color-border_disabled_hover: @select-color-border_disabled;
// shadow
@select-shadow-distance_default_focus: @shadow-distance-none;
@select-shadow-distance_error_focus: @shadow-distance-none;
@select-color-shadow_default_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@select-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
/**********************************************
* Popup Box
**********************************************/
@select-popup-max-height: @size-50;
@select-popup-border-radius: @radius-medium;
@select-popup-padding-vertical: @spacing-2;
@select-popup-padding-horizontal: @spacing-none;
@select-popup-font-size: @font-size-body-3;
@select-popup-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-popup-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@select-popup-option-height: @size-9;
@select-popup-option-font-weight_selected: @font-weight-500;
@select-signal-popup-option-padding-horizontal: @spacing-6;
@select-multi-popup-option-padding-horizontal: @spacing-2;
@select-popup-option-border-radius: @border-radius-none;
@select-popup-option-color-bg_default: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-popup-option-color-bg_selected: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-popup-option-color-hightlight-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-font-hightlight-weight: @font-weight-500;
// option group title
@select-popup-group-title-height: @size-5;
@select-popup-group-title-padding-horizontal: @spacing-6;
@select-popup-group-title-padding-top: @spacing-4;
@select-popup-group-title-font-size: @font-size-body-1;
@select-popup-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
// addon
@select-addon-padding-horizontal: @spacing-6;
@select-color-addon-bg: @select-color-bg_default;
@select-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@select-color-addon-border_default: @color-transparent;
@select-border-addon-separator-width: @border-1;
@select-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// warning
@select-color-bg_warning_focus: @input-color-bg_warning_focus;
@select-color-bg_warning: @input-color-bg_warning;
@select-color-bg_warning_hover: @input-color-bg_warning_hover;
@select-color-border_warning: @input-color-border_warning;
@select-color-border_warning_hover: @input-color-border_warning_hover;
@select-color-border_warning_focus: @input-color-border_warning_focus;
@select-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@select-shadow-distance_warning_focus: @select-shadow-distance_error_focus;
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* size: mini / small / default / large
**********************************************/
@input-tag-size-mini-height: @size-mini;
@input-tag-size-small-height: @size-small;
@input-tag-size-default-height: @size-default;
@input-tag-size-large-height: @size-large;
@input-tag-size-mini-tag-height: @size-5;
@input-tag-size-small-tag-height: @size-5;
@input-tag-size-default-tag-height: @size-6;
@input-tag-size-large-tag-height: @size-7;
@input-tag-size-mini-font-size: @font-size-body-1;
@input-tag-size-small-font-size: @font-size-body-3;
@input-tag-size-default-font-size: @font-size-body-3;
@input-tag-size-large-font-size: @font-size-title-1;
@input-tag-size-mini-padding_no_tag: @spacing-4;
@input-tag-size-small-padding_no_tag: @spacing-6;
@input-tag-size-default-padding_no_tag: @spacing-6;
@input-tag-size-large-padding_no_tag: @spacing-7;
/****************************************************
* status: default / error / disabled _ (hover / focus)
****************************************************/
// text color
@input-tag-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// icon color
@input-tag-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-tag-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-tag-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// border color with focus & hover
@input-tag-color-border_default: @color-transparent;
@input-tag-color-border_default_hover: @color-transparent;
@input-tag-color-border_default_focus: @color-primary-6;
@input-tag-color-border_error: @color-transparent;
@input-tag-color-border_error_hover: @color-transparent;
@input-tag-color-border_error_focus: @color-danger-6;
@input-tag-color-border_disabled: @color-transparent;
@input-tag-color-border_disabled_hover: @input-tag-color-border_disabled;
@input-tag-color-border_disabled_focus: @input-tag-color-border_disabled;
// bg color with focus & hover
@input-tag-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_error: @color-danger-1;
@input-tag-color-bg_error_hover: @color-danger-2;
@input-tag-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_disabled_hover: @input-tag-color-bg_disabled;
@input-tag-color-shadow_default_focus: @color-primary-2;
@input-tag-color-shadow_error_focus: @color-danger-2;
@input-tag-size-shadow_error_focus: @shadow-distance-none;
@input-tag-size-shadow_default_focus: @shadow-distance-none;
// input box
@input-tag-tag-margin-right: @spacing-2;
@input-tag-tag-margin-vertical: @spacing-1;
@input-tag-padding-horizontal: @spacing-2;
@input-tag-border-radius: @radius-small;
@input-tag-border-width: @border-1;
@input-tag-size-icon-clear: @size-3;
@input-tag-size-icon-clear_hover: @size-5;
// tags
@input-tag-tag-font-size: @font-size-body-1;
@input-tag-tag-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-tag-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-3');
// warning
@input-tag-color-text_warning: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-border_warning: @input-color-border_warning;
@input-tag-color-border_warning_hover: @input-color-border_warning_hover;
@input-tag-color-border_warning_focus: @input-color-border_warning_focus;
@input-tag-color-bg_warning: @input-color-bg_warning;
@input-tag-color-bg_warning_hover: @input-color-bg_warning_hover;
@input-tag-color-bg_warning_focus: @input-color-bg_warning_focus;
@input-tag-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@input-tag-size-shadow_warning_focus: @input-size-shadow_warning_focus;
// addon
@input-tag-addon-padding-horizontal: @spacing-6;
@input-tag-color-addon-bg: @input-tag-color-bg_default;
@input-tag-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@input-tag-color-addon-border_default: @color-transparent;
@input-tag-border-addon-separator-width: @border-1;
@input-tag-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-prefix-cls: ~'@{prefix}-input-tag';
.input-tag-input-element-padding(@paddingLeft) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
box-sizing: border-box;
padding-left: @paddingLeft;
}
}
}
.input-tag-input-element-padding-rtl(@paddingRight) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
padding-left: 0;
padding-right: @paddingRight;
}
}
}
// used by form
.color(@prefixCls, @status) {
@suffix: if(@status = default, ~'', ~'-@{status}');
.@{prefixCls}@{suffix} {
.@{prefixCls}-view {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-text_@{status}}';
}
background-color: ~'@{select-color-bg_@{status}}';
border: 1px solid ~'@{select-color-border_@{status}}';
}
&:hover {
.@{prefixCls}-view {
background-color: ~'@{select-color-bg_@{status}_hover}';
border-color: ~'@{select-color-border_@{status}_hover}';
}
}
&.@{prefixCls}-focused when not (@status = disabled) {
.@{prefixCls}-view {
color: @select-color-text_focused;
background-color: ~'@{select-color-bg_@{status}_focus}';
border-color: ~'@{select-color-border_@{status}_focus}';
box-shadow: 0 0 0 ~'@{select-shadow-distance_@{status}_focus}' ~'@{select-color-shadow_@{status}_focus}';
}
}
.@{prefixCls}-suffix-icon,
.@{prefixCls}-loading-icon,
.@{prefixCls}-search-icon,
.@{prefixCls}-clear-icon,
.@{prefixCls}-arrow-icon,
.@{prefixCls}-expand-icon {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-icon_@{status}}';
}
}
}
.@{prefixCls}-no-border {
.@{prefixCls}-view {
border: none !important;
background: none !important;
}
}
}
.select-view(@prefixCls) {
@tail-icon-position-right: 10px;
.size(@size) {
@ref-font-size: ~'select-size-@{size}-font-size';
@ref-height: ~'select-size-@{size}-height';
@ref-padding: ~'select-signal-size-@{size}-padding';
@font-size: @@ref-font-size;
@height: @@ref-height;
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixCls} {
&-size-@{size}&-multiple {
.@{prefixCls}-view {
height: auto;
font-size: @font-size;
padding: 0 @multi-padding;
line-height: 0;
}
.input-tag-input-element-padding(@padding - @multi-padding);
.@{prefixCls}-suffix {
padding-right: @padding - @multi-padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-single {
.@{prefixCls}-view {
height: @height;
line-height: $height - @select-border-width * 2;
font-size: @font-size;
padding: 0 @padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: @padding;
}
}
}
}
.color(@prefixCls, default);
.color(@prefixCls, error);
.color(@prefixCls, warning);
.color(@prefixCls, disabled);
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls} {
display: inline-block;
position: relative;
box-sizing: border-box;
width: 100%;
cursor: pointer;
&-view {
display: flex;
position: relative;
box-sizing: border-box;
width: 100%;
border-radius: @select-border-radius;
outline: none;
user-select: none;
text-align: left;
transition: all @transition-duration-1 @transition-timing-function-linear, padding 0s linear;
input {
color: inherit;
cursor: inherit;
&::placeholder {
color: @select-color-placeholder_default;
}
// since Chrome 116 won't trigger onClick callback
// remove all events of disabled to make sure Trigger works correctly
&[disabled] {
pointer-events: none;
}
}
}
.hide-input-element() {
// 需要在隐藏 input 的同时保证其能被 Tab 键聚焦
// 故不要用 display: none / visibility: hidden / width: 0
// width 设置为 0,会导致在火狐浏览器下触发 onFocus 之后不能立刻触发 onClick
// https://github.com/arco-design/arco-design/issues/1232
opacity: 0;
position: absolute;
// 避免绝对定位的元素位于所有同级节点的最上层,遮挡其他元素的鼠标操作(例如被 Tooltip 包裹的 value 文本)
// 不要使用 pointer-events: none,会导致火狐浏览器下下拉弹窗需要点击两次才可弹出
// https://github.com/arco-design/arco-design/issues/2127
z-index: -1;
}
&-multiple,
&-show-search {
cursor: text;
}
&-disabled {
cursor: not-allowed;
.@{prefixCls}-view input::placeholder {
color: @select-color-placeholder_disabled;
}
}
&-single &-view {
// Keep forward compatibility
// Do NOT move this section under &-selector
&-input {
box-sizing: border-box;
width: 100%;
padding: 0;
border: none;
outline: none;
background: transparent;
.text-ellipsis();
}
&-selector {
position: relative;
display: inline-flex;
box-sizing: border-box;
width: 100%;
overflow: hidden;
// Keep forward compatibility
// Do NOT move this section out of &-selector
.@{prefixCls}-view-input {
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
z-index: 1;
}
.@{prefixCls}-view-value-mirror {
opacity: 0;
}
}
&-value,
&-value-mirror {
display: inline-block;
box-sizing: border-box;
width: 100%;
.text-ellipsis();
// Do NOT remove this, it may cause baseline-changing of select-view
&::after {
content: '.';
font-size: 0;
line-height: 0;
visibility: hidden;
}
}
.@{prefixCls}-hidden {
.hide-input-element();
}
}
&-multiple {
vertical-align: top;
.@{prefixCls}-view {
padding: 0 @select-multi-padding;
line-height: 0;
}
.@{prefixCls}-view-with-prefix {
padding-left: @select-signal-size-default-padding;
}
.@{prefix}-input-tag {
flex: 1;
padding: 0;
border: none !important;
background: none !important;
box-shadow: none !important;
overflow: hidden;
}
.@{prefix}-tag {
max-width: 100%;
}
// 多选的空白输入框在已存在选择项并且未聚焦时隐藏,避免导致不必要的换行
&:not(.@{prefixCls}-focused) {
.@{prefix}-input-tag input:not(:first-child)[value=''] {
.hide-input-element();
}
}
}
&-prefix {
display: flex;
align-items: center;
margin-right: 12px;
white-space: nowrap;
color: @select-color-icon_default;
}
&-suffix {
display: flex;
align-items: center;
margin-left: 4px;
}
&-suffix-icon,
&-search-icon,
&-loading-icon,
&-expand-icon,
&-clear-icon {
font-size: @select-size-icon;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-arrow-icon {
font-size: @select-size-icon;
}
&-open &-arrow-icon svg {
transform: rotateZ(180deg);
}
& &-clear-icon {
display: none;
cursor: pointer;
> svg {
position: relative;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
}
&:hover &-clear-icon {
display: block;
& ~ * {
display: none;
}
}
&-wrapper {
display: inline-flex;
align-items: stretch;
width: 100%;
.@{prefixCls} {
min-width: 0; // 避免 .arco-select 宽度超出 .arco-select-wrapper
}
.@{prefixCls}:not(.@{prefixCls}-focused) {
&:not(:first-child) .@{prefixCls}-view {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) .@{prefixCls}-view {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
// &-addafter,
&-addbefore {
display: flex;
align-items: center;
padding: 0 @select-addon-padding-horizontal;
color: @select-color-addon-text;
background-color: @select-color-addon-bg;
white-space: nowrap;
border: 1px solid @select-color-addon-border_default;
}
&-addbefore {
border-right: @select-border-addon-separator-width solid @select-color-addon-border;
border-top-left-radius: @select-border-radius;
border-bottom-left-radius: @select-border-radius;
}
// &-addafter {
// border-left: @select-border-addon-separator-width solid @select-color-addon-border;
// border-top-right-radius: @select-border-radius;
// border-bottom-right-radius: @select-border-radius;
// }
}
}
.select-view-rtl(@prefixCls, @prefixClsRtl) {
.size(@size) {
@ref-padding: ~'select-signal-size-@{size}-padding';
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixClsRtl}.@{prefixCls}-size-@{size}.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @padding;
}
.@{prefixCls}-suffix {
padding-right: 0;
padding-left: @padding - @multi-padding;
}
.input-tag-input-element-padding-rtl(@padding - @multi-padding);
}
}
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls}-wrapper-rtl .@{prefixCls}-addbefore {
border-right: unset;
border-left: @select-border-addon-separator-width solid @select-color-addon-border;
}
.@{prefixClsRtl} {
.@{prefixCls}-view {
text-align: right;
}
.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @select-signal-size-default-padding;
}
}
.@{prefixCls}-prefix {
margin-right: 0;
margin-left: 12px;
}
.@{prefixCls}-suffix {
margin-left: 0;
margin-right: 4px;
}
}
}
@cascader-prefix-cls: ~'@{prefix}-cascader';
@cascader-prefix-cls-rtl: ~'@{cascader-prefix-cls}-rtl';
.select-view(@cascader-prefix-cls);
.select-view-rtl(@cascader-prefix-cls, @cascader-prefix-cls-rtl);
.@{cascader-prefix-cls} {
&-popup {
top: 4px;
box-sizing: border-box;
border: 1px solid @select-popup-color-border;
border-radius: @select-popup-border-radius;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
box-shadow: @select-popup-box-shadow;
overflow: hidden;
}
&-popup-trigger-hover {
.@{cascader-prefix-cls}-list-item {
transition: font-weight 0s;
}
}
&-popup &-popup-inner {
width: 100%;
white-space: nowrap;
list-style: none;
height: @select-popup-max-height;
}
&-highlight {
font-weight: @font-weight-500;
}
&-list-column {
position: relative;
vertical-align: top;
display: inline-block;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
height: 100%;
&-virtual {
width: @cascader-size-item-width;
}
&:not(:last-of-type) {
border-right: 1px solid @select-popup-color-border;
}
}
&-list-wrapper {
position: relative;
white-space: nowrap;
box-sizing: border-box;
height: 100%;
display: flex;
padding: @select-popup-padding-vertical 0;
flex-direction: column;
&-with-footer {
padding-bottom: 0;
}
}
&-list-empty {
height: 100%;
display: flex;
align-items: center;
}
&-list {
padding: 0;
margin: 0;
list-style: none;
box-sizing: border-box;
overflow-y: auto;
flex: 1;
&-item,
&-search-item {
position: relative;
height: @cascader-size-item-height;
line-height: @cascader-size-item-height;
min-width: 100px;
font-size: @cascader-font-item-size;
color: @cascader-color-item-text;
box-sizing: border-box;
display: flex;
cursor: pointer;
background-color: transparent;
&-label {
flex-grow: 1;
padding-left: @cascader-padding-item-left;
padding-right: @cascader-padding-item-right + @cascader-size-item-icon +
@cascader-margin-item-icon-left;
}
.@{prefix}-icon-right,
.@{prefix}-icon-check {
position: absolute;
color: @cascader-color-item-icon;
top: 50%;
font-size: @cascader-size-item-icon;
transform: translateY(-50%);
right: @cascader-padding-item-right;
}
.@{prefix}-icon-check {
color: @color-primary-6;
}
.@{prefix}-icon-loading {
position: absolute;
margin-top: -(@cascader-size-item-icon / 2);
top: 50%;
font-size: @cascader-size-item-icon;
right: @cascader-padding-item-right;
color: @color-primary-6;
}
}
&-item:hover,
&-search-item-hover {
color: @cascader-color-item-text_hover;
background-color: @cascader-color-item-bg_hover;
.@{prefix}-checkbox input {
// 避免选中checkbox时,select-view 的焦点被抢占
display: none;
}
.@{prefix}-checkbox:not(.@{prefix}-checkbox-disabled):not(.@{prefix}-checkbox-checked):hover
.@{prefix}-checkbox-icon-hover::before {
background-color: @cascader-color-checkbox-bg_hover;
}
}
&-item,
&-search-item {
&-disabled,
&-disabled:hover {
cursor: not-allowed;
background-color: @cascader-color-item-bg_disabled;
color: @cascader-color-item-text_disabled;
.@{prefix}-icon-right {
color: inherit;
}
.@{prefix}-icon-check {
color: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
}
}
}
&-item {
&-active {
transition: all @transition-duration-2 @transition-timing-function-linear;
background-color: @cascader-color-item-bg_active;
color: @cascader-color-item-text_active;
font-weight: @cascader-font-item-weight_active;
&:hover {
background-color: @cascader-color-item-bg_active;
font-weight: @cascader-font-item-weight_active;
color: @cascader-color-item-text_active;
}
}
&-active&-disabled,
&-active&-disabled:hover {
background-color: @cascader-color-item-bg_disabled_active;
font-weight: @cascader-font-item-weight_active;
color: @cascader-color-item-text_disabled_active;
}
}
&-multiple {
.@{cascader-prefix-cls}-list-item-label {
padding-left: 0;
}
.@{cascader-prefix-cls}-list-item,
.@{cascader-prefix-cls}-list-search-item {
padding-left: @cascader-padding-item-left;
.@{prefix}-checkbox {
padding-left: 0;
margin-right: @cascader-margin-checkbox-right;
}
}
}
}
&-list-search&-list-multiple {
.@{cascader-prefix-cls}-list-item-label {
padding-right: @cascader-padding-item-left;
}
}
&-list-footer {
height: @cascader-size-item-height;
line-height: @cascader-size-item-height;
padding-left: @cascader-padding-item-left;
border-top: 1px solid @select-popup-color-border;
box-sizing: border-box;
}
}
.cascaderSlide-enter-active,
.cascaderSlide-appear-active {
transition: margin @transition-duration-3 @transition-timing-function-standard;
}
.@{cascader-prefix-cls}-list-column-rtl {
direction: rtl;
&:not(:last-of-type) {
border-left: 1px solid @select-popup-color-border;
border-right: none;
}
}
.@{cascader-prefix-cls}-list-rtl {
.@{cascader-prefix-cls}-list {
&-item,
&-search-item {
&-label {
padding-left: @cascader-padding-item-right + @cascader-size-item-icon +
@cascader-margin-item-icon-left;
padding-right: @cascader-padding-item-left;
}
.@{prefix}-icon-left,
.@{prefix}-icon-check {
position: absolute;
color: @cascader-color-item-icon;
top: 50%;
font-size: @cascader-size-item-icon;
transform: translateY(-50%);
right: initial;
left: @cascader-padding-item-right;
}
}
&-footer {
padding-left: 0;
padding-right: @cascader-padding-item-left;
}
}
&.@{cascader-prefix-cls}-multiple {
.@{cascader-prefix-cls}-list-item-label {
padding-right: 0;
}
.@{cascader-prefix-cls}-list-item,
.@{cascader-prefix-cls}-list-search-item {
padding-right: @cascader-padding-item-left;
.@{prefix}-checkbox {
padding-right: 0;
margin-left: @cascader-margin-checkbox-right;
}
}
&.@{cascader-prefix-cls}-list-search {
.@{cascader-prefix-cls}-list-item-label {
padding-left: @cascader-padding-item-left;
padding-right: 0;
}
}
}
}
/********** Cascader end ***************/
/********** Checkbox ***************/
@checkbox-prefix-cls: ~'@{prefix}-checkbox';
@checkbox-mask-border-width: @border-2;
@checkbox-mask-border-style: @border-solid;
@checkbox-mask-border-radius: @radius-small;
@checkbox-mask-height: 14px;
@checkbox-mask-bg-height: @size-6;
@checkbox-mask-bg-color-bg: @icon-hover-color-bg;
@checkbox-mask-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@checkbox-mask-color-bg_checked: @color-primary-6;
@checkbox-mask-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@checkbox-mask-color-bg_checked_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@checkbox-mask-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@checkbox-mask-color-border_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
@checkbox-mask-color-border_checked: @color-transparent;
@checkbox-mask-color-border_checked_disabled: @color-transparent;
@checkbox-mask-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@checkbox-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@checkbox-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@checkbox-group-spacing: @spacing-7;
@checkbox-text-mask-spacing: @spacing-4;
@checkbox-text-font-size: @font-size-body-3;
@checkbox-group-size-line-height_vertical: @size-8;
@checkbox-size-check-icon: @size-2;
@checkbox-color-check-icon: var(~'@{arco-cssvars-prefix}-color-white');
@checkbox-color-check-icon_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@checkbox-color-indeterminate-icon-width: 6px;
@checkbox-color-indeterminate-icon-height: 2px;
@checkbox-color-indeterminate-icon: var(~'@{arco-cssvars-prefix}-color-white');
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.icon-hover(@checkbox-prefix-cls, @checkbox-mask-height, @checkbox-mask-bg-height);
.@{checkbox-prefix-cls} {
display: inline-block;
cursor: pointer;
box-sizing: border-box;
font-size: @checkbox-text-font-size;
padding-left: (@checkbox-mask-bg-height / 2) - (@checkbox-mask-height / 2);
line-height: unset;
position: relative;
> input[type='checkbox'] {
position: absolute;
opacity: 0;
top: 0;
left: 0;
width: 0;
height: 0;
&:focus-visible + .@{checkbox-prefix-cls}-icon-hover::before {
background-color: @checkbox-mask-bg-color-bg;
opacity: 1;
}
}
&:hover {
.@{checkbox-prefix-cls}-icon-hover::before {
background-color: @checkbox-mask-bg-color-bg;
}
}
&-text {
color: @checkbox-color-text;
margin-left: @checkbox-text-mask-spacing;
}
&-mask-wrapper {
vertical-align: middle;
top: -0.09em;
position: relative;
line-height: 1;
}
&-mask {
position: relative;
box-sizing: border-box;
width: @checkbox-mask-height;
height: @checkbox-mask-height;
border: @checkbox-mask-border-width @checkbox-mask-border-style @checkbox-mask-color-border;
border-radius: @checkbox-mask-border-radius;
background-color: @checkbox-mask-color-bg;
user-select: none;
// 半选
&::after {
content: '';
display: block;
height: @checkbox-color-indeterminate-icon-height;
width: @checkbox-color-indeterminate-icon-width;
background: @checkbox-color-indeterminate-icon;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%) scale(0);
position: absolute;
border-radius: 0.5px;
}
&-icon {
position: relative;
height: 100%;
transform: scale(0);
color: @checkbox-color-check-icon;
transform-origin: center 75%;
margin: 0 auto;
display: block;
width: @checkbox-size-check-icon;
}
}
&:hover &-mask {
border-color: @checkbox-mask-color-border_hover;
transition: border-color @transition-duration-1 @transition-timing-function-linear,
transform @transition-duration-3 @transition-timing-function-overshoot;
}
&-checked:hover &-mask,
&-indeterminate:hover &-mask {
transition: transform @transition-duration-3 @transition-timing-function-overshoot;
}
&-checked &-mask {
border-color: @checkbox-mask-color-border_checked;
background-color: @checkbox-mask-color-bg_checked;
&-icon {
transform: scale(1);
transition: transform @transition-duration-3 @transition-timing-function-overshoot;
}
}
&-indeterminate &-mask {
border-color: @checkbox-mask-color-border_checked;
background-color: @checkbox-mask-color-bg_checked;
&-icon {
transform: scale(0);
}
&::after {
transform: translateX(-50%) translateY(-50%) scale(1);
transition: transform @transition-duration-3 @transition-timing-function-overshoot;
}
}
&&-disabled {
cursor: not-allowed;
.@{checkbox-prefix-cls}-icon-hover {
cursor: not-allowed;
}
&:hover .@{checkbox-prefix-cls}-mask {
border-color: @checkbox-mask-color-border_disabled;
}
}
&-checked:hover &-mask,
&-indeterminate:hover &-mask {
border-color: @checkbox-mask-color-border_checked;
}
&-disabled &-mask {
border-color: @checkbox-mask-color-border_disabled;
background-color: @checkbox-mask-color-bg_disabled;
}
&-disabled&-checked &-mask,
&-disabled&-checked:hover &-mask,
&-disabled&-indeterminate &-mask,
&-disabled&-indeterminate:hover &-mask {
border-color: @checkbox-mask-color-border_checked_disabled;
background-color: @checkbox-mask-color-bg_checked_disabled;
}
&-disabled:hover,
&-checked:hover,
&-indeterminate:hover {
.@{checkbox-prefix-cls}-mask-wrapper::before {
background-color: @color-transparent;
}
}
&-disabled &-text {
color: @checkbox-color-text_disabled;
}
&-disabled &-mask-icon {
color: @checkbox-color-check-icon_disabled;
}
}
// checkbox group
.@{checkbox-prefix-cls}-group {
display: inline-block;
.@{checkbox-prefix-cls} {
margin-right: @checkbox-group-spacing;
}
}
// vertical direction
.@{checkbox-prefix-cls}-group-direction-vertical {
.@{checkbox-prefix-cls} {
display: block;
margin-right: 0;
line-height: @checkbox-group-size-line-height_vertical;
}
}
.@{checkbox-prefix-cls}-rtl {
direction: rtl;
padding-left: 0;
padding-right: (@checkbox-mask-bg-height / 2) - (@checkbox-mask-height / 2);
.@{checkbox-prefix-cls}-text {
margin-left: 0;
margin-right: @checkbox-text-mask-spacing;
}
}
.@{checkbox-prefix-cls}-group-rtl {
.@{checkbox-prefix-cls} {
margin-right: 0;
margin-left: @checkbox-group-spacing;
}
}
/********** Checkbox end ***************/
/********** Collapse ***************/
@collapse-border-width: @border-1;
@collapse-border-radius: @radius-medium;
@collapse-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@collapse-line-height: 1.5715;
@collapse-title-line-height: 24px;
@collapse-title-border-width: @border-1;
@collapse-title-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@collapse-title-font-size: @font-size-body-3;
@collapse-title-padding-horizontal: 13px;
@collapse-title-padding-vertical: @spacing-4;
@collapse-title-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@collapse-title-color-bg_active: var(~'@{arco-cssvars-prefix}-color-bg-2');
@collapse-title-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-2');
@collapse-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@collapse-title-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@collapse-title-font-weight_active: @font-weight-500;
@collapse-content-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@collapse-content-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-1');
@collapse-content-font-size: @font-size-body-3;
@collapse-content-padding-vertical: @spacing-4;
@collapse-content-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-1');
@collapse-expand-icon-size: 14px;
@collapse-expand-icon-size-bg: @size-4;
@collapse-expand-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@collapse-expand-icon-spacing-text: 5px;
@collapse-color-expand-icon: var(~'@{arco-cssvars-prefix}-color-neutral-7');
@collapse-item-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@collapse-item-border-width: @border-1;
@collapse-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@collapse-prefix-cls: ~'@{prefix}-collapse';
.icon-hover(
~'@{collapse-prefix-cls}-item',
@collapse-expand-icon-size,
@collapse-expand-icon-size-bg
);
.icon-hover-bg(~'@{collapse-prefix-cls}-item', @collapse-expand-icon-color-bg);
.@{collapse-prefix-cls} {
overflow: hidden;
border-radius: @collapse-border-radius;
border: @collapse-border-width solid @collapse-color-border;
line-height: @collapse-line-height;
&-rtl {
direction: rtl;
}
&-item {
border-bottom: @collapse-item-border-width solid @collapse-item-color-border;
box-sizing: border-box;
&-active {
> .@{collapse-prefix-cls}-item-header {
background-color: @collapse-title-color-bg_active;
border-color: @collapse-title-color-border;
transition: border-color 0s ease 0s;
.@{collapse-prefix-cls}-item-header-title {
font-weight: @collapse-title-font-weight_active;
}
}
}
&-header {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
box-sizing: border-box;
padding-top: @collapse-title-padding-vertical;
padding-bottom: $padding-top;
background-color: @collapse-title-color-bg;
border-bottom: @collapse-title-border-width solid @color-transparent;
color: @collapse-title-color-text;
cursor: pointer;
font-size: @collapse-title-font-size;
overflow: hidden;
line-height: @collapse-title-line-height;
// 保证在收起动画完成时才隐藏边框
transition: border-color 0s ease 0.19s;
&[data-active-region='header'] {
cursor: unset;
> .@{collapse-prefix-cls}-item-header-title,
> .@{prefix}-icon-hover {
cursor: pointer;
}
}
&[data-active-region='icon'] {
cursor: unset;
> .@{prefix}-icon-hover {
cursor: pointer;
}
}
&:focus-visible {
box-shadow: inset 0 0 0 2px @collapse-color-box-shadow;
}
&-left {
padding-left: @collapse-title-padding-horizontal + @collapse-expand-icon-size +
@collapse-expand-icon-spacing-text;
padding-right: @collapse-title-padding-horizontal;
}
&-right {
padding-left: @collapse-title-padding-horizontal;
padding-right: @collapse-title-padding-horizontal + @collapse-expand-icon-size +
@collapse-expand-icon-spacing-text;
}
&-disabled {
cursor: not-allowed;
color: @collapse-title-color-text_disabled;
background-color: @collapse-title-color-bg_disabled;
.@{collapse-prefix-cls}-item-header-icon {
color: @collapse-title-color-text_disabled;
}
}
&-title {
display: inline;
}
&-extra {
float: right;
}
}
// expand icon style
& &-icon-hover {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: @collapse-title-padding-horizontal;
text-align: center;
&-right {
right: @collapse-title-padding-horizontal;
left: unset;
> .@{collapse-prefix-cls}-item-header-icon-down {
transform: rotate(-90deg);
}
}
}
&-header-icon {
color: @collapse-color-expand-icon;
font-size: @collapse-expand-icon-size;
transition: transform @transition-duration-2 @transition-timing-function-standard;
vertical-align: middle;
position: relative;
display: block;
&-down {
transform: rotate(90deg);
}
}
&-content {
display: none;
overflow: hidden;
position: relative;
color: @collapse-content-color-text;
background-color: @collapse-content-color-bg;
font-size: @collapse-content-font-size;
// 展开动画时间使用 0.2s
transition: height @transition-duration-2 @transition-timing-function-standard;
&-expanded {
display: block;
height: auto;
}
&-box {
padding: @collapse-content-padding-vertical @collapse-title-padding-horizontal
@collapse-content-padding-vertical
(
@collapse-title-padding-horizontal + @collapse-expand-icon-size-bg +
@collapse-expand-icon-spacing-text
);
}
}
&&-disabled > &-content {
color: @collapse-content-color-text_disabled;
}
&-no-icon > &-header {
padding-left: @collapse-title-padding-horizontal;
padding-right: @collapse-title-padding-horizontal;
}
&:last-of-type {
border-bottom: none;
}
}
&.@{collapse-prefix-cls}-borderless {
border: none;
}
&::after {
display: table;
content: '';
clear: both;
}
}
/********** Collapse end ***************/
/********** ColorPicker ***************/
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
@color-input-size-mini-padding-horizontal: @spacing-2;
@color-input-size-small-padding-horizontal: @spacing-2;
@color-input-size-default-padding-horizontal: @spacing-2;
@color-input-size-large-padding-horizontal: 5px;
@color-preview-size-mini: @size-4;
@color-preview-size-small: 22px;
@color-preview-size-default: @size-6;
@color-preview-size-large: 26px;
@color-input-bg-color: var(~'@{arco-cssvars-prefix}-color-fill-2');
@color-input-bg-color-hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@color-value-margin-left: @spacing-3;
@color-value-font-color: var(~'@{arco-cssvars-prefix}-color-text-1');
@color-value-font-color_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@color-value-size-mini-font-size: @font-size-body-1;
@color-value-size-small-font-size: @font-size-body-3;
@color-value-size-default-font-size: @font-size-body-3;
@color-value-size-large-font-size: @font-size-body-3;
@color-input-border-radius: @border-radius-small;
@color-preview-border-size: @border-1;
@color-preview-border-color: var(~'@{arco-cssvars-prefix}-color-border-2');
@color-value-font-size: @font-weight-400;
@color-panel-width: 260px;
@color-panel-padding: @spacing-6;
@color-panel-border-color: var(~'@{arco-cssvars-prefix}-color-border-2');
@color-panel-border-radius: @border-radius-small;
@color-panel-bg-color: var(~'@{arco-cssvars-prefix}-color-bg-1');
@color-panel-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 10%);
@color-palette-height: 178px;
@color-palette-handle-size: @size-4;
@color-palette-handle-border-size: @border-2;
@color-palette-handle-border-color: var(~'@{arco-cssvars-prefix}-color-bg-white');
@color-control-bar-width: 182px;
@color-control-bar-height: 14px;
@color-control-bar-handle-size: @size-4;
@color-control-bar-handle-bg-color: var(~'@{arco-cssvars-prefix}-color-bg-white');
@color-control-bar-handle-border-color: var(~'@{arco-cssvars-prefix}-color-border-2');
@color-control-bar-alpha-margin-top: @spacing-6;
@color-control-bar-gradient-margin: @spacing-6;
@color-panel-input-margin-top: @spacing-6;
@color-panel-input-group-margin-left: @spacing-6;
@color-panel-preview-size: 40px;
@color-panel-format-select-width: 58px;
@color-panel-alpha-input-width: 52px;
@color-panel-section-title-font-size: @font-size-caption;
@color-panel-section-title-font-color: var(~'@{arco-cssvars-prefix}-color-text-1');
@color-panel-empty-font-size: @font-size-body-1;
@color-panel-empty-font-color: var(~'@{arco-cssvars-prefix}-color-text-3');
@color-panel-block-size: @size-4;
@color-panel-block-margin: @spacing-3;
@color-panel-block-border-radius: @border-2;
@color-picker-prefix-cls: ~'@{prefix}-color-picker';
.@{color-picker-prefix-cls} {
display: inline-flex;
background-color: @color-input-bg-color;
align-items: center;
border-radius: @color-input-border-radius;
box-sizing: border-box;
&-preview {
border: @color-preview-border-size solid @color-preview-border-color;
box-sizing: border-box;
flex: none;
}
&-value {
margin-left: @color-value-margin-left;
font-weight: @color-value-font-size;
color: @color-value-font-color;
}
&-input {
display: none;
}
&:hover {
cursor: pointer;
background-color: @color-input-bg-color-hover;
}
&-size-default {
min-height: @input-size-default-height;
padding: (@input-size-default-height - @color-preview-size-default) / 2
@color-input-size-default-padding-horizontal;
.@{color-picker-prefix-cls}-preview {
height: @color-preview-size-default;
width: @color-preview-size-default;
}
.@{color-picker-prefix-cls}-value {
font-size: @color-value-size-default-font-size;
}
}
&-size-mini {
min-height: @input-size-mini-height;
padding: (@input-size-mini-height - @color-preview-size-mini) / 2
@color-input-size-mini-padding-horizontal;
.@{color-picker-prefix-cls}-preview {
height: @color-preview-size-mini;
width: @color-preview-size-mini;
}
.@{color-picker-prefix-cls}-value {
font-size: @color-value-size-mini-font-size;
}
}
&-size-small {
min-height: @input-size-small-height;
padding: (@input-size-small-height - @color-preview-size-small) / 2
@color-input-size-small-padding-horizontal;
.@{color-picker-prefix-cls}-preview {
height: @color-preview-size-small;
width: @color-preview-size-small;
}
.@{color-picker-prefix-cls}-value {
font-size: @color-value-size-small-font-size;
}
}
&-size-large {
min-height: @input-size-large-height;
padding: (@input-size-large-height - @color-preview-size-large) / 2
@color-input-size-large-padding-horizontal;
.@{color-picker-prefix-cls}-preview {
height: @color-preview-size-large;
width: @color-preview-size-large;
}
.@{color-picker-prefix-cls}-value {
font-size: @color-value-size-large-font-size;
}
}
&&-disabled {
background-color: @color-input-bg-color;
cursor: not-allowed;
.@{color-picker-prefix-cls}-value {
color: @color-value-font-color_disabled;
}
}
}
.@{color-picker-prefix-cls}-panel {
width: @color-panel-width;
border-radius: @color-panel-border-radius;
background-color: @color-panel-bg-color;
box-shadow: @color-panel-box-shadow;
.@{color-picker-prefix-cls}-palette {
width: 100%;
height: @color-palette-height;
position: relative;
cursor: pointer;
background-image: linear-gradient(0deg, rgb(0, 0, 0), transparent),
linear-gradient(90deg, rgb(255, 255, 255), rgba(255, 255, 255, 0%));
overflow: hidden;
border-left: 1px solid @color-panel-border-color;
border-top: 1px solid @color-panel-border-color;
border-right: 1px solid @color-panel-border-color;
box-sizing: border-box;
.@{color-picker-prefix-cls}-handler {
width: @color-palette-handle-size;
height: @color-palette-handle-size;
border-radius: @border-radius-circle;
position: absolute;
background-color: transparent;
transform: translate(-50%, -50%);
border: @color-palette-handle-border-size solid @color-palette-handle-border-color;
box-sizing: border-box;
}
}
.@{color-picker-prefix-cls}-panel-control {
padding: @color-panel-padding;
.@{color-picker-prefix-cls}-control-wrapper {
display: flex;
align-items: center;
.@{color-picker-prefix-cls}-preview {
margin-left: auto;
width: @color-panel-preview-size;
height: @color-panel-preview-size;
border-radius: @border-radius-medium;
border: 1px solid @color-panel-border-color;
box-sizing: border-box;
}
.@{color-picker-prefix-cls}-control-bar-alpha {
margin-top: @color-control-bar-alpha-margin-top;
}
}
.@{color-picker-prefix-cls}-input-wrapper {
margin-top: @color-panel-input-margin-top;
display: flex;
.@{color-picker-prefix-cls}-group-wrapper {
margin-left: @color-panel-input-group-margin-left;
display: flex;
flex: 1;
}
.@{prefix}-select-view,
.@{prefix}-input-inner-wrapper {
padding: 0 @spacing-3;
}
}
}
.@{color-picker-prefix-cls}-panel-control-gradient {
padding: @color-panel-padding @color-panel-padding 0;
.@{color-picker-prefix-cls}-control-bar-gradient {
margin: 0 @color-control-bar-handle-size / 2 @color-control-bar-gradient-margin;
.@{color-picker-prefix-cls}-control-bar {
width: 100%;
}
}
.@{color-picker-prefix-cls}-panel-control-gradient-tag {
margin-bottom: @color-control-bar-gradient-margin;
}
}
.@{color-picker-prefix-cls}-panel-colors {
padding: @color-panel-padding;
border-top: 1px solid @color-panel-border-color;
.@{color-picker-prefix-cls}-colors-section:not(:first-child) {
margin-top: @spacing-6;
}
.@{color-picker-prefix-cls}-colors-text {
font-size: @color-panel-section-title-font-size;
font-weight: @font-weight-400;
color: @color-panel-section-title-font-color;
}
.@{color-picker-prefix-cls}-colors-empty {
margin: @spacing-6 0;
font-size: @color-panel-empty-font-size;
color: @color-panel-empty-font-color;
}
.@{color-picker-prefix-cls}-colors-wrapper {
margin-top: @spacing-4;
}
.@{color-picker-prefix-cls}-colors-list {
display: flex;
flex-wrap: wrap;
margin: -8px -4px 0;
}
.@{color-picker-prefix-cls}-color-block {
margin: @color-panel-block-margin @color-panel-block-margin / 2 0;
width: @color-panel-block-size;
height: @color-panel-block-size;
cursor: pointer;
border-radius: @color-panel-block-border-radius;
transition: transform ease-out 60ms;
background-image: conic-gradient(
rgba(0, 0, 0, 6%) 0 25%,
transparent 0 50%,
rgba(0, 0, 0, 6%) 0 75%,
transparent 0
);
background-size: 8px 8px;
overflow: hidden;
.@{color-picker-prefix-cls}-block {
width: 100%;
height: 100%;
}
&:hover {
transform: scale(1.1);
}
}
}
.@{color-picker-prefix-cls}-control-bar-bg {
background-image: conic-gradient(
rgba(0, 0, 0, 6%) 0 25%,
transparent 0 50%,
rgba(0, 0, 0, 6%) 0 75%,
transparent 0
);
background-size: 8px 8px;
}
.@{color-picker-prefix-cls}-control-bar {
width: @color-control-bar-width;
height: @color-control-bar-height;
position: relative;
border-radius: 10px;
cursor: pointer;
border: 1px solid @color-panel-border-color;
box-sizing: border-box;
.@{color-picker-prefix-cls}-handler {
width: @color-control-bar-handle-size;
height: @color-control-bar-handle-size;
border-radius: @border-radius-circle;
position: absolute;
top: -2px;
background-color: @color-control-bar-handle-bg-color;
transform: translateX(-50%);
border: 1px solid @color-control-bar-handle-border-color;
box-sizing: border-box;
&-center {
position: absolute;
width: @color-control-bar-handle-size - 8;
height: @color-control-bar-handle-size - 8;
border-radius: @border-radius-circle;
transform: translate(3px, 3px);
}
}
&-hue {
background: linear-gradient(
90deg,
#f00 0,
#ff0 17%,
#0f0 33%,
#0ff 50%,
#00f 67%,
#f0f 83%,
#f00
);
}
}
.@{color-picker-prefix-cls}-select-type {
width: @color-panel-format-select-width;
}
.@{color-picker-prefix-cls}-input-group {
display: flex;
& > * {
flex: 1;
}
}
.@{color-picker-prefix-cls}-input-alpha {
width: @color-panel-alpha-input-width;
flex: 0 0 auto;
}
.@{color-picker-prefix-cls}-input-hex {
.@{prefix}-input {
padding-left: @spacing-2;
}
}
}
.@{color-picker-prefix-cls}-type-dropdown {
& .@{prefix}-select-option {
font-size: @font-size-body-1 !important;
line-height: @size-mini !important;
}
}
/********** ColorPicker end ***************/
/********** Comment ***************/
@comment-color-author-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@comment-color-datetime-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@comment-color-content-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@comment-color-actions-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@comment-font-size: @font-size-body-3;
@comment-font-action-size: @font-size-body-3;
@comment-font-author-size: @font-size-body-3;
@comment-font-datetime-size: @font-size-body-1;
@comment-margin-avatar-right: @spacing-6;
@comment-margin-author-right: @spacing-4;
@comment-margin-actions-top: @spacing-4;
@comment-margin-bottom: @spacing-8;
@comment-margin-actions-right: @spacing-4;
@comment-size-avatar-width: @size-8;
@comment-prefix-cls: ~'@{prefix}-comment';
.@{comment-prefix-cls} {
display: flex;
flex-wrap: nowrap;
line-height: @line-height-base;
&:not(:first-of-type),
&-inner-comment {
margin-top: @comment-margin-bottom;
}
&-inner {
flex: 1;
}
&-avatar {
flex-shrink: 0;
margin-right: @comment-margin-avatar-right;
cursor: pointer;
> img {
width: @comment-size-avatar-width;
height: @comment-size-avatar-width;
border-radius: @radius-circle;
}
}
&-author {
color: @comment-color-author-text;
font-size: @comment-font-author-size;
margin-right: @comment-margin-author-right;
}
&-datetime {
color: @comment-color-datetime-text;
font-size: @comment-font-datetime-size;
}
&-content {
font-size: @comment-font-size;
color: @comment-color-content-text;
}
&-title-align-right {
display: flex;
justify-content: space-between;
}
&-actions {
margin-top: @comment-margin-actions-top;
color: @comment-color-actions-text;
font-size: @comment-font-action-size;
> *:not(:last-child) {
margin-right: @comment-margin-actions-right;
}
}
&-actions-align-right {
display: flex;
justify-content: flex-end;
}
}
.@{comment-prefix-cls}-rtl {
direction: rtl;
.@{comment-prefix-cls} {
&-title {
display: flex;
align-items: center;
}
&-avatar {
margin-right: 0;
margin-left: @comment-margin-avatar-right;
}
&-author {
margin-right: 0;
margin-left: @comment-margin-author-right;
}
&-actions {
> *:not(:last-child) {
margin-left: @comment-margin-actions-right;
margin-right: 0;
}
}
}
}
/********** Comment end ***************/
/********** DatePicker ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
@picker-size-mini: @size-mini;
@picker-size-small: @size-small;
@picker-size-default: @size-default;
@picker-size-large: @size-large;
@picker-size-mini-font-size-text: @font-size-body-1;
@picker-size-small-font-size-text: @font-size-body-3;
@picker-size-default-font-size-text: @font-size-body-3;
@picker-size-large-font-size-text: @font-size-body-3;
@picker-input-border-radius: @radius-small;
@picker-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-size-shadow_focus: @shadow-distance-none;
@picker-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@picker-size-shadow_error_focus: @shadow-distance-none;
@picker-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@picker-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@picker-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@picker-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@picker-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@picker-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@picker-color-border: @color-transparent;
@picker-color-border_hover: @color-transparent;
@picker-color-border_focus: @color-primary-6;
@picker-color-border_disabled: @color-transparent;
@picker-color-border_error: @color-transparent;
@picker-color-border_error_hover: @color-transparent;
@picker-color-border_error_focus: @color-danger-6;
@picker-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-color-placeholder_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-separator: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-color-separator_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-range-color-bg-input_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
// calc
@picker-padding-horizontal: @spacing-2; // 4px
@picker-input-padding-horizontal: @input-padding-horizontal - @picker-padding-horizontal; // 8px
// warning
@picker-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@picker-size-shadow_warning_focus: @picker-size-shadow_error_focus;
@picker-color-bg_warning: @input-color-bg_warning;
@picker-color-bg_warning_hover: @input-color-bg_warning_hover;
@picker-color-bg_warning_focus: @input-color-bg_warning_focus;
@picker-color-border_warning: @input-color-border_warning;
@picker-color-border_warning_hover: @input-color-border_warning_hover;
@picker-color-border_warning_focus: @input-color-border_warning_focus;
.picker-status(@status) {
&-@{status}:not(&-disabled) {
border-color: ~'@{picker-color-border_@{status}}';
background-color: ~'@{picker-color-bg_@{status}}';
&:hover {
border-color: ~'@{picker-color-border_@{status}_hover}';
background-color: ~'@{picker-color-bg_@{status}_hover}';
}
}
&-@{status}&-focused:not(&-disabled) {
&,
&:hover {
border-color: ~'@{picker-color-border_@{status}_focus}';
background-color: ~'@{picker-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{picker-size-shadow_@{status}_focus}' ~'@{picker-color-shadow_@{status}_focus}';
}
}
}
.@{prefix}-picker {
position: relative;
display: inline-flex;
align-items: center;
padding: @picker-padding-horizontal 11px 4px 4px;
line-height: @line-height-base;
border-radius: @picker-input-border-radius;
background-color: @picker-color-bg;
border: 1px solid @picker-color-border;
box-sizing: border-box;
transition: all @transition-duration-1 @transition-timing-function-linear;
&-input {
display: inline-flex;
flex: 1;
}
input {
text-align: left;
padding: 0;
padding-left: @picker-input-padding-horizontal;
border: none;
width: 100%;
color: @picker-color-text;
background-color: @color-transparent;
line-height: @line-height-base;
transition: all @transition-duration-1 @transition-timing-function-linear;
&::placeholder {
color: @picker-color-placeholder;
}
}
&-input-placeholder input {
color: @picker-color-placeholder;
}
&-has-prefix {
padding-left: @input-padding-horizontal;
}
&-prefix {
color: @input-color-prefix-text;
padding-right: @picker-padding-horizontal;
font-size: @input-size-default-icon-suffix-size;
}
&-suffix {
width: 14px;
margin-left: 4px;
text-align: center;
}
&-suffix-icon {
color: @picker-color-icon;
}
& &-clear-icon {
display: none;
font-size: 12px;
color: var(~'@{arco-cssvars-prefix}-color-text-2');
}
&:hover {
background-color: @picker-color-bg_hover;
border-color: @picker-color-border_hover;
}
&:not(&-disabled):hover &-clear-icon {
display: inline-block;
}
&:not(&-disabled):hover &-suffix &-clear-icon + span {
display: none;
}
&-focused {
box-shadow: 0 0 0 @picker-size-shadow_focus @picker-color-shadow_focus;
}
&-focused,
&-focused:hover {
background-color: @picker-color-bg_focus;
border-color: @picker-color-border_focus;
}
&-focused &-input-active input,
&-focused:hover &-input-active input {
background: @picker-range-color-bg-input_focus;
}
.disabledInput() {
input[disabled] {
cursor: not-allowed;
color: @picker-color-text_disabled;
-webkit-text-fill-color: @picker-color-text_disabled;
&::placeholder {
color: @picker-color-placeholder_disabled;
}
}
}
.picker-status(error);
.picker-status(warning);
.disabledInput();
&-disabled,
&-disabled:hover {
color: @picker-color-text_disabled;
border-color: @picker-color-border_disabled;
background-color: @picker-color-bg_disabled;
cursor: not-allowed;
.disabledInput();
}
&-separator {
min-width: 10px;
padding: 0 8px;
color: @picker-color-separator;
}
&-disabled &-separator {
color: @picker-color-separator_disabled;
}
&-disabled &-suffix-icon {
color: @picker-color-icon_disabled;
}
// Size
&-size-mini {
height: @picker-size-mini;
input {
font-size: @picker-size-mini-font-size-text;
}
}
&-size-small {
height: @picker-size-small;
input {
font-size: @picker-size-small-font-size-text;
}
}
&-size-default {
height: @picker-size-default;
input {
font-size: @picker-size-default-font-size-text;
}
}
&-size-large {
height: @picker-size-large;
input {
font-size: @picker-size-large-font-size-text;
}
}
}
.@{prefix}-picker-rtl {
direction: rtl;
padding: 4px 4px 4px 11px;
input {
text-align: right;
padding-left: 0;
padding-right: 8px;
}
.@{prefix}-picker-suffix {
margin-left: 0;
margin-right: 4px;
}
}
// Panel
@picker-container-border-radius: @radius-medium;
@picker-header-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-header-font-weight-text: @font-weight-500;
@picker-header-font-size: @font-size-body;
@picker-header-padding-horizontal: 24px;
@picker-header-padding-vertical: 24px;
@picker-panel-border-width: 1px;
@picker-panel-date-width: 265px;
@picker-panel-month-width: 265px;
@picker-panel-year-width: 265px;
@picker-panel-week-width: 298px;
@picker-panel-quarter-width: 265px;
@picker-panel-time-cell-width: 36px;
@picker-panel-time-cell-spacing-horizontal: 4px;
@picker-panel-time-padding-horizontal: 10px;
@picker-panel-cell-padding-vertical: 4px;
@picker-panel-cell-circle-height: 24px;
@picker-panel-row-padding-vertical: 2px;
@picker-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@picker-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-cell-font-weight-in-view: @font-weight-500;
@picker-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-cell-font-weight-not-in-view: @font-weight-500;
@picker-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-bg-circle_selected: @color-primary-6;
@picker-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@picker-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@picker-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@picker-color-bg-cell-range-boundary: @color-primary-6;
@picker-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-week-list-item: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-font-weight-week-list-item: @font-weight-500;
@picker-panel-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@picker-panel-color-text-cell_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@picker-panel-color-bg-cell_selected: @color-primary-6;
@picker-panel-color-current-time-dot: @color-primary-6;
@picker-panel-color-text-holder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-panel-color-text-holder_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-label_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-border-radius-cell_selected: @picker-panel-cell-circle-height;
@picker-panel-cell-boundary-border-radius: @picker-panel-cell-circle-height;
@picker-prefix-cls: ~'@{prefix}-picker';
.@{prefix}-picker-container,
.@{prefix}-picker-range-container {
border: @picker-panel-border-width solid @picker-panel-color-border;
box-shadow: @popup-box-shadow-base;
border-radius: @picker-container-border-radius;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
box-sizing: border-box;
min-height: 60px;
overflow: hidden;
&-shortcuts-placement-left {
display: flex;
align-items: flex-start;
.@{prefix}-picker-shortcuts {
display: flex;
flex-direction: column;
padding: 5px 8px;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: auto;
> * {
margin: 5px 0;
}
}
.@{picker-prefix-cls}-panel-wrapper,
.@{picker-prefix-cls}-range-panel-wrapper {
border-left: @picker-panel-border-width solid @picker-panel-color-border;
}
}
}
// panel only
.@{prefix}-picker-panel-only,
.@{prefix}-picker-range-panel-only {
box-shadow: none;
}
.@{prefix}-picker-panel-only .@{prefix}-panel-date-inner,
.@{prefix}-picker-range-panel-only .@{prefix}-panel-date-inner {
width: 100%;
}
.@{prefix}-picker-range-panel-only .@{prefix}-panel-date,
.@{prefix}-picker-range-panel-only .@{prefix}-panel-month,
.@{prefix}-picker-range-panel-only .@{prefix}-panel-year {
width: 100%;
}
.@{picker-prefix-cls} {
&-header {
display: flex;
padding: 8px 16px;
border-bottom: @picker-panel-border-width solid @picker-panel-color-border;
&-value {
font-size: @picker-header-font-size;
line-height: 24px;
flex: 1;
text-align: center;
color: @picker-header-color-text;
font-weight: @picker-header-font-weight-text;
box-sizing: border-box;
}
&-icon {
border-radius: 50%;
text-align: center;
font-size: 12px;
transition: all @transition-duration-1 @transition-timing-function-linear;
user-select: none;
color: @picker-color-switch-icon;
background-color: @picker-color-bg-switch-icon;
width: 24px;
height: 24px;
line-height: 24px;
margin-left: 2px;
margin-right: 2px;
box-sizing: border-box;
}
&-icon:not(&-icon-hidden) {
cursor: pointer;
&:hover {
background-color: @picker-color-bg-switch-icon_hover;
}
}
&-label {
cursor: pointer;
padding: 2px;
border-radius: 2px;
transition: all @transition-duration-1;
&:hover {
background-color: @picker-panel-color-bg-label_hover;
}
}
}
&-body {
padding: 14px 16px;
}
&-week-list {
display: flex;
width: 100%;
box-sizing: border-box;
padding: 14px 16px 0;
&-item {
color: @picker-color-text-week-list-item;
flex: 1;
padding: 0;
text-align: center;
font-weight: @picker-font-weight-week-list-item;
height: 32px;
line-height: 32px;
}
}
&-row {
display: flex;
}
&-cell {
position: relative;
flex: 1;
cursor: pointer;
padding: @picker-panel-row-padding-vertical 0;
}
&-cell &-date {
display: flex;
height: 100%;
width: 100%;
box-sizing: border-box;
cursor: pointer;
padding: @picker-panel-cell-padding-vertical 0;
justify-content: center;
}
&-date-value {
color: @picker-color-cell-text-not-in-view;
font-size: 14px;
min-width: @picker-panel-cell-circle-height;
height: @picker-panel-cell-circle-height;
line-height: @picker-panel-cell-circle-height;
text-align: center;
border-radius: @picker-panel-border-radius-cell_selected;
font-weight: @picker-cell-font-weight-not-in-view;
}
&-cell-in-view &-date-value {
color: @picker-color-cell-text-in-view;
font-weight: @picker-cell-font-weight-in-view;
}
&-cell:hover &-date-value {
background-color: @picker-panel-color-bg-cell_hover;
color: @picker-panel-color-text-cell_hover;
}
&-cell-today {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
bottom: -2px;
left: 50%;
margin-left: -2px;
width: 4px;
height: 4px;
border-radius: 50%;
background-color: @picker-panel-color-current-time-dot;
}
}
&-cell-in-range &-date {
background-color: @picker-color-bg-cell-in-range;
}
&-cell-range-start &-date,
&-cell-hover-range-start &-date {
border-top-left-radius: @picker-panel-cell-boundary-border-radius;
border-bottom-left-radius: @picker-panel-cell-boundary-border-radius;
}
&-cell-range-end &-date,
&-cell-hover-range-end &-date {
border-top-right-radius: @picker-panel-cell-boundary-border-radius;
border-bottom-right-radius: @picker-panel-cell-boundary-border-radius;
}
&-cell-range-start:hover &-date-value,
&-cell-range-end:hover &-date-value {
background-color: unset;
}
&-cell-disabled &-date {
background-color: @picker-color-bg-cell-disabled;
cursor: not-allowed;
}
&-cell-disabled &-date-value,
&-cell-disabled:hover &-date-value {
color: @picker-color-cell-text-not-in-view;
background-color: @color-transparent;
}
&-cell-selected &-date-value,
&-cell-selected:hover &-date-value {
color: @picker-panel-color-text-cell_selected;
background-color: @picker-panel-color-bg-cell_selected;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
}
&-cell-hover-in-range &-date,
&-cell-hover-range-start:not(&-cell-range-start):not(&-cell-range-end) &-date-value,
&-cell-hover-range-end:not(&-cell-range-start):not(&-cell-range-end) &-date-value {
background-color: @picker-color-bg-cell-hover-in-range;
}
&-cell-range-edge-in-hover-range &-date {
border-radius: 0;
}
&-cell-hover-range-edge-in-range &-date {
border-radius: 0;
}
&-cell-hidden &-date {
display: none;
}
// Footer
&-footer {
width: min-content;
min-width: 100%;
&-btn-wrapper {
border-top: @picker-panel-border-width solid @picker-panel-color-border;
padding: 3px 8px;
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}
&-extra-wrapper {
padding: 8px 24px;
color: var(~'@{arco-cssvars-prefix}-color-text-1');
border-top: @picker-panel-border-width solid @picker-panel-color-border;
box-sizing: border-box;
font-size: 12px;
}
&-now-wrapper {
border-top: @picker-panel-border-width solid @picker-panel-color-border;
box-sizing: border-box;
height: 36px;
line-height: 36px;
text-align: center;
}
}
&-btn-select-date,
&-btn-select-time {
margin-right: 8px;
}
&-btn-confirm {
margin: 5px 0;
}
&-shortcuts {
flex: 1;
& > * {
margin: 5px 10px 5px 0;
}
}
}
@timepicker-wrapper-border-radius: @radius-medium;
@timepicker-column-width: 64px;
@timepicker-column-height: 224px;
@timepicker-cell-height: 24px;
@timepicker-cell-spacing: @spacing-4;
@timepicker-cell-font-size: @font-size-body-3;
@timepicker-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@timepicker-color-cell-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@timepicker-color-text-cell: var(~'@{arco-cssvars-prefix}-color-text-1');
@timepicker-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@timepicker-color-bg-cell_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@timepicker-color-text-cell_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@timepicker-font-weight-cell: @font-weight-500;
@timepicker-font-weight-cell_active: @font-weight-500;
@timepicker-color-extra-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@timepicker-font-extra-size: @font-size-body-1;
@timepicker-extra-padding-horizontal: @spacing-4;
@timepicker-extra-padding-vertical: @spacing-4;
@timepicker-footer-padding-horizontal: @spacing-4;
@timepicker-footer-padding-vertical: @spacing-4;
@date-panel-prefix-cls: ~'@{prefix}-panel-date';
@time-picker-prefix-cls: ~'@{prefix}-timepicker';
@datepicker-timepicker-height: 276px;
.@{date-panel-prefix-cls} {
display: flex;
flex-direction: column;
justify-content: space-between;
box-sizing: border-box;
&-inner {
width: @picker-panel-date-width;
}
&-inner .@{prefix}-picker-body {
padding-top: 0;
}
&-timepicker {
display: flex;
flex-direction: column;
&-title {
width: 100%;
text-align: center;
font-weight: 400;
font-size: 14px;
height: 40px;
line-height: 40px;
border-bottom: @picker-panel-border-width solid @picker-panel-color-border;
color: var(~'@{arco-cssvars-prefix}-color-text-1');
}
.@{time-picker-prefix-cls} {
width: @picker-panel-date-width;
height: @datepicker-timepicker-height;
padding: 0 6px;
overflow: hidden;
&-list {
width: 100%;
height: 100%;
padding: 0 4px;
box-sizing: border-box;
}
&-list:not(:last-child) {
border-right: 0;
}
ul::after {
height: @datepicker-timepicker-height - @timepicker-cell-height - @timepicker-cell-spacing;
}
&-cell {
width: 100%;
}
}
}
// TODO: remove
&-holder {
display: flex;
width: 100%;
border-top: @picker-panel-border-width solid @picker-panel-color-border;
&-btn {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
height: 50px;
box-sizing: border-box;
cursor: pointer;
color: @picker-panel-color-text-holder;
font-size: 16px;
transition: color 0.2s;
&:first-child {
border-right: @picker-panel-border-width solid @picker-panel-color-border;
}
&:hover,
&:active,
&-active {
color: @picker-panel-color-text-holder_active;
}
&-value {
margin-left: 8px;
}
}
}
&:first-child &-holder {
border-right: @picker-panel-border-width solid @picker-panel-color-border;
}
}
// Panel
@picker-container-border-radius: @radius-medium;
@picker-header-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-header-font-weight-text: @font-weight-500;
@picker-header-font-size: @font-size-body;
@picker-header-padding-horizontal: 24px;
@picker-header-padding-vertical: 24px;
@picker-panel-border-width: 1px;
@picker-panel-date-width: 265px;
@picker-panel-month-width: 265px;
@picker-panel-year-width: 265px;
@picker-panel-week-width: 298px;
@picker-panel-quarter-width: 265px;
@picker-panel-time-cell-width: 36px;
@picker-panel-time-cell-spacing-horizontal: 4px;
@picker-panel-time-padding-horizontal: 10px;
@picker-panel-cell-padding-vertical: 4px;
@picker-panel-cell-circle-height: 24px;
@picker-panel-row-padding-vertical: 2px;
@picker-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@picker-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-cell-font-weight-in-view: @font-weight-500;
@picker-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-cell-font-weight-not-in-view: @font-weight-500;
@picker-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-bg-circle_selected: @color-primary-6;
@picker-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@picker-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@picker-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@picker-color-bg-cell-range-boundary: @color-primary-6;
@picker-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-week-list-item: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-font-weight-week-list-item: @font-weight-500;
@picker-panel-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@picker-panel-color-text-cell_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@picker-panel-color-bg-cell_selected: @color-primary-6;
@picker-panel-color-current-time-dot: @color-primary-6;
@picker-panel-color-text-holder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-panel-color-text-holder_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-label_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-border-radius-cell_selected: @picker-panel-cell-circle-height;
@picker-panel-cell-boundary-border-radius: @picker-panel-cell-circle-height;
@month-panel-prefix-cls: ~'@{prefix}-panel-month';
@quarter-panel-prefix-cls: ~'@{prefix}-panel-quarter';
@year-panel-prefix-cls: ~'@{prefix}-panel-year';
.@{month-panel-prefix-cls},
.@{quarter-panel-prefix-cls},
.@{year-panel-prefix-cls} {
box-sizing: border-box;
width: @picker-panel-month-width;
.@{prefix}-picker-date {
padding: 4px;
}
.@{prefix}-picker-date-value {
border-radius: @picker-panel-cell-boundary-border-radius;
width: 100%;
}
.@{prefix}-picker-cell:not(.@{prefix}-picker-cell-selected):not(.@{prefix}-picker-cell-range-start):not(.@{prefix}-picker-cell-range-end):not(.@{prefix}-picker-cell-disabled):not(.@{prefix}-picker-cell-week)
.@{prefix}-picker-date-value:hover {
border-radius: @picker-panel-cell-boundary-border-radius;
}
}
// Panel
@picker-container-border-radius: @radius-medium;
@picker-header-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-header-font-weight-text: @font-weight-500;
@picker-header-font-size: @font-size-body;
@picker-header-padding-horizontal: 24px;
@picker-header-padding-vertical: 24px;
@picker-panel-border-width: 1px;
@picker-panel-date-width: 265px;
@picker-panel-month-width: 265px;
@picker-panel-year-width: 265px;
@picker-panel-week-width: 298px;
@picker-panel-quarter-width: 265px;
@picker-panel-time-cell-width: 36px;
@picker-panel-time-cell-spacing-horizontal: 4px;
@picker-panel-time-padding-horizontal: 10px;
@picker-panel-cell-padding-vertical: 4px;
@picker-panel-cell-circle-height: 24px;
@picker-panel-row-padding-vertical: 2px;
@picker-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@picker-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-cell-font-weight-in-view: @font-weight-500;
@picker-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-cell-font-weight-not-in-view: @font-weight-500;
@picker-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-bg-circle_selected: @color-primary-6;
@picker-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@picker-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@picker-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@picker-color-bg-cell-range-boundary: @color-primary-6;
@picker-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-week-list-item: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-font-weight-week-list-item: @font-weight-500;
@picker-panel-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@picker-panel-color-text-cell_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@picker-panel-color-bg-cell_selected: @color-primary-6;
@picker-panel-color-current-time-dot: @color-primary-6;
@picker-panel-color-text-holder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-panel-color-text-holder_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-label_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-border-radius-cell_selected: @picker-panel-cell-circle-height;
@picker-panel-cell-boundary-border-radius: @picker-panel-cell-circle-height;
@year-panel-prefix-cls: ~'@{prefix}-panel-year';
.@{year-panel-prefix-cls} {
box-sizing: border-box;
width: @picker-panel-year-width;
}
// Panel
@picker-container-border-radius: @radius-medium;
@picker-header-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-header-font-weight-text: @font-weight-500;
@picker-header-font-size: @font-size-body;
@picker-header-padding-horizontal: 24px;
@picker-header-padding-vertical: 24px;
@picker-panel-border-width: 1px;
@picker-panel-date-width: 265px;
@picker-panel-month-width: 265px;
@picker-panel-year-width: 265px;
@picker-panel-week-width: 298px;
@picker-panel-quarter-width: 265px;
@picker-panel-time-cell-width: 36px;
@picker-panel-time-cell-spacing-horizontal: 4px;
@picker-panel-time-padding-horizontal: 10px;
@picker-panel-cell-padding-vertical: 4px;
@picker-panel-cell-circle-height: 24px;
@picker-panel-row-padding-vertical: 2px;
@picker-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@picker-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-cell-font-weight-in-view: @font-weight-500;
@picker-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-cell-font-weight-not-in-view: @font-weight-500;
@picker-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-bg-circle_selected: @color-primary-6;
@picker-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@picker-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@picker-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@picker-color-bg-cell-range-boundary: @color-primary-6;
@picker-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-week-list-item: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-font-weight-week-list-item: @font-weight-500;
@picker-panel-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@picker-panel-color-text-cell_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@picker-panel-color-bg-cell_selected: @color-primary-6;
@picker-panel-color-current-time-dot: @color-primary-6;
@picker-panel-color-text-holder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-panel-color-text-holder_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-label_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-border-radius-cell_selected: @picker-panel-cell-circle-height;
@picker-panel-cell-boundary-border-radius: @picker-panel-cell-circle-height;
@week-panel-prefix-cls: ~'@{prefix}-panel-week';
@picker-prefix-cls: ~'@{prefix}-picker';
.@{week-panel-prefix-cls} {
box-sizing: border-box;
&-wrapper {
display: flex;
}
&-inner {
width: @picker-panel-week-width;
}
&-inner .@{picker-prefix-cls}-body {
padding-top: 0;
}
.@{picker-prefix-cls}-row-week {
cursor: pointer;
.@{picker-prefix-cls}-date-value {
width: 100%;
border-radius: 0;
}
}
.@{picker-prefix-cls}-cell {
.@{picker-prefix-cls}-date {
border-radius: 0;
}
&:nth-child(2) {
.@{picker-prefix-cls}-date {
padding-left: 4px;
border-top-left-radius: @picker-panel-cell-boundary-border-radius;
border-bottom-left-radius: @picker-panel-cell-boundary-border-radius;
.@{picker-prefix-cls}-date-value {
border-top-left-radius: @picker-panel-border-radius-cell_selected;
border-bottom-left-radius: @picker-panel-border-radius-cell_selected;
}
}
}
&:nth-child(8) {
.@{picker-prefix-cls}-date {
padding-right: 4px;
border-top-right-radius: @picker-panel-cell-boundary-border-radius;
border-bottom-right-radius: @picker-panel-cell-boundary-border-radius;
.@{picker-prefix-cls}-date-value {
border-top-right-radius: @picker-panel-border-radius-cell_selected;
border-bottom-right-radius: @picker-panel-border-radius-cell_selected;
}
}
}
}
.@{picker-prefix-cls}-row-week:hover
.@{picker-prefix-cls}-cell:not(.@{picker-prefix-cls}-cell-week):not(.@{picker-prefix-cls}-cell-selected):not(.@{picker-prefix-cls}-cell-range-start):not(.@{picker-prefix-cls}-cell-range-end):not(.@{picker-prefix-cls}-cell-in-range):not(.@{picker-prefix-cls}-cell-hover-in-range) {
.@{picker-prefix-cls}-date-value {
background-color: @picker-panel-color-bg-cell_hover;
}
}
}
// Panel
@picker-container-border-radius: @radius-medium;
@picker-header-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-header-font-weight-text: @font-weight-500;
@picker-header-font-size: @font-size-body;
@picker-header-padding-horizontal: 24px;
@picker-header-padding-vertical: 24px;
@picker-panel-border-width: 1px;
@picker-panel-date-width: 265px;
@picker-panel-month-width: 265px;
@picker-panel-year-width: 265px;
@picker-panel-week-width: 298px;
@picker-panel-quarter-width: 265px;
@picker-panel-time-cell-width: 36px;
@picker-panel-time-cell-spacing-horizontal: 4px;
@picker-panel-time-padding-horizontal: 10px;
@picker-panel-cell-padding-vertical: 4px;
@picker-panel-cell-circle-height: 24px;
@picker-panel-row-padding-vertical: 2px;
@picker-color-switch-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-color-bg-switch-icon: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@picker-color-bg-switch-icon_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-cell-font-weight-in-view: @font-weight-500;
@picker-color-cell-text-in-view: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-cell-font-weight-not-in-view: @font-weight-500;
@picker-color-cell-text-not-in-view: var(~'@{arco-cssvars-prefix}-color-text-4');
@picker-color-bg-circle_selected: @color-primary-6;
@picker-color-bg-cell-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@picker-color-bg-cell-disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@picker-color-text-cell-range-boundary: var(~'@{arco-cssvars-prefix}-color-white');
@picker-color-bg-cell-range-boundary: @color-primary-6;
@picker-color-bg-cell-hover-in-range: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-color-bg-cell-hover-range-boundary: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@picker-color-text-week-list-item: var(~'@{arco-cssvars-prefix}-color-text-2');
@picker-font-weight-week-list-item: @font-weight-500;
@picker-panel-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@picker-panel-color-text-cell_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-color-text-cell_selected: var(~'@{arco-cssvars-prefix}-color-white');
@picker-panel-color-bg-cell_selected: @color-primary-6;
@picker-panel-color-current-time-dot: @color-primary-6;
@picker-panel-color-text-holder: var(~'@{arco-cssvars-prefix}-color-text-3');
@picker-panel-color-text-holder_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@picker-panel-color-bg-label_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@picker-panel-border-radius-cell_selected: @picker-panel-cell-circle-height;
@picker-panel-cell-boundary-border-radius: @picker-panel-cell-circle-height;
@quarter-panel-prefix-cls: ~'@{prefix}-panel-quarter';
.@{quarter-panel-prefix-cls} {
box-sizing: border-box;
width: @picker-panel-quarter-width;
}
@range-picker-prefix-cls: ~'@{prefix}-picker-range';
.@{range-picker-prefix-cls} {
&-wrapper {
display: flex;
}
}
@date-picker-prefix-cls: ~'@{prefix}-datepicker';
.@{date-picker-prefix-cls}-shortcuts-wrapper {
width: 106px;
height: 100%;
max-height: 300px;
overflow-y: auto;
box-sizing: border-box;
list-style: none;
padding: 0;
margin: 10px 0 0;
> li {
width: 100%;
padding: 6px 16px;
cursor: pointer;
box-sizing: border-box;
&:hover {
color: @color-primary-6;
}
}
}
.@{prefix}-picker-container-rtl,
.@{prefix}-picker-range-container-rtl {
direction: rtl;
.@{picker-prefix-cls} {
&-cell-range-start,
&-cell-hover-range-start {
.@{picker-prefix-cls}-date {
border-radius: 0 @picker-panel-cell-boundary-border-radius
@picker-panel-cell-boundary-border-radius 0;
}
}
&-cell-range-end,
&-cell-hover-range-end {
.@{picker-prefix-cls}-date {
border-radius: @picker-panel-cell-boundary-border-radius 0 0
@picker-panel-cell-boundary-border-radius;
}
}
}
.@{week-panel-prefix-cls} {
.@{picker-prefix-cls}-cell {
&:nth-child(2) {
.@{picker-prefix-cls}-date {
padding-right: 4px;
padding-left: 0;
border-radius: 0 @picker-panel-cell-boundary-border-radius
@picker-panel-cell-boundary-border-radius 0;
.@{picker-prefix-cls}-date-value {
border-radius: 0 @picker-panel-border-radius-cell_selected
@picker-panel-border-radius-cell_selected 0;
}
}
}
&:nth-child(8) {
.@{picker-prefix-cls}-date {
padding-left: 4px;
padding-right: 0;
border-radius: @picker-panel-cell-boundary-border-radius 0 0
@picker-panel-cell-boundary-border-radius;
.@{picker-prefix-cls}-date-value {
border-radius: @picker-panel-border-radius-cell_selected 0 0
@picker-panel-border-radius-cell_selected;
}
}
}
}
}
}
/********** DatePicker end ***************/
/********** Descriptions ***************/
@descriptions-border-width: 1px;
@descriptions-border-style: solid;
@descriptions-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@descriptions-border-radius: @radius-medium;
@descriptions-font-size-title: @font-size-title-1;
@descriptions-size-mini-title-margin-bottom: 6px;
@descriptions-size-small-title-margin-bottom: 8px;
@descriptions-size-medium-title-margin-bottom: 12px;
@descriptions-size-default-title-margin-bottom: 16px;
@descriptions-size-large-title-margin-bottom: 20px;
@descriptions-size-mini-font-size-text: @font-size-body-1;
@descriptions-size-small-font-size-text: @font-size-body-3;
@descriptions-size-medium-font-size-text: @font-size-body-3;
@descriptions-size-default-font-size-text: @font-size-body-3;
@descriptions-size-large-font-size-text: @font-size-body-3;
@descriptions-color-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@descriptions-color-text-label: var(~'@{arco-cssvars-prefix}-color-text-3');
@descriptions-color-text-value: var(~'@{arco-cssvars-prefix}-color-text-1');
@descriptions-font-weight-title: @font-weight-500;
@descriptions-font-weight-text-label: @font-weight-500;
@descriptions-font-weight-text-value: @font-weight-400;
@descriptions-border-color-bg-label: var(~'@{arco-cssvars-prefix}-color-fill-1');
@descriptions-item-size-mini-spacing-bottom: 2px;
@descriptions-item-size-small-spacing-bottom: 4px;
@descriptions-item-size-medium-spacing-bottom: 8px;
@descriptions-item-size-default-spacing-bottom: 12px;
@descriptions-item-size-large-spacing-bottom: 16px;
@descriptions-border-item-size-mini-padding-horizontal: @spacing-8;
@descriptions-border-item-size-mini-padding-vertical: 3px;
@descriptions-border-item-size-small-padding-horizontal: @spacing-8;
@descriptions-border-item-size-small-padding-vertical: 3px;
@descriptions-border-item-size-medium-padding-horizontal: @spacing-8;
@descriptions-border-item-size-medium-padding-vertical: 5px;
@descriptions-border-item-size-default-padding-horizontal: @spacing-8;
@descriptions-border-item-size-default-padding-vertical: 7px;
@descriptions-border-item-size-large-padding-horizontal: @spacing-8;
@descriptions-border-item-size-large-padding-vertical: 9px;
@descriptions-prefix-cls: ~'@{prefix}-descriptions';
.descriptions-size(@size) {
&-size-@{size} &-title {
margin-bottom: ~'@{descriptions-size-@{size}-title-margin-bottom}';
}
&-size-@{size} &-item-label,
&-size-@{size} &-item-value {
padding-bottom: ~'@{descriptions-item-size-@{size}-spacing-bottom}';
padding-right: ~'@{descriptions-border-item-size-@{size}-padding-horizontal}';
font-size: ~'@{descriptions-size-@{size}-font-size-text}';
}
&-size-@{size}&-border &-item-label,
&-size-@{size}&-border &-item-value {
padding: ~'@{descriptions-border-item-size-@{size}-padding-vertical}' ~'@{descriptions-border-item-size-@{size}-padding-horizontal}';
}
&-size-@{size}&-border&-layout-inline-vertical &-item {
@_descriptions-padding-vertical: ~'descriptions-border-item-size-@{size}-padding-vertical';
padding: @@_descriptions-padding-vertical + 5px ~'@{descriptions-border-item-size-@{size}-padding-horizontal}';
}
}
.@{descriptions-prefix-cls} {
&-table {
width: 100%;
border-collapse: collapse;
}
&-table-layout-fixed table {
table-layout: fixed;
}
&-title {
font-size: @descriptions-font-size-title;
color: @descriptions-color-title;
font-weight: @descriptions-font-weight-title;
line-height: @line-height-base;
margin-bottom: @descriptions-size-default-title-margin-bottom;
}
&-item,
&-item-label,
&-item-value {
padding: 0 4px @descriptions-item-size-default-spacing-bottom 0;
text-align: left;
box-sizing: border-box;
font-size: @descriptions-size-default-font-size-text;
line-height: @line-height-base;
}
&-item-label {
color: @descriptions-color-text-label;
font-weight: @descriptions-font-weight-text-label;
width: 1px;
white-space: nowrap;
}
&-table-layout-fixed &-item-label {
width: auto;
}
&-item-value {
color: @descriptions-color-text-value;
font-weight: @descriptions-font-weight-text-value;
}
&-item-label-inline,
&-item-value-inline {
text-align: left;
box-sizing: border-box;
font-size: @descriptions-size-default-font-size-text;
line-height: @line-height-base;
}
&-item-label-inline {
color: @descriptions-color-text-label;
font-weight: @descriptions-font-weight-text-label;
margin-bottom: 2px;
}
&-item-value-inline {
color: @descriptions-color-text-value;
font-weight: @descriptions-font-weight-text-value;
}
&-layout-inline-horizontal &-item-label-inline {
margin-right: 4px;
}
&-layout-inline-horizontal &-item-label-inline,
&-layout-inline-horizontal &-item-value-inline {
display: inline-block;
margin-bottom: 0;
}
&-border&-layout-inline-vertical &-item {
padding: @descriptions-border-item-size-default-padding-vertical + 5px
@descriptions-border-item-size-default-padding-horizontal;
}
&-border &-body {
border: @descriptions-border-width @descriptions-border-style @descriptions-color-border;
border-radius: @descriptions-border-radius;
overflow: hidden;
}
&-border &-row:not(:last-child) {
border-bottom: @descriptions-border-width @descriptions-border-style @descriptions-color-border;
}
&-border:not(&-rtl) &-item,
&-border:not(&-rtl) &-item-label,
&-border:not(&-rtl) &-item-value {
border-right: @descriptions-border-width @descriptions-border-style @descriptions-color-border;
}
&-border &-item,
&-border &-item-label,
&-border &-item-value {
padding: @descriptions-border-item-size-default-padding-vertical
@descriptions-border-item-size-default-padding-horizontal;
}
&-border &-item-label {
background-color: @descriptions-border-color-bg-label;
}
&-border &-item-value:last-child {
border-right: none;
}
&-border &-item:last-child {
border-right: none;
}
&-border&-layout-vertical &-item-label:last-child {
border-right: none;
}
&-layout-vertical:not(&-border) &-item-value:first-child {
padding-left: 0;
}
// Size
.descriptions-size(mini);
.descriptions-size(small);
.descriptions-size(medium);
.descriptions-size(large);
}
.@{descriptions-prefix-cls}-rtl {
direction: rtl;
.@{descriptions-prefix-cls} {
&-item,
&-item-label,
&-item-value {
text-align: right;
padding: 0 0 @descriptions-item-size-default-spacing-bottom 4px;
}
&-item-label-inline,
&-item-value-inline {
text-align: right;
}
}
&.@{descriptions-prefix-cls} {
&-layout-inline-horizontal {
.@{descriptions-prefix-cls}-item-label-inline {
margin-right: 0;
margin-left: 4px;
}
}
&-border {
.@{descriptions-prefix-cls}-item,
.@{descriptions-prefix-cls}-item-label,
.@{descriptions-prefix-cls}-item-value {
border-left: @descriptions-border-width @descriptions-border-style
@descriptions-color-border;
padding: @descriptions-border-item-size-default-padding-vertical
@descriptions-border-item-size-default-padding-horizontal;
}
.@{descriptions-prefix-cls}-item:last-child,
.@{descriptions-prefix-cls}-item-value:last-child {
border-left: none;
}
&.@{descriptions-prefix-cls}-layout-vertical {
.@{descriptions-prefix-cls}-item-label:last-child {
border-left: none;
}
}
}
&-layout-vertical:not(&-border) {
.@{descriptions-prefix-cls}-item-value:first-child {
padding-right: 0;
}
}
}
}
/********** Descriptions end ***************/
/********** Divider ***************/
@divider-margin-horizontal: @spacing-6;
@divider-margin-vertical: @spacing-8;
@divider-margin-vertical_text: @spacing-8;
@divider-margin-text: @spacing-7;
@divider-position-text-left: @spacing-9;
@divider-position-text-right: @spacing-9;
@divider-font-size: @font-size-body-3;
@divider-font-weight: @font-weight-500;
@divider-size: 1px;
@divider-line-style: @border-solid;
@divider-color-bg: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@divider-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@divider-prefix-cls: ~'@{prefix}-divider';
.@{divider-prefix-cls} {
&-horizontal {
position: relative;
width: 100%;
min-width: 100%;
max-width: 100%;
margin: @divider-margin-vertical 0;
border-bottom: @divider-size @divider-line-style @divider-color-bg;
clear: both;
&.@{divider-prefix-cls}-with-text {
margin: @divider-margin-vertical_text 0;
display: flex;
align-items: center;
border-bottom-width: 0;
border-bottom-style: @divider-line-style;
&::before,
&::after {
content: '';
height: 0;
flex: 1;
border-bottom: @divider-size;
border-bottom-style: inherit;
border-bottom-color: inherit;
}
}
&.@{divider-prefix-cls}-with-text-left:before {
flex-basis: @divider-position-text-left;
flex-grow: 0;
}
&.@{divider-prefix-cls}-with-text-right:after {
flex-basis: @divider-position-text-right;
flex-grow: 0;
}
}
&-vertical {
display: inline-block;
min-width: 1px;
max-width: 1px;
height: 1em;
margin: 0 @divider-margin-horizontal;
border-left: @divider-size @divider-line-style @divider-color-bg;
vertical-align: middle;
}
// 仅水平分割线才支持文字,只考虑水平情况
&-text {
box-sizing: border-box;
padding: 0 @divider-margin-text;
font-size: @divider-font-size;
font-weight: @divider-font-weight;
line-height: 2;
color: @divider-color-text;
}
}
/********** Divider end ***************/
/********** Drawer ***************/
@drawer-size-header-height: @size-12;
@drawer-margin-footer-button-left: @spacing-6;
@drawer-font-header-size: @font-size-title-1;
@drawer-font-header-weight: @font-weight-500;
@drawer-padding-horizontal: @spacing-7;
@drawer-padding-footer-vertical: @spacing-7;
@drawer-padding-content-vertical: @spacing-6;
@drawer-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@drawer-color-header-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@drawer-color-content-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@drawer-position-close-icon-right: @spacing-7;
@drawer-font-size-close-icon: @size-3;
@drawer-prefix-cls: ~'@{prefix}-drawer';
.@{drawer-prefix-cls}-mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(~'@{arco-cssvars-prefix}-color-mask-bg');
}
.@{drawer-prefix-cls}-no-mask {
pointer-events: none;
.@{drawer-prefix-cls} {
pointer-events: auto;
}
}
.@{drawer-prefix-cls}-wrapper {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: @z-index-drawer;
&-hide {
display: none;
}
}
.@{drawer-prefix-cls} {
position: absolute;
width: 100%;
height: 100%;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-3');
line-height: @line-height-base;
&-wrapper {
position: relative;
height: 100%;
}
&-fixed {
position: fixed;
top: 0;
z-index: @z-index-drawer;
}
&-inner {
height: 100%;
overflow: hidden;
}
&-scroll {
overflow: auto;
height: 100%;
display: flex;
flex-direction: column;
}
&-header {
height: @drawer-size-header-height;
display: flex;
align-items: center;
width: 100%;
box-sizing: border-box;
padding: 0 @drawer-padding-horizontal;
border-bottom: @border-1 solid @drawer-color-border;
flex-shrink: 0;
&-title {
font-size: @drawer-font-header-size;
font-weight: @drawer-font-header-weight;
color: @drawer-color-header-text;
text-align: left;
}
}
&-footer {
box-sizing: border-box;
padding: @drawer-padding-footer-vertical @drawer-padding-horizontal;
border-top: @border-1 solid @drawer-color-border;
text-align: right;
flex-shrink: 0;
> .@{prefix}-btn {
margin-left: @drawer-margin-footer-button-left;
}
}
& &-close-icon {
position: absolute;
right: @drawer-position-close-icon-right +
((@icon-hover-size-default-height - @drawer-font-size-close-icon) / 2);
top: ((@drawer-size-header-height - @drawer-font-size-close-icon) / 2);
cursor: pointer;
z-index: 1;
font-size: @drawer-font-size-close-icon;
color: @drawer-color-header-text;
}
&-content {
flex: 1;
height: 100%;
padding: @drawer-padding-content-vertical @drawer-padding-horizontal;
color: @drawer-color-content-text;
box-sizing: border-box;
position: relative;
overflow: auto;
// &-inner {
// max-height: 100%;
// overflow: auto;
// padding: 0 28px;
// position: relative;
// box-sizing: border-box;
// }
}
}
.@{drawer-prefix-cls}-rtl {
direction: rtl;
.@{drawer-prefix-cls}-close-icon {
right: initial;
left: @drawer-position-close-icon-right +
((@icon-hover-size-default-height - @drawer-font-size-close-icon) / 2);
}
.@{drawer-prefix-cls}-footer {
text-align: left;
}
}
/********** Drawer end ***************/
/********** Dropdown ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/**********************************************
* Popup Box
**********************************************/
@dropdown-max-height: @size-50;
@dropdown-border-radius: @radius-medium;
@dropdown-padding-vertical: @spacing-2;
@dropdown-font-size: @font-size-body-3;
@dropdown-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@dropdown-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@dropdown-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@dropdown-option-height: @size-9;
@dropdown-option-padding-horizontal: @spacing-6;
@dropdown-option-font-weight_selected: @font-weight-500;
@dropdown-option-color-bg_default: @color-transparent;
@dropdown-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@dropdown-option-color-bg_selected: @color-transparent;
@dropdown-option-color-bg_disabled: @color-transparent;
@dropdown-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@dropdown-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@dropdown-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@dropdown-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// option group title
@dropdown-group-title-height: @size-5;
@dropdown-group-title-padding-horizontal: @spacing-6;
@dropdown-group-title-margin-top: @spacing-4;
@dropdown-group-title-font-size: @font-size-body-1;
@dropdown-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@dropdown-margin-left-suffix-icon: @spacing-6;
/**********************************************
* Theme dark
**********************************************/
@dropdown-dark-color-bg: var(~'@{arco-cssvars-prefix}-color-menu-dark-bg');
@dropdown-dark-color-border: @dropdown-dark-color-bg;
@dropdown-dark-option-color-bg_default: @color-transparent;
@dropdown-dark-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-menu-dark-hover');
@dropdown-dark-option-color-bg_selected: @color-transparent;
@dropdown-dark-option-color-bg_disabled: @color-transparent;
@dropdown-dark-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-4');
@dropdown-dark-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-4');
@dropdown-dark-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-white');
@dropdown-dark-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-2');
@dropdown-dark-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@dropdown-prefix-cls: ~'@{prefix}-dropdown';
.@{dropdown-prefix-cls} {
&-menu {
position: relative;
box-sizing: border-box;
max-height: @dropdown-max-height;
padding: @dropdown-padding-vertical 0;
border: 1px solid @dropdown-color-border;
border-radius: @dropdown-border-radius;
background-color: @dropdown-color-bg;
box-shadow: @dropdown-box-shadow;
overflow: auto;
&-hidden {
display: none;
}
&-item,
&-pop-header {
position: relative;
box-sizing: border-box;
width: 100%;
height: @dropdown-option-height;
padding: 0 @dropdown-option-padding-horizontal;
font-size: @dropdown-font-size;
line-height: $height;
text-align: left;
cursor: pointer;
// 避免 Trigger 的小箭头位于其上方
z-index: 1;
.text-ellipsis();
// default
color: @dropdown-option-color-text_default;
background-color: @dropdown-option-color-bg_default;
// selected
&.@{dropdown-prefix-cls}-menu-selected {
color: @dropdown-option-color-text_selected;
background-color: @dropdown-option-color-bg_selected;
font-weight: @dropdown-option-font-weight_selected;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
// hover
&:hover {
color: @dropdown-option-color-text_hover;
background-color: @dropdown-option-color-bg_hover;
}
// focus by Tab
&:focus-visible {
box-shadow: 0 0 0 2px @color-primary-6 inset;
}
// hotkey active
&.@{dropdown-prefix-cls}-menu-active {
box-shadow: 0 0 0 1px @color-primary-6 inset;
}
// disabled
&.@{dropdown-prefix-cls}-menu-disabled {
color: @dropdown-option-color-text_disabled;
background-color: @dropdown-option-color-bg_disabled;
cursor: not-allowed;
}
// overwrite color of links
a,
a:hover,
a:focus,
a:active {
color: inherit;
cursor: inherit;
text-decoration: none;
}
> a:only-child::before {
content: '';
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
}
&-pop-header {
display: flex;
align-items: center;
justify-content: space-between;
.@{dropdown-prefix-cls}-menu-icon-suffix {
margin-left: @dropdown-margin-left-suffix-icon;
}
}
&-group {
&:first-child &-title {
margin-top: @dropdown-group-title-margin-top - @dropdown-padding-vertical;
}
}
&-group-title {
margin-top: @dropdown-group-title-margin-top;
box-sizing: border-box;
width: 100%;
padding: 0 @dropdown-group-title-padding-horizontal;
line-height: @dropdown-group-title-height;
font-size: @dropdown-group-title-font-size;
color: @dropdown-group-title-color-text;
.text-ellipsis();
}
}
&-menu-dark {
border-color: @dropdown-dark-color-border;
background-color: @dropdown-dark-color-bg;
.@{dropdown-prefix-cls}-menu-item,
.@{dropdown-prefix-cls}-menu-pop-header {
// default
color: @dropdown-dark-option-color-text_default;
background-color: @dropdown-dark-option-color-bg_default;
// selected
&.@{dropdown-prefix-cls}-menu-selected {
color: @dropdown-dark-option-color-text_selected;
background-color: @dropdown-dark-option-color-bg_selected;
&:hover {
color: @dropdown-dark-option-color-text_selected;
}
}
// hover
&:hover {
color: @dropdown-dark-option-color-text_hover;
background-color: @dropdown-dark-option-color-bg_hover;
}
// disabled
&.@{dropdown-prefix-cls}-menu-disabled {
color: @dropdown-dark-option-color-text_disabled;
background-color: @dropdown-dark-option-color-bg_disabled;
}
}
.@{dropdown-prefix-cls}-menu-group-title {
color: @dropdown-dark-group-title-color-text;
}
}
&-menu-pop-trigger {
// 下拉框的 menu 弹出不需要小箭头
.@{prefix}-trigger-arrow {
display: none;
}
}
&-menu + .@{prefix}-trigger-arrow {
background-color: @dropdown-color-bg;
}
}
.@{dropdown-prefix-cls}-menu-rtl {
.@{dropdown-prefix-cls}-menu {
&-item,
&-pop-header {
text-align: right;
.@{dropdown-prefix-cls}-menu-icon-suffix {
margin-left: 0;
margin-right: @dropdown-margin-left-suffix-icon;
}
}
}
}
/********** Dropdown end ***************/
/********** Empty ***************/
@empty-spacing-padding: @spacing-5;
@empty-color-icon: rgb(var(~'@{arco-cssvars-prefix}-gray-5'));;
@empty-color-text: rgb(var(~'@{arco-cssvars-prefix}-gray-5'));;
@empty-font-size-image: @size-12;
@empty-font-size-text: @font-size-body-3;
@empty-spacing-image-margin-bottom: @spacing-2;
@empty-size-img-height: @size-20;
@empty-prefix-cls: ~'@{prefix}-empty';
.@{empty-prefix-cls} {
width: 100%;
padding: @empty-spacing-padding 0;
box-sizing: border-box;
& &-wrapper {
width: 100%;
box-sizing: border-box;
text-align: center;
color: @empty-color-icon;
.@{empty-prefix-cls}-image {
font-size: @empty-font-size-image;
line-height: 1;
margin-bottom: @empty-spacing-image-margin-bottom;
}
img {
height: @empty-size-img-height;
}
}
& &-description {
color: @empty-color-text;
font-size: @empty-font-size-text;
}
}
/********** Empty end ***************/
/********** Form ***************/
@form-size-mini-margin-item-bottom: @spacing-7;
@form-size-small-margin-item-bottom: @spacing-8;
@form-size-default-margin-item-bottom: @spacing-8;
@form-size-large-margin-item-bottom: @spacing-8;
@form-size-mini-size-item-height: @size-mini;
@form-size-small-size-item-height: @size-small;
@form-size-default-size-item-height: @size-default;
@form-size-large-size-item-height: @size-large;
@form-size-mini-font-label-size: @font-size-body-1;
@form-size-small-font-label-size: @font-size-body-3;
@form-size-large-font-label-size: @font-size-body-3;
@form-size-default-font-label-size: @font-size-body-3;
@form-font-extra-text-size: @font-size-body-1;
@form-font-error-text-size: @font-size-body-1;
@form-margin-label-right: @spacing-7;
@form-margin-extra-bottom: @spacing-2;
@form-margin-extra-top: @spacing-2;
@form-inline-margin-item-right: @spacing-9;
@form-inline-margin-item-bottom: @spacing-4;
@form-vertical-margin-label-bottom: @spacing-4;
@form-color-extra-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@form-color-text-label: var(~'@{arco-cssvars-prefix}-color-text-2');
@form-color-text-tooltip: var(~'@{arco-cssvars-prefix}-color-text-4');
@form-margin-tooltip-left: @spacing-2;
@form-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@form-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@form-color-bg_warning_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@form-color-border_warning: @color-transparent;
@form-color-border_warning_focus: @color-warning-6;
@form-color-border_warning_hover: @color-transparent;
@form-size-shadow_warning_focus: @shadow-distance-none;
@form-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@form-color-bg_success: var(~'@{arco-cssvars-prefix}-color-fill-2');
@form-color-bg_success_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@form-color-bg_success_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@form-color-border_success: @color-transparent;
@form-color-border_success_focus: @color-success-6;
@form-color-border_success_hover: @color-transparent;
@form-size-shadow_success_focus: @shadow-distance-none;
@form-color-shadow_success_focus: var(~'@{arco-cssvars-prefix}-color-success-light-2');
@form-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@form-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@form-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@form-color-border_error: @color-transparent;
@form-color-border_error_focus: @color-danger-6;
@form-color-border_error_hover: @color-transparent;
@form-size-shadow_error_focus: @shadow-distance-none;
@form-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@form-color-bg_validating: var(~'@{arco-cssvars-prefix}-color-fill-2');
@form-color-bg_validating_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@form-color-bg_validating_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@form-color-border_validating: @color-transparent;
@form-color-border_validating_focus: @color-primary-6;
@form-color-border_validating_hover: @color-transparent;
@form-size-shadow_validating_focus: @shadow-distance-none;
@form-color-shadow_validating_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@form-color-tip-text_success: @color-success-6;
@form-color-tip-icon-text_success: @color-success-6;
@form-color-tip-text_error: @color-danger-6;
@form-color-tip-icon-text_error: @color-danger-6;
@form-color-tip-text_warning: @color-warning-6;
@form-color-tip-icon-text_warning: @color-warning-6;
@form-color-tip-text_validating: @color-primary-6;
@form-color-tip-icon-text_validating: @color-primary-6;
@form-prefix-cls: ~'@{prefix}-form';
.@{form-prefix-cls} {
width: 100%;
display: flex;
flex-direction: column;
&-inline {
flex-flow: row wrap;
}
&-inline &-item {
width: auto;
margin-bottom: @form-inline-margin-item-bottom;
}
&-item {
width: 100%;
margin-bottom: @form-size-default-margin-item-bottom;
display: flex;
justify-content: flex-start;
align-items: flex-start;
&&-hidden {
display: none;
}
> .@{form-prefix-cls}-label-item {
padding-right: @form-margin-label-right;
}
&&-error {
margin-bottom: 0;
}
}
&-item-wrapper-flex.@{prefix}-col {
flex: 1;
}
/** size style **/
&-size-mini &-label-item {
line-height: @form-size-mini-size-item-height;
font-size: @form-size-mini-font-label-size;
> label {
font-size: @form-size-mini-font-label-size;
}
}
&-size-mini &-item-control {
min-height: @form-size-mini-size-item-height;
}
&-size-small &-label-item {
line-height: @form-size-small-size-item-height;
> label {
font-size: @form-size-small-font-label-size;
}
}
&-size-small &-item-control {
min-height: @form-size-small-size-item-height;
}
&-size-large &-label-item {
line-height: @form-size-large-size-item-height;
> label {
font-size: @form-size-large-font-label-size;
}
}
&-size-large &-item-control {
min-height: @form-size-large-size-item-height;
}
&-extra {
font-size: @form-font-extra-text-size;
color: @form-color-extra-text;
margin-top: @form-margin-extra-top;
}
&-message {
font-size: @form-font-error-text-size;
color: @form-color-tip-text_error;
min-height: @form-size-default-margin-item-bottom;
line-height: @form-size-default-margin-item-bottom;
&-help {
color: @form-color-extra-text;
}
+ .@{form-prefix-cls}-extra {
margin-bottom: @form-margin-extra-bottom;
margin-top: 0;
}
}
&-layout-vertical {
display: block;
> .@{form-prefix-cls}-label-item {
line-height: @line-height-base;
white-space: normal;
text-align: left;
padding: 0;
margin-bottom: @form-vertical-margin-label-bottom;
}
}
&-layout-inline {
margin-right: @form-inline-margin-item-right;
}
&-label-item {
text-align: right;
white-space: nowrap;
line-height: @form-size-default-size-item-height;
&-flex.@{prefix}-col {
flex: 0;
> label {
white-space: nowrap;
}
}
> label {
font-size: @form-size-default-font-label-size;
white-space: normal;
color: @form-color-text-label;
}
.@{form-prefix-cls}-item-tooltip {
margin-left: @form-margin-tooltip-left;
color: @form-color-text-tooltip;
}
.@{form-prefix-cls}-item-symbol {
color: @color-danger-6;
font-size: @font-size-body-1;
line-height: 1;
svg {
transform: scale(0.5);
}
}
}
&-label-item-left {
text-align: left;
}
&-item-control {
display: flex;
align-items: center;
min-height: @form-size-default-size-item-height;
width: 100%;
&-children {
width: 100%;
flex: 1;
}
&-wrapper {
display: flex;
width: 100%;
flex-direction: column;
align-items: flex-start;
}
}
/** slider display: block **/
.@{prefix}-slider {
display: block;
}
}
// Copied from Select
.select-color (@prefixCls, @status) {
.@{prefixCls}:not(.@{prefixCls}-disabled) {
.@{prefixCls}-view {
background-color: ~'@{form-color-bg_@{status}}';
border-color: ~'@{form-color-border_@{status}}';
}
&:hover {
.@{prefixCls}-view {
background-color: ~'@{form-color-bg_@{status}_hover}';
border-color: ~'@{form-color-border_@{status}_hover}';
}
}
}
.@{prefixCls}:not(.@{prefixCls}-disabled).@{prefixCls}-focused {
.@{prefixCls}-view {
background-color: ~'@{form-color-bg_@{status}_focus}';
border-color: ~'@{form-color-border_@{status}_focus}';
box-shadow: 0 0 0 ~'@{form-size-shadow_@{status}_focus}' ~'@{form-color-shadow_@{status}_focus}';
}
}
}
.picker(@status) {
.@{prefix}-picker:not(.@{prefix}-picker-disabled) {
border-color: ~'@{form-color-border_@{status}}';
background-color: ~'@{form-color-bg_@{status}}';
&:hover {
border-color: ~'@{form-color-border_@{status}_hover}';
background-color: ~'@{form-color-bg_@{status}_hover}';
}
}
.@{prefix}-picker-focused:not(.@{prefix}-picker-disabled) {
&,
&:hover {
border-color: ~'@{form-color-border_@{status}_focus}';
background-color: ~'@{form-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{form-size-shadow_@{status}_focus}' ~'@{form-color-shadow_@{status}_focus}';
}
}
}
// Copied from InputTag
.input-tag-color(@status) {
.@{prefix}-input-tag {
background-color: ~'@{form-color-bg_@{status}}';
border-color: ~'@{form-color-border_@{status}}';
&:hover {
border-color: ~'@{form-color-border_@{status}_hover}';
background-color: ~'@{form-color-bg_@{status}_hover}';
}
&.@{prefix}-input-tag-focus when not (@status = disabled) {
border-color: ~'@{form-color-border_@{status}_focus}';
background-color: ~'@{form-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{form-size-shadow_@{status}_focus}' ~'@{form-color-shadow_@{status}_focus}';
}
}
}
.validate-status (@status) {
/** input, input number **/
// copy from input
& {
// 禁用优先级u高于status
.@{prefix}-input:not(.@{prefix}-input-disabled),
.@{prefix}-input-inner-wrapper:not(.@{prefix}-input-inner-wrapper-disabled),
.@{prefix}-textarea:not(.@{prefix}-textarea-disabled) {
.@{prefix}-form-item-status-@{status} & {
border-color: ~'@{form-color-border_@{status}}';
background-color: ~'@{form-color-bg_@{status}}';
&:hover {
border-color: ~'@{form-color-border_@{status}_hover}';
background-color: ~'@{form-color-bg_@{status}_hover}';
}
}
}
.@{prefix}-input-inner-wrapper,
.@{prefix}-textarea {
.@{prefix}-form-item-status-@{status} &&-focus,
.@{prefix}-form-item-status-@{status} &&-focus:hover {
border-color: ~'@{form-color-border_@{status}_focus}';
background-color: ~'@{form-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{form-size-shadow_@{status}_focus}' ~'@{form-color-shadow_@{status}_focus}';
}
}
// 单独input ,没有前后缀
.@{prefix}-input {
.@{prefix}-form-item-status-@{status} &:focus,
.@{prefix}-form-item-status-@{status} &:focus:hover {
border-color: ~'@{form-color-border_@{status}_focus}';
background-color: ~'@{form-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{form-size-shadow_@{status}_focus}' ~'@{form-color-shadow_@{status}_focus}';
}
}
// 前后缀 或者清楚图标时,input不设置背景色
.@{prefix}-form-item-status-@{status} .@{prefix}-input-inner-wrapper .@{prefix}-input {
background: none;
box-shadow: none;
&:hover {
background: none;
box-shadow: none;
}
}
.@{prefix}-form-item-status-@{status} {
/** select **/
.select-color(~'@{prefix}-select', @status);
/** cascader **/
.select-color(~'@{prefix}-cascader', @status);
/** treeselect **/
.select-color(~'@{prefix}-tree-select', @status);
/** Datepicker **/
.picker(@status);
/** InputTag **/
.input-tag-color(@status);
}
}
.@{prefix}-form-item-status-@{status} {
.@{form-prefix-cls}-message-help {
color: ~'@{form-color-tip-text_@{status}}';
.@{form-prefix-cls}-message-help-warning {
color: @form-color-tip-text_warning;
}
}
}
.@{form-prefix-cls}-item-feedback-@{status} {
color: ~'@{form-color-tip-icon-text_@{status}}';
}
}
.validate-status(validating);
.validate-status(success);
.validate-status(warning);
.validate-status(error);
.@{form-prefix-cls}-item-control-children {
position: relative;
}
.@{form-prefix-cls}-item-feedback {
position: absolute;
right: 9px;
top: 50%;
font-size: 14px;
transform: translateY(-50%);
.@{prefix}-icon-loading {
font-size: 12px;
}
}
.form-item-has-feedback(@rtl) {
@direction: if(@rtl = ~'rtl', left, right);
.select-view(@prefix) {
.@{prefix}.@{prefix}-multiple .@{prefix}-view,
.@{prefix}.@{prefix}-single .@{prefix}-view {
padding-@{direction}: 28px;
}
.@{prefix}.@{prefix}-multiple .@{prefix}-suffix {
padding-@{direction}: 0;
}
}
.@{prefix}-input,
.@{prefix}-input-inner-wrapper,
.@{prefix}-textarea {
padding-@{direction}: 28px;
}
.@{prefix}-input-number-mode-embed .@{prefix}-input-number-step-layer {
@direction: 24px;
}
.select-view(~'@{prefix}-select');
.select-view(~'@{prefix}-cascader');
.select-view(~'@{prefix}-tree-select');
// datepicker timepicker
.@{prefix}-picker {
padding-@{direction}: 28px;
}
.@{prefix}-picker-suffix {
.@{prefix}-picker-suffix-icon,
.@{prefix}-picker-clear-icon {
margin-right: 0;
margin-left: 0;
}
}
// InputTag
.@{prefix}-input-tag {
padding-@{direction}: 23px;
&-suffix {
padding-@{direction}: 0;
}
}
}
.@{form-prefix-cls}-item-has-feedback {
.form-item-has-feedback(ltr);
}
// rtl
.@{form-prefix-cls}-rtl .@{form-prefix-cls}-item-feedback {
right: unset;
left: 9px;
}
.@{form-prefix-cls}-rtl .@{form-prefix-cls}-item-has-feedback {
.form-item-has-feedback(rtl);
}
.formblink-enter,
.formblink-appear {
opacity: 0;
}
.formblink-enter-active,
.formblink-appear-active {
opacity: 1;
transition: opacity @transition-duration-3 @transition-timing-function-linear;
}
.formblink-enter-done {
animation: ~'@{prefix}-form-blink' @transition-duration-5 @transition-timing-function-linear;
}
@keyframes ~'@{prefix}-form-blink' {
0% {
opacity: 1;
}
50% {
opacity: 0.2;
}
100% {
opacity: 1;
}
}
.@{form-prefix-cls}-rtl {
direction: rtl;
.@{form-prefix-cls} {
&-item {
> .@{form-prefix-cls}-label-item {
padding-left: @form-margin-label-right;
padding-right: 0;
}
}
&-label-item {
text-align: left;
}
}
.@{form-prefix-cls}-layout-vertical {
> .@{form-prefix-cls}-label-item {
text-align: right;
}
}
.@{form-prefix-cls}-layout-inline {
margin-right: 0;
margin-left: @form-inline-margin-item-right;
}
}
/********** Form end ***************/
/********** Grid ***************/
@row-prefix-cls: ~'@{prefix}-row';
.@{row-prefix-cls} {
display: flex;
flex-flow: row wrap;
&-align-start {
align-items: flex-start;
}
&-align-center {
align-items: center;
}
&-align-end {
align-items: flex-end;
}
&-justify-start {
justify-content: flex-start;
}
&-justify-center {
justify-content: center;
}
&-justify-end {
justify-content: flex-end;
}
&-justify-space-around {
justify-content: space-around;
}
&-justify-space-between {
justify-content: space-between;
}
&-rtl {
direction: rtl;
}
}
@col-prefix-cls: ~'@{prefix}-col';
.@{col-prefix-cls} {
position: relative;
box-sizing: border-box;
&-rtl {
direction: rtl;
}
.span(@span, @adaptation) when (@span >= 0) {
.span((@span - 1), @adaptation);
@usedAdaptation: if(@adaptation = '', ~'', ~'-@{adaptation}');
&@{usedAdaptation}-@{span} {
.col-style(@span) when (@span > 0) {
display: block;
width: (100% / 24) * @span;
flex: 0 0 (100% / 24) * @span;
}
.col-style(@span) when (@span = 0) {
display: none;
}
.col-style(@span);
}
}
.offset(@offset, @adaptation) when (@offset >= 0) {
.offset((@offset - 1), @adaptation);
@usedAdaptation: if(@adaptation = '', ~'', ~'-@{adaptation}');
&@{usedAdaptation}-offset-@{offset} {
margin-left: (100% / 24) * @offset;
}
&@{usedAdaptation}-offset-@{offset}&-rtl {
margin-left: 0;
margin-right: (100% / 24) * @offset;
}
}
.order(@order, @adaptation) when (@order >= 0) {
.order((@order - 1), @adaptation);
@usedAdaptation: if(@adaptation = '', ~'', ~'-@{adaptation}');
&@{usedAdaptation}-order-@{order} {
order: @order;
}
}
.pull(@count, @adaptation) when (@count >= 0) {
.pull((@count - 1), @adaptation);
@usedAdaptation: if(@adaptation = '', ~'', ~'-@{adaptation}');
&@{usedAdaptation}-pull-@{count} {
right: (100% / 24) * @count;
}
&@{usedAdaptation}-pull-@{count}&-rtl {
right: unset;
left: (100% / 24) * @count;
}
}
.push(@count, @adaptation) when (@count >= 0) {
.push((@count - 1), @adaptation);
@usedAdaptation: if(@adaptation = '', ~'', ~'-@{adaptation}');
&@{usedAdaptation}-push-@{count} {
left: (100% / 24) * @count;
}
&@{usedAdaptation}-push-@{count}&-rtl {
left: unset;
right: (100% / 24) * @count;
}
}
.span(24, '');
.offset(23, '');
.order(24, '');
.pull(24, '');
.push(24, '');
// adaptation
.span(24, xs);
.offset(23, xs);
.order(24, xs);
.pull(24, xs);
.push(24, xs);
@media (min-width: 576px) {
.span(24, sm);
.offset(23, sm);
.order(24, sm);
.pull(24, sm);
.push(24, sm);
}
@media (min-width: 768px) {
.span(24, md);
.offset(23, md);
.order(24, md);
.pull(24, md);
.push(24, md);
}
@media (min-width: 992px) {
.span(24, lg);
.offset(23, lg);
.order(24, lg);
.pull(24, lg);
.push(24, lg);
}
@media (min-width: 1200px) {
.span(24, xl);
.offset(23, xl);
.order(24, xl);
.pull(24, xl);
.push(24, xl);
}
@media (min-width: 1600px) {
.span(24, xxl);
.offset(23, xxl);
.order(24, xxl);
.pull(24, xxl);
.push(24, xxl);
}
@media (min-width: 2000px) {
.span(24, xxxl);
.offset(23, xxxl);
.order(24, xxxl);
.pull(24, xxxl);
.push(24, xxxl);
}
}
@grid-prefix-cls: ~'@{prefix}-grid';
.@{grid-prefix-cls} {
display: grid;
&-rtl {
direction: rtl;
}
}
/********** Grid end ***************/
/********** Input ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
.input-status(@status) {
// 禁用优先级u高于status
&-@{status} {
border-color: ~'@{input-color-border_@{status}}';
background-color: ~'@{input-color-bg_@{status}}';
&:hover {
border-color: ~'@{input-color-border_@{status}_hover}';
background-color: ~'@{input-color-bg_@{status}_hover}';
}
}
// 前后缀或者清楚图标时,input不设置背景色
&-@{status} .@{prefix}-input {
background: none;
box-shadow: none;
&:hover {
background: none;
box-shadow: none;
}
}
&-@{status}&-focus {
&,
&:hover {
border-color: ~'@{input-color-border_@{status}_focus}';
background-color: ~'@{input-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{input-size-shadow_@{status}_focus}' ~'@{input-color-shadow_@{status}_focus}';
}
}
// 单独input ,没有前后缀
&-@{status} {
&:focus,
&:focus:hover {
border-color: ~'@{input-color-border_@{status}_focus}';
background-color: ~'@{input-color-bg_@{status}_focus}';
box-shadow: 0 0 0 ~'@{input-size-shadow_@{status}_focus}' ~'@{input-color-shadow_@{status}_focus}';
}
}
}
@input-prefix-cls: ~'@{prefix}-input';
.get-padding(@input-size-height, @input-font-size) {
padding-top: (
round(
((@input-size-height - @input-border-width * 2 - @line-height-base * @input-font-size) / 2)
)
);
padding-bottom: round(
((@input-size-height - @input-border-width * 2 - @line-height-base * @input-font-size) / 2)
);
}
.disabled-style() {
background-color: @input-color-bg_disabled;
cursor: not-allowed;
color: @input-color-text_disabled;
-webkit-text-fill-color: @input-color-text_disabled;
border-color: @input-color-border_disabled;
&:hover {
border-color: @input-color-border_disabled;
background-color: @input-color-bg_disabled;
color: @input-color-text_disabled;
}
&::placeholder {
color: @input-color-text_disabled;
}
}
.input-style() {
outline: none;
appearance: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0%);
width: 100%;
border-radius: @input-border-radius;
color: @input-color-text;
padding-left: @input-padding-horizontal;
padding-right: @input-padding-horizontal;
font-size: @input-size-default-font-size;
box-sizing: border-box;
transition: color @transition-duration-1 @transition-timing-function-linear,
border-color @transition-duration-1 @transition-timing-function-linear,
background-color @transition-duration-1 @transition-timing-function-linear;
border: @input-border-width solid @input-color-border;
background-color: @input-color-bg;
&::placeholder {
color: @input-color-placeholder-text;
}
&:hover {
background-color: @input-color-bg_hover;
border-color: @input-color-border_hover;
}
&:focus,
&&-focus {
border-color: @input-color-border_focus;
background-color: @input-color-bg_focus;
box-shadow: 0 0 0 @input-size-shadow_focus @input-color-shadow_focus;
}
.input-status(error);
.input-status(warning);
}
.@{input-prefix-cls} {
.get-padding(@input-size-default-height, @input-size-default-font-size);
line-height: @line-height-base;
.input-style();
&-autowidth {
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
&:hover {
text-overflow: unset;
}
}
// 禁用样式
&-disabled {
.disabled-style();
}
input:disabled {
color: @input-color-text_disabled;
opacity: 1;
-webkit-text-fill-color: @input-color-text_disabled;
}
&-word-limit {
font-size: @input-font-tip-size;
color: @input-color-tip-text;
padding-left: @input-padding-word-limit-left;
&-error {
color: @input-color-border_error_focus;
}
}
// 不同尺寸
.size-height();
}
// 清除icon
.@{input-prefix-cls}-clear-icon {
font-size: @input-size-icon-clear;
cursor: pointer;
color: @input-color-icon-clear;
&:focus-visible::before {
box-shadow: 0 0 0 2px @input-color-border_focus;
}
> svg {
transition: color @transition-duration-1 @transition-timing-function-linear;
position: relative;
}
}
.@{input-prefix-cls}-inner-wrapper {
.input-style();
display: inline-flex;
width: 100%;
position: relative;
align-items: center;
.@{input-prefix-cls} {
padding-left: 0;
padding-right: 0;
border-radius: 0;
border: none;
background: none;
}
.@{input-prefix-cls}:hover,
.@{input-prefix-cls}:focus {
background: none;
box-shadow: none;
}
// 有前缀
&-has-prefix > .@{input-prefix-cls}-clear-wrapper .@{input-prefix-cls},
&-has-prefix > .@{input-prefix-cls} {
padding-left: @input-padding-horizontal;
}
.@{input-prefix-cls}-group-prefix,
.@{input-prefix-cls}-group-suffix {
user-select: none;
white-space: nowrap;
display: inline-flex;
align-items: center;
height: 100%;
> svg {
font-size: @input-size-default-icon-suffix-size;
}
}
.@{input-prefix-cls}-group-prefix {
color: @input-color-prefix-text;
}
.@{input-prefix-cls}-group-suffix {
color: @input-color-suffix-text;
}
&-disabled {
// 禁用样式
.disabled-style();
.@{input-prefix-cls}-group-prefix,
.@{input-prefix-cls}-group-suffix {
color: inherit;
}
}
.@{input-prefix-cls}-clear-icon {
visibility: hidden;
}
&:hover {
.@{input-prefix-cls}-clear-icon {
visibility: visible;
& ~ .@{input-prefix-cls}-group-suffix {
margin-left: 4px;
}
}
}
&:not(&-focus) .@{input-prefix-cls}-clear-icon:hover::before {
background-color: @input-color-icon-clear-bg_hover;
}
}
.@{input-prefix-cls}-group-wrapper-autowidth {
.@{input-prefix-cls}-group {
display: flex;
align-items: stretch;
&-addbefore,
&-after {
display: inline-flex;
height: unset;
flex-shrink: 0;
flex-grow: 0;
width: auto;
align-items: center;
}
}
.@{input-prefix-cls}-inner-wrapper {
overflow: hidden;
}
.@{input-prefix-cls} {
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
&:hover {
text-overflow: unset;
}
}
}
.@{input-prefix-cls}-group {
display: table;
width: 100%;
height: 100%;
// fix issue: https://github.com/arco-design/arco-design/issues/2310
line-height: 0;
> .@{input-prefix-cls}-inner-wrapper,
> .@{input-prefix-cls} {
border-radius: 0;
&-focus {
border-radius: @input-border-radius;
}
}
> :first-child {
border-top-left-radius: @input-border-radius;
border-bottom-left-radius: @input-border-radius;
}
> :last-child {
border-top-right-radius: @input-border-radius;
border-bottom-right-radius: @input-border-radius;
}
}
.@{input-prefix-cls}-group-addbefore,
.@{input-prefix-cls}-group-addafter {
width: 1px;
display: table-cell;
white-space: nowrap;
height: 100%;
vertical-align: middle;
box-sizing: border-box;
padding: 0 @input-padding-horizontal;
color: @input-color-addon-text;
background-color: @input-color-addon-bg;
border: 1px solid @input-color-addon-border_default;
> svg {
font-size: @input-size-default-icon-addon-size;
}
}
.@{input-prefix-cls}-group-addafter {
border-left: @input-border-addon-separator-width solid @input-color-addon-border;
.addon(after, @input-size-default-height, @input-size-default-font-size);
}
.@{input-prefix-cls}-group-addbefore {
border-right: @input-border-addon-separator-width solid @input-color-addon-border;
.addon(before, @input-size-default-height, @input-size-default-font-size);
}
.@{input-prefix-cls}-group-wrapper {
width: 100%;
display: inline-block;
vertical-align: top;
// height: @input-size-default-height;
.group-size();
.@{input-prefix-cls}-inner-wrapper {
height: 100%;
}
&.@{input-prefix-cls}-disabled {
cursor: not-allowed;
}
}
.@{input-prefix-cls}-mirror {
position: absolute;
top: 0;
left: 0;
visibility: hidden;
}
.@{prefix}-textarea {
.input-style();
font-size: @textarea-font-size;
vertical-align: top;
position: relative;
padding: @textarea-padding-vertical @textarea-padding-horizontal;
max-width: 100%;
min-height: @textarea-size-min-height;
height: auto;
line-height: @line-height-base;
resize: vertical;
overflow: auto;
// 禁用样式
&-disabled {
.disabled-style();
}
}
// input group compact
.@{input-prefix-cls}-group.@{input-prefix-cls}-group-compact {
// select 圆角重置
> .@{prefix}-select {
vertical-align: unset;
.@{prefix}-select-view {
border-radius: 0;
}
}
> * {
border-radius: 0;
.@{prefix}-input-group > :last-child,
.@{prefix}-input-group > :first-child {
border-radius: 0;
}
&:not(:last-child) {
position: relative;
border-right: @input-group-border-separator-width solid @input-group-color-separator-border;
box-sizing: border-box;
}
&:first-child,
&:first-child .@{prefix}-input-group > *:first-child {
border-top-left-radius: @input-group-border-radius_compact;
border-bottom-left-radius: @input-group-border-radius_compact;
.@{prefix}-select {
.@{prefix}-select-view {
border-top-left-radius: @input-group-border-radius_compact;
border-bottom-left-radius: @input-group-border-radius_compact;
}
}
}
&:last-child,
&:last-child .@{prefix}-input-group > *:last-child {
border-top-right-radius: @input-group-border-radius_compact;
border-bottom-right-radius: @input-group-border-radius_compact;
.@{prefix}-select {
.@{prefix}-select-view {
border-top-right-radius: @input-group-border-radius_compact;
border-bottom-right-radius: @input-group-border-radius_compact;
}
}
}
}
> .@{prefix}-input:not(:last-child) {
border-right-color: @input-group-color-separator-border;
&:focus {
border-right-color: @input-color-border_focus;
}
}
}
// 前置后置标签
.addon(@position, @size-height, @size-font-size) {
.item-style {
margin-top: -1px;
margin-bottom: -1px;
width: auto;
height: 100%;
& when (@position = before) {
margin-left: -@input-padding-horizontal - 1px;
margin-right: -@input-padding-horizontal;
}
& when (@position = after) {
margin-left: -@input-padding-horizontal;
margin-right: -@input-padding-horizontal - 1px;
}
}
// select,input 的边角和边框
.border-radius() {
& when (@position = before) {
border-color: transparent;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
& when (@position = after) {
border-color: transparent;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
.@{prefix}-input {
.item-style();
.border-radius();
}
// 作为前置/后置标签时,重写一些select的样式
.@{prefix}-select {
.item-style();
.@{prefix}-select-view {
border-radius: 0;
background-color: inherit;
border-color: transparent;
}
&.@{prefix}-select-single {
.@{prefix}-select-view {
height: 100%;
}
}
}
}
// 不同尺寸的高度
.size-height {
.height (@size-height, @size-font-size) {
.get-padding(@size-height, @size-font-size);
font-size: @size-font-size;
}
.padding-horizontal(@size) {
@padding: ~'input-size-@{size}-padding-horizontal';
&-group-wrapper-@{size} {
.@{input-prefix-cls}-group-addbefore,
.@{input-prefix-cls}-group-addafter {
padding-left: @@padding;
padding-right: @@padding;
}
}
&-inner-wrapper&-inner-wrapper-@{size} {
padding-left: @@padding;
padding-right: @@padding;
}
&-size-@{size} {
padding-left: @@padding;
padding-right: @@padding;
}
}
&-size-mini {
line-height: 1.667;
font-size: @input-size-mini-font-size;
padding-top: (
round(@input-size-mini-height - @input-border-width * 2 - $line-height * $font-size) / 2
);
padding-bottom: (
round(@input-size-mini-height - @input-border-width * 2 - $line-height * $font-size) / 2
);
}
&-size-small {
.height(@input-size-small-height, @input-size-small-font-size);
}
&-size-large {
.height(@input-size-large-height, @input-size-large-font-size);
}
.padding-horizontal(mini);
.padding-horizontal(small);
.padding-horizontal(large);
}
// 不同尺寸的带有前置后置标签的高度
.group-size {
.size-font-size (@size-input-height, @size-font-size, @suffix-icon-size, @addon-icon-size) {
.@{input-prefix-cls}-group {
font-size: @size-font-size;
}
.@{input-prefix-cls}-inner-wrapper {
.@{input-prefix-cls}-group-prefix,
.@{input-prefix-cls}-group-suffix {
font-size: @size-font-size;
> svg {
font-size: @suffix-icon-size;
}
}
}
.@{input-prefix-cls}-group-addbefore,
.@{input-prefix-cls}-group-addafter {
font-size: @size-font-size;
height: @size-input-height - 2;
> svg {
font-size: @addon-icon-size;
}
}
.@{input-prefix-cls}-group-addafter {
.addon(after, @size-input-height, @size-font-size);
}
.@{input-prefix-cls}-group-addbefore {
.addon(before, @size-input-height, @size-font-size);
}
}
&&-mini {
.size-font-size(
@input-size-mini-height,
@input-size-mini-font-size,
@input-size-mini-icon-suffix-size,
@input-size-mini-icon-addon-size
);
}
&&-small {
.size-font-size(
@input-size-small-height,
@input-size-small-font-size,
@input-size-small-icon-suffix-size,
@input-size-small-icon-addon-size
);
}
&&-large {
.size-font-size(
@input-size-large-height,
@input-size-large-font-size,
@input-size-large-icon-suffix-size,
@input-size-large-icon-addon-size
);
}
&.@{input-prefix-cls}-custom-height {
.size-font-size(
@input-size-mini-height,
@input-size-default-font-size,
@input-size-default-icon-suffix-size,
@input-size-default-icon-addon-size
);
.@{input-prefix-cls}-inner-wrapper {
height: 100%;
.@{input-prefix-cls} {
height: 100%;
}
.@{input-prefix-cls}-clear-wrapper {
height: 100%;
.@{input-prefix-cls} {
height: 100%;
}
}
}
}
}
@textarea-prefix-cls: ~'@{prefix}-textarea';
.@{textarea-prefix-cls}-wrapper {
display: inline-block;
position: relative;
width: 100%;
}
.@{textarea-prefix-cls}-clear-wrapper {
&:hover {
.@{textarea-prefix-cls}-clear-icon {
display: inline-block;
}
}
.@{textarea-prefix-cls} {
padding-right: @icon-hover-size-default-height;
}
}
.@{textarea-prefix-cls} {
&-word-limit {
position: absolute;
font-size: @textarea-font-tip-size;
bottom: @textarea-layout-tip-bottom;
right: @textarea-layout-tip-right;
color: @textarea-color-tip-text;
user-select: none;
&-error {
color: @input-color-border_error_focus;
}
}
&-clear-icon {
display: none;
position: absolute;
right: @textarea-layout-tip-right;
top: @textarea-layout-top-icon-clear;
font-size: @textarea-size-icon-clear;
color: @input-color-icon-clear;
> svg {
transition: color @transition-duration-1 @transition-timing-function-linear;
position: relative;
}
}
}
.@{input-prefix-cls}-search.@{input-prefix-cls}-group-wrapper {
.@{input-prefix-cls}-group-addbefore {
transition: all @transition-duration-1 @transition-timing-function-linear;
}
.@{input-prefix-cls}-group-addafter {
padding: 0;
border: none;
}
.@{input-prefix-cls}-group-suffix {
color: @search-color-icon;
font-size: @search-size-icon;
}
&:not(.@{input-prefix-cls}-disabled) {
.@{input-prefix-cls}-group-addbefore {
cursor: pointer;
color: @search-color-icon;
font-size: @search-size-icon;
}
}
.@{input-prefix-cls}-search-btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
height: 100%;
font-size: @search-size-icon;
color: @search-button-color-text;
}
}
.@{input-prefix-cls}-search-button {
.@{input-prefix-cls}-inner-wrapper:not(.@{input-prefix-cls}-inner-wrapper-rtl) {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
.@{input-prefix-cls}-password.@{input-prefix-cls}-group-wrapper {
&:not(.@{input-prefix-cls}-disabled) {
.@{input-prefix-cls}-group-suffix {
cursor: pointer;
color: @password-color-eye-icon;
font-size: @password-size-eye-icon;
}
}
.@{input-prefix-cls}-password-visibility-icon:focus-visible {
box-shadow: 0 0 0 2px @input-color-border_focus;
border-radius: @radius-small;
}
}
.@{input-prefix-cls}-group-wrapper-rtl {
direction: rtl;
.@{input-prefix-cls} {
&-word-limit {
padding-left: 0;
padding-right: input-padding-word-limit-left;
}
}
&.@{input-prefix-cls}-clear-wrapper {
.@{input-prefix-cls} {
padding-right: 0;
padding-left: @input-size-icon-clear + @input-padding-horizontal;
}
}
.@{input-prefix-cls}-group {
> :first-child {
border-radius: 0 @input-border-radius @input-border-radius 0;
}
> :last-child {
border-radius: @input-border-radius 0 0 @input-border-radius;
}
&-addafter {
border-left: none;
border-right: @input-border-addon-separator-width solid @input-color-addon-border;
.addon(before, @input-size-default-height, @input-size-default-font-size);
}
&-addbefore {
border-right: none;
border-left: @input-border-addon-separator-width solid @input-color-addon-border;
.addon(after, @input-size-default-height, @input-size-default-font-size);
}
&.@{input-prefix-cls}-group-compact {
> * {
&:not(:last-child) {
border-right: none;
border-left: @input-group-border-separator-width solid @input-group-color-separator-border;
}
&:first-child,
&:first-child .@{prefix}-input-group > *:first-child {
border-radius: 0 @input-group-border-radius_compact @input-group-border-radius_compact 0;
.@{prefix}-select {
.@{prefix}-select-view {
border-radius: 0 @input-group-border-radius_compact @input-group-border-radius_compact
0;
}
}
}
&:last-child,
&:last-child .@{prefix}-input-group > *:last-child {
border-radius: @input-group-border-radius_compact 0 0 @input-group-border-radius_compact;
.@{prefix}-select {
.@{prefix}-select-view {
border-radius: @input-group-border-radius_compact 0 0
@input-group-border-radius_compact;
}
}
}
}
> .@{prefix}-input:not(:last-child) {
border-left-color: @input-group-color-separator-border;
&:focus {
border-left-color: @input-color-border_focus;
}
}
}
}
&.@{input-prefix-cls}-search {
.@{input-prefix-cls}-search-btn {
border-radius: @input-border-radius 0 0 @input-border-radius;
}
}
}
.@{input-prefix-cls}-inner-wrapper-rtl {
direction: rtl;
&.@{input-prefix-cls}-inner-wrapper-has-prefix
> .@{input-prefix-cls}-clear-wrapper
.@{input-prefix-cls},
&.@{input-prefix-cls}-inner-wrapper-has-prefix > .@{input-prefix-cls} {
padding-left: 0;
padding-right: @input-padding-horizontal;
}
> .@{input-prefix-cls}-clear-wrapper {
.@{input-prefix-cls} {
padding-right: 0;
padding-left: @input-size-icon-clear;
}
.@{input-prefix-cls}-clear-icon {
right: initial;
left: @input-spacing-clear-icon-right;
}
}
&:hover {
.@{input-prefix-cls}-clear-icon {
& ~ .@{input-prefix-cls}-group-suffix {
margin-left: 4px;
}
}
}
}
.@{input-prefix-cls}-search-button {
.@{input-prefix-cls}-inner-wrapper-rtl {
border-left: none;
border-radius: 0 @input-border-radius @input-border-radius 0;
}
}
.@{textarea-prefix-cls}-wrapper-rtl {
direction: rtl;
.@{textarea-prefix-cls} {
padding-left: @icon-hover-size-default-height;
&-word-limit {
right: initial;
left: @textarea-layout-tip-right;
}
&-clear-icon {
right: initial;
left: @textarea-layout-tip-right;
}
}
}
/********** Input end ***************/
/********** InputTag ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* size: mini / small / default / large
**********************************************/
@input-tag-size-mini-height: @size-mini;
@input-tag-size-small-height: @size-small;
@input-tag-size-default-height: @size-default;
@input-tag-size-large-height: @size-large;
@input-tag-size-mini-tag-height: @size-5;
@input-tag-size-small-tag-height: @size-5;
@input-tag-size-default-tag-height: @size-6;
@input-tag-size-large-tag-height: @size-7;
@input-tag-size-mini-font-size: @font-size-body-1;
@input-tag-size-small-font-size: @font-size-body-3;
@input-tag-size-default-font-size: @font-size-body-3;
@input-tag-size-large-font-size: @font-size-title-1;
@input-tag-size-mini-padding_no_tag: @spacing-4;
@input-tag-size-small-padding_no_tag: @spacing-6;
@input-tag-size-default-padding_no_tag: @spacing-6;
@input-tag-size-large-padding_no_tag: @spacing-7;
/****************************************************
* status: default / error / disabled _ (hover / focus)
****************************************************/
// text color
@input-tag-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// icon color
@input-tag-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-tag-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-tag-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// border color with focus & hover
@input-tag-color-border_default: @color-transparent;
@input-tag-color-border_default_hover: @color-transparent;
@input-tag-color-border_default_focus: @color-primary-6;
@input-tag-color-border_error: @color-transparent;
@input-tag-color-border_error_hover: @color-transparent;
@input-tag-color-border_error_focus: @color-danger-6;
@input-tag-color-border_disabled: @color-transparent;
@input-tag-color-border_disabled_hover: @input-tag-color-border_disabled;
@input-tag-color-border_disabled_focus: @input-tag-color-border_disabled;
// bg color with focus & hover
@input-tag-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_error: @color-danger-1;
@input-tag-color-bg_error_hover: @color-danger-2;
@input-tag-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_disabled_hover: @input-tag-color-bg_disabled;
@input-tag-color-shadow_default_focus: @color-primary-2;
@input-tag-color-shadow_error_focus: @color-danger-2;
@input-tag-size-shadow_error_focus: @shadow-distance-none;
@input-tag-size-shadow_default_focus: @shadow-distance-none;
// input box
@input-tag-tag-margin-right: @spacing-2;
@input-tag-tag-margin-vertical: @spacing-1;
@input-tag-padding-horizontal: @spacing-2;
@input-tag-border-radius: @radius-small;
@input-tag-border-width: @border-1;
@input-tag-size-icon-clear: @size-3;
@input-tag-size-icon-clear_hover: @size-5;
// tags
@input-tag-tag-font-size: @font-size-body-1;
@input-tag-tag-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-tag-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-3');
// warning
@input-tag-color-text_warning: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-border_warning: @input-color-border_warning;
@input-tag-color-border_warning_hover: @input-color-border_warning_hover;
@input-tag-color-border_warning_focus: @input-color-border_warning_focus;
@input-tag-color-bg_warning: @input-color-bg_warning;
@input-tag-color-bg_warning_hover: @input-color-bg_warning_hover;
@input-tag-color-bg_warning_focus: @input-color-bg_warning_focus;
@input-tag-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@input-tag-size-shadow_warning_focus: @input-size-shadow_warning_focus;
// addon
@input-tag-addon-padding-horizontal: @spacing-6;
@input-tag-color-addon-bg: @input-tag-color-bg_default;
@input-tag-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@input-tag-color-addon-border_default: @color-transparent;
@input-tag-border-addon-separator-width: @border-1;
@input-tag-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@arco-draggable-prefix-cls: ~'@{prefix}-draggable';
.@{arco-draggable-prefix-cls} {
@keyframes ~'@{prefix}-draggable-item-blink' {
0% {
opacity: 1;
}
50% {
opacity: 0.3;
}
100% {
opacity: 1;
}
}
&-item {
box-sizing: border-box;
list-style: none;
user-select: none;
&-dragging {
opacity: 0.3;
}
&-dragover {
&.@{arco-draggable-prefix-cls}-item-gap-left {
box-shadow: -1px 0 rgb(var(~'@{arco-cssvars-prefix}-primary-6'));
}
&.@{arco-draggable-prefix-cls}-item-gap-right {
box-shadow: 1px 0 rgb(var(~'@{arco-cssvars-prefix}-primary-6'));
}
&.@{arco-draggable-prefix-cls}-item-gap-top {
box-shadow: 0 -1px rgb(var(~'@{arco-cssvars-prefix}-primary-6'));
}
&.@{arco-draggable-prefix-cls}-item-gap-bottom {
box-shadow: 0 1px rgb(var(~'@{arco-cssvars-prefix}-primary-6'));
}
}
&-dragged {
animation: ~'@{prefix}-draggable-item-blink' 0.8s;
animation-timing-function: @transition-timing-function-linear;
}
}
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* size: mini / small / default / large
**********************************************/
@input-tag-size-mini-height: @size-mini;
@input-tag-size-small-height: @size-small;
@input-tag-size-default-height: @size-default;
@input-tag-size-large-height: @size-large;
@input-tag-size-mini-tag-height: @size-5;
@input-tag-size-small-tag-height: @size-5;
@input-tag-size-default-tag-height: @size-6;
@input-tag-size-large-tag-height: @size-7;
@input-tag-size-mini-font-size: @font-size-body-1;
@input-tag-size-small-font-size: @font-size-body-3;
@input-tag-size-default-font-size: @font-size-body-3;
@input-tag-size-large-font-size: @font-size-title-1;
@input-tag-size-mini-padding_no_tag: @spacing-4;
@input-tag-size-small-padding_no_tag: @spacing-6;
@input-tag-size-default-padding_no_tag: @spacing-6;
@input-tag-size-large-padding_no_tag: @spacing-7;
/****************************************************
* status: default / error / disabled _ (hover / focus)
****************************************************/
// text color
@input-tag-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// icon color
@input-tag-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-tag-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-tag-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// border color with focus & hover
@input-tag-color-border_default: @color-transparent;
@input-tag-color-border_default_hover: @color-transparent;
@input-tag-color-border_default_focus: @color-primary-6;
@input-tag-color-border_error: @color-transparent;
@input-tag-color-border_error_hover: @color-transparent;
@input-tag-color-border_error_focus: @color-danger-6;
@input-tag-color-border_disabled: @color-transparent;
@input-tag-color-border_disabled_hover: @input-tag-color-border_disabled;
@input-tag-color-border_disabled_focus: @input-tag-color-border_disabled;
// bg color with focus & hover
@input-tag-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_error: @color-danger-1;
@input-tag-color-bg_error_hover: @color-danger-2;
@input-tag-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_disabled_hover: @input-tag-color-bg_disabled;
@input-tag-color-shadow_default_focus: @color-primary-2;
@input-tag-color-shadow_error_focus: @color-danger-2;
@input-tag-size-shadow_error_focus: @shadow-distance-none;
@input-tag-size-shadow_default_focus: @shadow-distance-none;
// input box
@input-tag-tag-margin-right: @spacing-2;
@input-tag-tag-margin-vertical: @spacing-1;
@input-tag-padding-horizontal: @spacing-2;
@input-tag-border-radius: @radius-small;
@input-tag-border-width: @border-1;
@input-tag-size-icon-clear: @size-3;
@input-tag-size-icon-clear_hover: @size-5;
// tags
@input-tag-tag-font-size: @font-size-body-1;
@input-tag-tag-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-tag-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-3');
// warning
@input-tag-color-text_warning: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-border_warning: @input-color-border_warning;
@input-tag-color-border_warning_hover: @input-color-border_warning_hover;
@input-tag-color-border_warning_focus: @input-color-border_warning_focus;
@input-tag-color-bg_warning: @input-color-bg_warning;
@input-tag-color-bg_warning_hover: @input-color-bg_warning_hover;
@input-tag-color-bg_warning_focus: @input-color-bg_warning_focus;
@input-tag-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@input-tag-size-shadow_warning_focus: @input-size-shadow_warning_focus;
// addon
@input-tag-addon-padding-horizontal: @spacing-6;
@input-tag-color-addon-bg: @input-tag-color-bg_default;
@input-tag-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@input-tag-color-addon-border_default: @color-transparent;
@input-tag-border-addon-separator-width: @border-1;
@input-tag-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-prefix-cls: ~'@{prefix}-input-tag';
.input-tag-input-element-padding(@paddingLeft) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
box-sizing: border-box;
padding-left: @paddingLeft;
}
}
}
.input-tag-input-element-padding-rtl(@paddingRight) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
padding-left: 0;
padding-right: @paddingRight;
}
}
}
@input-tag-prefix-cls: ~'@{prefix}-input-tag';
.@{input-tag-prefix-cls} {
display: inline-block;
box-sizing: border-box;
width: 100%;
padding-left: @input-tag-padding-horizontal;
padding-right: @input-tag-padding-horizontal;
border-radius: @input-tag-border-radius;
vertical-align: top;
cursor: text;
transition: all @transition-duration-1 @transition-timing-function-linear;
&-view {
display: flex;
width: 100%;
}
&-inner {
display: flex;
align-items: center;
flex-wrap: wrap;
flex-grow: 1;
position: relative;
box-sizing: border-box;
overflow: hidden;
}
&-prefix,
&-suffix {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
min-width: 22px;
}
&-prefix {
padding-left: 8px;
padding-right: 4px;
}
&-suffix {
padding-right: 8px;
}
& &-clear-icon {
display: none;
font-size: @input-tag-size-icon-clear;
color: @input-tag-color-icon-clear;
cursor: pointer;
> svg {
transition: color @transition-duration-1 @transition-timing-function-linear;
position: relative;
}
}
&:hover &-clear-icon {
display: block;
& ~ * {
display: none;
}
}
&:not(&-focus) {
.@{input-tag-prefix-cls}-clear-icon:hover::before {
background-color: @input-tag-color-icon-clear-bg_hover;
}
.@{prefix}-draggable-item {
cursor: move;
}
}
&-input {
width: 4px;
// width might be overwrite by inline-style, max-width make text-ellipsis work
max-width: 100%;
padding: 0;
border: none;
outline: none;
background: none;
font-size: inherit;
cursor: inherit;
color: inherit;
.text-ellipsis();
// input is the first child means that input-tag has an empty value
// we set width of input to 4px by default, and 100% when input-tag is empty to avoid wrap
// see https://github.com/arco-design/arco-design/pull/1863
&:first-child {
width: 100%;
}
.@{prefix}-tag + &[disabled] {
width: 0;
}
&-mirror {
position: absolute;
top: 0;
left: 0;
visibility: hidden;
pointer-events: none;
}
&::placeholder {
color: @input-tag-color-placeholder;
}
}
&-tag {
max-width: 100%;
margin-right: @input-tag-tag-margin-right;
font-size: @input-tag-tag-font-size;
&-ellipsis {
font-size: @input-tag-tag-font-size;
margin: 0 4px;
}
}
// 多状态下的颜色处理
.status-color(@status) {
background-color: ~'@{input-tag-color-bg_@{status}}';
color: ~'@{input-tag-color-text_@{status}}';
border: @input-tag-border-width solid ~'@{input-tag-color-border_@{status}}';
&:hover {
background-color: ~'@{input-tag-color-bg_@{status}_hover}';
border: @input-tag-border-width solid ~'@{input-tag-color-border_@{status}_hover}';
}
&.@{input-tag-prefix-cls}-focus when not (@status = disabled) {
background-color: ~'@{input-tag-color-bg_@{status}_focus}';
border: @input-tag-border-width solid ~'@{input-tag-color-border_@{status}_focus}';
box-shadow: 0 0 0 ~'@{input-tag-size-shadow_@{status}_focus}' ~'@{input-tag-color-shadow_@{status}_focus}';
}
}
.@{prefix}-icon-hover {
cursor: pointer;
&.@{prefix}-icon-hover-disabled {
cursor: not-allowed;
}
}
.status-tag-color() {
.@{input-tag-prefix-cls}-tag {
color: @input-tag-color-text_default;
border-color: @input-tag-tag-color-border;
background-color: @input-tag-tag-color-bg;
}
.@{prefix}-icon-hover:hover::before {
background-color: @input-tag-tag-remove-icon-color-bg;
}
&.@{input-tag-prefix-cls}-focus {
.@{input-tag-prefix-cls}-tag {
border-color: @input-tag-tag-color-border_focus;
background-color: @input-tag-tag-color-bg_focus;
}
.@{prefix}-icon-hover:hover::before {
background-color: @input-tag-tag-remove-icon-color-bg_focus;
}
}
&.@{input-tag-prefix-cls}-disabled {
.@{input-tag-prefix-cls}-tag {
color: @input-tag-color-text_disabled;
border-color: @input-tag-tag-color-border_disabled;
background-color: @input-tag-tag-color-bg_disabled;
}
}
}
.status-color(default);
.status-tag-color();
&-warning {
.status-color(warning);
}
&-error {
.status-color(error);
}
&-disabled {
.status-color(disabled);
cursor: not-allowed;
.@{input-tag-prefix-cls}-input::placeholder {
color: @input-tag-color-text_disabled;
}
}
&-readonly {
cursor: default;
}
&-wrapper {
display: inline-flex;
align-items: stretch;
width: 100%;
.@{input-tag-prefix-cls} {
min-width: 0; // 避免 .arco-input-tag 宽度超出 .arco-input-tag-wrapper
}
.@{input-tag-prefix-cls}:not(.@{input-tag-prefix-cls}-focused) {
&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
&-addafter,
&-addbefore {
display: flex;
align-items: center;
padding: 0 @input-tag-addon-padding-horizontal;
color: @input-tag-color-addon-text;
background-color: @input-tag-color-addon-bg;
white-space: nowrap;
border: 1px solid @input-tag-color-addon-border_default;
}
&-addbefore {
border-right: @input-tag-border-addon-separator-width solid @input-tag-color-addon-border;
border-top-left-radius: @input-tag-border-radius;
border-bottom-left-radius: @input-tag-border-radius;
}
&-addafter {
border-left: @input-tag-border-addon-separator-width solid @input-tag-color-addon-border;
border-top-right-radius: @input-tag-border-radius;
border-bottom-right-radius: @input-tag-border-radius;
}
}
.@{input-tag-prefix-cls} {
.size(@size) {
&-size-@{size} {
@ref-font-size: ~'input-tag-size-@{size}-font-size';
@ref-height: ~'input-tag-size-@{size}-height';
@ref-tag-height: ~'input-tag-size-@{size}-tag-height';
@ref-padding-horizontal_not_tag: ~'input-tag-size-@{size}-padding_no_tag';
@font-size: @@ref-font-size;
@height: @@ref-height;
@tag-height: @@ref-tag-height;
@padding-horizontal_not_tag: @@ref-padding-horizontal_not_tag;
font-size: @font-size;
.@{input-tag-prefix-cls}-view {
min-height: @height - @input-tag-border-width * 2;
}
.@{input-tag-prefix-cls}-inner {
padding-top: (@height / 2) - (@tag-height / 2) - @input-tag-border-width -
@input-tag-tag-margin-vertical;
padding-bottom: $padding-top;
}
.@{input-tag-prefix-cls}-tag,
.@{input-tag-prefix-cls}-tag + .@{input-tag-prefix-cls}-input {
margin-top: (@input-tag-tag-margin-vertical / 2);
margin-bottom: $margin-top;
height: @tag-height;
line-height: $height - 2;
}
&.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
box-sizing: border-box;
padding-left: @padding-horizontal_not_tag - @input-tag-padding-horizontal;
}
}
}
}
.size(mini);
.size(default);
.size(small);
.size(large);
}
.@{input-tag-prefix-cls}-rtl {
direction: rtl;
padding-right: @input-tag-padding-horizontal;
padding-left: @input-tag-padding-horizontal;
.@{input-tag-prefix-cls}-prefix {
padding-right: 8px;
padding-left: 4px;
}
.@{input-tag-prefix-cls}-suffix {
padding-right: 0;
padding-left: 8px;
}
.@{input-tag-prefix-cls}-tag {
margin-right: 0;
margin-left: @input-tag-tag-margin-right;
}
.@{input-tag-prefix-cls}-input {
&-mirror {
right: 0;
left: initial;
}
}
.size(@size) {
@ref-padding-horizontal_not_tag: ~'input-tag-size-@{size}-padding_no_tag';
@padding-horizontal_not_tag: @@ref-padding-horizontal_not_tag;
&.@{input-tag-prefix-cls}-size-@{size} {
&.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
padding-right: @padding-horizontal_not_tag - @input-tag-padding-horizontal;
}
}
}
}
.size(mini);
.size(default);
.size(small);
.size(large);
}
.@{input-tag-prefix-cls}-wrapper-rtl {
.@{input-tag-prefix-cls}-addbefore {
border-right: unset;
border-left: @input-tag-border-addon-separator-width solid @input-tag-color-addon-border;
}
.@{input-tag-prefix-cls}-addafter {
border-left: unset;
border-right: @input-tag-border-addon-separator-width solid @input-tag-color-addon-border;
}
}
/********** InputTag end ***************/
/********** InputNumber ***************/
@input-number-border-radius: @radius-small;
@input-number-step-layer-border-radius: 1px;
@input-number-size-mini-step-button-width: @size-mini;
@input-number-size-small-step-button-width: @size-small;
@input-number-size-default-step-button-width: @size-default;
@input-number-size-large-step-button-width: @size-large;
@input-number-step-button-color: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-number-step-button-color_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@input-number-step-button-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-number-step-button-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-number-step-button-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-number-step-button-color-bg_default_active: var(~'@{arco-cssvars-prefix}-color-fill-4');
@input-number-step-button-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-number-step-button-color-bg_disabled_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-number-step-button-color-bg_disabled_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-number-color-illegal_value: @color-danger-6;
@input-number-prefix-cls: ~'@{prefix}-input-number';
@input-prefix-cls: ~'@{prefix}-input';
.@{input-number-prefix-cls} {
position: relative;
display: inline-block;
width: 100%;
box-sizing: border-box;
border-radius: @input-number-border-radius;
.transition() {
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-step-button {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
border-color: @input-number-step-button-color-border;
background-color: @input-number-step-button-color-bg_default;
color: @input-number-step-button-color;
cursor: pointer;
user-select: none;
.transition();
&:hover {
border-color: $background-color;
background-color: @input-number-step-button-color-bg_default_hover;
}
&:active {
border-color: $background-color;
background-color: @input-number-step-button-color-bg_default_active;
}
&-disabled {
cursor: not-allowed;
background-color: @input-number-step-button-color-bg_disabled;
color: @input-number-step-button-color_disabled;
&:hover,
&:active {
border-color: @input-number-step-button-color-border;
background-color: @input-number-step-button-color-bg_disabled_hover;
}
}
}
&-prefix,
&-suffix {
.transition();
}
// embed mode
&-mode-embed {
.@{input-number-prefix-cls}-step-layer {
opacity: 0;
position: absolute;
right: 4px;
top: 4px;
bottom: 4px;
width: 18px;
border-radius: @input-number-step-layer-border-radius;
overflow: hidden;
.transition();
.@{input-number-prefix-cls}-step-button {
width: 100%;
height: 50%;
font-size: 10px;
}
}
&:not(.@{input-prefix-cls}-group-wrapper-disabled):hover
.@{input-number-prefix-cls}-step-layer {
opacity: 1;
& ~ .@{input-number-prefix-cls}-suffix {
opacity: 0;
pointer-events: none;
}
}
// 修正 InputNumber hover 时 StepButton 的 hover 背景色
.@{input-prefix-cls}-inner-wrapper:not(.@{input-prefix-cls}-inner-wrapper-focus) {
.@{input-number-prefix-cls}-step-button:not(.@{input-number-prefix-cls}-step-button-disabled):hover {
background-color: @input-number-step-button-color-bg_default_active;
}
}
}
// rtl embed mode
&-rtl&-mode-embed &-step-layer {
right: unset;
left: 4px;
}
// button mode
&-mode-button {
.@{input-prefix-cls} {
text-align: center;
&-group {
position: relative;
&-addbefore,
&-addafter {
padding: 0;
}
.@{input-number-prefix-cls}-step-button {
position: absolute;
top: 0;
height: 100%;
border: inherit;
&:active {
border-color: @input-number-step-button-color-bg_default_active;
}
}
&-addbefore .@{input-number-prefix-cls}-step-button {
left: 0;
border-right-color: @input-number-step-button-color-border;
}
&-addafter .@{input-number-prefix-cls}-step-button {
right: 0;
border-left-color: @input-number-step-button-color-border;
}
}
}
.size(@size) {
&.@{input-number-prefix-cls}-size-@{size} {
@width: ~'@{input-number-size-@{size}-step-button-width}';
.@{input-prefix-cls}-group-addbefore,
.@{input-prefix-cls}-group-addafter {
width: @width;
.@{input-number-prefix-cls}-step-button {
width: @width;
}
}
}
}
.size(mini);
.size(small);
.size(default);
.size(large);
}
&-readonly {
.@{input-number-prefix-cls}-step-button {
pointer-events: none;
color: @input-number-step-button-color_disabled;
}
}
&-illegal-value {
input {
color: @input-number-color-illegal_value;
}
}
}
/********** InputNumber end ***************/
/********** VerificationCode ***************/
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
@verification-code-prefix-cls: ~'@{prefix}-verification-code';
@input-prefix-cls: ~'@{prefix}-input';
.@{verification-code-prefix-cls} {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
column-gap: 4px;
.@{input-prefix-cls} {
width: @input-size-default-height;
padding-left: 0;
padding-right: 0;
text-align: center;
}
.@{input-prefix-cls}-size-small {
width: @input-size-small-height;
}
.@{input-prefix-cls}-size-mini {
width: @input-size-mini-height;
}
.@{input-prefix-cls}-size-large {
width: @input-size-large-height;
}
}
.@{verification-code-prefix-cls}-rtl {
direction: rtl;
}
/********** VerificationCode end ***************/
/********** Layout ***************/
@layout-trigger-height: 48px;
// Layout Theme Dark(Default)
@layout-sider-background: var(~'@{arco-cssvars-prefix}-color-menu-dark-bg');
@layout-font-color-dark: var(~'@{arco-cssvars-prefix}-color-white');
@layout-font-color: var(~'@{arco-cssvars-prefix}-color-text-1');
@layout-trigger-dark-color: rgba(255, 255, 255, 0.2);
// Layout Theme Light
@layout-sider-background-light: var(~'@{arco-cssvars-prefix}-color-menu-light-bg');
@layout-trigger-light-color-border: var(~'@{arco-cssvars-prefix}-color-bg-5');
@layout-prefix-cls: ~'@{prefix}-layout';
.@{layout-prefix-cls} {
display: flex;
flex: 1;
margin: 0;
padding: 0;
flex-direction: column;
&-sider {
position: relative;
width: auto;
margin: 0;
padding: 0;
flex: none; // flex: 0 0 auto; 当右侧文字过长的时候不会被压缩。
background: @layout-sider-background;
transition: width @transition-duration-2 @transition-timing-function-standard;
&-children {
height: 100%;
overflow: auto;
}
&-collapsed &-children {
/* width */
&::-webkit-scrollbar {
width: 0;
}
// /* Track */
// &::-webkit-scrollbar-track {
// background: #f1f1f1;
// }
// /* Handle */
// &::-webkit-scrollbar-thumb {
// background: #888;
// }
// /* Handle on hover */
// &::-webkit-scrollbar-thumb:hover {
// background: #555;
// }
}
&-has-trigger {
padding-bottom: @layout-trigger-height;
box-sizing: border-box;
}
&-trigger {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 100%;
height: @layout-trigger-height;
background: @layout-trigger-dark-color;
color: var(~'@{arco-cssvars-prefix}-color-white');
cursor: pointer;
transition: width @transition-duration-2 @transition-timing-function-standard;
z-index: 1;
&-light {
background: @layout-sider-background-light;
border-top: 1px solid @layout-trigger-light-color-border;
color: @layout-font-color;
}
}
}
&-sider-light {
background: @layout-sider-background-light;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 8%);
}
&-header {
margin: 0;
flex: 0 0 auto;
box-sizing: border-box;
}
&-content {
flex: 1;
}
&-footer {
flex: 0 0 auto;
margin: 0;
}
}
.@{layout-prefix-cls}-has-sider {
flex-direction: row;
> .@{layout-prefix-cls},
> .@{layout-prefix-cls}-content {
overflow-x: hidden;
}
}
/********** Layout end ***************/
/********** Link ***************/
@link-font-size: @font-size-body-3;
@link-line-height: @line-height-base;
@link-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@link-color-bg_active: var(~'@{arco-cssvars-prefix}-color-fill-3');
@link-padding-horizontal: @spacing-2;
@link-color-text: @color-link-6;
@link-color-text_hover: @link-color-text;
@link-color-text_active: @link-color-text;
@link-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-link-light-3');
@link-color-text_success: @color-success-6;
@link-color-text_success_hover: @link-color-text_success;
@link-color-text_success_active: @link-color-text_success;
@link-color-text_success_disabled: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@link-color-text_error: @color-danger-6;
@link-color-text_error_active: @link-color-text_error;
@link-color-text_error_hover: @link-color-text_error;
@link-color-text_error_disabled: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@link-color-text_warning: @color-warning-6;
@link-color-text_warning_hover: @link-color-text_warning;
@link-color-text_warning_active: @link-color-text_warning;
@link-color-text_warning_disabled: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@link-margin-icon-right: @spacing-3;
@link-padding-vertical: 1px;
@link-size-icon: @size-3;
@link-border-radius: @radius-small;
@link-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-link-light-3');
@link-prefix-cls: ~'@{prefix}-link';
.@{link-prefix-cls} {
color: @link-color-text;
font-size: @link-font-size;
line-height: @link-line-height;
display: inline-block;
padding: @link-padding-vertical @link-padding-horizontal;
text-decoration: none;
cursor: pointer;
border-radius: @link-border-radius;
background-color: @color-transparent;
transition: all @transition-duration-1 @transition-timing-function-linear;
&:hover {
color: @link-color-text_hover;
background-color: @link-color-bg_hover;
}
&:active {
transition: none;
color: @link-color-text_active;
background-color: @link-color-bg_active;
}
&:focus-visible {
box-shadow: 0 0 0 2px @link-color-box-shadow;
}
&&-hoverless {
background-color: unset;
padding: 0;
display: inline;
&:active,
&:hover {
background-color: unset;
}
}
&&-disabled {
color: @link-color-text_disabled;
background: none;
cursor: not-allowed;
}
// 不同状态
&-is-success {
color: @link-color-text_success;
&:hover {
color: @link-color-text_success_hover;
}
&:active {
color: @link-color-text_success_active;
}
}
&-is-success&-disabled {
color: @link-color-text_success_disabled;
}
&-is-error {
color: @link-color-text_error;
&:hover {
color: @link-color-text_error_hover;
}
&:active {
color: @link-color-text_error_active;
}
}
&-is-error&-disabled {
color: @link-color-text_error_disabled;
}
&-is-warning {
color: @link-color-text_warning;
&:hover {
color: @link-color-text_warning_hover;
}
&:active {
color: @link-color-text_warning_active;
}
}
&-is-warning&-disabled {
color: @link-color-text_warning_disabled;
}
&-icon {
margin-right: @link-margin-icon-right;
font-size: @link-size-icon;
}
&-rtl &-icon {
margin-left: @link-margin-icon-right;
margin-right: 0;
}
}
/********** Link end ***************/
/********** List ***************/
@list-border-width: 1px;
@list-border-color: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@list-border-radius: @radius-medium;
@list-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@list-font-size: @font-size-body-3;
@list-line-height: @line-height-base;
@list-color-text-header: var(~'@{arco-cssvars-prefix}-color-text-1');
@list-color-bg-item-hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@list-font-size-header: @font-size-title-1;
@list-font-weight-header: @font-weight-500;
@list-line-height-header: 1.5;
/**********************************************
* size: small / default / large
**********************************************/
@list-size-small-padding-vertical-header: @spacing-4;
@list-size-small-padding-horizontal-header: @spacing-8;
@list-size-small-padding-vertical-item: 9px;
@list-size-small-padding-horizontal-item: @spacing-8;
@list-size-default-padding-vertical-header: @spacing-6;
@list-size-default-padding-horizontal-header: @spacing-8;
@list-size-default-padding-vertical-item: 13px;
@list-size-default-padding-horizontal-item: @spacing-8;
@list-size-large-padding-vertical-header: @spacing-7;
@list-size-large-padding-horizontal-header: @spacing-8;
@list-size-large-padding-vertical-item: 17px;
@list-size-large-padding-horizontal-item: @spacing-8;
// meta
@list-meta-font-weight-title: @font-weight-500;
@list-meta-color-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@list-mete-color-description: var(~'@{arco-cssvars-prefix}-color-text-2');
@list-meta-margin-right-avatar: @spacing-7;
@list-meta-margin-bottom-title: @spacing-1;
@list-meta-padding-horizontal: @spacing-none;
@list-meta-padding-vertical: @spacing-2;
// actions
@list-action-gap: @spacing-8;
@list-action-margin-top: @spacing-2;
// pagination
@list-pagination-margin-top: @spacing-9;
@list-prefix-cls: ~'@{prefix}-list';
.@{list-prefix-cls} {
display: flex;
flex-direction: column;
box-sizing: border-box;
width: 100%;
border-radius: @list-border-radius;
font-size: @list-font-size;
line-height: @list-line-height;
color: @list-color-text;
overflow-y: auto;
// clear float caused by Pagination in list wrapper
&-wrapper::after {
content: '';
display: block;
visibility: hidden;
clear: both;
}
.size(@size) {
&-@{size} {
@ref-padding-vertical-header: ~'list-size-@{size}-padding-vertical-header';
@ref-padding-horizontal-header: ~'list-size-@{size}-padding-horizontal-header';
@ref-padding-vertical-item: ~'list-size-@{size}-padding-vertical-item';
@ref-padding-horizontal-item: ~'list-size-@{size}-padding-horizontal-item';
> .@{list-prefix-cls}-header {
padding: @@ref-padding-vertical-header @@ref-padding-horizontal-header;
}
// 在存在列表嵌套的时候,通过 > 限定 size 仅对其直接子元素生效,避免影响被嵌套的列表的样式
// when there is nested list, use > to limit the size to only its direct child elements, so as not to affect
// the style of the nested list
> .@{list-prefix-cls}-footer,
> .@{list-prefix-cls}-content > .@{list-prefix-cls}-item,
> .@{list-prefix-cls}-content .@{list-prefix-cls}-row-col > .@{list-prefix-cls}-item,
> .@{list-prefix-cls}-content.@{list-prefix-cls}-virtual .@{list-prefix-cls}-item {
padding: @@ref-padding-vertical-item @@ref-padding-horizontal-item;
}
}
}
.border() {
border: @list-border-width solid @list-border-color;
&-header,
&-item:not(:last-child) {
border-bottom: @list-border-width solid @list-border-color;
}
&-footer {
border-top: @list-border-width solid @list-border-color;
}
&-no-border {
border: none;
}
&-no-split {
.@{list-prefix-cls}-header,
.@{list-prefix-cls}-footer,
.@{list-prefix-cls}-item {
border: none;
}
}
}
.size(small);
.size(default);
.size(large);
.border();
&-header {
font-size: @list-font-size-header;
font-weight: @list-font-weight-header;
line-height: @list-line-height-header;
color: @list-color-text-header;
}
&-item {
display: flex;
justify-content: space-between;
box-sizing: border-box;
width: 100%;
overflow: hidden;
&-main {
flex: 1;
overflow: hidden;
.@{list-prefix-cls}-item-action:not(:first-child) {
margin-top: @list-action-margin-top;
}
}
&-meta {
display: flex;
align-items: center;
padding: @list-meta-padding-vertical @list-meta-padding-horizontal;
&-avatar {
display: flex;
&:not(:last-child) {
margin-right: @list-meta-margin-right-avatar;
}
}
&-title {
font-weight: @list-meta-font-weight-title;
color: @list-meta-color-title;
&:not(:last-child) {
margin-bottom: @list-meta-margin-bottom-title;
}
}
&-description {
color: @list-mete-color-description;
}
}
&-action {
display: flex;
flex-wrap: nowrap;
align-self: center;
list-style: none;
> li {
display: inline-block;
cursor: pointer;
&:not(:last-child) {
margin-right: @list-action-gap;
}
}
}
}
&-hoverable &-item:hover {
background-color: @list-color-bg-item-hover;
}
&-pagination {
float: right;
margin-top: @list-pagination-margin-top;
&::after {
display: block;
clear: both;
height: 0;
content: '';
visibility: hidden;
overflow: hidden;
}
}
&-scroll-loading {
display: flex;
align-items: center;
justify-content: center;
}
&-content {
flex: 1;
.@{prefix}-empty {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
}
}
.@{list-prefix-cls}-rtl {
direction: rtl;
.@{list-prefix-cls} {
&-item-meta {
&-avatar {
&:not(:last-child) {
margin-right: 0;
margin-left: @list-meta-margin-right-avatar;
}
}
}
&-item-action {
> li {
&:not(:last-child) {
margin-left: @list-action-gap;
margin-right: 0;
}
}
}
}
}
.@{list-prefix-cls}-wrapper-rtl {
.@{list-prefix-cls}-pagination {
float: left;
}
}
/********** List end ***************/
/********** Message ***************/
@message-wrapper-margin-top: @spacing-12;
@message-wrapper-margin-bottom: @spacing-12;
@message-padding-top: @spacing-5;
@message-padding-bottom: @spacing-5;
@message-padding-left: @spacing-7;
@message-padding-right: @spacing-7;
@message-margin-bottom: @spacing-7;
@message-border-radius: @radius-small;
@message-font-size-icon: 20px;
@message-font-size-content: @font-size-body-3;
@message-icon-margin-right: @spacing-4;
@message-border-width: 1px;
@message-border-style: solid;
@message-box-shadow: @shadow2-down;
@message-color-close-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-close-icon-font-size: 12px;
@message-close-icon-top: 14px;
@message-close-icon-right: @spacing-6;
@message-close-icon-left: 14px;
@message-normal-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-normal-color-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-normal-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-normal-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@message-info-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-info-color-icon: @color-primary-6;
@message-info-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-info-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@message-success-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-success-color-icon: @color-success-6;
@message-success-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-success-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@message-warning-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-warning-color-icon: @color-warning-6;
@message-warning-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-warning-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@message-error-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-error-color-icon: @color-danger-6;
@message-error-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-error-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@message-loading-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@message-loading-color-icon: @color-primary-6;
@message-loading-color-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@message-loading-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@message-prefix-cls: ~'@{prefix}-message';
.@{message-prefix-cls}-wrapper {
width: 100%;
position: fixed;
z-index: @z-index-message;
padding: 0 10px;
text-align: center;
pointer-events: none;
box-sizing: border-box;
left: 0;
&-top {
top: @message-wrapper-margin-top;
}
&-bottom {
bottom: @message-wrapper-margin-bottom;
}
}
.@{message-prefix-cls} {
position: relative;
display: inline-block;
padding: @message-padding-top @message-padding-right @message-padding-bottom @message-padding-left;
line-height: 1;
border-radius: @message-border-radius;
border: @message-border-width @message-border-style @message-normal-color-border;
margin-bottom: @message-margin-bottom;
background-color: @message-normal-color-bg;
text-align: center;
box-shadow: @message-box-shadow;
overflow: hidden;
pointer-events: auto;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
&-closable {
padding-right: @message-close-icon-left + @message-close-icon-font-size +
@message-close-icon-right;
}
&-icon {
font-size: @message-font-size-icon;
color: @message-normal-color-icon;
margin-right: @message-icon-margin-right;
vertical-align: middle;
display: inline-block;
animation: ~'@{prefix}-msg-fade' @transition-duration-1 @transition-timing-function-linear,
~'@{prefix}-msg-fade' @transition-duration-4 @transition-timing-function-overshoot;
}
&-content {
vertical-align: middle;
color: @message-normal-color-content;
font-size: @message-font-size-content;
}
&-info {
background-color: @message-info-color-bg;
border-color: @message-info-color-border;
}
&-info &-icon {
color: @message-info-color-icon;
}
&-info &-content {
color: @message-info-color-content;
}
&-success {
background-color: @message-success-color-bg;
border-color: @message-success-color-border;
}
&-success &-icon {
color: @message-success-color-icon;
}
&-success &-content {
color: @message-success-color-content;
}
&-warning {
background-color: @message-warning-color-bg;
border-color: @message-warning-color-border;
}
&-warning &-icon {
color: @message-warning-color-icon;
}
&-warning &-content {
color: @message-warning-color-content;
}
&-error {
background-color: @message-error-color-bg;
border-color: @message-error-color-border;
}
&-error &-icon {
color: @message-error-color-icon;
}
&-error &-content {
color: @message-error-color-content;
}
&-loading {
background-color: @message-loading-color-bg;
border-color: @message-loading-color-border;
}
&-loading &-icon {
color: @message-loading-color-icon;
}
&-loading &-content {
color: @message-loading-color-content;
}
&-close-btn {
position: absolute;
top: @message-close-icon-top;
right: @message-close-icon-right;
color: @message-color-close-icon;
font-size: @message-close-icon-font-size;
> svg {
position: relative;
}
}
.icon-hover(
@message-prefix-cls,
@message-close-icon-font-size,
@message-close-icon-font-size + 8px
);
}
.fadeMessage-enter,
.fadeMessage-appear {
opacity: 0;
}
.fadeMessage-enter-active,
.fadeMessage-appear-active {
opacity: 1;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
}
.fadeMessage-exit {
opacity: 0;
overflow: hidden;
}
.fadeMessage-exit-active {
opacity: 0;
height: 0;
transition: all @transition-duration-3 @transition-timing-function-standard;
}
.@{message-prefix-cls}-rtl {
direction: rtl;
.@{message-prefix-cls}-icon {
margin-right: 0;
margin-left: @message-icon-margin-right;
}
}
@keyframes ~'@{prefix}-msg-fade' {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes ~'@{prefix}-msg-scale' {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
/********** Message end ***************/
/********** Menu ***************/
@menu-font-size: 14px;
@menu-line-height: @line-height-base;
@menu-border-radius: @radius-small;
@menu-font-weight-item-selected: @font-weight-500;
@menu-color-label-item-selected: @color-primary-6;
@menu-height-label-item-selected: 3px;
@menu-margin-left-item-suffix-icon: @spacing-3;
@menu-margin-right-item-prefix-icon: @spacing-7;
@menu-horizontal-margin-right-item-prefix-icon: @spacing-4;
// vertical 模式下 item 之间的间隙
@menu-item-gap: @spacing-2;
// vertical 下嵌套子菜单的层级缩进
@menu-item-indent-spacing: @spacing-8;
// 折叠按钮
@menu-width-collapse-button: @size-6;
@menu-height-collapse-button: @size-6;
@menu-border-radius-collapse-button: @radius-small;
/**********************************************
* theme: light / dark
* status: default / disabled / selected / hover
**********************************************/
@menu-light-color-bg: var(~'@{arco-cssvars-prefix}-color-menu-light-bg');
@menu-light-color-bg-item_default: @menu-light-color-bg;
@menu-light-color-bg-item_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@menu-light-color-bg-item_selected: var(~'@{arco-cssvars-prefix}-color-fill-2');
@menu-light-color-bg-item_disabled: @menu-light-color-bg;
@menu-light-color-item_default: var(~'@{arco-cssvars-prefix}-color-text-2');
@menu-light-color-item_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@menu-light-color-item_selected: @color-primary-6;
@menu-light-color-submenu_selected: @color-primary-6;
@menu-light-color-bg-submenu_selected_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@menu-light-color-item_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@menu-light-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-light-color-icon_hover: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-light-color-icon_selected: @color-primary-6;
@menu-light-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@menu-light-color-group-title: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-dark-color-bg: var(~'@{arco-cssvars-prefix}-color-menu-dark-bg');
@menu-dark-color-bg-item_default: @menu-dark-color-bg;
@menu-dark-color-bg-item_hover: var(~'@{arco-cssvars-prefix}-color-menu-dark-hover');
@menu-dark-color-bg-item_selected: var(~'@{arco-cssvars-prefix}-color-menu-dark-hover');
@menu-dark-color-bg-item_disabled: @menu-dark-color-bg;
@menu-dark-color-submenu_selected: @color-primary-6;
@menu-dark-color-bg-submenu_selected_hover: var(~'@{arco-cssvars-prefix}-color-menu-dark-hover');
@menu-dark-color-item_default: var(~'@{arco-cssvars-prefix}-color-text-4');
@menu-dark-color-item_hover: var(~'@{arco-cssvars-prefix}-color-text-4');
@menu-dark-color-item_selected: var(~'@{arco-cssvars-prefix}-color-white');
@menu-dark-color-item_disabled: var(~'@{arco-cssvars-prefix}-color-text-2');
@menu-dark-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-dark-color-icon_hover: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-dark-color-icon_selected: var(~'@{arco-cssvars-prefix}-color-white');
@menu-dark-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-2');
@menu-dark-color-group-title: var(~'@{arco-cssvars-prefix}-color-text-3');
// popup sub-menu
@menu-color-border-popup: var(~'@{arco-cssvars-prefix}-color-neutral-3');
// collapse button style
@menu-light-color-bg-button: var(~'@{arco-cssvars-prefix}-color-fill-1');
@menu-light-color-bg-button_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@menu-light-color-button: var(~'@{arco-cssvars-prefix}-color-text-3');
@menu-dark-color-bg-button: @color-primary-6;
@menu-dark-color-bg-button_hover: @color-primary-7;
@menu-dark-color-button: var(~'@{arco-cssvars-prefix}-color-white');
/**********************************************
* horizontal / vertical
**********************************************/
@menu-horizontal-padding-vertical: 14px;
@menu-horizontal-padding-horizontal: @spacing-8;
@menu-horizontal-item-gap: @spacing-6;
@menu-horizontal-item-height: 30px;
@menu-horizontal-item-padding-horizontal: @spacing-6;
@menu-vertical-padding-vertical: @spacing-2;
@menu-vertical-padding-horizontal: @spacing-4;
@menu-vertical-item-height: 40px;
@menu-vertical-item-padding-horizontal: @spacing-6;
/************************************************
* collapse
***********************************************/
@menu-collapse-width: @size-12;
@menu-collapse-padding-vertical: @spacing-2;
@menu-collapse-padding-horizontal: @spacing-2;
/************************************************
* popButton
***********************************************/
@menu-pop-button-size: @size-10;
@menu-pop-button-margin-bottom: @spacing-7;
@menu-pop-button-box-shadow: @shadow2-down;
@menu-pop-button-border-color: @color-transparent;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@menu-prefix-cls: ~'@{prefix}-menu';
.applyStyleToItem(@style) {
.@{menu-prefix-cls}-item,
.@{menu-prefix-cls}-group-title,
.@{menu-prefix-cls}-pop-header,
.@{menu-prefix-cls}-inline-header {
@style();
}
}
.menu-focus-visible-style() {
box-shadow: 0 0 0 2px @color-primary-6 inset;
}
@keyframes ~'@{prefix}-menu-selected-item-label-enter' {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.@{menu-prefix-cls} {
position: relative;
box-sizing: border-box;
width: 100%;
font-size: @menu-font-size;
line-height: @menu-line-height;
transition: width @transition-duration-2 @transition-timing-function-standard;
// 设置菜单层级的缩进
&-indent {
display: inline-block;
width: @menu-item-indent-spacing;
}
.text-color-transition() {
transition: color @transition-duration-2 @transition-timing-function-linear;
}
// menu-item 一些与 theme 和 mode 无关的样式
.item-base() {
@style: {
position: relative;
border-radius: @menu-border-radius;
box-sizing: border-box;
cursor: pointer;
&.@{menu-prefix-cls}-disabled {
cursor: not-allowed;
}
&.@{menu-prefix-cls}-selected {
font-weight: @menu-font-weight-item-selected;
.text-color-transition();
svg {
.text-color-transition();
}
}
.@{prefix}-icon {
margin-right: @menu-margin-right-item-prefix-icon;
}
};
.applyStyleToItem(@style);
}
.item-mode(@mode) {
@style-both: {
padding: 0 ~'@{menu-@{mode}-item-padding-horizontal}';
line-height: ~'@{menu-@{mode}-item-height}';
.@{menu-prefix-cls}-icon-suffix .@{prefix}-icon {
margin-right: 0;
}
};
@style-vertical-only: {
margin-bottom: @menu-item-gap;
.text-ellipsis();
.@{menu-prefix-cls}-item-inner {
.text-ellipsis();
width: 100%;
}
.@{menu-prefix-cls}-icon-suffix {
position: absolute;
right: @menu-vertical-item-padding-horizontal;
top: 50%;
transform: translateY(-50%);
&.is-open {
transform: translateY(-50%) rotate(180deg);
}
}
};
@style-horizontal-only: {
.@{prefix}-icon {
margin-right: @menu-horizontal-margin-right-item-prefix-icon;
}
.@{menu-prefix-cls}-icon-suffix {
margin-left: @menu-margin-left-item-suffix-icon;
}
};
.applyStyleToItem(@style-both);
.applyStyleToItem(if(@mode = vertical, @style-vertical-only, @style-horizontal-only));
}
.theme(@theme) {
&-@{theme} {
background-color: ~'@{menu-@{theme}-color-bg}';
// 处理普通菜单项的状态变化
@item-style: {
background-color: ~'@{menu-@{theme}-color-bg-item_default}';
color: ~'@{menu-@{theme}-color-item_default}';
.@{prefix}-icon {
color: ~'@{menu-@{theme}-color-icon_default}';
}
&:hover {
background-color: ~'@{menu-@{theme}-color-bg-item_hover}';
color: ~'@{menu-@{theme}-color-item_hover}';
.@{prefix}-icon {
color: ~'@{menu-@{theme}-color-icon_hover}';
}
}
&:focus-visible {
.menu-focus-visible-style();
}
&.@{menu-prefix-cls}-selected {
color: ~'@{menu-@{theme}-color-item_selected}';
.@{prefix}-icon {
color: ~'@{menu-@{theme}-color-icon_selected}';
}
}
&.@{menu-prefix-cls}-disabled {
background-color: ~'@{menu-@{theme}-color-bg-item_disabled}';
color: ~'@{menu-@{theme}-color-item_disabled}';
.@{prefix}-icon {
color: ~'@{menu-@{theme}-color-icon_disabled}';
}
}
};
.applyStyleToItem(@item-style);
// 只有 menuItem 选中时需要背景色
.@{menu-prefix-cls}-item.@{menu-prefix-cls}-selected {
background-color: ~'@{menu-@{theme}-color-bg-item_selected}';
}
// 子菜单被选中时,没有背景色,所以可以单独设置字体色
.@{menu-prefix-cls}-inline-header.@{menu-prefix-cls}-selected {
color: ~'@{menu-@{theme}-color-submenu_selected}';
.@{prefix}-icon {
color: ~'@{menu-@{theme}-color-submenu_selected}';
}
&:hover {
background-color: ~'@{menu-@{theme}-color-bg-submenu_selected_hover}';
}
}
// 为水平菜单添加项目选中的样式
&.@{menu-prefix-cls}-horizontal {
@item-selected-style: {
&.@{menu-prefix-cls}-selected {
background: none;
.text-color-transition();
&:hover {
background-color: ~'@{menu-@{theme}-color-bg-item_hover}';
}
}
};
.applyStyleToItem(@item-selected-style);
}
// 处理标题样式
.@{menu-prefix-cls}-group-title {
color: ~'@{menu-@{theme}-color-group-title}';
// 快速消除 hover 的特殊样式
pointer-events: none;
}
// 展开折叠按钮颜色
.@{menu-prefix-cls}-collapse-button {
background-color: ~'@{menu-@{theme}-color-bg-button}';
color: ~'@{menu-@{theme}-color-button}';
&:hover {
background-color: ~'@{menu-@{theme}-color-bg-button_hover}';
}
&:focus-visible {
box-shadow: 0 0 0 2px @color-primary-6;
}
}
}
}
.item-base();
.theme(light);
.theme(dark);
// 校正 a 标签颜色
a,
a:hover,
a:focus,
a:active {
color: inherit;
cursor: inherit;
text-decoration: none;
}
&-item-inner {
> a:only-child::before {
content: '';
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
}
&-inner {
box-sizing: border-box;
width: 100%;
height: 100%;
overflow: auto;
}
&-vertical {
.item-mode(vertical);
.@{menu-prefix-cls}-inner {
padding: @menu-vertical-padding-vertical @menu-vertical-padding-horizontal;
}
.@{menu-prefix-cls}-item.@{menu-prefix-cls}-item-indented {
display: flex;
}
// 为 header 右侧预留下放置 suffixIcon 的空间
.@{menu-prefix-cls}-pop-header,
.@{menu-prefix-cls}-inline-header {
padding-right: @menu-vertical-item-padding-horizontal + 16;
}
}
// 水平菜单中,仅允许出现普通 item 和 popSubMenu
&-horizontal {
width: auto;
height: auto;
.item-mode(horizontal);
.@{menu-prefix-cls}-inner {
display: flex;
align-items: center;
padding: @menu-horizontal-padding-vertical @menu-horizontal-padding-horizontal;
}
.@{menu-prefix-cls}-item,
.@{menu-prefix-cls}-pop {
display: inline-block;
vertical-align: middle;
flex-shrink: 0;
&:not(:first-child) {
margin-left: @menu-horizontal-item-gap;
}
}
.@{menu-prefix-cls}-pop::after {
content: ' ';
width: 100%;
height: @menu-horizontal-padding-vertical;
position: absolute;
left: 0;
bottom: -$height;
}
}
// 水平菜单的动态折叠容器
&-overflow {
&-wrap {
width: 100%;
}
&-sub-menu-mirror {
margin-left: @menu-horizontal-item-gap;
}
&-sub-menu-mirror,
&-hidden-menu-item {
position: absolute !important;
white-space: nowrap;
visibility: hidden;
pointer-events: none;
}
}
// 选中状态下的提示浮标,相对于 MenuItem 定位
&-selected-label {
position: absolute;
left: @menu-horizontal-item-padding-horizontal;
right: $left;
bottom: -@menu-horizontal-padding-vertical;
height: @menu-height-label-item-selected;
background-color: @menu-color-label-item-selected;
animation: ~'@{prefix}-menu-selected-item-label-enter' @transition-duration-2 @transition-timing-function-linear;
}
&-pop-button {
width: auto;
background: none;
box-shadow: none;
&.@{menu-prefix-cls}-collapse {
width: auto;
}
@item-style: {
width: @menu-pop-button-size;
height: $width;
line-height: $height;
border-radius: 50%;
border: 1px solid @menu-pop-button-border-color;
box-shadow: @menu-pop-button-box-shadow;
margin-bottom: @menu-pop-button-margin-bottom;
};
.applyStyleToItem(@item-style);
}
// 折叠样式
&-collapse {
width: @menu-collapse-width;
.@{menu-prefix-cls}-inner {
padding: @menu-collapse-padding-vertical @menu-collapse-padding-horizontal;
}
.@{menu-prefix-cls}-group-title,
.@{menu-prefix-cls}-icon-suffix {
display: none;
}
// Hide text after icon when menu is collapsed
@style-item-text: {
.@{prefix}-icon {
margin-left: 1px;
margin-right: 100vw;
}
};
.applyStyleToItem(@style-item-text);
& &-button {
right: unset;
left: 50%;
transform: translateX(-50%);
}
}
// 折叠按钮
&-collapse-button {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
right: 12px;
bottom: 12px;
width: @menu-width-collapse-button;
height: @menu-height-collapse-button;
border-radius: @menu-border-radius-collapse-button;
cursor: pointer;
}
// sub-menu-inline 的内容区域样式
&-inline-content {
overflow: hidden;
height: auto;
transition: height @transition-duration-2 @transition-timing-function-standard;
}
// 弹出的 ToolTip 中 a 标签的样式
&-item-tooltip a {
color: inherit;
cursor: pointer;
text-decoration: none;
&:hover,
&:focus,
&:active {
color: inherit;
}
&::before {
content: '';
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
}
// 弹出菜单浮层三角箭头
&-pop-trigger {
&.@{prefix}-trigger-position-bl {
transform: translateY(@menu-horizontal-padding-vertical);
.@{prefix}-trigger-arrow {
z-index: 0;
border-left: 1px solid @menu-color-border-popup;
border-top: 1px solid @menu-color-border-popup;
}
}
&.@{prefix}-trigger[trigger-placement='rt'] {
transform: translateX(@menu-vertical-padding-horizontal);
.@{prefix}-trigger-arrow {
z-index: 0;
border-left: 1px solid @menu-color-border-popup;
border-bottom: 1px solid @menu-color-border-popup;
}
}
&.@{prefix}-trigger[trigger-placement='lt'] {
transform: translateX(-@menu-vertical-padding-horizontal);
.@{prefix}-trigger-arrow {
z-index: 0;
border-right: 1px solid @menu-color-border-popup;
border-top: 1px solid @menu-color-border-popup;
}
}
.@{prefix}-dropdown-menu-dark ~ .@{prefix}-trigger-arrow-container {
.@{prefix}-trigger-arrow {
background-color: @menu-dark-color-bg;
border-color: @menu-dark-color-bg;
}
}
}
}
.@{menu-prefix-cls}-rtl {
direction: rtl;
@rtl-item-style: {
.@{prefix}-icon {
margin-right: 0;
margin-left: @menu-margin-right-item-prefix-icon;
}
};
.applyStyleToItem(@rtl-item-style);
.rtl-item-mode(@mode) {
@rtl-style-both: {
.@{menu-prefix-cls}-icon-suffix .@{prefix}-icon {
margin-left: 0;
}
};
@rtl-style-vertical-only: {
text-overflow: clip; // ellipsis on rtl layout error
.@{menu-prefix-cls}-item-inner {
text-overflow: clip;
}
.@{menu-prefix-cls}-icon-suffix {
right: initial;
left: @menu-vertical-item-padding-horizontal;
}
};
@rtl-style-horizontal-only: {
.@{prefix}-icon {
margin-right: 0;
margin-left: @menu-horizontal-margin-right-item-prefix-icon;
}
.@{menu-prefix-cls}-icon-suffix {
margin-left: 0;
margin-right: @menu-margin-left-item-suffix-icon;
}
};
.applyStyleToItem(@rtl-style-both);
.applyStyleToItem(if(@mode = vertical, @rtl-style-vertical-only, @rtl-style-horizontal-only));
}
&.@{menu-prefix-cls}-horizontal {
.rtl-item-mode(horizontal);
.@{menu-prefix-cls}-item,
.@{menu-prefix-cls}-pop {
&:not(:first-child) {
margin-left: 0;
margin-right: @menu-horizontal-item-gap;
}
}
}
&.@{menu-prefix-cls}-vertical {
.rtl-item-mode(vertical);
.@{menu-prefix-cls}-pop-header,
.@{menu-prefix-cls}-inline-header {
padding-right: @menu-vertical-item-padding-horizontal;
padding-left: @menu-vertical-item-padding-horizontal + 16;
}
}
.@{menu-prefix-cls}-pop::after {
right: 0;
left: initial;
}
.@{menu-prefix-cls}-collapse {
@rtl-style-item-text: {
.@{prefix}-icon {
margin-left: 100vw;
margin-right: 1px;
}
};
.applyStyleToItem( @rtl-style-item-text);
}
.@{menu-prefix-cls}-pop-trigger {
&.@{prefix}-trigger-position-bl {
.@{prefix}-trigger-arrow {
border-left: none;
border-right: 1px solid @menu-color-border-popup;
}
}
&.@{prefix}-trigger[trigger-placement='rt'] {
transform: translateX(-@menu-vertical-padding-horizontal);
}
&.@{prefix}-trigger[trigger-placement='lt'] {
transform: translateX(@menu-vertical-padding-horizontal);
.@{prefix}-trigger-arrow {
border-right: none;
border-left: 1px solid @menu-color-border-popup;
}
}
}
}
/********** Menu end ***************/
/********** Modal ***************/
@modal-border-radius: @radius-medium;
@modal-size-tip-icon: 18px;
@modal-margin-top: 100px;
@modal-margin-tip-icon-right: @spacing-5;
@modal-margin-footer-button-left: @spacing-6;
@modal-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@modal-border-width: @border-none;
@modal-box-shadow: @shadow-none;
@modal-color-header-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@modal-color-content-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@modal-font-header-size: @font-size-title-1;
@modal-font-header-weight: @font-weight-500;
@modal-font-content-size: @font-size-body-3;
@modal-default-align-header: center;
@modal-simple-align-header: center;
@modal-default-align-footer: right;
@modal-simple-align-footer: center;
@modal-default-padding-horizontal: @spacing-8;
@modal-default-size-header-height: @size-12;
@modal-default-padding-content-vertical: @spacing-9;
@modal-default-padding-footer-vertical: @spacing-7;
@modal-default-size-width: 520px;
@modal-simple-size-width: 464px;
@modal-simple-padding-horizontal: @spacing-10;
@modal-simple-padding-top: @spacing-9;
@modal-simple-padding-bottom: @spacing-10;
@modal-simple-margin-footer-top: @spacing-10;
@modal-simple-margin-content-top: @spacing-9;
@modal-position-close-icon-right: 16px;
@modal-font-size-close-icon: 12px;
@modal-color-close-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@modal-prefix-cls: ~'@{prefix}-modal';
.@{modal-prefix-cls}-mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: @z-index-modal;
display: none;
background-color: var(~'@{arco-cssvars-prefix}-color-mask-bg');
}
.@{modal-prefix-cls}-wrapper {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: @z-index-modal;
overflow: auto;
&-no-mask {
pointer-events: none;
.@{modal-prefix-cls} {
pointer-events: auto;
}
}
&&-align-center {
text-align: center;
white-space: nowrap;
&::after {
content: '';
vertical-align: middle;
display: inline-block;
height: 100%;
width: 0;
}
.@{modal-prefix-cls} {
top: 0;
vertical-align: middle;
display: inline-block;
}
}
}
.@{modal-prefix-cls} {
position: relative;
margin: 0 auto;
top: @modal-margin-top;
width: @modal-default-size-width;
border-radius: @modal-border-radius;
border: @modal-border-width solid @modal-color-border;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-3');
line-height: @line-height-base;
text-align: left;
white-space: initial;
box-shadow: @modal-box-shadow;
box-sizing: border-box;
&-header {
width: 100%;
box-sizing: border-box;
padding: 0 @modal-default-padding-horizontal;
border-bottom: @border-1 solid @modal-color-border;
height: @modal-default-size-header-height;
display: flex;
align-items: center;
.@{modal-prefix-cls}-title {
flex: 1;
text-align: @modal-default-align-header;
}
}
&-content {
position: relative;
padding: @modal-default-padding-content-vertical @modal-default-padding-horizontal;
color: @modal-color-content-text;
font-size: @modal-font-content-size;
}
&-footer {
border-top: @border-1 solid @modal-color-border;
width: 100%;
box-sizing: border-box;
text-align: @modal-default-align-footer;
padding: @modal-default-padding-footer-vertical @modal-default-padding-horizontal;
> .@{prefix}-btn {
margin-left: @modal-margin-footer-button-left;
&:only-child {
margin-left: 0;
}
}
}
& &-close-icon {
position: absolute;
right: @modal-position-close-icon-right +
((@icon-hover-size-default-height - @modal-font-size-close-icon) / 2);
top: ((@modal-default-size-header-height - @modal-font-size-close-icon) / 2);
font-size: @modal-font-size-close-icon;
cursor: pointer;
color: @modal-color-close-icon;
}
&-title {
color: @modal-color-header-text;
font-size: @modal-font-header-size;
font-weight: @modal-font-header-weight;
.@{prefix}-icon {
font-size: @modal-size-tip-icon;
margin-right: @modal-margin-tip-icon-right;
// round是因为带有小数的时候会抖动一下。 这么计算是为了在修改@modal-font-header-size这个token时,vertical-align跟着调整,保证对齐
vertical-align: round(-(@modal-size-tip-icon * 0.2)) + ((@modal-font-header-size - 14px) / 2);
&-info-circle-fill {
color: @color-primary-6;
}
&-check-circle-fill {
color: @color-success-6;
}
&-exclamation-circle-fill {
color: @color-warning-6;
}
&-close-circle-fill {
color: @color-danger-6;
}
}
}
}
// 简洁模式
.@{modal-prefix-cls}-simple {
padding: @modal-simple-padding-top @modal-simple-padding-horizontal @modal-simple-padding-bottom;
width: @modal-simple-size-width;
.@{modal-prefix-cls}-header,
.@{modal-prefix-cls}-footer {
border: none;
padding: 0;
height: unset;
}
.@{modal-prefix-cls}-header {
margin-bottom: @modal-simple-margin-content-top;
}
.@{modal-prefix-cls}-title {
text-align: @modal-simple-align-header;
}
.@{modal-prefix-cls}-footer {
text-align: @modal-simple-align-footer;
margin-top: @modal-simple-margin-footer-top;
}
.@{modal-prefix-cls}-content {
padding: 0;
}
}
.zoomModal-enter,
.zoomModal-appear {
opacity: 0;
transform: scale(0.5, 0.5);
}
.zoomModal-enter-active,
.zoomModal-appear-active {
opacity: 1;
transform: scale(1, 1);
transition: opacity @transition-duration-4 @transition-timing-function-overshoot,
transform @transition-duration-4 @transition-timing-function-overshoot;
}
.zoomModal-exit {
opacity: 1;
transform: scale(1, 1);
}
.zoomModal-exit-active {
opacity: 0;
transform: scale(0.5, 0.5);
transition: opacity @transition-duration-4 @transition-timing-function-overshoot,
transform @transition-duration-4 @transition-timing-function-overshoot;
}
.fadeModal-enter,
.fadeModal-appear {
opacity: 0;
}
.fadeModal-enter-active,
.fadeModal-appear-active {
opacity: 1;
transition: opacity @transition-duration-4 @transition-timing-function-overshoot;
}
.fadeModal-exit {
opacity: 1;
}
.fadeModal-exit-active {
opacity: 0;
transition: opacity @transition-duration-4 @transition-timing-function-overshoot;
}
.@{modal-prefix-cls}-rtl {
direction: rtl;
.@{modal-prefix-cls}-footer {
text-align: unset;
> .@{prefix}-btn {
margin-left: 0;
margin-right: @modal-margin-footer-button-left;
&:only-child {
margin-right: 0;
}
}
}
.@{modal-prefix-cls}-title {
.@{prefix}-icon {
margin-right: 0;
margin-left: @modal-margin-tip-icon-right;
}
}
.@{modal-prefix-cls}-close-icon {
right: initial;
left: @modal-position-close-icon-right +
((@icon-hover-size-default-height - @modal-font-size-close-icon) / 2);
}
&.@{modal-prefix-cls}-simple {
.@{modal-prefix-cls}-footer {
text-align: @modal-simple-align-footer;
}
}
}
/********** Modal end ***************/
/********** Notification ***************/
@notification-wrapper-margin-top: @spacing-8;
@notification-wrapper-margin-bottom: @spacing-8;
@notification-wrapper-margin-left: @spacing-8;
@notification-wrapper-margin-right: @spacing-8;
@notification-border-radius: @radius-medium;
@notification-margin-bottom: @spacing-8;
@notification-width: 300px;
@notification-padding-top: @spacing-8;
@notification-padding-bottom: @spacing-8;
@notification-padding-left: @spacing-8;
@notification-padding-right: @spacing-8;
@notification-font-size-icon: 24px;
@notification-font-size-title: @font-size-title-1;
@notification-font-size-content: @font-size-body-3;
@notification-icon-margin-right: @spacing-7;
@notification-title-margin-bottom: @spacing-2;
@notification-btn-wrapper-margin-top: @spacing-7;
@notification-border-width: 1px;
@notification-border-style: solid;
@notification-color-close-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-close-icon-font-size: 12px;
@notification-close-icon-top: @spacing-6;
@notification-close-icon-right: @spacing-6;
@notification-normal-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@notification-normal-color-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-normal-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-normal-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-normal-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@notification-info-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@notification-info-color-icon: @color-primary-6;
@notification-info-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-info-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-info-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@notification-success-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@notification-success-color-icon: @color-success-6;
@notification-success-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-success-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-success-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@notification-warning-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@notification-warning-color-icon: @color-warning-6;
@notification-warning-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-warning-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-warning-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@notification-error-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@notification-error-color-icon: @color-danger-6;
@notification-error-color-text-title: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-error-color-text-content: var(~'@{arco-cssvars-prefix}-color-text-1');
@notification-error-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@notification-prefix-cls: ~'@{prefix}-notification';
.@{notification-prefix-cls}-wrapper {
position: fixed;
z-index: @z-index-notification;
&-topLeft {
left: @notification-wrapper-margin-left;
top: @notification-wrapper-margin-top;
}
&-topRight {
right: @notification-wrapper-margin-right;
top: @notification-wrapper-margin-top;
.@{notification-prefix-cls} {
margin-left: auto;
}
}
&-bottomLeft {
bottom: @notification-wrapper-margin-bottom;
left: @notification-wrapper-margin-left;
}
&-bottomRight {
bottom: @notification-wrapper-margin-bottom;
right: @notification-wrapper-margin-right;
.@{notification-prefix-cls} {
margin-left: auto;
}
}
}
.@{notification-prefix-cls} {
display: flex;
position: relative;
width: @notification-width + @notification-padding-right + @notification-padding-left;
padding: @notification-padding-top @notification-padding-right @notification-padding-bottom
@notification-padding-left;
border-radius: @notification-border-radius;
border: @notification-border-width @notification-border-style @notification-normal-color-border;
margin-bottom: @notification-margin-bottom;
background-color: @notification-normal-color-bg;
box-shadow: 0 4px 12px rgba(0, 0, 0, 15%);
overflow: hidden;
box-sizing: border-box;
opacity: 1;
transition: opacity @transition-duration-2 @transition-timing-function-linear;
&-icon {
font-size: @notification-font-size-icon;
display: inline-flex;
align-items: center;
color: @notification-normal-color-icon;
}
&-info {
background-color: @notification-info-color-bg;
border-color: @notification-info-color-border;
}
&-info &-icon {
color: @notification-info-color-icon;
}
&-success {
background-color: @notification-success-color-bg;
border-color: @notification-success-color-border;
}
&-success &-icon {
color: @notification-success-color-icon;
}
&-warning {
background-color: @notification-warning-color-bg;
border-color: @notification-warning-color-border;
}
&-warning &-icon {
color: @notification-warning-color-icon;
}
&-error {
background-color: @notification-error-color-bg;
border-color: @notification-error-color-border;
}
&-error &-icon {
color: @notification-error-color-icon;
}
&-left {
padding-right: @notification-icon-margin-right;
}
&-right {
flex: 1;
word-break: break-word;
}
&-title {
font-size: @notification-font-size-title;
font-weight: @font-weight-500;
color: @notification-normal-color-text-title;
margin-bottom: @notification-title-margin-bottom;
}
&-content {
font-size: @notification-font-size-content;
color: @notification-normal-color-text-content;
}
&-info &-title {
color: @notification-info-color-text-title;
}
&-info &-content {
color: @notification-info-color-text-content;
}
&-success &-title {
color: @notification-success-color-text-title;
}
&-success &-content {
color: @notification-success-color-text-content;
}
&-warning &-title {
color: @notification-warning-color-text-title;
}
&-warning &-content {
color: @notification-warning-color-text-content;
}
&-error &-title {
color: @notification-error-color-text-title;
}
&-error &-content {
color: @notification-error-color-text-content;
}
&-btn-wrapper {
margin-top: @notification-btn-wrapper-margin-top;
text-align: right;
}
& &-close-btn {
position: absolute;
cursor: pointer;
top: @notification-close-icon-top;
right: @notification-close-icon-right;
color: @notification-color-close-icon;
font-size: @notification-close-icon-font-size;
> svg {
position: relative;
}
}
.icon-hover(
@notification-prefix-cls,
@notification-close-icon-font-size,
@notification-close-icon-font-size + 8px
);
}
.slideNoticeLeft-enter,
.slideNoticeLeft-appear {
transform: translateX(-100%);
}
.slideNoticeLeft-enter-active,
.slideNoticeLeft-appear-active {
transform: translateX(0);
transition: transform @transition-duration-4 @transition-timing-function-overshoot;
}
.slideNoticeLeft-exit {
opacity: 0;
}
.slideNoticeLeft-exit-active {
opacity: 0;
height: 0;
padding-top: 0;
padding-bottom: 0;
margin-bottom: 0;
transition: all @transition-duration-3 @transition-timing-function-standard;
}
.slideNoticeRight-enter,
.slideNoticeRight-appear {
transform: translateX(100%);
}
.slideNoticeRight-enter-active,
.slideNoticeRight-appear-active {
transform: translateX(0);
transition: transform @transition-duration-4 @transition-timing-function-overshoot;
}
.slideNoticeRight-exit {
opacity: 0;
}
.slideNoticeRight-exit-active {
opacity: 0;
height: 0;
transition: all @transition-duration-3 @transition-timing-function-standard;
}
.@{notification-prefix-cls}-wrapper-rtl {
direction: rtl;
}
.@{notification-prefix-cls}-rtl {
direction: rtl;
.@{notification-prefix-cls}-left {
padding-right: 0;
padding-left: @notification-icon-margin-right;
}
.@{notification-prefix-cls}-btn-wrapper {
text-align: left;
}
.@{notification-prefix-cls}-close-btn {
right: initial;
left: @notification-close-icon-right;
}
}
/********** Notification end ***************/
/********** PageHeader ***************/
@page-header-padding-left: @spacing-9;
@page-header-padding-right: @spacing-8;
@page-header-padding-vertical: @spacing-7;
@page-header-padding-vertical_breadcrumb: @spacing-6;
@page-header-color-back-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@page-header-size-back-icon: @font-size-body-3;
@page-header-color-back-icon-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@page-header-margin-back-icon-right: @spacing-6;
@page-header-line-height: @size-7;
@page-header-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@page-header-weight-title-text: 600;
@page-header-color-back-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@page-header-size-back-icon-bg_hover: 30px;
@page-header-size-title-text: @font-size-title-2;
@page-header-color-divider-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@page-header-size-divider-height: @size-4;
@page-header-size-divider-width: 1px;
@page-header-margin-divider-left: @spacing-6;
@page-header-margin-divider-right: @spacing-6;
@page-header-color-sub-title-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@page-header-size-sub-title-text: @font-size-body-3;
@page-header-color-header-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@page-header-border-header-width: @border-1;
@page-header-border-header-style: @border-solid;
@page-header-padding-content-vertical: @spacing-8;
@page-header-padding-content-horizontal: @spacing-10;
@page-header-margin-breadcrumb-bottom: @spacing-2;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@page-header-prefix-cls: ~'@{prefix}-page-header';
.@{page-header-prefix-cls} {
padding: @page-header-padding-vertical 0;
.@{prefix}-breadcrumb + &-head {
margin-top: @page-header-margin-breadcrumb-bottom;
}
// 头部
&-head {
display: flex;
align-items: center;
justify-content: space-between;
line-height: @page-header-line-height;
&-left {
display: flex;
align-items: center;
}
&-wrapper {
padding-left: @page-header-padding-left;
padding-right: @page-header-padding-right;
}
&-main {
display: flex;
align-items: center;
// 最小高度避免按钮hover下背景被hidden
min-height: @page-header-size-back-icon-bg_hover;
overflow: hidden;
// 带有返回按钮时,避免 overflow:hidden 导致返回按钮hover状态背景色显示不全
&-with-back {
margin-left: (@page-header-size-back-icon / 2) - (@page-header-size-back-icon-bg_hover / 2);
padding-left: (@page-header-size-back-icon-bg_hover / 2) - (@page-header-size-back-icon / 2);
}
}
&-extra {
white-space: nowrap;
}
}
.icon-hover(
@page-header-prefix-cls,
@page-header-size-back-icon,
@page-header-size-back-icon-bg_hover
);
.icon-hover-bg(
@page-header-prefix-cls,
@page-header-color-back-icon-bg_hover
);
&-back {
color: @page-header-color-back-icon;
font-size: @page-header-size-back-icon;
margin-right: @page-header-margin-back-icon-right;
&:focus-visible::before {
box-shadow: inset 0 0 0 2px @page-header-color-back-icon-box-shadow;
}
&-icon {
position: relative;
}
}
&-title {
.text-ellipsis();
color: @page-header-color-title-text;
font-size: @page-header-size-title-text;
font-weight: @page-header-weight-title-text;
}
&-divider {
width: @page-header-size-divider-width;
margin-left: @page-header-margin-divider-left;
margin-right: @page-header-margin-divider-right;
height: @page-header-size-divider-height;
background-color: @page-header-color-divider-bg;
}
&-sub-title {
.text-ellipsis();
color: @page-header-color-sub-title-text;
font-size: @page-header-size-sub-title-text;
}
// 内容区
&-content {
padding: @page-header-padding-content-vertical @page-header-padding-content-horizontal;
border-top: @page-header-border-header-width @page-header-border-header-style
@page-header-color-header-border;
}
&-footer {
padding: @page-header-padding-vertical @page-header-padding-right 0 @page-header-padding-left;
}
&-with-breadcrumb {
padding: @page-header-padding-vertical_breadcrumb 0;
.@{page-header-prefix-cls}-footer {
padding-top: @page-header-padding-vertical_breadcrumb;
}
}
&-with-content &-head-wrapper {
padding-bottom: @page-header-padding-vertical_breadcrumb;
}
&-with-footer {
padding-bottom: 0;
}
&-wrap &-head {
flex-wrap: wrap;
.@{page-header-prefix-cls}-head-extra {
margin-top: @page-header-margin-breadcrumb-bottom;
}
}
}
.@{page-header-prefix-cls}-rtl {
.@{page-header-prefix-cls}-head {
&-wrapper {
padding-left: @page-header-padding-right;
padding-right: @page-header-padding-left;
}
&-main {
&-with-back {
margin-right: (@page-header-size-back-icon / 2) - (@page-header-size-back-icon-bg_hover / 2);
padding-right: (@page-header-size-back-icon-bg_hover / 2) -
(@page-header-size-back-icon / 2);
margin-left: 0;
padding-left: 0;
}
}
}
.@{page-header-prefix-cls}-back {
margin-left: @page-header-margin-back-icon-right;
margin-right: 0;
}
.@{page-header-prefix-cls}-divider {
margin-right: @page-header-margin-divider-left;
margin-left: @page-header-margin-divider-right;
}
}
/********** PageHeader end ***************/
/********** Pagination ***************/
@pagination-prefix-cls: ~'@{prefix}-pagination';
@pagination-item-border-radius: @radius-small;
@pagination-item-spacing: @spacing-4;
@pagination-margin-total-spacing: @spacing-4;
@pagination-margin-option-left: @spacing-4;
@pagination-margin-jumper-left: @spacing-4;
@pagination-size-mini: @size-mini;
@pagination-size-small: @size-small;
@pagination-size-default: @size-default;
@pagination-size-large: @size-large;
@pagination-size-mini-font-size: @font-size-body-1;
@pagination-size-small-font-size: @font-size-body-3;
@pagination-size-default-font-size: @font-size-body-3;
@pagination-size-large-font-size: @font-size-body-3;
@pagination-size-icon-arrow_mini: @size-3;
@pagination-size-icon-arrow_small: @size-3;
@pagination-size-icon-arrow_default: @size-3;
@pagination-size-icon-arrow_large: 14px;
@pagination-size-icon-ellipsis: @size-4;
@pagination-border-width: @border-none;
@pagination-color-bg-item: @color-transparent;
@pagination-color-bg-item_active: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@pagination-color-bg-item_hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@pagination-color-bg-item_disabled: @color-transparent;
@pagination-color-bg-item_active_disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@pagination-color-item-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@pagination-color-item-text_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@pagination-color-item-text_active: @color-primary-6;
@pagination-color-item-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@pagination-color-item-text_active_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@pagination-color-item-border: @color-transparent;
@pagination-color-item-border_active: @color-transparent;
@pagination-color-item-border_hover: @color-transparent;
@pagination-color-item-border_disabled: @color-transparent;
@pagination-color-item-border_active_disabled: @color-transparent;
@pagination-color-icon-arrow: var(~'@{arco-cssvars-prefix}-color-text-2');
@pagination-color-icon-arrow-bg: @color-transparent;
@pagination-color-icon-arrow-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@pagination-color-icon-arrow-bg_disabled: @color-transparent;
@pagination-color-icon-arrow-text_hover: @color-primary-6;
@pagination-color-icon-arrow-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// Simple
@pagination-simple-input-width: @size-10;
@pagination-simple-color-icon-arrow: var(~'@{arco-cssvars-prefix}-color-text-2');
@pagination-simple-color-icon-arrow-bg: @color-transparent;
@pagination-simple-color-icon-arrow-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@pagination-simple-color-icon-arrow-bg_disabled: @color-transparent;
@pagination-simple-color-icon-arrow-text_hover: @color-primary-6;
@pagination-simple-color-icon-arrow-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@pagination-simple-margin-prev-right: @spacing-2;
@pagination-simple-margin-next-left: @spacing-6;
@pagination-simple-margin-separator-left: @spacing-6;
@pagination-simple-margin-separator-right: @spacing-6;
// jumper
@patination-jumper-input-width: @size-10;
@pagination-color-jumper-goto: var(~'@{arco-cssvars-prefix}-color-text-2');
// total text
@pagination-color-text-total: var(~'@{arco-cssvars-prefix}-color-text-1');
.page-item(@size) {
@height: ~'pagination-size-@{size}';
font-size: ~'@{pagination-size-@{size}-font-size}';
min-width: @@height;
height: @@height;
line-height: @@height - (@pagination-border-width * 2);
&-prev,
&-next {
font-size: ~'@{pagination-size-icon-arrow_@{size}}';
}
}
.option(@size) {
font-size: ~'@{pagination-size-@{size}-font-size}';
height: ~'@{pagination-size-@{size}}';
line-height: 0;
}
.total(@size) {
font-size: ~'@{pagination-size-@{size}-font-size}';
line-height: ~'@{pagination-size-@{size}}';
}
.@{pagination-prefix-cls} {
display: flex;
align-items: center;
font-size: @pagination-size-default-font-size;
&-list {
margin: 0;
padding: 0;
list-style: none;
display: inline-block;
}
&-item {
display: inline-block;
text-align: center;
vertical-align: middle;
list-style: none;
box-sizing: border-box;
cursor: pointer;
outline: 0;
user-select: none;
border-radius: @pagination-item-border-radius;
color: @pagination-color-item-text;
border: @pagination-border-width solid @pagination-color-item-border;
background-color: @pagination-color-bg-item;
.page-item(default);
&-disabled {
cursor: not-allowed;
background-color: @pagination-color-bg-item_disabled;
color: @pagination-color-item-text_disabled;
border-color: @pagination-color-item-border_disabled;
}
&:not(&-disabled):not(&-active):hover {
background-color: @pagination-color-bg-item_hover;
border-color: @pagination-color-item-border_hover;
color: @pagination-color-item-text_hover;
}
&-active {
transition: color @transition-duration-2 @transition-timing-function-linear,
background-color @transition-duration-2 @transition-timing-function-linear;
color: @pagination-color-item-text_active;
background-color: @pagination-color-bg-item_active;
border-color: @pagination-color-item-border_active;
}
&:not(:last-child) {
margin-right: @pagination-item-spacing;
}
&:focus-visible {
box-shadow: 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-primary-light-3');
}
}
&-item-prev,
&-item-next {
font-size: @pagination-size-icon-arrow_default;
color: @pagination-color-icon-arrow;
background-color: @pagination-color-icon-arrow-bg;
&:not(.@{pagination-prefix-cls}-item-disabled):hover {
background-color: @pagination-color-icon-arrow-bg_hover;
color: @pagination-color-icon-arrow-text_hover;
}
// 解决少数情况下出现的图标不垂直水平剧中的 bug
&::after {
display: inline-block;
content: '.';
font-size: 0;
vertical-align: middle;
}
}
& &-item-prev&-item-disabled,
& &-item-next&-item-disabled {
color: @pagination-color-icon-arrow-text_disabled;
background-color: @pagination-color-icon-arrow-bg_disabled;
}
&-item-jumper {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: @pagination-size-icon-ellipsis;
}
/*** 快速跳转 ***/
&-jumper {
margin-left: @pagination-margin-jumper-left;
> span {
font-size: @pagination-size-default-font-size;
}
&-text-goto,
&-text-goto-suffix {
color: @pagination-color-jumper-goto;
}
}
& &-jumper-input {
width: @patination-jumper-input-width;
text-align: center;
margin-left: @pagination-item-spacing;
margin-right: @pagination-item-spacing;
padding-left: 2px;
padding-right: 2px;
}
&-option {
display: inline-block;
text-align: center;
vertical-align: middle;
min-width: 0;
position: relative;
margin-left: @pagination-margin-option-left;
.@{prefix}-select {
width: auto;
&-view-value {
overflow: inherit;
padding-right: 6px;
}
}
.option(default);
}
&-total-text {
display: inline-block;
height: 100%;
color: @pagination-color-text-total;
margin-right: @pagination-margin-total-spacing;
font-size: @pagination-size-default-font-size;
.total(default);
}
// simple
&-item-simple-pager {
display: inline-block;
vertical-align: middle;
margin: 0 @pagination-simple-margin-next-left 0 @pagination-simple-margin-prev-right;
}
&-item-simple-pager &-jumper-separator {
padding: 0 @pagination-simple-margin-separator-right 0 @pagination-simple-margin-separator-left;
}
&-simple &-item {
margin-right: 0;
}
&-simple &-jumper {
color: var(~'@{arco-cssvars-prefix}-color-text-1');
}
&-simple &-jumper {
margin-left: 0;
}
&-simple &-jumper &-jumper-input {
width: @pagination-simple-input-width;
margin-left: 0;
}
&-simple &-item-prev,
&-simple &-item-next {
color: @pagination-simple-color-icon-arrow;
background-color: @pagination-simple-color-icon-arrow-bg;
&:not(.@{pagination-prefix-cls}-item-disabled):hover {
background-color: @pagination-simple-color-icon-arrow-bg_hover;
color: @pagination-simple-color-icon-arrow-text_hover;
}
}
&-simple &-item-prev&-item-disabled,
&-simple &-item-next&-item-disabled {
color: @pagination-simple-color-icon-arrow-text_disabled;
background-color: @pagination-simple-color-icon-arrow-bg_disabled;
}
// Disabled
&-disabled {
cursor: not-allowed;
}
&-disabled &-item,
&-disabled &-item:not(&-item-disabled):not(&-item-active):hover {
cursor: not-allowed;
background-color: @pagination-color-bg-item_disabled;
border-color: @pagination-color-item-border_disabled;
color: @pagination-color-item-text_disabled;
}
&&-disabled &-item-active {
background-color: @pagination-color-bg-item_active_disabled;
border-color: @pagination-color-item-border_active_disabled;
color: @pagination-color-item-text_active_disabled;
}
// size
&-size-mini &-item {
.page-item(mini);
}
&-size-mini &-total-text {
.total(mini);
}
&-size-mini &-option {
.option(mini);
}
&-size-mini &-jumper > span {
font-size: @pagination-size-mini-font-size;
}
&-size-small &-item {
.page-item(small);
}
&-size-small &-total-text {
.total(small);
}
&-size-small &-option {
.option(small);
}
&-size-small &-jumper > span {
font-size: @pagination-size-small-font-size;
}
&-size-large &-item {
.page-item(large);
}
&-size-large &-total-text {
.total(large);
}
&-size-large &-option {
.option(large);
}
&-size-large &-jumper > span {
font-size: @pagination-size-large-font-size;
}
}
.@{pagination-prefix-cls}-rtl {
direction: rtl;
.@{pagination-prefix-cls}-item {
&:not(:last-child) {
margin-right: 0;
margin-left: @pagination-item-spacing;
}
&-simple-pager {
margin: 0 @pagination-simple-margin-prev-right 0 @pagination-simple-margin-next-left;
.@{pagination-prefix-cls}-jumper-separator {
padding: 0 @pagination-simple-margin-separator-left 0
@pagination-simple-margin-separator-right;
}
}
}
.@{pagination-prefix-cls}-jumper {
margin-left: 0;
margin-right: @pagination-margin-jumper-left;
}
& .@{pagination-prefix-cls}-jumper-input {
margin-left: 0;
margin-right: @pagination-item-spacing;
}
.@{pagination-prefix-cls}-option {
margin-left: 0;
margin-right: @pagination-margin-option-left;
.@{prefix}-select {
&-view-value {
padding-right: 0;
padding-left: 6px;
}
}
}
.@{pagination-prefix-cls}-total-text {
margin-right: 0;
margin-left: @pagination-margin-total-spacing;
}
&.@{pagination-prefix-cls}-simple {
.@{pagination-prefix-cls}-item,
.@{pagination-prefix-cls}-jumper,
.@{pagination-prefix-cls}-jumper-input {
margin-right: 0;
}
}
}
/********** Pagination end ***************/
/********** Popconfirm ***************/
@popconfirm-padding-horizontal: @spacing-7;
@popconfirm-padding-vertical: @spacing-7;
@popconfirm-margin-title-bottom: @spacing-7;
@popconfirm-margin-content-top: @spacing-2;
@popconfirm-margin-content-bottom: @popconfirm-margin-title-bottom;
@popconfirm-size-title-icon: 18px;
@popconfirm-margin-icon-right: @spacing-4;
@popconfirm-margin-button-left: @spacing-4;
@popconfirm-font-title-size: @font-size-body-3;
@popconfirm-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@popconfirm-prefix-cls: ~'@{prefix}-popconfirm';
.@{popconfirm-prefix-cls} {
&-content {
padding: @popconfirm-padding-vertical @popconfirm-padding-horizontal;
box-sizing: border-box;
}
&-title {
position: relative;
margin-bottom: @popconfirm-margin-title-bottom;
font-size: @popconfirm-font-title-size;
color: @popconfirm-color-title-text;
display: flex;
align-items: flex-start;
&-icon {
font-size: @popconfirm-size-title-icon;
margin-right: @popconfirm-margin-icon-right;
display: inline-flex;
align-items: center;
height: @line-height-base * @popconfirm-font-title-size;
.@{prefix}-icon-exclamation-circle-fill {
color: @color-warning-6;
}
}
}
&-has-content &-title {
margin-bottom: 0;
font-weight: @font-weight-500;
}
&-inner-content {
margin-top: @popconfirm-margin-content-top;
margin-bottom: @popconfirm-margin-content-bottom;
padding-left: @popconfirm-size-title-icon + @popconfirm-margin-icon-right;
}
.@{popconfirm-prefix-cls}-btn {
text-align: right;
> button {
margin-left: @popconfirm-margin-button-left;
}
}
}
.@{popconfirm-prefix-cls}-rtl {
.@{popconfirm-prefix-cls} {
&-title {
&-icon {
margin-left: @popconfirm-margin-icon-right;
margin-right: 0;
}
}
&-inner-content {
padding-left: 0;
padding-right: @popconfirm-size-title-icon + @popconfirm-margin-icon-right;
}
&-btn {
text-align: left;
> button {
margin-right: @popconfirm-margin-button-left;
margin-left: 0;
}
}
}
}
/********** Popconfirm end ***************/
/********** Popover ***************/
@popup-color-content-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@popup-color-content-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@popup-shadow: @shadow2-down;
@popup-padding-horizontal: @spacing-7;
@popup-padding-vertical: @spacing-6;
@popup-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@popup-font-title-size: @font-size-title-1;
@popup-margin-content-top: @spacing-2;
@popup-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@popup-font-size: @font-size-body-3;
@popup-border-radius: @radius-medium;
@popover-prefix-cls: ~'@{prefix}-popover';
@popconfirm-prefix-cls: ~'@{prefix}-popconfirm';
.@{popover-prefix-cls} {
&-content {
padding: @popup-padding-vertical @popup-padding-horizontal;
}
&-title {
font-size: @popup-font-title-size;
color: @popup-color-title-text;
font-weight: @font-weight-500;
}
&-title + &-inner-content {
margin-top: @popup-margin-content-top;
}
}
.@{popover-prefix-cls},
.@{popconfirm-prefix-cls} {
&-content {
color: @popup-color-content-text;
background-color: @popup-color-content-bg;
box-shadow: @popup-shadow;
max-width: none;
width: 100%;
font-size: @popup-font-size;
border-radius: @popup-border-radius;
line-height: @line-height-base;
box-sizing: border-box;
border: @border-1 solid @popup-color-border;
&-inner {
word-wrap: break-word;
text-align: left;
}
}
&-arrow.@{prefix}-trigger-arrow {
background-color: @popup-color-content-bg;
border: @border-1 solid @popup-color-border;
z-index: 1;
}
}
.@{popover-prefix-cls}-inner-rtl {
direction: rtl;
text-align: right;
}
/********** Popover end ***************/
/********** Progress ***************/
@progress-line-color-line-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@progress-line-color-inner-bg: @color-primary-6;
@progress-line-color-inner-bg_success: @color-success-6;
@progress-line-color-inner-bg_error: @color-danger-6;
@progress-line-color-buffer-bg: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@progress-line-size-large-font-size: 16px;
@progress-line-size-small-font-size: @font-size-body-1;
@progress-line-size-default-font-size: @font-size-body-1;
@progress-line-size-large-margin-text-left: @spacing-7;
@progress-line-size-small-margin-text-left: @spacing-7;
@progress-line-color-icon_success: @color-success-6;
@progress-line-color-icon_error: @color-danger-6;
@progress-line-margin-text-left: @spacing-7;
@progress-line-margin-icon-left: @spacing-2;
@progress-line-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@progress-line-color-icon_normal: var(~'@{arco-cssvars-prefix}-color-text-2');
@progress-line-size-default-icon-size: 12px;
@progress-line-size-small-icon-size: 12px;
@progress-line-size-large-icon-size: 14px;
@progress-circle-size-small-font-size: @font-size-body-2;
@progress-circle-size-default-font-size: @font-size-body-3;
@progress-circle-size-large-font-size: 16px;
@progress-circle-size-small-icon-size: 14px;
@progress-circle-size-default-icon-size: @size-4;
@progress-circle-size-large-icon-size: @size-4;
@progress-circle-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@progress-circle-color-mask-stroke: var(~'@{arco-cssvars-prefix}-color-fill-3');
@progress-circle-size-mini-color-mask-stroke: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@progress-circle-size-mini-color-mask-stroke_success: var(~'@{arco-cssvars-prefix}-color-success-light-3');
@progress-circle-size-mini-color-mask-stroke_error: var(~'@{arco-cssvars-prefix}-color-danger-light-3');
@progress-circle-color-path-stroke: @color-primary-6;
@progress-circle-color-path-stroke_success: @color-success-6;
@progress-circle-color-path-stroke_error: @color-danger-6;
@progress-circle-color-icon_success: @color-success-6;
@progress-circle-color-icon_error: @color-danger-6;
@progress-steps-size-small-steps-item-width: 2px;
@progress-steps-margin-steps-item-right: 3px;
@progress-steps-margin-steps-item-right_small: 3px;
@progress-steps-color-item-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@progress-steps-color-item-bg_normal: @color-primary-6;
@progress-steps-color-item-bg_success: @progress-line-color-inner-bg_success;
@progress-steps-color-item-bg_error: @progress-line-color-inner-bg_error;
@progress-steps-color-item-bg_warning: @progress-line-color-inner-bg_warning;
@progress-steps-margin-text-left: @spacing-4;
@progress-line-color-inner-bg_warning: @color-warning-6;
@progress-line-color-icon_warning: @color-warning-6;
@progress-circle-size-mini-color-mask-stroke_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-3');
@progress-circle-color-path-stroke_warning: @color-warning-6;
@progress-circle-color-icon_warning: @color-warning-6;
@progress-prefix-cls: ~'@{prefix}-progress';
.@{progress-prefix-cls} {
position: relative;
line-height: 1;
font-size: @progress-line-size-default-font-size;
&-line,
&-steps {
display: inline-block;
max-width: 100%;
width: 100%;
&-wrapper {
display: flex;
align-items: center;
width: 100%;
max-width: 100%;
height: 100%;
}
&-text {
font-size: @progress-line-size-default-font-size;
margin-left: @progress-line-margin-text-left;
color: @progress-line-color-text;
white-space: nowrap;
text-align: right;
flex-grow: 1;
flex-shrink: 0;
min-width: 32px;
.@{prefix}-icon {
font-size: @progress-line-size-default-icon-size;
margin-left: @progress-line-margin-icon-left;
}
}
}
// type = line
&-line {
&-outer {
background-color: @progress-line-color-line-bg;
border-radius: 100px;
width: 100%;
position: relative;
display: inline-block;
overflow: hidden;
}
&-inner {
height: 100%;
border-radius: 100px;
background-color: @progress-line-color-inner-bg;
position: relative;
transition: width 0.6s @transition-timing-function-standard,
background 0.3s @transition-timing-function-standard;
max-width: 100%;
&-buffer {
position: absolute;
background-color: @progress-line-color-buffer-bg;
height: 100%;
top: 0;
left: 0;
border-radius: 0 100px 100px 0;
max-width: 100%;
transition: all 0.6s @transition-timing-function-standard;
}
&-animate::after {
content: '';
display: block;
position: absolute;
top: 0;
width: 100%;
height: 100%;
border-radius: inherit;
background: linear-gradient(
90deg,
transparent 25%,
rgba(255, 255, 255, 50%) 50%,
transparent 75%
);
background-size: 400% 100%;
animation: ~'@{prefix}-progress-loading' 1.5s @transition-timing-function-standard infinite;
}
}
&-text {
.@{prefix}-icon {
color: @progress-line-color-icon_normal;
}
}
}
&-steps {
&-outer {
display: flex;
width: 100%;
}
&-text {
margin-left: @progress-steps-margin-text-left;
min-width: unset;
.@{prefix}-icon {
color: @progress-line-color-icon_normal;
}
}
&-item {
height: 100%;
flex: 1;
background-color: @progress-steps-color-item-bg;
position: relative;
display: inline-block;
&:not(:last-of-type) {
margin-right: @progress-steps-margin-steps-item-right;
}
&:last-of-type {
border-top-right-radius: 100px;
border-bottom-right-radius: 100px;
}
&:first-of-type {
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
}
&-active {
background-color: @progress-steps-color-item-bg_normal;
}
}
// size small
&.@{progress-prefix-cls}-small {
width: auto;
}
&.@{progress-prefix-cls}-small &-item {
width: @progress-steps-size-small-steps-item-width;
flex: unset;
border-radius: @progress-steps-size-small-steps-item-width;
&:not(:last-of-type) {
margin-right: @progress-steps-margin-steps-item-right_small;
}
}
}
&-is-warning {
.@{progress-prefix-cls}-line-inner {
background-color: @progress-line-color-inner-bg_warning;
}
.@{progress-prefix-cls}-steps-item-active {
background-color: @progress-steps-color-item-bg_warning;
}
.@{progress-prefix-cls}-line-text .@{prefix}-icon,
.@{progress-prefix-cls}-steps-text .@{prefix}-icon {
color: @progress-line-color-icon_warning;
}
}
&-is-success {
.@{progress-prefix-cls}-line-inner {
background-color: @progress-line-color-inner-bg_success;
}
.@{progress-prefix-cls}-steps-item-active {
background-color: @progress-steps-color-item-bg_success;
}
.@{progress-prefix-cls}-line-text .@{prefix}-icon,
.@{progress-prefix-cls}-steps-text .@{prefix}-icon {
color: @progress-line-color-icon_success;
}
}
&-is-error {
.@{progress-prefix-cls}-line-inner {
background-color: @progress-line-color-inner-bg_error;
}
.@{progress-prefix-cls}-steps-item-active {
background-color: @progress-steps-color-item-bg_error;
}
.@{progress-prefix-cls}-line-text .@{prefix}-icon,
.@{progress-prefix-cls}-steps-text .@{prefix}-icon {
color: @progress-line-color-icon_error;
}
}
// size
&-small {
.@{progress-prefix-cls}-line-text {
font-size: @progress-line-size-small-font-size;
margin-left: @progress-line-size-small-margin-text-left;
}
.@{progress-prefix-cls}-line-text .@{prefix}-icon {
font-size: @progress-line-size-small-icon-size;
}
}
&-large {
.@{progress-prefix-cls}-line-text {
font-size: @progress-line-size-large-font-size;
margin-left: @progress-line-size-large-margin-text-left;
}
.@{progress-prefix-cls}-line-text .@{prefix}-icon {
font-size: @progress-line-size-large-icon-size;
}
}
}
// type = circle
.@{progress-prefix-cls} {
&-circle {
display: inline-block;
&-wrapper {
position: relative;
text-align: center;
line-height: 1;
display: inline-block;
vertical-align: text-bottom;
}
&-svg {
transform: rotate(-90deg);
}
&-text {
font-size: @progress-circle-size-default-font-size;
.@{prefix}-icon {
font-size: @progress-circle-size-default-icon-size;
color: @progress-line-color-icon_normal;
}
}
.@{progress-prefix-cls}-circle-text {
position: absolute;
top: 50%;
left: 50%;
color: @progress-circle-color-text;
transform: translate(-50%, -50%);
}
&-mask {
stroke: @progress-circle-color-mask-stroke;
}
&-path {
stroke: @progress-circle-color-path-stroke;
transition: stroke-dashoffset 0.6s @transition-timing-function-linear 0s,
stroke 0.6s @transition-timing-function-linear;
}
}
&-mini {
.@{progress-prefix-cls}-circle-mask {
stroke: @progress-circle-size-mini-color-mask-stroke;
}
.@{progress-prefix-cls}-circle-path {
stroke: @progress-circle-color-path-stroke;
}
&.@{progress-prefix-cls}-is-warning {
.@{progress-prefix-cls}-circle-mask {
stroke: @progress-circle-size-mini-color-mask-stroke_warning;
}
}
&.@{progress-prefix-cls}-is-error {
.@{progress-prefix-cls}-circle-mask {
stroke: @progress-circle-size-mini-color-mask-stroke_error;
}
}
&.@{progress-prefix-cls}-is-success {
.@{progress-prefix-cls}-circle-mask {
stroke: @progress-circle-size-mini-color-mask-stroke_success;
}
.@{progress-prefix-cls}-circle-wrapper .@{prefix}-icon-check {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
}
.@{progress-prefix-cls}-circle-text {
position: static;
top: unset;
left: unset;
transform: unset;
}
}
&-small {
.@{progress-prefix-cls}-circle-text {
font-size: @progress-circle-size-small-font-size;
.@{prefix}-icon {
font-size: @progress-circle-size-small-icon-size;
}
}
}
&-large {
.@{progress-prefix-cls}-circle-text {
font-size: @progress-circle-size-large-font-size;
.@{prefix}-icon {
font-size: @progress-circle-size-large-icon-size;
}
}
}
&-is-warning {
.@{progress-prefix-cls}-circle-path {
stroke: @progress-circle-color-path-stroke_warning;
}
.@{prefix}-icon {
color: @progress-circle-color-icon_warning;
}
}
&-is-success {
.@{progress-prefix-cls}-circle-path {
stroke: @progress-circle-color-path-stroke_success;
}
.@{prefix}-icon {
color: @progress-circle-color-icon_success;
}
}
&-is-error {
.@{progress-prefix-cls}-circle-path {
stroke: @progress-circle-color-path-stroke_error;
}
.@{prefix}-icon {
color: @progress-circle-color-icon_error;
}
}
}
@keyframes ~'@{prefix}-progress-loading' {
0% {
background-position: 100% 50%;
}
100% {
background-position: 0 50%;
}
}
.@{progress-prefix-cls}-rtl {
.@{progress-prefix-cls}-line,
.@{progress-prefix-cls}-steps {
&-text {
margin-left: 0;
margin-right: @progress-line-margin-text-left;
.@{prefix}-icon {
margin-left: 0;
margin-right: @progress-line-margin-icon-left;
}
}
}
& .@{progress-prefix-cls}-steps {
&-text {
margin-left: 0;
margin-right: @progress-steps-margin-text-left;
}
&-item {
&:not(:last-of-type) {
margin-right: 0;
margin-left: @progress-steps-margin-steps-item-right;
}
}
}
&.@{progress-prefix-cls}-steps.@{progress-prefix-cls}-small {
.@{progress-prefix-cls}-steps-item {
&:not(:last-of-type) {
margin-right: 0;
margin-left: @progress-steps-margin-steps-item-right_small;
}
}
}
&.@{progress-prefix-cls}-small {
.@{progress-prefix-cls}-line-text {
margin-right: @progress-line-size-small-margin-text-left;
margin-left: 0;
}
}
&.@{progress-prefix-cls}-large {
.@{progress-prefix-cls}-line-text {
margin-right: @progress-line-size-large-margin-text-left;
margin-left: 0;
}
}
&.@{progress-prefix-cls}-line {
.@{progress-prefix-cls}-line-inner-buffer {
left: initial;
right: 0;
}
}
}
/********** Progress end ***************/
/********** Radio ***************/
@radio-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@radio-border-width: @border-2;
@radio-layout-height: 14px;
@radio-color-border_hover: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@radio-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@radio-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@radio-color-bg_checked: @color-primary-6;
@radio-border-radius: @radius-circle;
@radio-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@radio-color-bg_checked_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@radio-color-dot-bg_checked_disabled: @radio-color-bg_disabled;
@radio-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@radio-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@radio-color-text_checked_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@radio-font-text-size: @font-size-body-3;
@radio-font-text-size_large: @font-size-body-3;
@radio-font-text-size_mini: @font-size-body-1;
@radio-font-text-size_small: @font-size-body-3;
@radio-margin-text-left: @spacing-4;
@radio-size-mask-height: @size-6;
@radio-mask-bg-color-bg: @icon-hover-color-bg;
@radio-group-margin-right: @spacing-8;
@radio-group-button-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@radio-group-button-color-bg_dark: var(~'@{arco-cssvars-prefix}-color-bg-3');
@radio-button-padding-horizontal: @spacing-6;
@radio-button-spacing: 3px;
@radio-button-color-bg_active: var(~'@{arco-cssvars-prefix}-color-bg-5');
@radio-button-color-bg_active_dark: var(~'@{arco-cssvars-prefix}-color-fill-3');
@radio-button-color-bg_hover: @radio-button-color-bg_active;
@radio-button-color-text_active: @color-primary-6;
@radio-button-font-text-weight_active: @font-weight-500;
@radio-button-color-text_hover: @radio-color-text;
@radio-button-border-radius: @radius-small;
@radio-button-bg-border-radius: @radio-button-border-radius;
@radio-button-color-bg: @color-transparent;
@radio-button-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@radio-button-color-bg_disabled: @color-transparent;
@radio-button-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@radio-button-color-bg_checked_disabled: @radio-button-color-bg_active;
@radio-button-color-text_checked_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@radio-button-color-separator-bg: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@radio-button-size-separator-width: 1px;
@radio-button-size-separator-height: 14px;
@radio-size-default-height: @size-default;
@radio-size-small-height: @size-small;
@radio-size-mini-height: @size-mini;
@radio-size-large-height: @size-large;
@radio-group-size-line-height_vertical: @size-8;
@radio-color-box-shadow: @color-primary-6;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@radio-prefix-cls: ~'@{prefix}-radio';
.@{radio-prefix-cls},
.@{radio-prefix-cls}-button {
> input[type='radio'] {
opacity: 0;
width: 0;
height: 0;
position: absolute;
top: 0;
left: 0;
&:focus-visible + .@{prefix}-radio-icon-hover::before {
background-color: @icon-hover-color-bg;
opacity: 1;
}
&:focus-visible + .@{prefix}-radio-button-inner {
box-shadow: inset 0 0 0 2px @radio-color-box-shadow;
border-radius: inherit;
}
}
}
.icon-hover(@radio-prefix-cls, @radio-layout-height, @radio-size-mask-height);
.@{radio-prefix-cls} {
position: relative;
cursor: pointer;
padding-left: (@radio-size-mask-height / 2) - (@radio-layout-height / 2);
display: inline-block;
font-size: @radio-font-text-size;
line-height: unset;
// radio circle
&-text {
color: @radio-color-text;
margin-left: @radio-margin-text-left;
}
&-mask-wrapper {
vertical-align: middle;
top: -0.09em;
position: relative;
line-height: 1;
}
&-mask {
display: block;
border: @radio-border-width solid @radio-color-border;
box-sizing: border-box;
height: @radio-layout-height;
width: @radio-layout-height;
border-radius: @radio-border-radius;
position: relative;
line-height: @radio-layout-height;
&::after {
display: inline-block;
box-sizing: border-box;
position: absolute;
content: '';
border-radius: @radio-border-radius;
background-color: @radio-color-bg;
width: @radio-layout-height - @radio-border-width * 2;
height: @radio-layout-height - @radio-border-width * 2;
top: 0;
left: 0;
transform: scale(1);
transition: transform @transition-duration-3 @transition-timing-function-overshoot;
}
}
&:hover &-mask {
border-color: @radio-color-border_hover;
}
&-checked &-mask {
background-color: @radio-color-bg_checked;
border-color: @radio-color-bg_checked;
&::after {
transform: scale(0.4);
background-color: var(~'@{arco-cssvars-prefix}-color-white');
}
}
&-checked:hover &-mask {
border-color: @radio-color-bg_checked;
}
&-disabled {
cursor: not-allowed;
.@{prefix}-radio-icon-hover {
cursor: not-allowed;
}
.@{radio-prefix-cls}-text {
color: @radio-color-text_disabled;
}
}
&-disabled &-mask {
border-color: @radio-color-border_disabled;
&::after {
background-color: @radio-color-bg_disabled;
}
}
&-disabled:hover &-mask {
border-color: @radio-color-border_disabled;
}
&-checked&-disabled {
.@{radio-prefix-cls}-mask,
&:hover .@{radio-prefix-cls}-mask {
border-color: @color-transparent;
background-color: @radio-color-bg_checked_disabled;
}
.@{radio-prefix-cls}-mask::after {
background-color: @radio-color-dot-bg_checked_disabled;
}
.@{radio-prefix-cls}-text {
color: @radio-color-text_checked_disabled;
}
}
&:hover {
.@{prefix}-radio-icon-hover::before {
background-color: @radio-mask-bg-color-bg;
}
}
}
// group type
.@{radio-prefix-cls}-group {
display: inline-block;
box-sizing: border-box;
.@{radio-prefix-cls} {
margin-right: @radio-group-margin-right;
}
// button type
&-type-button {
// ButtonGroup 中使用了 z-index: -1 的伪元素实现背景,为容器提供独立的层叠上下文以保证内部 Radio 表现正常
position: relative;
z-index: 0;
padding: (@radio-button-spacing / 2);
line-height: @radio-size-default-height - @radio-button-spacing * 2;
}
}
.@{radio-prefix-cls}-button {
display: inline-block;
position: relative;
margin: (@radio-button-spacing / 2);
border-radius: @radio-button-border-radius;
font-size: @radio-font-text-size;
line-height: @radio-size-default-height - @radio-button-spacing * 2;
color: @radio-button-color-text;
background-color: @radio-button-color-bg;
cursor: pointer;
transition: all @transition-duration-1 @transition-timing-function-linear;
&-inner {
display: block;
position: relative;
padding: 0 @radio-button-padding-horizontal;
}
// 按钮之间的分割线
&:not(:first-of-type)::before {
position: absolute;
top: 50%;
left: -((@radio-button-spacing - @radio-button-size-separator-width) / 2) - @radio-button-size-separator-width;
transform: translateY(-50%);
display: block;
height: @radio-button-size-separator-height;
width: @radio-button-size-separator-width;
background-color: @radio-button-color-separator-bg;
content: '';
transition: all @transition-duration-1 @transition-timing-function-linear;
}
// 被选中的按钮不需要左右的分割线
&:hover::before,
&:hover + &::before,
&.@{radio-prefix-cls}-checked::before,
&.@{radio-prefix-cls}-checked + &::before {
opacity: 0;
}
// 按钮下层的背景色
&::after {
content: ' ';
display: block;
position: absolute;
left: -@radio-button-spacing;
top: $left;
right: $left;
bottom: $left;
background-color: @radio-group-button-color-bg;
pointer-events: none;
z-index: -1;
}
&:first-of-type::after {
border-top-left-radius: @radio-button-bg-border-radius;
border-bottom-left-radius: @radio-button-bg-border-radius;
}
&:last-of-type::after {
border-top-right-radius: @radio-button-bg-border-radius;
border-bottom-right-radius: @radio-button-bg-border-radius;
}
&:hover {
background-color: @radio-button-color-bg_hover;
color: @radio-button-color-text_hover;
}
&.@{radio-prefix-cls}-checked {
background-color: @radio-button-color-bg_active;
color: @radio-button-color-text_active;
font-weight: @radio-button-font-text-weight_active;
}
&.@{radio-prefix-cls}-disabled {
cursor: not-allowed;
background-color: @radio-button-color-bg_disabled;
color: @radio-button-color-text_disabled;
}
&.@{radio-prefix-cls}-disabled.@{radio-prefix-cls}-checked {
background-color: @radio-button-color-bg_checked_disabled;
color: @radio-button-color-text_checked_disabled;
}
}
// size small default large huge
.@{radio-prefix-cls} {
&-size-small {
line-height: @radio-size-small-height;
&.@{radio-prefix-cls}-group-type-button,
.@{radio-prefix-cls}-button {
font-size: @radio-font-text-size_small;
line-height: @radio-size-small-height - @radio-button-spacing * 2;
}
}
&-size-large {
line-height: @radio-size-large-height;
&.@{radio-prefix-cls}-group-type-button,
.@{radio-prefix-cls}-button {
font-size: @radio-font-text-size_large;
line-height: @radio-size-large-height - @radio-button-spacing * 2;
}
}
&-size-mini {
line-height: @radio-size-mini-height;
&.@{radio-prefix-cls}-group-type-button,
.@{radio-prefix-cls}-button {
font-size: @radio-font-text-size_mini;
line-height: @radio-size-mini-height - @radio-button-spacing * 2;
}
}
}
// vertical direction
.@{radio-prefix-cls}-group-direction-vertical {
// default radio
.@{radio-prefix-cls} {
display: block;
line-height: @radio-group-size-line-height_vertical;
margin-right: 0;
}
}
// dark mode
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{radio-prefix-cls}-button.@{radio-prefix-cls}-checked,
.@{radio-prefix-cls}-button:not(.@{radio-prefix-cls}-disabled):hover {
background-color: @radio-button-color-bg_active_dark;
}
.@{radio-prefix-cls}-button::after {
background-color: @radio-group-button-color-bg_dark;
}
}
}
.@{radio-prefix-cls}-rtl {
padding-left: 0;
padding-right: (@radio-size-mask-height / 2) - (@radio-layout-height / 2);
.@{radio-prefix-cls} {
&-text {
margin-left: 0;
margin-right: @radio-margin-text-left;
}
}
}
.@{radio-prefix-cls}-group-rtl {
.@{radio-prefix-cls} {
margin-right: 0;
margin-left: @radio-group-margin-right;
}
&.@{radio-prefix-cls}-group-direction-vertical {
.@{radio-prefix-cls} {
margin-right: unset;
margin-left: 0;
}
}
}
/********** Radio end ***************/
/********** Rate ***************/
/**********************************************
* status: disabled / readonly
**********************************************/
@rate-min-height: @size-default;
@rate-gap-size: @spacing-4;
@rate-font-size: @font-size-title-3;
@rate-scale_active: 1.2;
@rate-color-bg_active: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));;
@rate-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-3');
@rate-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-gold-5'));;
@prefixCls: ~'@{prefix}-rate';
.@{prefixCls} {
display: inline-block;
user-select: none;
&-disabled {
cursor: not-allowed;
}
&-inner {
// flex 消除 inline-block 导致的父元素被多撑开几个像素
display: flex;
align-items: center;
min-height: @rate-min-height;
font-size: @rate-font-size;
line-height: 1;
}
&-character {
position: relative;
color: @rate-color-bg_default;
transition: transform @transition-duration-2 @transition-timing-function-standard;
&:not(:last-child) {
margin-right: @rate-gap-size;
}
&-left,
&-right {
transition: inherit;
// float 消除 inline-block 导致的父元素被多撑开几个像素
> * {
float: left;
}
}
&-left {
position: absolute;
top: 0;
left: 0;
width: 50%;
white-space: nowrap;
overflow: hidden;
opacity: 0;
}
&-scale {
animation: ~'@{prefix}-rate-scale' @transition-duration-4 @transition-timing-function-standard;
}
&-full &-right {
color: @rate-color-bg_active;
}
&-half &-left {
color: @rate-color-bg_active;
opacity: 1;
}
&-disabled {
cursor: not-allowed;
}
}
&:not(&-readonly):not(&-disabled) &-character {
cursor: pointer;
&:hover,
&:focus {
transform: scale(@rate-scale_active);
}
}
}
@keyframes ~'@{prefix}-rate-scale' {
0% {
transform: scale(1);
}
50% {
transform: scale(@rate-scale_active);
}
100% {
transform: scale(1);
}
}
.@{prefixCls}-rtl {
direction: rtl;
.@{prefixCls} {
&-character {
&:not(:last-child) {
margin-right: 0;
margin-left: @rate-gap-size;
}
&-left {
left: initial;
right: 0;
}
&-left,
&-right {
> * {
float: right;
}
}
}
}
}
/********** Rate end ***************/
/********** ResizeBox ***************/
@resizeBox-trigger-color-background: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@resizeBox-trigger-size-icon-wrapper: 6px;
@resizeBox-trigger-font-size-icon: 12px;
@resizeBox-trigger-color-icon: var(~'@{arco-cssvars-prefix}-color-text-1');
@resizeBox-trigger-icon-empty: 18px;
@resizebox-prefix-cls: ~'@{prefix}-resizebox';
@resizebox-split-prefix-cls: ~'@{prefix}-resizebox-split';
@resizebox-split-group-prefix-cls: ~'@{prefix}-resizebox-split-group';
@resizebox-trigger-prefix-cls: ~'@{resizebox-prefix-cls}-trigger';
.@{resizebox-prefix-cls} {
position: relative;
width: 100%;
overflow: hidden;
&-direction-left,
&-direction-right,
&-direction-top,
&-direction-bottom {
position: absolute;
left: 0;
top: 0;
user-select: none;
box-sizing: border-box;
}
&-direction-right {
left: unset;
right: 0;
}
&-direction-bottom {
top: unset;
bottom: 0;
}
&-split,
&-split-group {
display: flex;
user-select: auto;
.@{resizebox-prefix-cls}-slit-trigger {
flex: 0;
}
&-pane {
overflow: auto;
}
.second-pane {
flex: 1;
}
&-horizontal {
flex-direction: row;
}
&-vertical {
flex-direction: column;
}
&-moving {
user-select: none;
}
}
}
// 伸缩触发杆
.@{resizebox-trigger-prefix-cls} {
&-icon-wrapper {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
background-color: @resizeBox-trigger-color-background;
}
&-icon {
display: inline-block;
color: @resizeBox-trigger-color-icon;
font-size: @resizeBox-trigger-font-size-icon;
}
&-prev,
&-next {
> svg {
cursor: pointer;
}
}
&-vertical {
height: 100%;
cursor: col-resize;
&.@{resizebox-trigger-prefix-cls}-not-resizable {
cursor: default;
}
.@{resizebox-trigger-prefix-cls}-prev,
.@{resizebox-trigger-prefix-cls}-next {
height: @resizeBox-trigger-icon-empty;
line-height: @resizeBox-trigger-icon-empty;
}
.@{resizebox-trigger-prefix-cls}-icon-wrapper {
width: @resizeBox-trigger-size-icon-wrapper;
flex-direction: column;
}
.@{resizebox-trigger-prefix-cls}-icon-empty {
height: @resizeBox-trigger-icon-empty;
width: 100%;
}
}
&-horizontal {
width: 100%;
cursor: row-resize;
&.@{resizebox-trigger-prefix-cls}-not-resizable {
cursor: default;
}
.@{resizebox-trigger-prefix-cls}-prev,
.@{resizebox-trigger-prefix-cls}-next {
width: @resizeBox-trigger-icon-empty;
text-align: center;
}
.@{resizebox-trigger-prefix-cls}-icon-wrapper {
height: @resizeBox-trigger-size-icon-wrapper;
.@{prefix}-icon {
vertical-align: -1px;
}
}
.@{resizebox-trigger-prefix-cls}-icon-empty {
width: @resizeBox-trigger-icon-empty;
height: 100%;
}
}
}
.@{resizebox-prefix-cls}-rtl,
.@{resizebox-split-prefix-cls}-rtl,
.@{resizebox-split-group-prefix-cls}-rtl,
.@{resizebox-trigger-prefix-cls}-rtl {
direction: rtl;
}
/********** ResizeBox end ***************/
/********** Result ***************/
@result-padding-top: @spacing-9;
@result-padding-top_icon: @spacing-10;
@result-padding-bottom: @spacing-9;
@result-padding-horizontal: @spacing-10;
@result-margin-icon-bottom: @spacing-7;
@result-margin-extra-top: @spacing-8;
@result-margin-content-top: @spacing-8;
@result-font-title-size: @font-size-body-3;
@result-font-title-weight: @font-weight-500;
@result-font-subtitle-size: @font-size-body-3;
@result-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@result-color-subtitle-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@result-size-icon: @size-5;
@result-size-icon-wrapper: 45px;
@result-size-image-width: @size-23;
@result-size-icon_custom: 45px;
@result-color-icon_default: inherit;
@result-color-icon_success: @color-success-6;
@result-color-icon-bg_success: var(~'@{arco-cssvars-prefix}-color-success-light-1');
@result-color-icon_error: @color-danger-6;
@result-color-icon-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@result-color-icon_warning: @color-warning-6;
@result-color-icon-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@result-color-icon_info: @color-primary-6;
@result-color-icon-bg_info: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@result-prefix-cls: ~'@{prefix}-result';
.icon-status (@status) {
@color: ~'result-color-icon_@{status}';
@bg: ~'result-color-icon-bg_@{status}';
color: @@color;
background-color: @@bg;
}
.@{result-prefix-cls} {
width: 100%;
box-sizing: border-box;
padding: @result-padding-top_icon @result-padding-horizontal @result-padding-bottom;
&-is-404,
&-is-403,
&-is-500 {
padding-top: @result-padding-top;
.@{result-prefix-cls}-icon-tip {
height: @result-size-image-width;
width: @result-size-image-width;
line-height: @result-size-image-width;
}
}
&-icon {
margin-bottom: @result-margin-icon-bottom;
text-align: center;
font-size: @result-size-icon;
&-tip {
display: inline-block;
height: @result-size-icon-wrapper;
width: @result-size-icon-wrapper;
text-align: center;
border-radius: 50%;
line-height: @result-size-icon-wrapper;
}
// status = null
&-custom {
width: unset;
height: unset;
line-height: inherit;
> .@{prefix}-icon {
font-size: @result-size-icon_custom;
color: @result-color-icon_default;
}
}
&-success {
.icon-status(success);
}
&-error {
.icon-status(error);
}
&-info {
.icon-status(info);
}
&-warning {
.icon-status(warning);
}
}
&-title {
text-align: center;
line-height: 1.5715;
font-size: @result-font-title-size;
font-weight: @result-font-title-weight;
color: @result-color-title-text;
}
&-subtitle {
text-align: center;
line-height: 1.5715;
font-size: @result-font-subtitle-size;
color: @result-color-subtitle-text;
}
&-extra {
margin-top: @result-margin-extra-top;
text-align: center;
}
&-content {
margin-top: @result-margin-content-top;
}
}
/********** Result end ***************/
/********** Select ***************/
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* type: single / multi
* size: mini / small / default / large
**********************************************/
@select-size-mini-height: @size-mini;
@select-size-small-height: @size-small;
@select-size-default-height: @size-default;
@select-size-large-height: @size-large;
@select-size-mini-font-size: @font-size-body-1;
@select-size-small-font-size: @font-size-body-3;
@select-size-default-font-size: @font-size-body-3;
@select-size-large-font-size: @font-size-body-3;
@select-signal-size-mini-padding: @spacing-4;
@select-signal-size-small-padding: @spacing-6;
@select-signal-size-default-padding: @spacing-6;
@select-signal-size-large-padding: @spacing-7;
@select-multi-padding: @spacing-2;
@select-size-icon: @size-3;
@select-size-icon-bg: @size-4;
/**********************************************
* border
**********************************************/
@select-border-width: @border-1;
@select-border-radius: @radius-small;
/************************************************
* status: default / disabled _ (hover / focus)
************************************************/
// text color
@select-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-text_focused: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-placeholder_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@select-color-placeholder_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-placeholder_focused: var(~'@{arco-cssvars-prefix}-color-text-3');
// icon color
@select-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-icon_focused: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// bg color with hover & focus
@select-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@select-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@select-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_disabled_hover: @select-color-bg_disabled;
// border color with hover & focus
@select-color-border_default: @color-transparent;
@select-color-border_default_hover: @color-transparent;
@select-color-border_default_focus: @color-primary-6;
@select-color-border_error: @color-transparent;
@select-color-border_error_hover: @color-transparent;
@select-color-border_error_focus: @color-danger-6;
@select-color-border_disabled: @color-transparent;
@select-color-border_disabled_hover: @select-color-border_disabled;
// shadow
@select-shadow-distance_default_focus: @shadow-distance-none;
@select-shadow-distance_error_focus: @shadow-distance-none;
@select-color-shadow_default_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@select-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
/**********************************************
* Popup Box
**********************************************/
@select-popup-max-height: @size-50;
@select-popup-border-radius: @radius-medium;
@select-popup-padding-vertical: @spacing-2;
@select-popup-padding-horizontal: @spacing-none;
@select-popup-font-size: @font-size-body-3;
@select-popup-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-popup-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@select-popup-option-height: @size-9;
@select-popup-option-font-weight_selected: @font-weight-500;
@select-signal-popup-option-padding-horizontal: @spacing-6;
@select-multi-popup-option-padding-horizontal: @spacing-2;
@select-popup-option-border-radius: @border-radius-none;
@select-popup-option-color-bg_default: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-popup-option-color-bg_selected: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-popup-option-color-hightlight-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-font-hightlight-weight: @font-weight-500;
// option group title
@select-popup-group-title-height: @size-5;
@select-popup-group-title-padding-horizontal: @spacing-6;
@select-popup-group-title-padding-top: @spacing-4;
@select-popup-group-title-font-size: @font-size-body-1;
@select-popup-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
// addon
@select-addon-padding-horizontal: @spacing-6;
@select-color-addon-bg: @select-color-bg_default;
@select-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@select-color-addon-border_default: @color-transparent;
@select-border-addon-separator-width: @border-1;
@select-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// warning
@select-color-bg_warning_focus: @input-color-bg_warning_focus;
@select-color-bg_warning: @input-color-bg_warning;
@select-color-bg_warning_hover: @input-color-bg_warning_hover;
@select-color-border_warning: @input-color-border_warning;
@select-color-border_warning_hover: @input-color-border_warning_hover;
@select-color-border_warning_focus: @input-color-border_warning_focus;
@select-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@select-shadow-distance_warning_focus: @select-shadow-distance_error_focus;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* type: single / multi
* size: mini / small / default / large
**********************************************/
@select-size-mini-height: @size-mini;
@select-size-small-height: @size-small;
@select-size-default-height: @size-default;
@select-size-large-height: @size-large;
@select-size-mini-font-size: @font-size-body-1;
@select-size-small-font-size: @font-size-body-3;
@select-size-default-font-size: @font-size-body-3;
@select-size-large-font-size: @font-size-body-3;
@select-signal-size-mini-padding: @spacing-4;
@select-signal-size-small-padding: @spacing-6;
@select-signal-size-default-padding: @spacing-6;
@select-signal-size-large-padding: @spacing-7;
@select-multi-padding: @spacing-2;
@select-size-icon: @size-3;
@select-size-icon-bg: @size-4;
/**********************************************
* border
**********************************************/
@select-border-width: @border-1;
@select-border-radius: @radius-small;
/************************************************
* status: default / disabled _ (hover / focus)
************************************************/
// text color
@select-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-text_focused: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-placeholder_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@select-color-placeholder_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-placeholder_focused: var(~'@{arco-cssvars-prefix}-color-text-3');
// icon color
@select-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-icon_focused: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// bg color with hover & focus
@select-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@select-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@select-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_disabled_hover: @select-color-bg_disabled;
// border color with hover & focus
@select-color-border_default: @color-transparent;
@select-color-border_default_hover: @color-transparent;
@select-color-border_default_focus: @color-primary-6;
@select-color-border_error: @color-transparent;
@select-color-border_error_hover: @color-transparent;
@select-color-border_error_focus: @color-danger-6;
@select-color-border_disabled: @color-transparent;
@select-color-border_disabled_hover: @select-color-border_disabled;
// shadow
@select-shadow-distance_default_focus: @shadow-distance-none;
@select-shadow-distance_error_focus: @shadow-distance-none;
@select-color-shadow_default_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@select-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
/**********************************************
* Popup Box
**********************************************/
@select-popup-max-height: @size-50;
@select-popup-border-radius: @radius-medium;
@select-popup-padding-vertical: @spacing-2;
@select-popup-padding-horizontal: @spacing-none;
@select-popup-font-size: @font-size-body-3;
@select-popup-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-popup-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@select-popup-option-height: @size-9;
@select-popup-option-font-weight_selected: @font-weight-500;
@select-signal-popup-option-padding-horizontal: @spacing-6;
@select-multi-popup-option-padding-horizontal: @spacing-2;
@select-popup-option-border-radius: @border-radius-none;
@select-popup-option-color-bg_default: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-popup-option-color-bg_selected: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-popup-option-color-hightlight-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-font-hightlight-weight: @font-weight-500;
// option group title
@select-popup-group-title-height: @size-5;
@select-popup-group-title-padding-horizontal: @spacing-6;
@select-popup-group-title-padding-top: @spacing-4;
@select-popup-group-title-font-size: @font-size-body-1;
@select-popup-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
// addon
@select-addon-padding-horizontal: @spacing-6;
@select-color-addon-bg: @select-color-bg_default;
@select-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@select-color-addon-border_default: @color-transparent;
@select-border-addon-separator-width: @border-1;
@select-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// warning
@select-color-bg_warning_focus: @input-color-bg_warning_focus;
@select-color-bg_warning: @input-color-bg_warning;
@select-color-bg_warning_hover: @input-color-bg_warning_hover;
@select-color-border_warning: @input-color-border_warning;
@select-color-border_warning_hover: @input-color-border_warning_hover;
@select-color-border_warning_focus: @input-color-border_warning_focus;
@select-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@select-shadow-distance_warning_focus: @select-shadow-distance_error_focus;
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* size: mini / small / default / large
**********************************************/
@input-tag-size-mini-height: @size-mini;
@input-tag-size-small-height: @size-small;
@input-tag-size-default-height: @size-default;
@input-tag-size-large-height: @size-large;
@input-tag-size-mini-tag-height: @size-5;
@input-tag-size-small-tag-height: @size-5;
@input-tag-size-default-tag-height: @size-6;
@input-tag-size-large-tag-height: @size-7;
@input-tag-size-mini-font-size: @font-size-body-1;
@input-tag-size-small-font-size: @font-size-body-3;
@input-tag-size-default-font-size: @font-size-body-3;
@input-tag-size-large-font-size: @font-size-title-1;
@input-tag-size-mini-padding_no_tag: @spacing-4;
@input-tag-size-small-padding_no_tag: @spacing-6;
@input-tag-size-default-padding_no_tag: @spacing-6;
@input-tag-size-large-padding_no_tag: @spacing-7;
/****************************************************
* status: default / error / disabled _ (hover / focus)
****************************************************/
// text color
@input-tag-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// icon color
@input-tag-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-tag-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-tag-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// border color with focus & hover
@input-tag-color-border_default: @color-transparent;
@input-tag-color-border_default_hover: @color-transparent;
@input-tag-color-border_default_focus: @color-primary-6;
@input-tag-color-border_error: @color-transparent;
@input-tag-color-border_error_hover: @color-transparent;
@input-tag-color-border_error_focus: @color-danger-6;
@input-tag-color-border_disabled: @color-transparent;
@input-tag-color-border_disabled_hover: @input-tag-color-border_disabled;
@input-tag-color-border_disabled_focus: @input-tag-color-border_disabled;
// bg color with focus & hover
@input-tag-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_error: @color-danger-1;
@input-tag-color-bg_error_hover: @color-danger-2;
@input-tag-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_disabled_hover: @input-tag-color-bg_disabled;
@input-tag-color-shadow_default_focus: @color-primary-2;
@input-tag-color-shadow_error_focus: @color-danger-2;
@input-tag-size-shadow_error_focus: @shadow-distance-none;
@input-tag-size-shadow_default_focus: @shadow-distance-none;
// input box
@input-tag-tag-margin-right: @spacing-2;
@input-tag-tag-margin-vertical: @spacing-1;
@input-tag-padding-horizontal: @spacing-2;
@input-tag-border-radius: @radius-small;
@input-tag-border-width: @border-1;
@input-tag-size-icon-clear: @size-3;
@input-tag-size-icon-clear_hover: @size-5;
// tags
@input-tag-tag-font-size: @font-size-body-1;
@input-tag-tag-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-tag-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-3');
// warning
@input-tag-color-text_warning: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-border_warning: @input-color-border_warning;
@input-tag-color-border_warning_hover: @input-color-border_warning_hover;
@input-tag-color-border_warning_focus: @input-color-border_warning_focus;
@input-tag-color-bg_warning: @input-color-bg_warning;
@input-tag-color-bg_warning_hover: @input-color-bg_warning_hover;
@input-tag-color-bg_warning_focus: @input-color-bg_warning_focus;
@input-tag-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@input-tag-size-shadow_warning_focus: @input-size-shadow_warning_focus;
// addon
@input-tag-addon-padding-horizontal: @spacing-6;
@input-tag-color-addon-bg: @input-tag-color-bg_default;
@input-tag-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@input-tag-color-addon-border_default: @color-transparent;
@input-tag-border-addon-separator-width: @border-1;
@input-tag-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-prefix-cls: ~'@{prefix}-input-tag';
.input-tag-input-element-padding(@paddingLeft) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
box-sizing: border-box;
padding-left: @paddingLeft;
}
}
}
.input-tag-input-element-padding-rtl(@paddingRight) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
padding-left: 0;
padding-right: @paddingRight;
}
}
}
// used by form
.color(@prefixCls, @status) {
@suffix: if(@status = default, ~'', ~'-@{status}');
.@{prefixCls}@{suffix} {
.@{prefixCls}-view {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-text_@{status}}';
}
background-color: ~'@{select-color-bg_@{status}}';
border: 1px solid ~'@{select-color-border_@{status}}';
}
&:hover {
.@{prefixCls}-view {
background-color: ~'@{select-color-bg_@{status}_hover}';
border-color: ~'@{select-color-border_@{status}_hover}';
}
}
&.@{prefixCls}-focused when not (@status = disabled) {
.@{prefixCls}-view {
color: @select-color-text_focused;
background-color: ~'@{select-color-bg_@{status}_focus}';
border-color: ~'@{select-color-border_@{status}_focus}';
box-shadow: 0 0 0 ~'@{select-shadow-distance_@{status}_focus}' ~'@{select-color-shadow_@{status}_focus}';
}
}
.@{prefixCls}-suffix-icon,
.@{prefixCls}-loading-icon,
.@{prefixCls}-search-icon,
.@{prefixCls}-clear-icon,
.@{prefixCls}-arrow-icon,
.@{prefixCls}-expand-icon {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-icon_@{status}}';
}
}
}
.@{prefixCls}-no-border {
.@{prefixCls}-view {
border: none !important;
background: none !important;
}
}
}
.select-view(@prefixCls) {
@tail-icon-position-right: 10px;
.size(@size) {
@ref-font-size: ~'select-size-@{size}-font-size';
@ref-height: ~'select-size-@{size}-height';
@ref-padding: ~'select-signal-size-@{size}-padding';
@font-size: @@ref-font-size;
@height: @@ref-height;
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixCls} {
&-size-@{size}&-multiple {
.@{prefixCls}-view {
height: auto;
font-size: @font-size;
padding: 0 @multi-padding;
line-height: 0;
}
.input-tag-input-element-padding(@padding - @multi-padding);
.@{prefixCls}-suffix {
padding-right: @padding - @multi-padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-single {
.@{prefixCls}-view {
height: @height;
line-height: $height - @select-border-width * 2;
font-size: @font-size;
padding: 0 @padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: @padding;
}
}
}
}
.color(@prefixCls, default);
.color(@prefixCls, error);
.color(@prefixCls, warning);
.color(@prefixCls, disabled);
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls} {
display: inline-block;
position: relative;
box-sizing: border-box;
width: 100%;
cursor: pointer;
&-view {
display: flex;
position: relative;
box-sizing: border-box;
width: 100%;
border-radius: @select-border-radius;
outline: none;
user-select: none;
text-align: left;
transition: all @transition-duration-1 @transition-timing-function-linear, padding 0s linear;
input {
color: inherit;
cursor: inherit;
&::placeholder {
color: @select-color-placeholder_default;
}
// since Chrome 116 won't trigger onClick callback
// remove all events of disabled to make sure Trigger works correctly
&[disabled] {
pointer-events: none;
}
}
}
.hide-input-element() {
// 需要在隐藏 input 的同时保证其能被 Tab 键聚焦
// 故不要用 display: none / visibility: hidden / width: 0
// width 设置为 0,会导致在火狐浏览器下触发 onFocus 之后不能立刻触发 onClick
// https://github.com/arco-design/arco-design/issues/1232
opacity: 0;
position: absolute;
// 避免绝对定位的元素位于所有同级节点的最上层,遮挡其他元素的鼠标操作(例如被 Tooltip 包裹的 value 文本)
// 不要使用 pointer-events: none,会导致火狐浏览器下下拉弹窗需要点击两次才可弹出
// https://github.com/arco-design/arco-design/issues/2127
z-index: -1;
}
&-multiple,
&-show-search {
cursor: text;
}
&-disabled {
cursor: not-allowed;
.@{prefixCls}-view input::placeholder {
color: @select-color-placeholder_disabled;
}
}
&-single &-view {
// Keep forward compatibility
// Do NOT move this section under &-selector
&-input {
box-sizing: border-box;
width: 100%;
padding: 0;
border: none;
outline: none;
background: transparent;
.text-ellipsis();
}
&-selector {
position: relative;
display: inline-flex;
box-sizing: border-box;
width: 100%;
overflow: hidden;
// Keep forward compatibility
// Do NOT move this section out of &-selector
.@{prefixCls}-view-input {
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
z-index: 1;
}
.@{prefixCls}-view-value-mirror {
opacity: 0;
}
}
&-value,
&-value-mirror {
display: inline-block;
box-sizing: border-box;
width: 100%;
.text-ellipsis();
// Do NOT remove this, it may cause baseline-changing of select-view
&::after {
content: '.';
font-size: 0;
line-height: 0;
visibility: hidden;
}
}
.@{prefixCls}-hidden {
.hide-input-element();
}
}
&-multiple {
vertical-align: top;
.@{prefixCls}-view {
padding: 0 @select-multi-padding;
line-height: 0;
}
.@{prefixCls}-view-with-prefix {
padding-left: @select-signal-size-default-padding;
}
.@{prefix}-input-tag {
flex: 1;
padding: 0;
border: none !important;
background: none !important;
box-shadow: none !important;
overflow: hidden;
}
.@{prefix}-tag {
max-width: 100%;
}
// 多选的空白输入框在已存在选择项并且未聚焦时隐藏,避免导致不必要的换行
&:not(.@{prefixCls}-focused) {
.@{prefix}-input-tag input:not(:first-child)[value=''] {
.hide-input-element();
}
}
}
&-prefix {
display: flex;
align-items: center;
margin-right: 12px;
white-space: nowrap;
color: @select-color-icon_default;
}
&-suffix {
display: flex;
align-items: center;
margin-left: 4px;
}
&-suffix-icon,
&-search-icon,
&-loading-icon,
&-expand-icon,
&-clear-icon {
font-size: @select-size-icon;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-arrow-icon {
font-size: @select-size-icon;
}
&-open &-arrow-icon svg {
transform: rotateZ(180deg);
}
& &-clear-icon {
display: none;
cursor: pointer;
> svg {
position: relative;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
}
&:hover &-clear-icon {
display: block;
& ~ * {
display: none;
}
}
&-wrapper {
display: inline-flex;
align-items: stretch;
width: 100%;
.@{prefixCls} {
min-width: 0; // 避免 .arco-select 宽度超出 .arco-select-wrapper
}
.@{prefixCls}:not(.@{prefixCls}-focused) {
&:not(:first-child) .@{prefixCls}-view {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) .@{prefixCls}-view {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
// &-addafter,
&-addbefore {
display: flex;
align-items: center;
padding: 0 @select-addon-padding-horizontal;
color: @select-color-addon-text;
background-color: @select-color-addon-bg;
white-space: nowrap;
border: 1px solid @select-color-addon-border_default;
}
&-addbefore {
border-right: @select-border-addon-separator-width solid @select-color-addon-border;
border-top-left-radius: @select-border-radius;
border-bottom-left-radius: @select-border-radius;
}
// &-addafter {
// border-left: @select-border-addon-separator-width solid @select-color-addon-border;
// border-top-right-radius: @select-border-radius;
// border-bottom-right-radius: @select-border-radius;
// }
}
}
.select-view-rtl(@prefixCls, @prefixClsRtl) {
.size(@size) {
@ref-padding: ~'select-signal-size-@{size}-padding';
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixClsRtl}.@{prefixCls}-size-@{size}.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @padding;
}
.@{prefixCls}-suffix {
padding-right: 0;
padding-left: @padding - @multi-padding;
}
.input-tag-input-element-padding-rtl(@padding - @multi-padding);
}
}
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls}-wrapper-rtl .@{prefixCls}-addbefore {
border-right: unset;
border-left: @select-border-addon-separator-width solid @select-color-addon-border;
}
.@{prefixClsRtl} {
.@{prefixCls}-view {
text-align: right;
}
.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @select-signal-size-default-padding;
}
}
.@{prefixCls}-prefix {
margin-right: 0;
margin-left: 12px;
}
.@{prefixCls}-suffix {
margin-left: 0;
margin-right: 4px;
}
}
}
@select-prefix-cls: ~'@{prefix}-select';
@select-prefix-cls-rtl: ~'@{prefix}-select-rtl';
.select-view(@select-prefix-cls);
.@{select-prefix-cls} {
&-popup {
top: 4px;
box-sizing: border-box;
padding: @select-popup-padding-vertical @select-popup-padding-horizontal;
border: 1px solid @select-popup-color-border;
border-radius: @select-popup-border-radius;
background-color: @select-popup-color-bg;
box-shadow: @select-popup-box-shadow;
overflow: hidden;
&-hidden {
display: none;
}
}
&-popup &-popup-inner {
width: 100%;
max-height: @select-popup-max-height;
list-style: none;
}
&-popup &-option {
position: relative;
box-sizing: border-box;
width: 100%;
padding: 0 @select-signal-popup-option-padding-horizontal;
font-size: @select-popup-font-size;
text-align: left;
cursor: pointer;
line-height: @select-popup-option-height;
border-radius: @select-popup-option-border-radius;
.text-ellipsis();
.option-color(@status) {
@class-suffix: if(@status = default, ~'', ~'-@{status}');
&@{class-suffix} {
color: ~'@{select-popup-option-color-text_@{status}}';
background-color: ~'@{select-popup-option-color-bg_@{status}}';
}
}
.option-color(default);
.option-color(selected);
.option-color(hover);
// disabled 优先级最高,放在最后
.option-color(disabled);
&-disabled {
cursor: not-allowed;
}
&-selected {
font-weight: @select-popup-option-font-weight_selected;
}
&-empty {
height: $line-height;
}
}
&-popup &-option-rtl {
text-align: right;
}
&-option-wrapper {
display: flex;
align-items: center;
padding: 0 7px;
.@{select-prefix-cls}-checkbox {
padding: 0 5px;
// 避免点击复选框导致 select-view 的输入框失焦
input {
display: none;
}
}
.@{select-prefix-cls}-option {
flex: 1;
margin-left: 1px;
padding: 0 @select-multi-popup-option-padding-horizontal;
border-radius: @select-border-radius;
}
}
&-group-title {
box-sizing: border-box;
width: 100%;
padding: @select-popup-group-title-padding-top @select-popup-group-title-padding-horizontal 0
@select-popup-group-title-padding-horizontal;
line-height: @select-popup-group-title-height;
font-size: @select-popup-group-title-font-size;
color: @select-popup-group-title-color-text;
.text-ellipsis();
&:first-child {
padding-top: @select-popup-group-title-padding-top - @select-popup-padding-vertical;
}
}
&-highlight {
font-weight: @select-popup-option-font-hightlight-weight;
color: @select-popup-option-color-hightlight-text;
}
}
.@{select-prefix-cls}-rtl {
direction: rtl;
}
.select-view-rtl(@select-prefix-cls, @select-prefix-cls-rtl);
/********** Select end ***************/
/********** Skeleton ***************/
@skeleton-color-bg-base: var(~'@{arco-cssvars-prefix}-color-fill-2');
@skeleton-radius-image-border: @radius-small;
@skeleton-size-image_default: @size-12;
@skeleton-size-image_small: @size-9;
@skeleton-size-image_large: @size-15;
@skeleton-spacing-image_left-margin-right: @spacing-7;
@skeleton-spacing-image_right-margin-left: @spacing-7;
@skeleton-size-row-height: @size-4;
@skeleton-spacing-last_row-margin-bottom: @spacing-7;
@skeleton-color-animate-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@skeleton-prefix-cls: ~'@{prefix}-skeleton';
.@{skeleton-prefix-cls} {
display: flex;
&-header {
display: flex;
.@{skeleton-prefix-cls}-image {
background-color: @skeleton-color-bg-base;
width: @skeleton-size-image_default;
height: @skeleton-size-image_default;
border-radius: @skeleton-radius-image-border;
&-circle {
border-radius: 50%;
}
&-small {
width: @skeleton-size-image_small;
height: @skeleton-size-image_small;
}
&-large {
width: @skeleton-size-image_large;
height: @skeleton-size-image_large;
}
&-left {
margin-right: @skeleton-spacing-image_left-margin-right;
}
&-right {
margin-left: @skeleton-spacing-image_right-margin-left;
}
}
}
&-content {
flex-grow: 1;
overflow: hidden;
.@{skeleton-prefix-cls}-text {
list-style: none;
padding: 0;
margin: 0;
&-row {
background-color: @skeleton-color-bg-base;
height: @skeleton-size-row-height;
}
&-row:not(:last-child) {
margin-bottom: @skeleton-spacing-last_row-margin-bottom;
}
}
}
&-animate {
.@{skeleton-prefix-cls}-image,
.@{skeleton-prefix-cls}-text > li {
background: linear-gradient(
90deg,
@skeleton-color-bg-base 25%,
@skeleton-color-animate-bg 37%,
@skeleton-color-bg-base 63%
);
background-size: 400% 100%;
animation: ~'@{prefix}-skeleton-circle' 1.5s @transition-timing-function-linear infinite;
}
}
}
@keyframes ~'@{prefix}-skeleton-circle' {
0% {
background-position: 100% 50%;
}
100% {
background-position: 0 50%;
}
}
.@{skeleton-prefix-cls}-rtl {
.@{skeleton-prefix-cls}-image {
&-left {
margin-right: 0;
margin-left: @skeleton-spacing-image_left-margin-right;
}
&-right {
margin-left: 0;
margin-right: @skeleton-spacing-image_right-margin-left;
}
}
}
/********** Skeleton end ***************/
/********** Slider ***************/
// road
@slider-size-road-width: 2px;
@slider-color-road-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@slider-color-road-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
// bar
@slider-color-bar-bg: @color-primary-6;
@slider-color-bar-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
// button
@slider-color-button-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@slider-border-size-button: @border-2;
@slider-color-button-border: @color-primary-6;
@slider-color-button-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@slider-shadow-button_active: @shadow1-down;
@slider-color-box-shadow-button_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@slider-size-button-width: @size-3;
@slider-size-button-width_active: 14px;
// dot
@slider-color-dot-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@slider-border-size-dot: @border-2;
@slider-font-size-dot: @font-size-body-1;
@slider-size-dot-width: @size-2;
// mark
@slider-spacing-margin-bottom_with-mark: @spacing-9;
@slider-spacing-padding_width-mark: @spacing-8;
@slider-spacing-padding_width-mark_vertical: @spacing-8;
@slider-font-size-mark: @font-size-body-3;
@slider-color-mark-font: var(~'@{arco-cssvars-prefix}-color-text-3');
// tick
@slider-size-tick-width: 1px;
@slider-size-tick-height: 3px;
// input
@slider-spacing-input-margin-left: @spacing-8;
@slider-size-input-width: @size-15;
@slider-size-input-height: @size-8;
@slider-size-input_range-width: @size-5;
@slider-size-input_range-height: @size-8;
@slider-size-input_range_content-width: @size-2;
@slider-size-input_range_content-height: 2px;
@slider-color-input_range_content-bg: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));
// vertical
@slider-size-height_vertical: 200px;
@slider-spacing-mark-left: 3px; // mark 文本和滑动路径的距离
@slider-prefix: ~'@{prefix}-slider';
.@{slider-prefix} {
width: 100%;
display: inline-block;
&-wrapper {
display: flex;
align-items: center;
}
&-vertical {
display: inline-block;
height: auto;
width: auto;
min-width: @slider-size-button-width + 10;
.@{slider-prefix}-wrapper {
flex-direction: column;
}
}
&-with-marks {
margin-bottom: @slider-spacing-margin-bottom_with-mark;
padding: 0 @slider-spacing-padding_width-mark;
}
&-vertical&-with-marks {
margin-bottom: 0;
padding: 0;
}
&-road {
width: 100%;
height: @slider-size-button-width;
cursor: pointer;
flex: 1;
position: relative;
&::before {
content: '';
display: block;
height: @slider-size-road-width;
width: 100%;
background-color: @slider-color-road-bg;
border-radius: @slider-size-road-width;
// 局中
position: absolute;
top: 50%;
transform: translateY(-50%);
}
&&-vertical {
width: @slider-size-button-width;
max-width: @slider-size-button-width;
height: 100%;
min-height: @slider-size-height_vertical;
margin-bottom: @slider-size-button-width / 2;
margin-top: @slider-size-button-width / 2;
margin-right: 0;
transform: translateY(0);
&::before {
width: @slider-size-road-width;
height: 100%;
// 局中
top: unset;
left: 50%;
transform: translateX(-50%);
}
}
&&-disabled {
&::before {
background-color: @slider-color-road-bg_disabled;
}
.@{slider-prefix}-bar {
background-color: @slider-color-bar-bg_disabled;
}
.@{slider-prefix}-button {
cursor: not-allowed;
&::after {
border-color: @slider-color-button-border_disabled;
}
}
.@{slider-prefix}-dots {
.@{slider-prefix}-dot {
border-color: @slider-color-road-bg_disabled;
&-active {
border-color: @slider-color-bar-bg_disabled;
}
}
}
.@{slider-prefix}-ticks {
.@{slider-prefix}-tick {
background: @slider-color-road-bg_disabled;
&-active {
background: @slider-color-bar-bg_disabled;
}
}
}
}
}
&-bar {
position: absolute;
height: @slider-size-road-width;
background-color: @slider-color-bar-bg;
border-radius: @slider-size-road-width;
// 局中
top: 50%;
transform: translateY(-50%);
.@{slider-prefix}-road-vertical & {
width: @slider-size-road-width;
height: unset;
// 局中
top: unset;
left: 50%;
transform: translateX(-50%);
}
}
&-button {
position: absolute;
height: @slider-size-button-width;
width: @slider-size-button-width;
top: 0;
left: 0;
transform: translateX(-50%);
&::after {
content: '';
display: inline-block;
width: @slider-size-button-width;
height: @slider-size-button-width;
background: @slider-color-button-bg;
border: @slider-border-size-button solid @slider-color-button-border;
border-radius: 50%;
box-sizing: border-box;
position: absolute;
left: 0;
transition: all @transition-duration-3 @transition-timing-function-overshoot;
top: 0;
}
&&-active,
&:hover {
&::after {
transform: scale((unit(@slider-size-button-width_active / @slider-size-button-width)));
box-shadow: @slider-shadow-button_active;
}
}
&:focus-visible::after {
box-shadow: 0 0 0 2px @slider-color-box-shadow-button_focus;
}
.@{slider-prefix}-road-vertical & {
top: unset;
bottom: 0;
left: 0;
transform: translateY(50%);
}
.@{slider-prefix}-reverse & {
transform: translateX(50%);
left: unset;
right: 0;
}
.@{slider-prefix}-reverse .@{slider-prefix}-road-vertical & {
transform: translateY(-50%);
}
}
&-marks {
position: absolute;
top: @slider-size-button-width;
width: 100%;
&-text {
position: absolute;
transform: translateX(-50%);
cursor: pointer;
font-size: @slider-font-size-mark;
line-height: 1;
color: @slider-color-mark-font;
}
.@{slider-prefix}-road-vertical & {
height: 100%;
left: @slider-size-button-width + @slider-spacing-mark-left;
top: 0;
&-text {
transform: translateY(50%);
}
}
.@{slider-prefix}-reverse &-text {
transform: translateX(50%);
}
.@{slider-prefix}-reverse .@{slider-prefix}-road-vertical &-text {
transform: translateY(-50%);
}
}
&-dots {
height: 100%;
.@{slider-prefix}-dot-wrapper {
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
font-size: @slider-font-size-dot;
.@{slider-prefix}-road-vertical & {
top: unset;
left: 50%;
transform: translate(-50%, 50%);
}
.@{slider-prefix}-reverse & {
transform: translate(50%, -50%);
}
.@{slider-prefix}-reverse .@{slider-prefix}-road-vertical & {
transform: translate(-50%, -50%);
}
.@{slider-prefix}-dot {
background-color: @slider-color-dot-bg;
box-sizing: border-box;
border: @slider-border-size-dot solid @slider-color-road-bg;
height: @slider-size-dot-width;
width: @slider-size-dot-width;
border-radius: 50%;
&-active {
border-color: @slider-color-bar-bg;
}
}
}
}
&-ticks {
.@{slider-prefix}-tick {
position: absolute;
width: @slider-size-tick-width;
height: @slider-size-tick-height;
background: @slider-color-road-bg;
top: 50%;
transform: translate(-50%, -100%);
margin-top: -(@slider-size-road-width / 2);
&-active {
background: @slider-color-bar-bg;
}
.@{slider-prefix}-vertical & {
width: @slider-size-tick-height;
height: @slider-size-tick-width;
top: unset;
margin-top: unset;
left: 50%;
transform: translate((@slider-size-road-width / 2), 50%);
}
.@{slider-prefix}-reverse & {
transform: translate(50%, -100%);
}
.@{slider-prefix}-vertical.@{slider-prefix}-reverse & {
transform: translate((@slider-size-road-width / 2), -50%);
}
}
}
&-input {
display: flex;
margin-left: @slider-spacing-input-margin-left;
.@{slider-prefix}-vertical & {
margin-left: 0;
}
> .@{prefix}-input-number {
width: @slider-size-input-width;
height: @slider-size-input-height;
line-height: normal;
overflow: visible;
input {
text-align: center;
}
}
&-range {
width: @slider-size-input_range-width;
line-height: @slider-size-input_range-height;
height: @slider-size-input_range-height;
text-align: center;
&-content {
display: inline-block;
width: @slider-size-input_range_content-width;
height: @slider-size-input_range_content-height;
background: @slider-color-input_range_content-bg;
transform: translate(0, -100%);
}
}
}
}
.@{slider-prefix}-rtl {
direction: rtl;
&.@{slider-prefix}:not(.@{slider-prefix}-vertical) {
.@{slider-prefix}-input {
margin-right: @slider-spacing-input-margin-left;
margin-left: 0;
}
}
&.@{slider-prefix}-vertical {
.@{slider-prefix}-road-vertical {
.@{slider-prefix}-marks {
left: 0;
right: @slider-size-button-width + @slider-spacing-mark-left;
}
}
}
}
/********** Slider end ***************/
/********** Space ***************/
@space-prefix-cls: ~'@{prefix}-space';
.@{space-prefix-cls} {
display: inline-flex;
&-vertical {
flex-direction: column;
}
&-align-baseline {
align-items: baseline;
}
&-align-start {
align-items: flex-start;
}
&-align-end {
align-items: flex-end;
}
&-align-center {
align-items: center;
}
&-wrap {
flex-wrap: wrap;
}
&-rtl {
direction: rtl;
}
}
/********** Space end ***************/
/********** Spin ***************/
@spin-font-size-text: 14px;
@spin-font-size-icon: 20px;
@spin-font-weight: @font-weight-500;
@spin-margin-top-tip: @spacing-3;
@spin-color-text: @color-primary-6;
@spin-color-icon: @color-primary-6;
@spin-dot-color-icon_default: @color-primary-6;
@spin-dot-color-icon_second: @color-primary-5;
@spin-dot-color-icon_third: @color-primary-4;
@spin-dot-color-icon_forth: @color-primary-4;
@spin-dot-color-icon_last: @color-primary-2;
@spin-dot-size-width: @size-2;
@spin-prefix-cls: ~'@{prefix}-spin';
.@{spin-prefix-cls} {
display: inline-block;
&-block {
display: block;
}
&-with-tip {
text-align: center;
}
&-icon {
color: @spin-color-icon;
font-size: @spin-font-size-icon;
}
&-tip {
margin-top: @spin-margin-top-tip;
font-size: @spin-font-size-text;
font-weight: @spin-font-weight;
color: @spin-color-text;
}
&-loading-layer {
text-align: center;
user-select: none;
}
&-children {
position: relative;
&::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
right: 0;
bottom: 0;
background-color: var(~'@{arco-cssvars-prefix}-color-spin-layer-bg');
opacity: 0;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
pointer-events: none;
z-index: 1;
}
}
&-loading {
position: relative;
user-select: none;
}
&-loading &-loading-layer-inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
}
&-loading &-children::after {
opacity: 1;
pointer-events: auto;
}
&-dot {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%) scale(0);
width: @spin-dot-size-width;
height: @spin-dot-size-width;
background-color: @spin-dot-color-icon_default;
border-radius: @radius-circle;
animation: ~'@{prefix}-dot-loading' 2s @transition-timing-function-linear infinite forwards;
&:nth-child(2) {
background-color: @spin-dot-color-icon_second;
animation-delay: 400ms;
}
&:nth-child(3) {
background-color: @spin-dot-color-icon_third;
animation-delay: 800ms;
}
&:nth-child(4) {
background-color: @spin-dot-color-icon_forth;
animation-delay: 1200ms;
}
&:nth-child(5) {
background-color: @spin-dot-color-icon_last;
animation-delay: 1600ms;
}
}
&-dot-list {
display: inline-block;
transform-style: preserve-3d;
perspective: 200px;
width: @spin-dot-size-width * 7;
position: relative;
height: @spin-dot-size-width;
}
}
@keyframes ~'@{prefix}-dot-loading' {
each(range(36), {
@percent: round(percentage(((@value - 1) / 36)), 3);
// 半径
@radius: 280%;
@xOffset: round((sin((pi() / 180 * @value * 10)) * @radius), 3) * -1;
@zOffset: round(cos((pi() / 180 * @value * 10)), 3) * -1px;
@scaleOffset: round((1 - cos((pi() / 180) * @value * 10)) * 0.75 + 0.5, 3 );
@{percent} {
transform: ~'translate3D(@{xOffset}, 0, @{zOffset}) scale(@{scaleOffset})'
}
});
}
/********** Spin end ***************/
/********** Statistic ***************/
@statistic-font-title-size: @font-size-body-3;
@statistic-margin-title-bottom: @spacing-4;
@statistic-margin-extra-top: @spacing-4;
@statistic-font-int-size: 26px;
@statistic-font-decimal-size: @statistic-font-int-size;
@statistic-font-value-weight: @font-weight-500;
@statistic-color-value-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@statistic-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@statistic-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@statistic-color-extra-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@statistic-size-value-icon: 14px;
@statistic-font-suffix-size: 14px;
@statistic-margin-prefix-right: @spacing-2;
@statistic-margin-suffix-left: @spacing-2;
@statistic-prefix-cls: ~'@{prefix}-statistic';
.@{statistic-prefix-cls} {
display: inline-block;
line-height: @line-height-base;
color: @statistic-color-text;
&-title {
font-size: @statistic-font-title-size;
margin-bottom: @statistic-margin-title-bottom;
color: @statistic-color-title-text;
}
&-content {
.@{statistic-prefix-cls}-value {
white-space: nowrap;
font-size: @statistic-font-int-size;
font-weight: @statistic-font-value-weight;
color: @statistic-color-value-text;
&-int {
white-space: nowrap;
}
&-decimal {
font-size: @statistic-font-decimal-size;
display: inline-block;
}
&-suffix {
font-size: @statistic-font-suffix-size;
margin-left: @statistic-margin-suffix-left;
}
&-prefix {
font-size: @statistic-size-value-icon;
margin-right: @statistic-margin-prefix-right;
}
}
}
&-extra {
margin-top: @statistic-margin-extra-top;
color: @statistic-color-extra-text;
}
}
.@{statistic-prefix-cls}-rtl {
.@{statistic-prefix-cls} {
&-content {
.@{statistic-prefix-cls}-value {
&-suffix {
margin-right: @statistic-margin-suffix-left;
margin-left: 0;
}
&-prefix {
margin-right: 0;
margin-left: @statistic-margin-prefix-right;
}
}
}
}
}
/********** Statistic end ***************/
/********** Steps ***************/
// Two size: Default and small
@steps-size-default: @size-7;
@steps-size-small: @size-6;
@steps-size-default-arrow: @size-18;
@steps-size-small-arrow: @size-10;
@steps-size-default-font-size-icon: @size-4;
@steps-size-default-font-size-title: @font-size-title-1;
@steps-size-default-font-size-description: @font-size-body-1;
@steps-size-small-font-size-icon: 14px;
@steps-size-small-font-size-title: @font-size-body-3;
@steps-size-small-font-size-description: @font-size-body-1;
@steps-label-vertical-content-width: 140px;
@steps-direction-horizontal-description-width: 140px;
// Circle
@steps-circle-size-item-tail: @border-1;
@steps-circle-size-item-icon-gap: 12px;
@steps-circle-font-weight-item-title_active: @font-weight-500;
@steps-circle-border-radius-item-icon: @radius-circle;
@steps-circle-horizontal-item-description-margin-top: @spacing-1;
@steps-circle-vertical-item-description-margin-top: @spacing-1;
@steps-circle-vertical-spacing-tail-top: @spacing-3;
@steps-circle-vertical-spacing-tail-bottom: @spacing-3;
@steps-circle-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-2');
@steps-circle-color-item-border_wait: @color-transparent;
@steps-circle-color-item-icon-text_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-circle-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_process: @color-primary-6;
@steps-circle-color-item-border_process: @color-transparent;
@steps-circle-color-item-icon-text_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_process: @color-primary-6;
@steps-circle-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-circle-color-item-border_finish: @color-transparent;
@steps-circle-color-item-icon-text_finish: @color-primary-6;
@steps-circle-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_error: @color-danger-6;
@steps-circle-color-item-border_error: @color-transparent;
@steps-circle-color-item-icon-text_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_error: @color-danger-6;
@steps-circle-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Dot
@steps-dot-horizontal-item-title-margin-top: @spacing-2;
@steps-dot-horizontal-item-description-margin-top: @spacing-2;
@steps-dot-vertical-item-dot-margin-top: @spacing-4;
@steps-dot-vertical-item-description-margin-top: @spacing-2;
@steps-dot-vertical-spacing-tail-top: @spacing-2;
@steps-dot-vertical-spacing-tail-bottom: @spacing-2;
@steps-dot-size-item-icon: @size-2;
@steps-dot-size-item-icon-active: 10px;
@steps-dot-size-item-icon-gap: @spacing-2;
@steps-dot-size-item-tail: @border-1;
@steps-dot-vertical-item-icon-margin-right: @spacing-7;
@steps-dot-font-weight-item-title_active: @font-weight-500;
@steps-dot-border-radius-item-icon: @radius-circle;
@steps-dot-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-border_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-dot-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-dot-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_process: @color-primary-6;
@steps-dot-color-item-border_process: @color-primary-6;
@steps-dot-color-item-tail_process: @color-primary-6;
@steps-dot-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_finish: @color-primary-6;
@steps-dot-color-item-border_finish: @color-primary-6;
@steps-dot-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_error: @color-danger-6;
@steps-dot-color-item-border_error: @color-danger-6;
@steps-dot-color-item-tail_error: @color-danger-6;
@steps-dot-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Arrow
@steps-arrow-size-item-gap: @spacing-2;
@steps-arrow-size-default-title-padding-left: @spacing-7;
@steps-arrow-size-small-title-padding-left: @spacing-8;
@steps-arrow-item-description-margin-top: 0;
@steps-arrow-font-weight-item-title_active: @font-weight-500;
@steps-arrow-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-1');
@steps-arrow-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-arrow-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_process: @color-primary-6;
@steps-arrow-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-arrow-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-arrow-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_error: @color-danger-6;
@steps-arrow-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-white');
// Navigation
@steps-navigation-color-arrow: var(~'@{arco-cssvars-prefix}-color-text-4');
@steps-navigation-size-arrow: 6px;
@steps-navigation-size-arrow-line-width: 2px;
@steps-navigation-size-arrow-top: @spacing-5;
@steps-navigation-padding-left: @spacing-8;
@steps-navigation-margin-right: @spacing-10;
@steps-navigation-spacing-arrow-right: @spacing-5;
@steps-navigation-spacing-ink-left: @spacing-none;
@steps-navigation-spacing-ink-right: 30px;
// Two size: Default and small
@steps-size-default: @size-7;
@steps-size-small: @size-6;
@steps-size-default-arrow: @size-18;
@steps-size-small-arrow: @size-10;
@steps-size-default-font-size-icon: @size-4;
@steps-size-default-font-size-title: @font-size-title-1;
@steps-size-default-font-size-description: @font-size-body-1;
@steps-size-small-font-size-icon: 14px;
@steps-size-small-font-size-title: @font-size-body-3;
@steps-size-small-font-size-description: @font-size-body-1;
@steps-label-vertical-content-width: 140px;
@steps-direction-horizontal-description-width: 140px;
// Circle
@steps-circle-size-item-tail: @border-1;
@steps-circle-size-item-icon-gap: 12px;
@steps-circle-font-weight-item-title_active: @font-weight-500;
@steps-circle-border-radius-item-icon: @radius-circle;
@steps-circle-horizontal-item-description-margin-top: @spacing-1;
@steps-circle-vertical-item-description-margin-top: @spacing-1;
@steps-circle-vertical-spacing-tail-top: @spacing-3;
@steps-circle-vertical-spacing-tail-bottom: @spacing-3;
@steps-circle-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-2');
@steps-circle-color-item-border_wait: @color-transparent;
@steps-circle-color-item-icon-text_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-circle-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_process: @color-primary-6;
@steps-circle-color-item-border_process: @color-transparent;
@steps-circle-color-item-icon-text_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_process: @color-primary-6;
@steps-circle-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-circle-color-item-border_finish: @color-transparent;
@steps-circle-color-item-icon-text_finish: @color-primary-6;
@steps-circle-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_error: @color-danger-6;
@steps-circle-color-item-border_error: @color-transparent;
@steps-circle-color-item-icon-text_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_error: @color-danger-6;
@steps-circle-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Dot
@steps-dot-horizontal-item-title-margin-top: @spacing-2;
@steps-dot-horizontal-item-description-margin-top: @spacing-2;
@steps-dot-vertical-item-dot-margin-top: @spacing-4;
@steps-dot-vertical-item-description-margin-top: @spacing-2;
@steps-dot-vertical-spacing-tail-top: @spacing-2;
@steps-dot-vertical-spacing-tail-bottom: @spacing-2;
@steps-dot-size-item-icon: @size-2;
@steps-dot-size-item-icon-active: 10px;
@steps-dot-size-item-icon-gap: @spacing-2;
@steps-dot-size-item-tail: @border-1;
@steps-dot-vertical-item-icon-margin-right: @spacing-7;
@steps-dot-font-weight-item-title_active: @font-weight-500;
@steps-dot-border-radius-item-icon: @radius-circle;
@steps-dot-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-border_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-dot-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-dot-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_process: @color-primary-6;
@steps-dot-color-item-border_process: @color-primary-6;
@steps-dot-color-item-tail_process: @color-primary-6;
@steps-dot-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_finish: @color-primary-6;
@steps-dot-color-item-border_finish: @color-primary-6;
@steps-dot-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_error: @color-danger-6;
@steps-dot-color-item-border_error: @color-danger-6;
@steps-dot-color-item-tail_error: @color-danger-6;
@steps-dot-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Arrow
@steps-arrow-size-item-gap: @spacing-2;
@steps-arrow-size-default-title-padding-left: @spacing-7;
@steps-arrow-size-small-title-padding-left: @spacing-8;
@steps-arrow-item-description-margin-top: 0;
@steps-arrow-font-weight-item-title_active: @font-weight-500;
@steps-arrow-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-1');
@steps-arrow-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-arrow-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_process: @color-primary-6;
@steps-arrow-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-arrow-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-arrow-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_error: @color-danger-6;
@steps-arrow-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-white');
// Navigation
@steps-navigation-color-arrow: var(~'@{arco-cssvars-prefix}-color-text-4');
@steps-navigation-size-arrow: 6px;
@steps-navigation-size-arrow-line-width: 2px;
@steps-navigation-size-arrow-top: @spacing-5;
@steps-navigation-padding-left: @spacing-8;
@steps-navigation-margin-right: @spacing-10;
@steps-navigation-spacing-arrow-right: @spacing-5;
@steps-navigation-spacing-ink-left: @spacing-none;
@steps-navigation-spacing-ink-right: 30px;
@steps-size-default-item-icon-margin-left: (@steps-label-vertical-content-width / 2) -
(@steps-size-default / 2);
@steps-size-small-item-icon-margin-left: (@steps-label-vertical-content-width / 2) -
(@steps-size-small / 2);
// Circle
.@{steps-prefix-cls} {
&-item {
flex: 1;
white-space: nowrap;
margin-right: @steps-circle-size-item-icon-gap;
overflow: hidden;
position: relative;
text-align: left;
&:last-child {
flex: none;
margin-right: 0;
}
}
&-item-active &-item-title {
font-weight: @steps-circle-font-weight-item-title_active;
}
&-item:not(&-item-active) &-item-title {
font-weight: normal;
}
&-item-icon {
display: inline-block;
vertical-align: top;
margin-right: @steps-circle-size-item-icon-gap;
font-size: @steps-size-default-font-size-icon;
font-weight: @font-weight-500;
}
&-icon {
width: @steps-size-default;
line-height: @steps-size-default - 2;
height: @steps-size-default;
border-radius: @steps-circle-border-radius-item-icon;
text-align: center;
box-sizing: border-box;
}
&-item-wait &-icon {
border: 1px solid @steps-circle-color-item-border_wait;
color: @steps-circle-color-item-icon-text_wait;
background-color: @steps-circle-color-item-bg_wait;
}
&-item-process &-icon {
border: 1px solid @steps-circle-color-item-border_process;
color: @steps-circle-color-item-icon-text_process;
background-color: @steps-circle-color-item-bg_process;
}
&-item-finish &-icon {
border: 1px solid @steps-circle-color-item-border_finish;
color: @steps-circle-color-item-icon-text_finish;
background-color: @steps-circle-color-item-bg_finish;
}
&-item-error &-icon {
border: 1px solid @steps-circle-color-item-border_error;
color: @steps-circle-color-item-icon-text_error;
background-color: @steps-circle-color-item-bg_error;
}
&-item-title {
white-space: nowrap;
color: @steps-circle-color-item-title_wait;
position: relative;
display: inline-block;
font-size: @steps-size-default-font-size-title;
line-height: @steps-size-default;
padding-right: @steps-circle-size-item-icon-gap;
}
&-item-wait &-item-title {
color: @steps-circle-color-item-title_wait;
}
&-item-process &-item-title {
color: @steps-circle-color-item-title_process;
}
&-item-finish &-item-title {
color: @steps-circle-color-item-title_finish;
}
&-item-error &-item-title {
color: @steps-circle-color-item-title_error;
}
&-item-content {
display: inline-block;
}
&-item-description {
white-space: normal;
color: @steps-circle-color-item-description_wait;
font-size: @steps-size-default-font-size-description;
margin-top: @steps-circle-horizontal-item-description-margin-top;
max-width: @steps-direction-horizontal-description-width;
}
&-item-wait &-item-description {
color: @steps-circle-color-item-description_wait;
}
&-item-process &-item-description {
color: @steps-circle-color-item-description_process;
}
&-item-finish &-item-description {
color: @steps-circle-color-item-description_finish;
}
&-item-error &-item-description {
color: @steps-circle-color-item-description_error;
}
// label horizontal tail style
&-label-horizontal:not(.@{steps-prefix-cls}-vertical) > &-item:not(:last-child) {
.@{steps-prefix-cls}-item-title::after {
content: '';
display: block;
position: absolute;
width: 5000px;
height: @steps-circle-size-item-tail;
left: 100%;
top: ((@steps-size-default - @steps-circle-size-item-tail) / 2);
background-color: @steps-circle-color-item-tail_wait;
box-sizing: border-box;
}
}
&-label-horizontal > &-item&-item-process {
.@{steps-prefix-cls}-item-title::after {
background-color: @steps-circle-color-item-tail_wait;
}
}
&-label-horizontal > &-item&-item-finish {
.@{steps-prefix-cls}-item-title::after {
background-color: @steps-circle-color-item-tail_process;
}
}
&-label-horizontal > &-item&-item-next-error {
.@{steps-prefix-cls}-item-title::after {
background-color: @steps-circle-color-item-tail_error;
}
}
&&-vertical > &-item:not(:last-child) {
> .@{steps-prefix-cls}-item-tail {
position: absolute;
width: @steps-circle-size-item-tail;
top: @steps-size-default + @steps-circle-vertical-spacing-tail-top;
bottom: @steps-circle-vertical-spacing-tail-bottom;
left: ((@steps-size-default - @steps-circle-size-item-tail) / 2);
box-sizing: border-box;
padding: 0;
height: unset;
&::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-color: @steps-circle-color-item-tail_wait;
}
}
}
// label vertical & direction vertical tail style
& > &-item:not(:last-child) {
> .@{steps-prefix-cls}-item-tail {
position: absolute;
width: 100%;
height: @steps-circle-size-item-tail;
top: ((@steps-size-default - @steps-circle-size-item-tail) / 2);
box-sizing: border-box;
&::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-color: @steps-circle-color-item-tail_wait;
}
}
}
&-item:not(:last-child)&-item-finish &-item-tail::after {
background-color: @steps-circle-color-item-tail_process;
}
&-item:not(:last-child)&-item-next-error &-item-tail::after {
background-color: @steps-circle-color-item-tail_error;
}
&-size-small&-vertical &-item:not(:last-child) &-item-tail {
left: ((@steps-size-small - @steps-circle-size-item-tail) / 2);
top: @steps-size-small + @steps-circle-vertical-spacing-tail-top;
}
// Size
&-size-small:not(&-vertical):not(&-mode-dot) &-item:not(:last-child) &-item-tail {
top: ((@steps-size-small - @steps-circle-size-item-tail) / 2);
}
&-size-small &-item {
&-icon {
font-size: @steps-size-small-font-size-icon;
}
&-title {
font-size: @steps-size-small-font-size-title;
line-height: @steps-size-small;
}
&-description {
font-size: @steps-size-small-font-size-description;
}
}
&-size-small &-icon {
width: @steps-size-small;
height: @steps-size-small;
line-height: @steps-size-small - 2;
font-size: @steps-size-small-font-size-title;
}
&-size-small&-label-horizontal &-item:not(:last-child) &-item-title {
&::after {
top: ((@steps-size-small - @steps-circle-size-item-tail) / 2);
}
}
// Label vertical
&-label-vertical &-item {
overflow: visible;
&-title {
padding-right: 0;
margin-top: @steps-circle-vertical-item-description-margin-top;
}
&-icon {
margin-left: @steps-size-default-item-icon-margin-left;
}
&-tail {
left: @steps-size-default-item-icon-margin-left + @steps-size-default +
@steps-circle-size-item-icon-gap;
padding-right: @steps-size-default + @steps-circle-size-item-icon-gap;
}
}
&-label-vertical&-size-small &-item {
&-icon {
margin-left: @steps-size-small-item-icon-margin-left;
}
&-tail {
left: @steps-size-small-item-icon-margin-left + @steps-size-small +
@steps-circle-size-item-icon-gap;
padding-right: @steps-size-small + @steps-circle-size-item-icon-gap;
}
}
}
.@{steps-prefix-cls}-rtl {
.@{steps-prefix-cls}-item {
margin-right: 0;
margin-left: @steps-circle-size-item-icon-gap;
text-align: right;
&:last-child {
margin-left: 0;
}
&-icon {
margin-right: 0;
margin-left: @steps-circle-size-item-icon-gap;
}
&-title {
padding-right: 0;
padding-left: @steps-circle-size-item-icon-gap;
}
}
// label horizontal tail style
&.@{steps-prefix-cls}-label-horizontal
.@{steps-prefix-cls}-item:not(:last-child)
.@{steps-prefix-cls}-item-title {
&::after {
left: 0;
right: 100%;
}
}
&.@{steps-prefix-cls}-vertical {
> .@{steps-prefix-cls}-item:not(:last-child) .@{steps-prefix-cls}-item-tail {
left: 0;
right: ((@steps-size-default - @steps-circle-size-item-tail) / 2);
}
&.@{steps-prefix-cls}-size-small.@{steps-prefix-cls}-vertical
> .@{steps-prefix-cls}-item:not(:last-child)
.@{steps-prefix-cls}-item-tail {
left: 0;
right: ((@steps-size-small - @steps-circle-size-item-tail) / 2);
top: @steps-size-small + @steps-circle-vertical-spacing-tail-top;
}
}
&.@{steps-prefix-cls}-label-vertical .@{steps-prefix-cls}-item {
&-title {
padding-left: 0;
}
&-icon {
margin-left: 0;
margin-right: @steps-size-default-item-icon-margin-left;
}
&-tail {
left: 0;
right: @steps-size-default-item-icon-margin-left + @steps-size-default +
@steps-circle-size-item-icon-gap;
padding-right: 0;
padding-left: @steps-size-default + @steps-circle-size-item-icon-gap;
}
}
&.@{steps-prefix-cls}-label-vertical.@{steps-prefix-cls}-size-small .@{steps-prefix-cls}-item {
&-icon {
margin-left: 0;
margin-right: @steps-size-small-item-icon-margin-left;
}
&-tail {
left: 0;
right: @steps-size-small-item-icon-margin-left + @steps-size-small +
@steps-circle-size-item-icon-gap;
padding-right: 0;
padding-left: @steps-size-small + @steps-circle-size-item-icon-gap;
}
}
}
// Two size: Default and small
@steps-size-default: @size-7;
@steps-size-small: @size-6;
@steps-size-default-arrow: @size-18;
@steps-size-small-arrow: @size-10;
@steps-size-default-font-size-icon: @size-4;
@steps-size-default-font-size-title: @font-size-title-1;
@steps-size-default-font-size-description: @font-size-body-1;
@steps-size-small-font-size-icon: 14px;
@steps-size-small-font-size-title: @font-size-body-3;
@steps-size-small-font-size-description: @font-size-body-1;
@steps-label-vertical-content-width: 140px;
@steps-direction-horizontal-description-width: 140px;
// Circle
@steps-circle-size-item-tail: @border-1;
@steps-circle-size-item-icon-gap: 12px;
@steps-circle-font-weight-item-title_active: @font-weight-500;
@steps-circle-border-radius-item-icon: @radius-circle;
@steps-circle-horizontal-item-description-margin-top: @spacing-1;
@steps-circle-vertical-item-description-margin-top: @spacing-1;
@steps-circle-vertical-spacing-tail-top: @spacing-3;
@steps-circle-vertical-spacing-tail-bottom: @spacing-3;
@steps-circle-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-2');
@steps-circle-color-item-border_wait: @color-transparent;
@steps-circle-color-item-icon-text_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-circle-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_process: @color-primary-6;
@steps-circle-color-item-border_process: @color-transparent;
@steps-circle-color-item-icon-text_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_process: @color-primary-6;
@steps-circle-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-circle-color-item-border_finish: @color-transparent;
@steps-circle-color-item-icon-text_finish: @color-primary-6;
@steps-circle-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_error: @color-danger-6;
@steps-circle-color-item-border_error: @color-transparent;
@steps-circle-color-item-icon-text_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_error: @color-danger-6;
@steps-circle-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Dot
@steps-dot-horizontal-item-title-margin-top: @spacing-2;
@steps-dot-horizontal-item-description-margin-top: @spacing-2;
@steps-dot-vertical-item-dot-margin-top: @spacing-4;
@steps-dot-vertical-item-description-margin-top: @spacing-2;
@steps-dot-vertical-spacing-tail-top: @spacing-2;
@steps-dot-vertical-spacing-tail-bottom: @spacing-2;
@steps-dot-size-item-icon: @size-2;
@steps-dot-size-item-icon-active: 10px;
@steps-dot-size-item-icon-gap: @spacing-2;
@steps-dot-size-item-tail: @border-1;
@steps-dot-vertical-item-icon-margin-right: @spacing-7;
@steps-dot-font-weight-item-title_active: @font-weight-500;
@steps-dot-border-radius-item-icon: @radius-circle;
@steps-dot-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-border_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-dot-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-dot-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_process: @color-primary-6;
@steps-dot-color-item-border_process: @color-primary-6;
@steps-dot-color-item-tail_process: @color-primary-6;
@steps-dot-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_finish: @color-primary-6;
@steps-dot-color-item-border_finish: @color-primary-6;
@steps-dot-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_error: @color-danger-6;
@steps-dot-color-item-border_error: @color-danger-6;
@steps-dot-color-item-tail_error: @color-danger-6;
@steps-dot-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Arrow
@steps-arrow-size-item-gap: @spacing-2;
@steps-arrow-size-default-title-padding-left: @spacing-7;
@steps-arrow-size-small-title-padding-left: @spacing-8;
@steps-arrow-item-description-margin-top: 0;
@steps-arrow-font-weight-item-title_active: @font-weight-500;
@steps-arrow-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-1');
@steps-arrow-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-arrow-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_process: @color-primary-6;
@steps-arrow-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-arrow-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-arrow-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_error: @color-danger-6;
@steps-arrow-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-white');
// Navigation
@steps-navigation-color-arrow: var(~'@{arco-cssvars-prefix}-color-text-4');
@steps-navigation-size-arrow: 6px;
@steps-navigation-size-arrow-line-width: 2px;
@steps-navigation-size-arrow-top: @spacing-5;
@steps-navigation-padding-left: @spacing-8;
@steps-navigation-margin-right: @spacing-10;
@steps-navigation-spacing-arrow-right: @spacing-5;
@steps-navigation-spacing-ink-left: @spacing-none;
@steps-navigation-spacing-ink-right: 30px;
@steps-dot-item-icon-margin-left: (@steps-label-vertical-content-width / 2) -
(@steps-dot-size-item-icon / 2);
@steps-dot-vertical-item-dot-margin-top-active: @steps-dot-vertical-item-dot-margin-top -
(@steps-dot-size-item-icon-active - @steps-dot-size-item-icon);
// Dot
.@{steps-prefix-cls} {
&-mode-dot &-item {
flex: 1;
white-space: nowrap;
margin-right: @steps-dot-size-item-icon + @steps-dot-size-item-icon-gap * 2;
position: relative;
text-align: left;
overflow: visible;
&:last-child {
flex: none;
margin-right: 0;
}
}
&-mode-dot &-item-active &-item-title {
font-weight: @steps-dot-font-weight-item-title_active;
}
&-mode-dot &-item:not(&-item-active) &-item-title {
font-weight: normal;
}
&-mode-dot &-item-icon {
display: inline-block;
box-sizing: border-box;
width: @steps-dot-size-item-icon;
height: @steps-dot-size-item-icon;
border-radius: @steps-dot-border-radius-item-icon;
vertical-align: top;
}
&-mode-dot &-item-active &-item-icon {
width: @steps-dot-size-item-icon-active;
height: @steps-dot-size-item-icon-active;
}
&-mode-dot &-item-wait &-item-icon {
border-color: @steps-dot-color-item-border_wait;
background-color: @steps-dot-color-item-bg_wait;
}
&-mode-dot &-item-process &-item-icon {
border-color: @steps-dot-color-item-border_process;
background-color: @steps-dot-color-item-bg_process;
}
&-mode-dot &-item-finish &-item-icon {
border-color: @steps-dot-color-item-border_finish;
background-color: @steps-dot-color-item-bg_finish;
}
&-mode-dot &-item-error &-item-icon {
border-color: @steps-dot-color-item-border_error;
background-color: @steps-dot-color-item-bg_error;
}
&-mode-dot&-horizontal &-item-icon {
margin-left: @steps-dot-item-icon-margin-left;
}
&-mode-dot&-horizontal &-item-active &-item-icon {
margin-left: @steps-dot-item-icon-margin-left -
((@steps-dot-size-item-icon-active - @steps-dot-size-item-icon) / 2);
margin-top: -((@steps-dot-size-item-icon-active - @steps-dot-size-item-icon) / 2);
}
&-mode-dot &-item-content {
display: inline-block;
}
&-mode-dot &-item-title {
position: relative;
display: inline-block;
font-size: @steps-size-default-font-size-title;
margin-top: @steps-dot-horizontal-item-title-margin-top;
}
&-mode-dot &-item-wait &-item-title {
color: @steps-dot-color-item-title_wait;
}
&-mode-dot &-item-process &-item-title {
color: @steps-dot-color-item-title_process;
}
&-mode-dot &-item-finish &-item-title {
color: @steps-dot-color-item-title_finish;
}
&-mode-dot &-item-error &-item-title {
color: @steps-dot-color-item-title_error;
}
&-mode-dot &-item-description {
white-space: normal;
font-size: @steps-size-default-font-size-description;
margin-top: @steps-dot-horizontal-item-description-margin-top;
}
&-mode-dot &-item-wait &-item-description {
color: @steps-dot-color-item-description_wait;
}
&-mode-dot &-item-process &-item-description {
color: @steps-dot-color-item-description_process;
}
&-mode-dot &-item-finish &-item-description {
color: @steps-dot-color-item-description_finish;
}
&-mode-dot &-item-error &-item-description {
color: @steps-dot-color-item-description_error;
}
&-mode-dot > &-item:not(:last-child) {
> .@{steps-prefix-cls}-item-tail {
position: absolute;
width: 100%;
height: @steps-dot-size-item-tail;
top: ((@steps-dot-size-item-icon - @steps-dot-size-item-tail) / 2);
left: @steps-dot-item-icon-margin-left + @steps-dot-size-item-icon +
@steps-dot-size-item-icon-gap;
box-sizing: border-box;
background-color: @steps-dot-color-item-tail_wait;
&::after {
display: none;
}
}
}
&-mode-dot &-item:not(:last-child)&-item-process &-item-tail {
background-color: @steps-dot-color-item-tail_wait;
}
&-mode-dot &-item:not(:last-child)&-item-finish &-item-tail {
background-color: @steps-dot-color-item-tail_process;
}
&-mode-dot &-item:not(:last-child)&-item-next-error &-item-tail {
background-color: @steps-dot-color-item-tail_error;
}
// Dot vertical
&-mode-dot&-vertical > &-item > &-item-icon {
margin-right: @steps-dot-vertical-item-icon-margin-right;
}
&-mode-dot&-vertical > &-item > &-item-content {
overflow: hidden;
}
&-mode-dot&-vertical &-item-title {
margin-top: @steps-dot-vertical-item-dot-margin-top + (@steps-dot-size-item-icon / 2) -
(@steps-size-default / 2);
}
&-mode-dot&-vertical&-size-small &-item-title {
margin-top: @steps-dot-vertical-item-dot-margin-top + (@steps-dot-size-item-icon / 2) -
(@steps-size-small / 2);
}
&-mode-dot&-vertical &-item-active &-item-title {
margin-top: @steps-dot-vertical-item-dot-margin-top-active +
(@steps-dot-size-item-icon-active / 2) - (@steps-size-default / 2);
}
&-mode-dot&-vertical&-size-small &-item-active &-item-title {
margin-top: @steps-dot-vertical-item-dot-margin-top-active +
(@steps-dot-size-item-icon-active / 2) - (@steps-size-small / 2);
}
&-mode-dot&-vertical &-item-description {
margin-top: @steps-dot-vertical-item-description-margin-top;
}
&-mode-dot&-vertical > &-item:not(:last-child) {
> .@{steps-prefix-cls}-item-tail {
position: absolute;
width: 1px;
transform: translateX(-50%);
top: @steps-dot-size-item-icon + @steps-dot-vertical-item-dot-margin-top +
@steps-dot-vertical-spacing-tail-top;
bottom: @steps-dot-vertical-spacing-tail-bottom - @steps-dot-vertical-item-dot-margin-top;
left: (@steps-dot-size-item-icon / 2);
background-color: transparent;
box-sizing: border-box;
padding: 0;
height: unset;
&::after {
content: '';
display: block;
width: 100%;
height: 100%;
background-color: @steps-dot-color-item-tail_wait;
}
}
}
&-mode-dot&-vertical > &-item:not(:last-child)&-item-process {
> .@{steps-prefix-cls}-item-tail::after {
background-color: @steps-dot-color-item-tail_wait;
}
}
&-mode-dot&-vertical > &-item:not(:last-child)&-item-finish {
> .@{steps-prefix-cls}-item-tail::after {
background-color: @steps-dot-color-item-tail_process;
}
}
&-mode-dot&-vertical > &-item:not(:last-child)&-item-next-error {
> .@{steps-prefix-cls}-item-tail::after {
background-color: @steps-dot-color-item-tail_error;
}
}
&-mode-dot&-vertical > &-item {
> .@{steps-prefix-cls}-item-icon {
margin-top: @steps-dot-vertical-item-dot-margin-top;
}
}
&-mode-dot&-vertical > &-item-active {
> .@{steps-prefix-cls}-item-icon {
margin-top: @steps-dot-vertical-item-dot-margin-top-active;
margin-left: -((@steps-dot-size-item-icon-active - @steps-dot-size-item-icon) / 2);
}
}
}
.@{steps-prefix-cls}-rtl {
&.@{steps-prefix-cls}-mode-dot {
.@{steps-prefix-cls}-item {
margin-right: 0;
margin-left: @steps-dot-size-item-icon + @steps-dot-size-item-icon-gap * 2;
text-align: right;
&:last-child {
margin-left: 0;
}
&:not(:last-child) {
.@{steps-prefix-cls}-item-tail {
left: initial;
right: @steps-dot-item-icon-margin-left + @steps-dot-size-item-icon +
@steps-dot-size-item-icon-gap;
}
}
}
}
&.@{steps-prefix-cls}-mode-dot.@{steps-prefix-cls}-horizontal {
.@{steps-prefix-cls}-item-icon {
margin-left: 0;
margin-right: @steps-dot-item-icon-margin-left;
}
.@{steps-prefix-cls}-item-active .@{steps-prefix-cls}-item-icon {
margin-left: 0;
margin-right: @steps-dot-item-icon-margin-left -
((@steps-dot-size-item-icon-active - @steps-dot-size-item-icon) / 2);
}
}
&.@{steps-prefix-cls}-mode-dot.@{steps-prefix-cls}-vertical {
.@{steps-prefix-cls}-item-icon {
margin-right: 0;
margin-left: @steps-dot-vertical-item-icon-margin-right;
}
.@{steps-prefix-cls}-item:not(:last-child) .@{steps-prefix-cls}-item-tail {
left: 0;
right: (@steps-dot-size-item-icon / 2);
}
.@{steps-prefix-cls}-item-active .@{steps-prefix-cls}-item-icon {
margin-right: -((@steps-dot-size-item-icon-active - @steps-dot-size-item-icon) / 2);
}
}
}
// Two size: Default and small
@steps-size-default: @size-7;
@steps-size-small: @size-6;
@steps-size-default-arrow: @size-18;
@steps-size-small-arrow: @size-10;
@steps-size-default-font-size-icon: @size-4;
@steps-size-default-font-size-title: @font-size-title-1;
@steps-size-default-font-size-description: @font-size-body-1;
@steps-size-small-font-size-icon: 14px;
@steps-size-small-font-size-title: @font-size-body-3;
@steps-size-small-font-size-description: @font-size-body-1;
@steps-label-vertical-content-width: 140px;
@steps-direction-horizontal-description-width: 140px;
// Circle
@steps-circle-size-item-tail: @border-1;
@steps-circle-size-item-icon-gap: 12px;
@steps-circle-font-weight-item-title_active: @font-weight-500;
@steps-circle-border-radius-item-icon: @radius-circle;
@steps-circle-horizontal-item-description-margin-top: @spacing-1;
@steps-circle-vertical-item-description-margin-top: @spacing-1;
@steps-circle-vertical-spacing-tail-top: @spacing-3;
@steps-circle-vertical-spacing-tail-bottom: @spacing-3;
@steps-circle-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-2');
@steps-circle-color-item-border_wait: @color-transparent;
@steps-circle-color-item-icon-text_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-circle-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_process: @color-primary-6;
@steps-circle-color-item-border_process: @color-transparent;
@steps-circle-color-item-icon-text_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_process: @color-primary-6;
@steps-circle-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-circle-color-item-border_finish: @color-transparent;
@steps-circle-color-item-icon-text_finish: @color-primary-6;
@steps-circle-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_error: @color-danger-6;
@steps-circle-color-item-border_error: @color-transparent;
@steps-circle-color-item-icon-text_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_error: @color-danger-6;
@steps-circle-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Dot
@steps-dot-horizontal-item-title-margin-top: @spacing-2;
@steps-dot-horizontal-item-description-margin-top: @spacing-2;
@steps-dot-vertical-item-dot-margin-top: @spacing-4;
@steps-dot-vertical-item-description-margin-top: @spacing-2;
@steps-dot-vertical-spacing-tail-top: @spacing-2;
@steps-dot-vertical-spacing-tail-bottom: @spacing-2;
@steps-dot-size-item-icon: @size-2;
@steps-dot-size-item-icon-active: 10px;
@steps-dot-size-item-icon-gap: @spacing-2;
@steps-dot-size-item-tail: @border-1;
@steps-dot-vertical-item-icon-margin-right: @spacing-7;
@steps-dot-font-weight-item-title_active: @font-weight-500;
@steps-dot-border-radius-item-icon: @radius-circle;
@steps-dot-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-border_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-dot-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-dot-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_process: @color-primary-6;
@steps-dot-color-item-border_process: @color-primary-6;
@steps-dot-color-item-tail_process: @color-primary-6;
@steps-dot-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_finish: @color-primary-6;
@steps-dot-color-item-border_finish: @color-primary-6;
@steps-dot-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_error: @color-danger-6;
@steps-dot-color-item-border_error: @color-danger-6;
@steps-dot-color-item-tail_error: @color-danger-6;
@steps-dot-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Arrow
@steps-arrow-size-item-gap: @spacing-2;
@steps-arrow-size-default-title-padding-left: @spacing-7;
@steps-arrow-size-small-title-padding-left: @spacing-8;
@steps-arrow-item-description-margin-top: 0;
@steps-arrow-font-weight-item-title_active: @font-weight-500;
@steps-arrow-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-1');
@steps-arrow-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-arrow-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_process: @color-primary-6;
@steps-arrow-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-arrow-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-arrow-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_error: @color-danger-6;
@steps-arrow-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-white');
// Navigation
@steps-navigation-color-arrow: var(~'@{arco-cssvars-prefix}-color-text-4');
@steps-navigation-size-arrow: 6px;
@steps-navigation-size-arrow-line-width: 2px;
@steps-navigation-size-arrow-top: @spacing-5;
@steps-navigation-padding-left: @spacing-8;
@steps-navigation-margin-right: @spacing-10;
@steps-navigation-spacing-arrow-right: @spacing-5;
@steps-navigation-spacing-ink-left: @spacing-none;
@steps-navigation-spacing-ink-right: 30px;
// Arrow
.@{steps-prefix-cls} {
&-mode-arrow &-item {
position: relative;
display: flex;
flex: 1;
white-space: nowrap;
height: @steps-size-default-arrow;
align-items: center;
overflow: visible;
&:not(:last-child) {
margin-right: @steps-arrow-size-item-gap;
}
}
&-mode-arrow &-item-wait {
background-color: @steps-arrow-color-item-bg_wait;
}
&-mode-arrow &-item-process {
background-color: @steps-arrow-color-item-bg_process;
}
&-mode-arrow &-item-finish {
background-color: @steps-arrow-color-item-bg_finish;
}
&-mode-arrow &-item-error {
background-color: @steps-arrow-color-item-bg_error;
}
&-mode-arrow &-item-content {
display: inline-block;
box-sizing: border-box;
}
&-mode-arrow &-item:first-child &-item-content {
padding-left: @steps-arrow-size-default-title-padding-left;
}
&-mode-arrow &-item:not(:first-child) &-item-content {
padding-left: @steps-arrow-size-default-title-padding-left + (@steps-size-default-arrow / 2);
}
&-mode-arrow &-item-title {
position: relative;
display: inline-block;
white-space: nowrap;
font-size: @steps-size-default-font-size-title;
&::after {
display: none !important;
}
}
&-mode-arrow &-item-wait &-item-title {
color: @steps-arrow-color-item-title_wait;
}
&-mode-arrow &-item-process &-item-title {
color: @steps-arrow-color-item-title_process;
}
&-mode-arrow &-item-finish &-item-title {
color: @steps-arrow-color-item-title_finish;
}
&-mode-arrow &-item-error &-item-title {
color: @steps-arrow-color-item-title_error;
}
&-mode-arrow &-item-active &-item-title {
font-weight: @steps-arrow-font-weight-item-title_active;
}
&-mode-arrow &-item-description {
white-space: nowrap;
font-size: @steps-size-default-font-size-description;
margin-top: @steps-arrow-item-description-margin-top;
max-width: none;
}
&-mode-arrow &-item-wait &-item-description {
color: @steps-arrow-color-item-description_wait;
}
&-mode-arrow &-item-process &-item-description {
color: @steps-arrow-color-item-description_process;
}
&-mode-arrow &-item-finish &-item-description {
color: @steps-arrow-color-item-description_finish;
}
&-mode-arrow &-item-error &-item-description {
color: @steps-arrow-color-item-description_error;
}
// 前箭头
&-mode-arrow &-item:not(:first-child)::before {
content: '';
display: block;
position: absolute;
width: 0;
height: 0;
border-top: (@steps-size-default-arrow / 2) solid transparent;
border-bottom: (@steps-size-default-arrow / 2) solid transparent;
border-left: (@steps-size-default-arrow / 2) solid var(~'@{arco-cssvars-prefix}-color-bg-2');
left: 0;
top: 0;
z-index: 1;
}
// 后箭头
&-mode-arrow &-item:not(:last-child)::after {
content: '';
display: block;
position: absolute;
width: 0;
height: 0;
border-top: (@steps-size-default-arrow / 2) solid transparent;
border-bottom: (@steps-size-default-arrow / 2) solid transparent;
right: -(@steps-size-default-arrow / 2);
top: 0;
z-index: 2;
clear: both;
}
&-mode-arrow &-item:not(:last-child)&-item-wait::after {
border-left: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
&-mode-arrow &-item:not(:last-child)&-item-process::after {
border-left: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_process;
}
&-mode-arrow &-item:not(:last-child)&-item-error::after {
border-left: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_error;
}
&-mode-arrow &-item:not(:last-child)&-item-finish::after {
border-left: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_finish;
}
// Small
&-mode-arrow&-size-small &-item {
height: @steps-size-small-arrow;
&-title {
font-size: @steps-size-small-font-size-title;
}
&-description {
display: none;
}
&:not(:first-child) {
&::before {
border-top: (@steps-size-small-arrow / 2) solid transparent;
border-bottom: (@steps-size-small-arrow / 2) solid transparent;
border-left: (@steps-size-small-arrow / 2) solid var(~'@{arco-cssvars-prefix}-color-bg-2');
}
}
&:not(:last-child)::after {
right: -(@steps-size-small-arrow / 2);
border-top: (@steps-size-small-arrow / 2) solid transparent;
border-bottom: (@steps-size-small-arrow / 2) solid transparent;
border-left: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
}
&-mode-arrow&-size-small &-item:first-child &-item-content {
padding-left: @steps-arrow-size-small-title-padding-left;
}
&-mode-arrow&-size-small &-item:not(:first-child) &-item-content {
padding-left: @steps-arrow-size-small-title-padding-left + (@steps-size-small-arrow / 2);
}
&-mode-arrow&-size-small &-item-error {
&:not(:last-child)::after {
border-left: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_error;
}
}
&-mode-arrow&-size-small &-item:not(:last-child)&-item-wait::after {
border-left: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
&-mode-arrow&-size-small &-item:not(:last-child)&-item-process::after {
border-left: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_process;
}
&-mode-arrow&-size-small &-item:not(:last-child)&-item-finish::after {
border-left: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_finish;
}
}
.@{steps-prefix-cls}-rtl.@{steps-prefix-cls}-mode-arrow {
.@{steps-prefix-cls}-item {
&:not(:last-child) {
margin-right: 0;
margin-left: @steps-arrow-size-item-gap;
}
&:first-child {
.@{steps-prefix-cls}-item-content {
padding-left: 0;
padding-right: @steps-arrow-size-default-title-padding-left;
}
}
&:not(:first-child) {
.@{steps-prefix-cls}-item-content {
padding-left: 0;
padding-right: @steps-arrow-size-default-title-padding-left +
(@steps-size-default-arrow / 2);
}
}
&:not(:first-child)::before {
border-left: none;
border-right: (@steps-size-default-arrow / 2) solid var(~'@{arco-cssvars-prefix}-color-bg-2');
right: 0;
}
&:not(:last-child)::after {
left: -(@steps-size-default-arrow / 2);
right: initial;
}
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-wait::after {
border-left: none;
border-right: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-process::after {
border-left: none;
border-right: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_process;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-finish::after {
border-left: none;
border-right: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_finish;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-error::after {
border-left: none;
border-right: (@steps-size-default-arrow / 2) solid @steps-arrow-color-item-bg_error;
}
}
.@{steps-prefix-cls}-rtl.@{steps-prefix-cls}-mode-arrow.@{steps-prefix-cls}-size-small {
.@{steps-prefix-cls}-item {
&:not(:first-child) {
&::before {
border-right: (@steps-size-small-arrow / 2) solid var(~'@{arco-cssvars-prefix}-color-bg-2');
}
}
&:not(:last-child)::after {
left: -(@steps-size-small-arrow / 2);
border-right: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
&:first-child {
.@{steps-prefix-cls}-item-content {
padding-left: 0;
padding-right: @steps-arrow-size-small-title-padding-left;
}
}
&:not(:first-child) {
.@{steps-prefix-cls}-item-content {
padding-left: 0;
padding-right: @steps-arrow-size-small-title-padding-left + (@steps-size-small-arrow / 2);
}
}
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-wait::after {
border-right: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_wait;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-process::after {
border-right: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_process;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-finish::after {
border-right: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_finish;
}
.@{steps-prefix-cls}-item:not(:last-child).@{steps-prefix-cls}-item-error::after {
border-right: (@steps-size-small-arrow / 2) solid @steps-arrow-color-item-bg_error;
}
}
// Two size: Default and small
@steps-size-default: @size-7;
@steps-size-small: @size-6;
@steps-size-default-arrow: @size-18;
@steps-size-small-arrow: @size-10;
@steps-size-default-font-size-icon: @size-4;
@steps-size-default-font-size-title: @font-size-title-1;
@steps-size-default-font-size-description: @font-size-body-1;
@steps-size-small-font-size-icon: 14px;
@steps-size-small-font-size-title: @font-size-body-3;
@steps-size-small-font-size-description: @font-size-body-1;
@steps-label-vertical-content-width: 140px;
@steps-direction-horizontal-description-width: 140px;
// Circle
@steps-circle-size-item-tail: @border-1;
@steps-circle-size-item-icon-gap: 12px;
@steps-circle-font-weight-item-title_active: @font-weight-500;
@steps-circle-border-radius-item-icon: @radius-circle;
@steps-circle-horizontal-item-description-margin-top: @spacing-1;
@steps-circle-vertical-item-description-margin-top: @spacing-1;
@steps-circle-vertical-spacing-tail-top: @spacing-3;
@steps-circle-vertical-spacing-tail-bottom: @spacing-3;
@steps-circle-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-2');
@steps-circle-color-item-border_wait: @color-transparent;
@steps-circle-color-item-icon-text_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-circle-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-circle-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_process: @color-primary-6;
@steps-circle-color-item-border_process: @color-transparent;
@steps-circle-color-item-icon-text_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_process: @color-primary-6;
@steps-circle-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-circle-color-item-border_finish: @color-transparent;
@steps-circle-color-item-icon-text_finish: @color-primary-6;
@steps-circle-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-circle-color-item-bg_error: @color-danger-6;
@steps-circle-color-item-border_error: @color-transparent;
@steps-circle-color-item-icon-text_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-circle-color-item-tail_error: @color-danger-6;
@steps-circle-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-circle-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Dot
@steps-dot-horizontal-item-title-margin-top: @spacing-2;
@steps-dot-horizontal-item-description-margin-top: @spacing-2;
@steps-dot-vertical-item-dot-margin-top: @spacing-4;
@steps-dot-vertical-item-description-margin-top: @spacing-2;
@steps-dot-vertical-spacing-tail-top: @spacing-2;
@steps-dot-vertical-spacing-tail-bottom: @spacing-2;
@steps-dot-size-item-icon: @size-2;
@steps-dot-size-item-icon-active: 10px;
@steps-dot-size-item-icon-gap: @spacing-2;
@steps-dot-size-item-tail: @border-1;
@steps-dot-vertical-item-icon-margin-right: @spacing-7;
@steps-dot-font-weight-item-title_active: @font-weight-500;
@steps-dot-border-radius-item-icon: @radius-circle;
@steps-dot-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-border_wait: var(~'@{arco-cssvars-prefix}-color-fill-4');
@steps-dot-color-item-tail_wait: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@steps-dot-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-dot-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_process: @color-primary-6;
@steps-dot-color-item-border_process: @color-primary-6;
@steps-dot-color-item-tail_process: @color-primary-6;
@steps-dot-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_finish: @color-primary-6;
@steps-dot-color-item-border_finish: @color-primary-6;
@steps-dot-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-dot-color-item-bg_error: @color-danger-6;
@steps-dot-color-item-border_error: @color-danger-6;
@steps-dot-color-item-tail_error: @color-danger-6;
@steps-dot-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-dot-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-text-3');
// Arrow
@steps-arrow-size-item-gap: @spacing-2;
@steps-arrow-size-default-title-padding-left: @spacing-7;
@steps-arrow-size-small-title-padding-left: @spacing-8;
@steps-arrow-item-description-margin-top: 0;
@steps-arrow-font-weight-item-title_active: @font-weight-500;
@steps-arrow-color-item-bg_wait: var(~'@{arco-cssvars-prefix}-color-fill-1');
@steps-arrow-color-item-title_wait: var(~'@{arco-cssvars-prefix}-color-text-2');
@steps-arrow-color-item-description_wait: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_process: @color-primary-6;
@steps-arrow-color-item-title_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_process: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-bg_finish: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@steps-arrow-color-item-title_finish: var(~'@{arco-cssvars-prefix}-color-text-1');
@steps-arrow-color-item-description_finish: var(~'@{arco-cssvars-prefix}-color-text-3');
@steps-arrow-color-item-bg_error: @color-danger-6;
@steps-arrow-color-item-title_error: var(~'@{arco-cssvars-prefix}-color-white');
@steps-arrow-color-item-description_error: var(~'@{arco-cssvars-prefix}-color-white');
// Navigation
@steps-navigation-color-arrow: var(~'@{arco-cssvars-prefix}-color-text-4');
@steps-navigation-size-arrow: 6px;
@steps-navigation-size-arrow-line-width: 2px;
@steps-navigation-size-arrow-top: @spacing-5;
@steps-navigation-padding-left: @spacing-8;
@steps-navigation-margin-right: @spacing-10;
@steps-navigation-spacing-arrow-right: @spacing-5;
@steps-navigation-spacing-ink-left: @spacing-none;
@steps-navigation-spacing-ink-right: 30px;
// Navigation
.@{steps-prefix-cls} {
&-mode-navigation&-label-horizontal &-item:not(:last-child) &-item-title::after {
display: none;
}
&-mode-navigation &-item {
padding-left: @steps-navigation-padding-left;
padding-right: @steps-navigation-spacing-arrow-right;
margin-right: @steps-navigation-margin-right;
&:last-child {
flex: 1;
}
&-content {
margin-bottom: 20px;
}
&-description {
padding-right: 20px;
}
&-active::after {
content: '';
position: absolute;
display: block;
height: 2px;
left: @steps-navigation-spacing-ink-left;
right: @steps-navigation-spacing-ink-right;
bottom: 0;
background-color: @color-primary-6;
}
&-active:last-child::after {
width: 100%;
}
}
&-mode-navigation &-item:not(:last-child) &-item-content::after {
content: '';
position: absolute;
top: @steps-navigation-size-arrow-top;
right: @steps-navigation-spacing-arrow-right;
display: inline-block;
width: @steps-navigation-size-arrow;
height: @steps-navigation-size-arrow;
border: @steps-navigation-size-arrow-line-width solid @steps-navigation-color-arrow;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
border-bottom: none;
border-left: none;
transform: rotate(45deg);
}
}
.@{steps-prefix-cls}-rtl {
&.@{steps-prefix-cls}-mode-navigation {
.@{steps-prefix-cls}-item {
padding-right: @steps-navigation-padding-left;
padding-left: @steps-navigation-spacing-arrow-right;
margin-left: @steps-navigation-margin-right;
margin-right: 0;
&-description {
padding-left: 20px;
padding-right: 0;
}
&-active::after {
right: @steps-navigation-spacing-ink-left;
left: @steps-navigation-spacing-ink-right;
}
&:not(:last-child) .@{steps-prefix-cls}-item-content::after {
left: @steps-navigation-spacing-arrow-right;
right: initial;
border: @steps-navigation-size-arrow-line-width solid @steps-navigation-color-arrow;
border-right: none;
border-top: none;
}
}
}
}
@steps-prefix-cls: ~'@{prefix}-steps';
.@{steps-prefix-cls} {
display: flex;
&-change-onclick {
.@{steps-prefix-cls}-item-title,
.@{steps-prefix-cls}-item-description {
transition: all @transition-duration-1 @transition-timing-function-linear;
}
}
&-change-onclick &-item:not(&-item-active):not(&-item-disabled) {
cursor: pointer;
&:hover {
.@{steps-prefix-cls}-item-content {
.@{steps-prefix-cls}-item-title,
.@{steps-prefix-cls}-item-description {
color: @color-primary-6;
}
}
}
}
}
// Lineless
.@{steps-prefix-cls} {
&-lineless &-item-title::after {
display: none !important;
}
}
// Direction
.@{steps-prefix-cls} {
&-vertical {
flex-direction: column;
> .@{steps-prefix-cls}-item {
&:not(:last-child) {
min-height: 90px;
}
> .@{steps-prefix-cls}-item-content {
> .@{steps-prefix-cls}-item-title::after {
display: none !important;
}
> .@{steps-prefix-cls}-item-description {
max-width: none;
}
}
}
}
}
// Label vertical
.@{steps-prefix-cls} {
&-label-vertical &-item {
&-content {
display: block;
text-align: center;
width: @steps-label-vertical-content-width;
}
&-description {
max-width: none;
}
}
}
.@{steps-prefix-cls}-rtl {
direction: rtl;
}
/********** Steps end ***************/
/********** Switch ***************/
// Global
@switch-size-default: @size-6;
@switch-size-small: @size-4;
@switch-font-size-text: @font-size-caption;
// circle and round
@switch-size-dot-default: @size-4;
@switch-size-dot-small: 12px;
// line
@switch-line-size-dot-default: @size-5;
@switch-line-size-dot-small: @size-4;
// Circle
@switch-circle-default-width: @size-10;
@switch-circle-small-width: @size-7;
// Round
@switch-round-default-width: @size-10;
@switch-round-small-width: @size-7;
// Line
@switch-line-default-width: @size-9;
@switch-line-small-width: @size-7;
@switch-line-height-bg-line: 6px;
@switch-line-color-dot-shadow: var(~'@{arco-cssvars-prefix}-color-neutral-6');
@switch-color-bg_on: @color-primary-6;
@switch-color-bg_off: var(~'@{arco-cssvars-prefix}-color-fill-4');
@switch-color-bg_on_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@switch-color-bg_off_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@switch-color-bg_on_loading: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@switch-color-bg_off_loading: var(~'@{arco-cssvars-prefix}-color-fill-2');
@switch-color-dot-bg: var(~'@{arco-cssvars-prefix}-color-bg-white');
@switch-color-text_on: var(~'@{arco-cssvars-prefix}-color-white');
@switch-color-text_off: var(~'@{arco-cssvars-prefix}-color-white');
@switch-color-text_on_disabled: var(~'@{arco-cssvars-prefix}-color-white');
@switch-color-text_off_disabled: var(~'@{arco-cssvars-prefix}-color-white');
@switch-color-text_on_loading: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@switch-color-text_off_loading: var(~'@{arco-cssvars-prefix}-color-white');
@switch-color-dot-icon_on: @color-primary-6;
@switch-color-dot-icon_off: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@switch-color-dot-icon_on_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@switch-color-dot-icon_off_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@switch-color-dot-icon_on_loading: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@switch-color-dot-icon_off_loading: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@switch-color-box-shadow_checked: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@switch-color-box-shadow_default: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));
@switch-prefix-cls: ~'@{prefix}-switch';
@switch-size-default-gap: ((@switch-size-default - @switch-size-dot-default) / 2);
@switch-size-small-gap: ((@switch-size-small - @switch-size-dot-small) / 2);
@switch-size-default-line-gap: ((@switch-size-default - @switch-line-size-dot-default) / 2);
@switch-size-small-line-gap: ((@switch-size-small - @switch-line-size-dot-small) / 2);
.switchSlideText-enter,
.switchSlideText-appear {
left: -100% !important;
}
.switchSlideText-enter-active,
.switchSlideText-appear-active {
left: 8px !important;
transition: left @transition-duration-2 @transition-timing-function-standard;
}
.switchSlideText-exit {
left: 100% !important;
}
.switchSlideText-exit-active {
left: @switch-size-dot-default + @switch-size-default-gap + 6px !important;
transition: left @transition-duration-2 @transition-timing-function-standard;
}
.@{switch-prefix-cls} {
position: relative;
outline: none;
height: @switch-size-default;
line-height: @switch-size-default;
min-width: @switch-circle-default-width;
background-color: @switch-color-bg_off;
border-radius: (@switch-size-default / 2);
border: none;
cursor: pointer;
transition: background-color @transition-duration-2 @transition-timing-function-standard;
padding: 0;
box-sizing: border-box;
vertical-align: middle;
overflow: hidden;
&-type-round,
&-type-circle {
&:focus-visible {
box-shadow: 0 0 0 2px @switch-color-box-shadow_default;
}
&.@{switch-prefix-cls}-checked:focus-visible {
box-shadow: 0 0 0 2px @switch-color-box-shadow_checked;
}
}
&-type-line {
&:focus-visible .@{switch-prefix-cls}-dot {
box-shadow: 0 0 0 2px @switch-color-box-shadow_default;
transition: none;
}
&.@{switch-prefix-cls}-checked:focus-visible .@{switch-prefix-cls}-dot {
box-shadow: 0 0 0 2px @switch-color-box-shadow_checked;
}
}
&-dot {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: @switch-size-default-gap;
left: @switch-size-default-gap;
width: @switch-size-dot-default;
height: @switch-size-dot-default;
border-radius: 50%;
background-color: @switch-color-dot-bg;
color: @switch-color-dot-icon_off;
font-size: 12px;
transition: all @transition-duration-2 @transition-timing-function-standard;
}
&-checked {
background-color: @switch-color-bg_on;
}
&-checked &-dot {
color: @switch-color-dot-icon_on;
left: calc(100% - @switch-size-dot-default - @switch-size-default-gap);
}
&[disabled] &-dot {
color: @switch-color-dot-icon_off_disabled;
}
&[disabled]&-checked &-dot {
color: @switch-color-dot-icon_on_disabled;
}
&[disabled] &-dot {
color: @switch-color-dot-icon_off_disabled;
}
&[disabled]&-checked &-dot {
color: @switch-color-dot-icon_on_disabled;
}
&-text-holder {
opacity: 0;
font-size: @switch-font-size-text;
margin: 0 8px 0 @switch-size-dot-default + @switch-size-default-gap + 6px;
}
&-text {
position: absolute;
color: @switch-color-text_off;
font-size: @switch-font-size-text;
top: 0;
left: @switch-size-dot-default + @switch-size-default-gap + 6px;
}
&-checked &-text-holder {
margin: 0 @switch-size-dot-default + @switch-size-default-gap + 6px 0 8px;
}
&-checked &-text {
left: 8px;
color: @switch-color-text_on;
}
// Disabled
&[disabled] {
cursor: not-allowed;
background-color: @switch-color-bg_off_disabled;
}
&[disabled] &-text {
color: @switch-color-text_off_disabled;
}
&[disabled]&-checked {
background-color: @switch-color-bg_on_disabled;
}
&[disabled]&-checked &-text {
color: @switch-color-text_on_disabled;
}
// Loading
&-loading {
background-color: @switch-color-bg_off_loading;
}
&-loading &-dot {
color: @switch-color-dot-icon_off_loading;
}
&-loading &-text {
color: @switch-color-text_off_loading;
}
&-loading&-checked {
background-color: @switch-color-bg_on_loading;
}
&-loading&-checked &-dot {
color: @switch-color-dot-icon_on_loading;
}
&-loading&-checked &-text {
color: @switch-color-text_on_loading;
}
&-small {
height: @switch-size-small;
line-height: @switch-size-small;
min-width: @switch-circle-small-width;
}
&-small&-checked {
padding-left: -@switch-size-small-gap;
}
&-small &-dot {
top: @switch-size-small-gap;
left: @switch-size-small-gap;
width: @switch-size-dot-small;
height: @switch-size-dot-small;
border-radius: (@switch-size-small / 2);
&-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.66667);
}
}
&-small&-checked &-dot {
left: calc(100% - @switch-size-dot-small - @switch-size-small-gap);
}
}
// Round
.@{switch-prefix-cls} {
&-type-round {
border-radius: @radius-small;
min-width: @switch-round-default-width;
}
&-type-round &-dot {
border-radius: 2px;
}
&-type-round&-small {
border-radius: 2px;
height: @switch-size-small;
line-height: @switch-size-small;
min-width: @switch-round-small-width;
}
&-type-round&-small &-dot {
border-radius: 1px;
}
}
// Line
.@{switch-prefix-cls} {
&-type-line {
min-width: @switch-line-default-width;
background-color: transparent;
overflow: unset;
&::after {
content: '';
display: block;
width: 100%;
border-radius: (@switch-line-height-bg-line / 2);
height: @switch-line-height-bg-line;
background-color: @switch-color-bg_off;
transition: background-color @transition-duration-2 @transition-timing-function-standard;
}
}
&-type-line &-dot {
top: @switch-size-default-line-gap;
left: 0;
border-radius: (@switch-line-size-dot-default / 2);
width: @switch-line-size-dot-default;
height: @switch-line-size-dot-default;
background-color: @switch-color-dot-bg;
box-shadow: 0 1px 3px @switch-line-color-dot-shadow;
}
&-type-line&-checked {
background-color: transparent;
&::after {
background-color: @switch-color-bg_on;
}
}
&-type-line&-checked &-dot {
left: calc(100% - @switch-line-size-dot-default);
}
// Disabled
&-type-line[disabled] {
cursor: not-allowed;
background-color: transparent;
&::after {
background-color: @switch-color-bg_off_disabled;
}
}
&-type-line[disabled]&-checked {
background-color: transparent;
&::after {
background-color: @switch-color-bg_on_disabled;
}
}
// Loading
&-type-line&-loading {
background-color: transparent;
&::after {
background-color: @switch-color-bg_off_loading;
}
}
&-type-line&-loading&-checked {
background-color: transparent;
&::after {
background-color: @switch-color-bg_on_loading;
}
}
&-type-line&-small {
height: @switch-size-small;
line-height: @switch-size-small;
min-width: @switch-line-small-width;
}
&-type-line&-small&-checked {
padding-left: -@switch-size-small-line-gap;
}
&-type-line&-small &-dot {
top: @switch-size-small-line-gap;
width: @switch-line-size-dot-small;
height: @switch-line-size-dot-small;
border-radius: (@switch-size-small / 2);
&-icon {
transform: translate(-50%, -50%) scale(1);
}
}
&-type-line&-small&-checked &-dot {
left: calc(100% - @switch-line-size-dot-small);
}
}
.@{switch-prefix-cls}-rtl {
direction: rtl;
.switchSlideText-enter,
.switchSlideText-appear {
right: -100% !important;
left: initial;
}
.switchSlideText-enter-active,
.switchSlideText-appear-active {
left: initial;
right: 8px !important;
transition: right @transition-duration-2 @transition-timing-function-standard;
}
.switchSlideText-exit {
right: 100% !important;
left: initial;
}
.switchSlideText-exit-active {
left: initial;
right: @switch-size-dot-default + @switch-size-default-gap + 6px !important;
transition: right @transition-duration-2 @transition-timing-function-standard;
}
.@{switch-prefix-cls} {
&-dot {
left: initial;
right: @switch-size-default-gap;
}
&-text-holder {
margin: 0 @switch-size-dot-default + @switch-size-default-gap + 6px 0 8px;
}
&-text {
left: initial;
right: @switch-size-dot-default + @switch-size-default-gap + 6px;
}
}
&.@{switch-prefix-cls}-small .@{switch-prefix-cls}-dot {
right: @switch-size-small-gap;
}
&.@{switch-prefix-cls}-type-line .@{switch-prefix-cls}-dot {
right: 0;
}
&.@{switch-prefix-cls}-checked {
.@{switch-prefix-cls}-dot {
right: calc(100% - @switch-size-dot-default - @switch-size-default-gap);
}
.@{switch-prefix-cls}-text-holder {
margin: 0 8px 0 @switch-size-dot-default + @switch-size-default-gap + 6px;
}
.@{switch-prefix-cls}-text {
right: 8px;
left: initial;
}
&.@{switch-prefix-cls}-small {
padding-right: -@switch-size-small-gap;
padding-left: 0;
&.@{switch-prefix-cls}-type-line {
padding-right: -@switch-size-small-line-gap;
padding-left: 0;
}
}
&.@{switch-prefix-cls}-small .@{switch-prefix-cls}-dot {
left: initial;
right: calc(100% - @switch-size-dot-small - @switch-size-small-gap);
}
}
}
/********** Switch end ***************/
/********** Table ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@table-prefix-cls: ~'@{prefix}-table';
.@{table-prefix-cls} {
&-filters-popup {
min-width: @table-popup-min-width;
background: @table-color-bg-filters-popup;
box-shadow: @shadow1-down;
border: 1px solid @table-color-border-filters-popup;
border-radius: @table-popup-border-radius;
box-sizing: border-box;
}
&-filters-list {
max-height: @table-popup-max-height;
overflow-y: auto;
padding: 4px 0;
}
&-filters-item {
width: 100%;
height: 32px;
line-height: 32px;
font-size: 14px;
overflow: hidden;
.@{prefix}-checkbox,
.@{prefix}-radio {
width: 100%;
padding: 0 12px;
white-space: nowrap;
}
}
&-filters-btn {
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1px solid @table-color-border;
padding: 0 12px;
height: 38px;
line-height: 38px;
box-sizing: border-box;
overflow: hidden;
}
}
@table-size-default-padding-horizontal: @spacing-7;
@table-size-default-padding-vertical: 9px;
@table-size-middle-padding-horizontal: @spacing-7;
@table-size-middle-padding-vertical: 7px;
@table-size-small-padding-horizontal: @spacing-7;
@table-size-small-padding-vertical: 5px;
@table-size-mini-padding-horizontal: @spacing-7;
@table-size-mini-padding-vertical: 2px;
@table-size-default-font-size: @font-size-body-3;
@table-size-middle-font-size: @font-size-body-3;
@table-size-small-font-size: @font-size-body-3;
@table-size-mini-font-size: @font-size-body-1;
@table-size-default-font-header-size: @font-size-body-3;
@table-size-middle-font-header-size: @font-size-body-3;
@table-size-small-font-header-size: @font-size-body-3;
@table-size-mini-font-header-size: @font-size-body-1;
@table-border-width: @border-1;
@table-border-style: solid;
@table-size-expand-button: 14px;
@table-spacing-expand-button-margin-right: @spacing-2;
@table-font-size-expand-button: 12px;
@table-border-radius-expand-button: 2px;
@table-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@table-border-radius: @radius-medium;
@table-color-text-header-cell: rgb(var(~'@{arco-cssvars-prefix}-gray-10'));
@table-color-bg-header-cell: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@table-color-bg-header-sorted-cell: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@table-color-bg-header-sorted-cell_hover: rgba(var(~'@{arco-cssvars-prefix}-gray-4'), 0.5);
@table-color-header-filters-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@table-color-header-filters-icon_active: @color-primary-6;
@table-color-bg-header-filters-icon_hover: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@table-font-size-filters-icon: 16px;
@table-size-filters-width: 24px;
@table-font-weight-header-text: @font-weight-500;
@table-color-text-body-cell: rgb(var(~'@{arco-cssvars-prefix}-gray-10'));
@table-color-bg-body-cell: var(~'@{arco-cssvars-prefix}-color-bg-2');
@table-color-bg-body-sorted-cell: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-color-bg-body-stripe-row: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-color-bg-body-stripe-row_dark: var(~'@{arco-cssvars-prefix}-color-bg-3');
@table-color-bg-body-row_hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-color-bg-body-row_active: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-color-expand-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@table-color-expand-icon-border: @color-transparent;
@table-color-expand-icon-border_hover: @color-transparent;
@table-color-expand-icon_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@table-color-bg-expand-icon: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@table-color-bg-expand-icon_hover: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@table-color-bg-expand-content: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-color-bg-expand-content_hover: var(~'@{arco-cssvars-prefix}-color-fill-1');
@table-border-expand-icon-width: @border-1;
@table-spacing-header-sorter-icon-margin-left: @spacing-4;
@table-color-header-sorter-icon: var(~'@{arco-cssvars-prefix}-color-neutral-5');
@table-color-header-sorter-icon_next: var(~'@{arco-cssvars-prefix}-color-neutral-6');
@table-color-header-sorter-icon_active: @color-primary-6;
@table-spacing-header-sorter-icon-margin-left: @spacing-4;
@table-size-header-sorter-icon-height: 8px;
@table-font-size-header-sorter-icon: 12px;
@table-position-header-sorter-icon-up-top: -2px;
@table-position-header-sorter-icon-down-top: -3px;
// Popup
@table-color-bg-filters-popup: var(~'@{arco-cssvars-prefix}-color-bg-5');
@table-color-border-filters-popup: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@table-popup-min-width: 100px;
@table-popup-max-height: 200px;
@table-popup-border-radius: @radius-medium;
// box shadow
@table-shadow-left: inset 6px 0 8px -3px rgba(0, 0, 0, 0.15);
@table-shadow-right: inset -6px 0 8px -3px rgba(0, 0, 0, 0.15);
@table-size-shadow-wrapper-width: 10px;
// editable row
@table-color-editable-body-cell-border: var(~'@{arco-cssvars-prefix}-color-white');
// pagination
@table-spacing-pagination-margin: @spacing-6;
// selection
@table-size-selection-col-width: 40px;
@table-size-expand-icon-col-width: 40px;
@table-color-body-background: var(~'@{arco-cssvars-prefix}-color-bg-2');
@table-color-bg-tfoot: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@table-prefix-cls: ~'@{prefix}-table';
@table-cls-tr: ~'@{table-prefix-cls}-tr';
@table-cls-th: ~'@{table-prefix-cls}-th';
@table-cls-td: ~'@{table-prefix-cls}-td';
.expandBtn() {
width: @table-size-expand-button;
height: @table-size-expand-button;
line-height: @table-size-expand-button;
border-radius: @table-border-radius-expand-button;
display: inline-flex;
justify-content: center;
align-items: center;
background-color: @table-color-bg-expand-icon;
color: @table-color-expand-icon;
font-size: @table-font-size-expand-button;
outline: none;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
padding: 0;
cursor: pointer;
border: @table-border-expand-icon-width solid @table-color-expand-icon-border;
box-sizing: border-box;
&:hover {
background-color: @table-color-bg-expand-icon_hover;
color: @table-color-expand-icon_hover;
border-color: @table-color-expand-icon-border_hover;
}
}
.table-size(@size) {
.@{table-prefix-cls}-th-item {
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
}
// https://github.com/arco-design/arco-design/issues/132
.@{table-prefix-cls}-th-item.@{table-prefix-cls}-col-has-filter {
padding-right: 28px;
}
.@{table-prefix-cls}-col-has-sorter.@{table-prefix-cls}-col-has-filter {
padding-right: 0;
}
.@{table-prefix-cls}-col-has-sorter.@{table-prefix-cls}-col-has-filter
.@{table-prefix-cls}-cell-with-sorter {
padding-right: 28px;
}
.@{table-prefix-cls}-col-has-sorter {
padding: 0;
}
.@{table-prefix-cls}-col-has-sorter .@{table-prefix-cls}-cell-with-sorter {
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
cursor: pointer;
}
// rtl
.@{table-prefix-cls}-rtl .@{table-prefix-cls}-th-item.@{table-prefix-cls}-col-has-filter {
padding-left: 28px;
padding-right: ~'@{table-size-@{size}-padding-horizontal}';
}
.@{table-prefix-cls}-rtl .@{table-prefix-cls}-col-has-sorter.@{table-prefix-cls}-col-has-filter {
padding-left: 0;
padding-right: 0;
}
.@{table-prefix-cls}-rtl
.@{table-prefix-cls}-col-has-sorter.@{table-prefix-cls}-col-has-filter
.@{table-prefix-cls}-cell-with-sorter {
padding-right: 0;
padding-right: ~'@{table-size-@{size}-padding-horizontal}';
}
// rtl end
.@{table-cls-td} {
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
font-size: ~'@{table-size-@{size}-font-size}';
}
.@{table-cls-th} {
font-size: ~'@{table-size-@{size}-font-header-size}';
}
.@{table-prefix-cls}-footer {
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
}
// expand row in fixed
.@{table-prefix-cls}-expand-fixed-row {
margin: ~'-@{table-size-@{size}-padding-vertical}' ~'calc(-@{table-size-@{size}-padding-horizontal} - @{table-border-width})';
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
}
// sub table
.@{table-prefix-cls}-expand-content .@{table-cls-td} .@{table-prefix-cls} {
margin: ~'-@{table-size-@{size}-padding-vertical}' ~'-@{table-size-@{size}-padding-horizontal}'
~'calc(-@{table-size-@{size}-padding-vertical} - @{table-border-width})' ~'-@{table-size-@{size}-padding-horizontal}';
}
// editor row
.@{table-prefix-cls}-editable-row {
.@{table-prefix-cls}-cell-wrap-value {
padding: ~'@{table-size-@{size}-padding-vertical}' ~'@{table-size-@{size}-padding-horizontal}';
}
}
}
// Size
.table-size(default);
.@{table-prefix-cls}-size-middle {
.table-size(middle);
}
.@{table-prefix-cls}-size-small {
.table-size(small);
}
.@{table-prefix-cls}-size-mini {
.table-size(mini);
}
.@{table-prefix-cls} {
position: relative;
// spin
.@{prefix}-spin {
display: block;
}
> .@{prefix}-spin > .@{prefix}-spin-children::after {
z-index: 2;
}
// footer
&-footer {
border-radius: 0 0 @table-border-radius @table-border-radius;
}
// box-shadow of the fixed column on the left
&-scroll-position-right &-col-fixed-left-last::after,
&-scroll-position-middle &-col-fixed-left-last::after {
box-shadow: @table-shadow-left;
}
// box-shadow of the fixed column on the right
&-scroll-position-left &-col-fixed-right-first::after,
&-scroll-position-middle &-col-fixed-right-first::after {
box-shadow: @table-shadow-right;
}
// box-shadow on the left side of the scroll table
&:not(&-has-fixed-col-left) {
&.@{table-prefix-cls}-scroll-position-right,
&.@{table-prefix-cls}-scroll-position-middle {
.@{table-prefix-cls}-content-scroll::before {
box-shadow: @table-shadow-left;
}
}
}
// box-shadow on the right side of the scroll table
&:not(&-has-fixed-col-right) {
&.@{table-prefix-cls}-scroll-position-left,
&.@{table-prefix-cls}-scroll-position-middle {
.@{table-prefix-cls}-content-scroll::after {
box-shadow: @table-shadow-right;
}
}
}
&-layout-fixed {
.@{table-prefix-cls}-content-inner {
overflow-x: auto;
overflow-y: hidden;
}
table {
table-layout: fixed;
}
}
thead > &-tr > &-th {
border-bottom: @table-border-width @table-border-style @table-color-border;
}
thead > &-tr:not(:last-child) > &-th[colspan] {
border-bottom: 0;
}
table {
min-width: 100%;
width: 100%;
margin: 0;
border-spacing: 0;
border-collapse: separate;
thead tr:first-child {
th:first-child {
border-radius: @table-border-radius 0 0 0;
}
th:last-child {
border-radius: 0 @table-border-radius 0 0;
}
}
}
&-th {
box-sizing: border-box;
text-align: left;
color: @table-color-text-header-cell;
background-color: @table-color-bg-header-cell;
line-height: @line-height-base;
font-weight: @table-font-weight-header-text;
&[colspan] {
text-align: center;
}
}
&-td {
box-sizing: border-box;
text-align: left;
color: @table-color-text-body-cell;
background-color: @table-color-bg-body-cell;
border-bottom: @table-border-width @table-border-style @table-color-border;
line-height: @line-height-base;
}
&-th&-col-sorted {
background-color: @table-color-bg-header-sorted-cell;
}
&-td&-col-sorted {
background-color: @table-color-bg-body-sorted-cell;
}
&-col-fixed-left,
&-col-fixed-right {
position: sticky;
z-index: 1;
}
&-col-fixed-left-last::after,
&-col-fixed-right-first::after {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: -@table-border-width;
width: @table-size-shadow-wrapper-width;
pointer-events: none;
transform: translateX(-100%);
transition: box-shadow @transition-duration-1 @transition-timing-function-linear;
box-shadow: none;
}
&-col-fixed-left-last::after {
left: unset;
transform: translateX(100%);
right: 0;
}
&-cell-text-ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&-cell-text-ellipsis &-cell-with-sorter {
display: flex;
align-items: center;
}
&-cell-text-ellipsis &-th-item-title {
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
// useless
&-editable-row {
.@{table-prefix-cls}-cell-wrap-value {
border: @table-border-width solid @table-color-editable-body-cell-border;
border-radius: @table-border-radius;
transition: all @transition-duration-1 @transition-timing-function-linear;
cursor: pointer;
}
&:hover {
.@{table-prefix-cls}-cell-wrap-value {
border: @table-border-width solid @table-color-border;
}
}
}
&-cell {
word-break: break-all;
width: 100%;
&:has(> &-indent)::after {
content: '';
display: block;
clear: both;
}
&-indent {
height: 1px;
float: left;
+ .@{table-prefix-cls}-cell-wrap-value {
float: left;
}
}
}
// Expand
&-expand-icon-cell {
button {
.expandBtn();
}
}
// make sure expanded-icon is horizontal-center while using div as td
div&-expand-icon-cell {
justify-content: center;
}
&-cell-expand-icon {
// https://github.com/arco-design/arco-design/issues/298
float: left;
button {
.expandBtn();
margin-right: @table-spacing-expand-button-margin-right;
}
}
&-cell-expand-icon-hidden {
display: inline-block;
width: @table-size-expand-button;
height: @table-size-expand-button;
margin-right: @table-spacing-expand-button-margin-right;
}
&-expand-content .@{table-cls-td} {
background-color: @table-color-bg-expand-content;
}
&-expand-fixed-row {
position: sticky;
left: 0;
box-sizing: border-box;
}
&-expand-content .@{table-cls-td} & {
.@{table-prefix-cls}-container {
border: none;
}
.@{table-cls-th} {
border-bottom: @table-border-width @table-border-style @table-color-border;
}
.@{table-cls-th},
.@{table-cls-td} {
background-color: @table-color-bg-expand-content;
}
.@{table-prefix-cls}-pagination {
margin-bottom: @table-spacing-pagination-margin;
}
}
// Selection
// & &-th&-operation &-th-item,
// & &-td&-operation {
// padding-left: @table-spacing-selection-padding-horizontal;
// padding-right: @table-spacing-selection-padding-horizontal;
// }
&-th&-operation &-th-item,
&-td&-operation {
text-align: center;
padding: 0;
}
&-radio,
&-checkbox {
justify-content: center;
}
&-checkbox .@{prefix}-checkbox,
&-radio .@{prefix}-radio {
padding-left: 0;
}
// colgroup selection
&-selection-col {
width: @table-size-selection-col-width;
}
&-expand-icon-col {
width: @table-size-expand-icon-col-width;
}
&-radio &-th-item,
&-checkbox &-th-item,
div&-selection-col &-th-item,
div&-expand-icon-col &-th-item {
padding: 0;
}
&-th-item {
position: relative;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
}
&-cell-mouseenter {
background-color: @table-color-bg-header-sorted-cell_hover;
}
&-cell-next-ascend &-sorter-icon {
.@{prefix}-icon-caret-up {
color: @table-color-header-sorter-icon_next;
}
}
&-cell-next-descend &-sorter-icon {
.@{prefix}-icon-caret-down {
color: @table-color-header-sorter-icon_next;
}
}
&-sorter {
display: inline-block;
margin-left: @table-spacing-header-sorter-icon-margin-left;
vertical-align: -3px;
}
&-sorter&-sorter-direction-one {
vertical-align: 0;
}
&-sorter-icon {
position: relative;
height: @table-size-header-sorter-icon-height;
line-height: @table-size-header-sorter-icon-height;
width: @table-font-size-header-sorter-icon;
overflow: hidden;
.@{prefix}-icon-caret-up,
.@{prefix}-icon-caret-down {
position: absolute;
top: 50%;
font-size: @table-font-size-header-sorter-icon;
color: @table-color-header-sorter-icon;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
.@{prefix}-icon-caret-up {
top: @table-position-header-sorter-icon-up-top;
left: 0;
}
.@{prefix}-icon-caret-down {
top: @table-position-header-sorter-icon-down-top;
left: 0;
}
&&-active {
svg {
color: @table-color-header-sorter-icon_active;
}
}
}
&-filters {
position: absolute;
display: flex;
justify-content: center;
align-items: center;
top: 0;
right: 0;
width: @table-size-filters-width;
height: 100%;
background-color: transparent;
line-height: 1;
vertical-align: 0;
cursor: pointer;
transition: all @transition-duration-1 @transition-timing-function-linear;
&:hover,
&-open {
background-color: @table-color-bg-header-filters-icon_hover;
}
svg {
color: @table-color-header-filters-icon;
font-size: @table-font-size-filters-icon;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-active {
svg {
color: @table-color-header-filters-icon_active;
}
}
}
/* ---- Table sorter, filter, checkbox, radio (End) ---- */
&-container {
position: relative;
border-radius: @table-border-radius @table-border-radius 0 0;
}
&-header {
border-radius: @table-border-radius @table-border-radius 0 0;
}
&-content-scroll {
width: 100%;
overflow: hidden;
// chrome not fluent: https://codepen.io/quanqqq/pen/BaLpEQd?editors=0010
// border-radius: @table-border-radius @table-border-radius 0 0 0;
.@{table-prefix-cls}-content-inner {
width: auto;
}
&::before,
&::after {
content: '';
position: absolute;
top: -@table-border-width;
bottom: -@table-border-width;
height: 100%;
width: @table-size-shadow-wrapper-width;
transition: box-shadow @transition-duration-1 @transition-timing-function-linear;
box-shadow: none;
pointer-events: none;
z-index: 1;
}
&::before {
border-top-left-radius: @table-border-radius;
left: 0;
}
&::after {
border-top-right-radius: @table-border-radius;
right: 0;
}
}
&-header {
scrollbar-color: inherit;
background-color: @table-color-bg-header-cell;
&::-webkit-scrollbar {
background-color: transparent;
}
overflow-x: scroll;
overflow-y: hidden;
}
&-body {
position: relative;
overflow: auto;
background-color: @table-color-body-background;
z-index: 1;
}
&-no-data {
padding: 20px;
line-height: 40px;
box-sizing: border-box;
font-size: 14px;
text-align: center;
}
&-border&-fixed-column &-empty-row &-td:first-child {
border-bottom: 0;
border-left: 0;
}
&-border {
.@{table-prefix-cls}-container {
border-right: @table-border-width @table-border-style @table-color-border;
border-top: @table-border-width @table-border-style @table-color-border;
&::before {
content: '';
position: absolute;
background-color: @table-color-border;
width: 100%;
height: @table-border-width;
left: 0;
bottom: 0;
z-index: 2;
}
}
.@{table-cls-th}:first-child,
.@{table-cls-td}:first-child {
border-left: @table-border-width @table-border-style @table-color-border;
}
.@{table-prefix-cls}-expand-fixed-row {
border-left: @table-border-width @table-border-style @table-color-border;
}
.@{table-prefix-cls}-footer {
border: @table-border-width @table-border-style @table-color-border;
border-top: 0;
}
}
&-border-cell {
.@{table-cls-th},
.@{table-cls-td} {
border-left: @table-border-width @table-border-style @table-color-border;
}
thead > .@{table-cls-tr}:not(:last-child) > .@{table-cls-th}[colspan] {
border-bottom: @table-border-width @table-border-style @table-color-border;
}
}
&-border-header-cell {
.@{table-cls-th} {
border-left: @table-border-width @table-border-style @table-color-border;
}
thead > .@{table-cls-tr}:not(:last-child) > .@{table-cls-th}[colspan] {
border-bottom: @table-border-width @table-border-style @table-color-border;
}
}
&-border-body-cell {
.@{table-cls-td} {
border-left: @table-border-width @table-border-style @table-color-border;
}
}
&-border-cell:not(&-border) {
.@{table-cls-th}:first-child,
.@{table-cls-td}:first-child {
border-left: 0;
}
}
// stripe: true
&-stripe {
.@{table-cls-tr}:nth-child(even) .@{table-cls-td} {
background-color: @table-color-bg-body-stripe-row;
}
}
&-hover {
.@{table-cls-tr}:not(.@{table-prefix-cls}-empty-row):hover {
.@{table-cls-td}:not(.@{table-prefix-cls}-col-fixed-left):not(.@{table-prefix-cls}-col-fixed-right) {
background-color: @table-color-bg-body-row_hover;
}
.@{table-cls-td}.@{table-prefix-cls}-col-fixed-left,
.@{table-cls-td}.@{table-prefix-cls}-col-fixed-right {
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: @table-color-bg-body-row_hover;
z-index: -1;
}
}
}
// 展开行的hover效果
.@{table-prefix-cls}-expand-content:not(.@{table-prefix-cls}-empty-row):hover
.@{table-cls-td}:not(.@{table-prefix-cls}-col-fixed-left):not(.@{table-prefix-cls}-col-fixed-right) {
background-color: @table-color-bg-expand-content_hover;
}
// 去除嵌套子表格的 hover 效果
.@{table-prefix-cls}-expand-content .@{table-cls-td} & {
.@{table-cls-tr}:not(.@{table-prefix-cls}-empty-row) {
.@{table-cls-td}:not(.@{table-prefix-cls}-col-fixed-left):not(.@{table-prefix-cls}-col-fixed-right) {
background-color: transparent;
}
.@{table-cls-td}.@{table-prefix-cls}-col-fixed-left,
.@{table-cls-td}.@{table-prefix-cls}-col-fixed-right {
&::before {
background-color: transparent;
}
}
}
}
}
// Active row
&-type-radio &-row-checked.@{table-cls-tr} .@{table-cls-td} {
background-color: @table-color-bg-body-row_active;
}
// virtualized
&-virtualized table {
table-layout: fixed;
}
&-virtualized div&-body div&-tr {
display: flex;
}
&-virtualized div&-body div&-td {
display: flex;
align-items: center;
flex: 1;
}
// https://github.com/arco-design/arco-design/issues/695
&-virtualized &-selection-col {
max-width: @table-size-selection-col-width;
}
&-virtualized &-expand-icon-col {
max-width: @table-size-expand-icon-col-width;
}
// summary
div&-tfoot {
width: 100%;
overflow-x: scroll;
background-color: @table-color-bg-tfoot;
scrollbar-color: inherit;
position: relative;
z-index: 1;
box-shadow: 0 -@table-border-width 0 @table-color-border;
&::-webkit-scrollbar {
background-color: transparent;
}
}
&-tfoot &-td {
background-color: @table-color-bg-tfoot;
}
}
.@{table-prefix-cls}-pagination {
display: flex;
justify-content: flex-end;
&-left {
justify-content: flex-start;
}
&-center {
justify-content: center;
}
&-top {
margin-bottom: @table-spacing-pagination-margin;
margin-top: 0;
}
.@{prefix}-pagination {
margin-top: @table-spacing-pagination-margin;
}
}
// RTL
.@{table-prefix-cls} {
&-rtl {
direction: rtl;
}
&-rtl&-border {
.@{table-cls-th}:first-child,
.@{table-cls-td}:first-child {
border-left: 0;
border-right: @table-border-width @table-border-style @table-color-border;
}
}
&-rtl&-border-cell {
.@{table-cls-th},
.@{table-cls-td} {
border-left: @table-border-width @table-border-style @table-color-border;
}
}
&-rtl table {
thead tr:first-child {
th:first-child {
border-radius: 0 @table-border-radius 0 0;
}
th:last-child {
border-radius: @table-border-radius 0 0 0;
}
}
}
&-rtl &-th,
&-rtl &-td {
text-align: right;
}
&-rtl &-th&-operation &-th-item,
&-rtl &-td&-operation {
text-align: center;
}
&-rtl&-border &-container {
border-left: @table-border-width @table-border-style @table-color-border;
border-right: 0;
}
&-rtl&-border-cell {
.@{table-cls-th},
.@{table-cls-td} {
border-left: 0;
border-right: @table-border-width @table-border-style @table-color-border;
}
}
&-rtl&-border-header-cell {
.@{table-cls-th} {
border-left: 0;
border-right: @table-border-width @table-border-style @table-color-border;
}
}
&-rtl&-border-body-cell {
.@{table-cls-td} {
border-left: 0;
border-right: @table-border-width @table-border-style @table-color-border;
}
}
&-rtl&-border-cell:not(&-border) {
.@{table-cls-th}:first-child,
.@{table-cls-td}:first-child {
border-right: 0;
}
}
&-rtl &-cell-indent {
float: right;
}
&-rtl &-cell-expand-icon {
float: right;
button {
margin-left: @table-spacing-expand-button-margin-right;
margin-right: 0;
}
}
&-rtl &-cell-expand-icon-hidden {
margin-left: @table-spacing-expand-button-margin-right;
margin-right: 0;
}
&-rtl &-filters {
left: 0;
right: unset;
}
&-rtl &-sorter {
margin-left: 0;
margin-right: @table-spacing-header-sorter-icon-margin-left;
}
&-rtl &-col-fixed-left-last::after,
&-rtl &-col-fixed-right-first::after {
left: unset;
right: -20px;
}
&-rtl &-col-fixed-left-last::after {
left: -20px;
right: unset;
}
&-rtl&-scroll-position-right &-col-fixed-left-last::after {
box-shadow: none;
}
&-rtl&-scroll-position-right &-col-fixed-right-first::after,
&-rtl&-scroll-position-middle &-col-fixed-right-first::after {
box-shadow: @table-shadow-left;
}
&-rtl&-scroll-position-left &-col-fixed-right-first::after {
box-shadow: none;
}
&-rtl&-scroll-position-left &-col-fixed-left-last::after,
&-rtl&-scroll-position-middle &-col-fixed-left-last::after {
box-shadow: @table-shadow-right;
}
&-rtl&:not(&-has-fixed-col-left) {
&.@{table-prefix-cls}-scroll-position-right,
&.@{table-prefix-cls}-scroll-position-middle {
.@{table-prefix-cls}-content-scroll::before {
box-shadow: none;
}
.@{table-prefix-cls}-content-scroll::after {
box-shadow: @table-shadow-right;
}
}
}
&-rtl&:not(&-has-fixed-col-right) {
&.@{table-prefix-cls}-scroll-position-left,
&.@{table-prefix-cls}-scroll-position-middle {
.@{table-prefix-cls}-content-scroll::before {
box-shadow: @table-shadow-left;
}
.@{table-prefix-cls}-content-scroll::after {
box-shadow: none;
}
}
}
@{arco-theme-tag}[arco-theme='dark'] &-stripe {
.@{table-cls-tr}:nth-child(even) .@{table-cls-td} {
background-color: @table-color-bg-body-stripe-row_dark;
}
// .@{table-cls-tr}:not(.@{table-prefix-cls}-empty-row):hover .@{table-cls-td}:not(.@{table-prefix-cls}-col-fixed-left):not(.@{table-prefix-cls}-col-fixed-right) {
// background-color: @table-color-bg-body-stripe-row_dark;
// }
}
}
/********** Table end ***************/
/********** Tabs ***************/
@tabs-size-mini-font-size: @font-size-body-1;
@tabs-size-small-font-size: @font-size-body-3;
@tabs-size-default-font-size: @font-size-body-3;
@tabs-size-large-font-size: @font-size-body-3;
@tabs-size-mini-font-size_card: @font-size-body-1;
@tabs-size-small-font-size_card: @font-size-body-3;
@tabs-size-default-font-size_card: @font-size-body-3;
@tabs-size-large-font-size_card: @font-size-body-3;
@tabs-size-default-font-size_text: @font-size-body-3;
@tabs-size-mini-font-size_rounded: @font-size-body-1;
@tabs-size-small-font-size_rounded: @font-size-body-3;
@tabs-size-default-font-size_rounded: @font-size-body-3;
@tabs-size-large-font-size_rounded: @font-size-body-3;
@tabs-size-mini-font-size_capsule: @font-size-body-1;
@tabs-size-small-font-size_capsule: @font-size-body-3;
@tabs-size-default-font-size_capsule: @font-size-body-3;
@tabs-size-large-font-size_capsule: @font-size-body-3;
@tabs-size-mini-header-height_line: @size-8;
@tabs-size-small-header-height_line: @size-9;
@tabs-size-default-header-height_line: @size-10;
@tabs-size-large-header-height_line: @size-11;
@tabs-size-mini-header-height: @size-6;
@tabs-size-small-header-height: @size-7;
@tabs-size-default-header-height: @size-8;
@tabs-size-large-header-height: @size-9;
@tabs-size-mini-header-height_capsule: @size-6;
@tabs-size-small-header-height_capsule: @size-7;
@tabs-size-default-header-height_capsule: @size-8;
@tabs-size-large-header-height_capsule: @size-9;
@tabs-size-default-header-height_text: @size-8;
@tabs-size-mini-header-height_rounded: @size-6;
@tabs-size-small-header-height_rounded: @size-7;
@tabs-size-default-header-height_rounded: @size-8;
@tabs-size-large-header-height_rounded: @size-9;
@tabs-padding-title-text-vertical: 1px;
@tabs-padding-title-text-horizontal: @spacing-4;
@tabs-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@tabs-color-title-text_active: @color-primary-6;
@tabs-color-title-text_hover: @tabs-color-title-text;
@tabs-color-title-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@tabs-color-title-text_disabled_active: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@tabs-line-size-header-border: @border-1;
@tabs-line-color-header-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@tabs-line-size-ink-stroke: 2px;
@tabs-line-color-ink-bg: @color-primary-6;
@tabs-line-color-ink-bg_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@tabs-line-font-title-text-weight_active: @font-weight-500;
@tabs-line-margin-title-horizontal: @spacing-10;
@tabs-line-margin-title-horizontal_first: @spacing-7;
@tabs-line-margin-title-vertical: @spacing-6;
@tabs-line-padding-title-horizontal_vertical: @spacing-8;
@tabs-line-color-title-bg: @color-transparent;
@tabs-line-color-title-bg_active: @color-transparent;
@tabs-line-color-title-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tabs-line-font-title-text-weight_hover: @font-weight-400;
@tabs-line-border-radius: @radius-small;
@tabs-card-border-width: @border-1;
@tabs-card-color-title-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@tabs-card-padding-title-horizontal: @spacing-7;
@tabs-card-padding-title-right_editable: @spacing-6;
@tabs-card-border-radius: @radius-small;
@tabs-card-color-title-bg: @color-transparent;
@tabs-card-color-title-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@tabs-card-color-title-bg_disabled: @tabs-card-color-title-bg;
@tabs-card-color-title-bg_active: @color-transparent;
@tabs-card-border-content-width: @border-1;
@tabs-card-gutter-spacing-horizontal: @spacing-2;
@tabs-card-gutter-color-title-bg: var(~'@{arco-cssvars-prefix}-color-fill-1');
@tabs-card-gutter-color-title-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@tabs-card-gutter-color-title-bg_active: @color-transparent;
@tabs-card-gutter-color-title-bg_disabled: @tabs-card-gutter-color-title-bg;
@tabs-text-size-separator-height: @size-3;
@tabs-text-size-separator-width: 2px;
@tabs-text-color-separator-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@tabs-text-margin-title-horizontal: @spacing-4;
@tabs-text-color-title-bg: @color-transparent;
@tabs-text-color-title-bg_active: @color-transparent;
@tabs-text-color-title-bg_disabled: @color-transparent;
@tabs-text-color-title-bg_disabled_active: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@tabs-text-color-title-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tabs-rounded-padding-title-horizontal: @spacing-7;
@tabs-rounded-margin-title-horizontal: @spacing-6;
@tabs-rounded-color-title-bg: @color-transparent;
@tabs-rounded-color-title-bg_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tabs-rounded-color-title-bg_disabled: @color-transparent;
@tabs-rounded-color-title-bg_hover: @tabs-rounded-color-title-bg_active;
@tabs-capsule-color-header-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tabs-capsule-margin-title-horizontal: 3px;
@tabs-capsule-padding-title-horizontal: @spacing-6;
@tabs-capsule-padding-header-vertical: 3px;
@tabs-capsule-padding-header-horizontal: 3px;
@tabs-capsule-border-header-radius: @radius-small;
@tabs-capsule-border-title-radius: @radius-small;
@tabs-capsule-color-title-bg: @color-transparent;
@tabs-capsule-color-title-bg_active: var(~'@{arco-cssvars-prefix}-color-bg-2');
@tabs-capsule-color-title-bg_hover: @tabs-capsule-color-title-bg_active;
@tabs-capsule-size-separator-width: 1px;
@tabs-capsule-size-separator-height: 14px;
@tabs-capsule-color-separator-bg: var(~'@{arco-cssvars-prefix}-color-fill-3');
@tabs-margin-close-icon-left: @spacing-4;
@tabs-size-icon: @size-3;
@tabs-size-icon-bg: @size-4;
@tabs-card-color-close-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
@tabs-margin-add-icon-left: @spacing-4;
@tabs-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@tabs-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@tabs-spacing-nav-icon-header: @spacing-3;
@tabs-padding-header-wrapper-horizontal: @spacing-5;
@tabs-padding-header-wrapper-vertical: @spacing-3;
@tabs-content-padding: @spacing-7;
// focus shadow
@tabs-box-shadow-radius: 2px;
@tabs-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@tabs-prefix-cls: ~'@{prefix}-tabs';
.get-title-padding(@header-height, @font-size, @padding-vertical ) {
@result: max(
0,
round((@header-height / 2) - @line-height-base * (@font-size / 2) - @padding-vertical)
);
}
.tabs-focus-visible-style() {
box-shadow: inset 0 0 0 @tabs-box-shadow-radius @tabs-color-box-shadow;
}
.tabs-icon-focus-visible-style() {
box-shadow: 0 0 0 @tabs-box-shadow-radius @tabs-color-box-shadow;
}
// tabs icon style
.icon-hover(@tabs-prefix-cls, @tabs-size-icon, @tabs-size-icon-bg);
.@{tabs-prefix-cls} {
& &-icon-hover {
font-size: @tabs-size-icon;
color: @tabs-color-icon;
user-select: none;
}
&-dropdown-icon {
font-size: @tabs-size-icon;
margin-left: @tabs-spacing-nav-icon-header;
user-select: none;
}
&-close-icon {
margin-left: @tabs-margin-close-icon-left;
user-select: none;
&:focus-visible .@{prefix}-icon-hover::before {
.tabs-icon-focus-visible-style();
}
}
&-add-icon {
font-size: @tabs-size-icon;
display: inline-flex;
align-items: center;
user-select: none;
justify-content: center;
padding: 0 @tabs-margin-add-icon-left;
&:focus-visible .@{prefix}-icon-hover::before {
.tabs-icon-focus-visible-style();
}
}
&-add {
position: relative;
}
&-left-icon {
margin-left: @tabs-padding-header-wrapper-horizontal;
margin-right: @tabs-spacing-nav-icon-header;
}
&-right-icon {
margin-right: @tabs-padding-header-wrapper-horizontal;
margin-left: @tabs-spacing-nav-icon-header;
}
&-up-icon {
margin-bottom: @tabs-padding-header-wrapper-horizontal;
}
&-down-icon {
margin-top: @tabs-padding-header-wrapper-horizontal;
}
& &-nav-icon-disabled {
cursor: not-allowed;
color: @tabs-color-icon_disabled;
}
}
.@{tabs-prefix-cls} {
position: relative;
overflow: hidden;
&-header-nav {
position: relative;
&::before {
content: '';
clear: both;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: @tabs-line-size-header-border;
background-color: @tabs-line-color-header-border;
display: block;
}
&-bottom {
&::before {
top: 0;
}
.@{tabs-prefix-cls}-header {
&-ink {
top: 0;
.@{tabs-prefix-cls}-header-ink-inner {
bottom: unset;
top: 0;
}
}
}
}
}
&-header-wrapper {
display: flex;
overflow: hidden;
flex: 1;
}
&-header {
position: relative;
display: inline-block;
transition: transform @transition-duration-2 @transition-timing-function-standard;
white-space: nowrap;
&-extra {
width: auto;
display: flex;
align-items: center;
line-height: @tabs-size-default-header-height;
flex-shrink: 0;
.@{tabs-prefix-cls}-add-icon {
padding-left: 0;
}
}
&-title {
box-sizing: border-box;
font-size: @tabs-size-default-font-size;
cursor: pointer;
color: @tabs-color-title-text;
transition: color @transition-duration-2 @transition-timing-function-linear;
display: inline-flex;
align-items: center;
line-height: 1.5715;
padding: .get-title-padding(
@tabs-size-default-header-height,
@tabs-size-default-font-size,
@tabs-padding-title-text-vertical
)
[] 0;
&-text {
display: inline-block;
}
&:hover {
color: @tabs-color-title-text_hover;
font-weight: @tabs-line-font-title-text-weight_hover;
}
&-disabled,
&-disabled:hover {
color: @tabs-color-title-text_disabled;
cursor: not-allowed;
}
&-active,
&-active:hover {
color: @tabs-color-title-text_active;
font-weight: @tabs-line-font-title-text-weight_active;
&.@{tabs-prefix-cls}-header-title-disabled {
color: @tabs-color-title-text_disabled_active;
}
}
}
&-ink {
position: absolute;
bottom: 0;
right: initial;
top: initial;
height: @tabs-line-size-ink-stroke;
background-color: @tabs-line-color-ink-bg;
transition: left @transition-duration-2 @transition-timing-function-standard,
width @transition-duration-2 @transition-timing-function-standard;
&.@{tabs-prefix-cls}-header-ink-no-animation {
transition: none;
}
// 自定义 ink
&.@{tabs-prefix-cls}-header-ink-custom {
background-color: transparent;
.@{tabs-prefix-cls}-header-ink-inner {
background-color: @tabs-line-color-ink-bg;
position: absolute;
left: 50%;
bottom: 0;
width: 100%;
height: 100%;
transform: translateX(-50%);
}
}
&-disabled {
background-color: @tabs-line-color-ink-bg_disabled;
}
}
}
}
// card card-gutter 类型
.@{tabs-prefix-cls} {
// type = line
&-header-nav-line &-header-extra {
line-height: @tabs-size-default-header-height_line;
}
&-header-nav-line &-header-title {
line-height: 1.5715;
margin: 0 (@tabs-line-margin-title-horizontal / 2);
padding: .get-title-padding(
@tabs-size-default-header-height_line,
@tabs-size-default-font-size,
@tabs-padding-title-text-vertical
)
[] 0;
&-text {
display: inline-block;
position: relative;
padding: @tabs-padding-title-text-vertical 0;
&::before {
content: '';
z-index: -1;
opacity: 1;
transition: all @transition-duration-2 @transition-timing-function-linear;
border-radius: @tabs-line-border-radius;
position: absolute;
top: 0;
bottom: 0;
left: -@tabs-padding-title-text-horizontal;
right: -@tabs-padding-title-text-horizontal;
background-color: @tabs-line-color-title-bg;
}
}
&:hover {
.@{tabs-prefix-cls}-header-title-text::before {
background-color: @tabs-line-color-title-bg_hover;
}
}
&:focus-visible .@{tabs-prefix-cls}-header-title-text::before {
.tabs-focus-visible-style();
}
&-active,
&-active:hover {
.@{tabs-prefix-cls}-header-title-text::before {
background-color: @tabs-line-color-title-bg_active;
}
}
&-disabled,
&-disabled:hover {
.@{tabs-prefix-cls}-header-title-text::before {
opacity: 0;
}
}
}
&-header-nav-line&-header-nav-horizontal > &-header-scroll &-header-title:first-of-type {
margin-left: @tabs-line-margin-title-horizontal_first;
}
// headerPadding=false & type === line/text & horizontal
&-header-nav-line&-header-nav-horizontal &-header-no-padding > &-header-title:first-of-type,
&-header-nav-text&-header-nav-horizontal &-header-no-padding > &-header-title:first-of-type {
margin-left: 0;
}
// type = card card-gutter
&-header-nav-card &-header,
&-header-nav-card-gutter &-header {
&-title {
font-size: @tabs-size-default-font-size_card;
border: @tabs-card-border-width solid @tabs-card-color-title-border;
transition: padding @transition-duration-2 @transition-timing-function-linear,
color @transition-duration-2 @transition-timing-function-linear;
padding: .get-title-padding(
(@tabs-size-default-header-height - @tabs-card-border-width * 2),
@tabs-size-default-font-size_card,
0
)
[] @tabs-card-padding-title-horizontal;
&:focus-visible {
.tabs-focus-visible-style();
}
}
&-title-editable {
padding-right: @tabs-card-padding-title-right_editable;
}
&-title-editable:not(.@{tabs-prefix-cls}-header-title-active):hover
.@{prefix}-icon-hover:hover::before {
background-color: @tabs-card-color-close-icon-bg_hover;
}
}
&-header-nav-card,
&-header-nav-card-gutter {
.@{tabs-prefix-cls}-add-icon {
color: @tabs-color-icon;
height: @tabs-size-default-header-height;
}
}
&-header-nav-card &-header-title {
border-right: none;
background-color: @tabs-card-color-title-bg;
&:last-child {
border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
border-top-right-radius: @tabs-card-border-radius;
}
&:first-child {
border-top-left-radius: @tabs-card-border-radius;
}
&:hover {
background-color: @tabs-card-color-title-bg_hover;
}
&-disabled,
&-disabled:hover {
background-color: @tabs-card-color-title-bg_disabled;
}
&-active,
&-active:hover {
border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
background-color: @tabs-card-color-title-bg_active;
}
}
&-header-nav-card&-header-nav-bottom &-header-title {
&-active,
&-active:hover {
border-top-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
border-bottom-color: @tabs-card-color-title-border;
}
}
&-header-nav-card-gutter &-header-title {
margin-left: @tabs-card-gutter-spacing-horizontal;
border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
background-color: @tabs-card-gutter-color-title-bg;
border-radius: @tabs-card-border-radius @tabs-card-border-radius 0 0;
&:hover {
background-color: @tabs-card-gutter-color-title-bg_hover;
}
&-disabled,
&-disabled:hover {
background-color: @tabs-card-gutter-color-title-bg_disabled;
}
&-active,
&-active:hover {
border-bottom-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
background-color: @tabs-card-gutter-color-title-bg_active;
}
&:first-child {
margin-left: 0;
}
}
&-header-nav-card-gutter&-header-nav-bottom &-header-title {
&-active,
&-active:hover {
border-top-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
border-bottom-color: @tabs-card-color-title-border;
}
}
// type = text
&-header-nav-text {
&::before {
display: none;
}
.@{tabs-prefix-cls}-header-title {
position: relative;
line-height: 1.5715;
margin: 0 (@tabs-text-margin-title-horizontal + (@tabs-text-size-separator-width / 2));
font-size: @tabs-size-default-font-size_text;
padding: .get-title-padding(
@tabs-size-default-header-height_text,
@tabs-size-default-font-size,
0
)
[] 0;
&:not(:first-of-type)::before {
height: @tabs-text-size-separator-height;
position: absolute;
width: @tabs-text-size-separator-width;
background-color: @tabs-text-color-separator-bg;
content: '';
display: block;
top: 50%;
transform: translateY(-50%);
left: -(@tabs-text-margin-title-horizontal + (@tabs-text-size-separator-width / 2));
}
&-text {
padding-left: @tabs-text-margin-title-horizontal;
padding-right: @tabs-text-margin-title-horizontal;
background-color: @tabs-text-color-title-bg;
}
&-text:hover {
background-color: @tabs-text-color-title-bg_hover;
}
&:focus-visible .@{tabs-prefix-cls}-header-title-text {
.tabs-focus-visible-style();
}
&-active {
.@{tabs-prefix-cls}-header-title-text,
.@{tabs-prefix-cls}-header-title-text:hover {
background-color: @tabs-text-color-title-bg_active;
}
}
&-disabled {
.@{tabs-prefix-cls}-header-title-text,
.@{tabs-prefix-cls}-header-title-text:hover {
background-color: @tabs-text-color-title-bg_disabled;
}
}
&-active&-disabled {
.@{tabs-prefix-cls}-header-title-text,
.@{tabs-prefix-cls}-header-title-text:hover {
background-color: @tabs-text-color-title-bg_disabled_active;
}
}
}
}
&-header-nav-rounded {
&::before {
display: none;
}
.@{tabs-prefix-cls}-header-title {
padding: .get-title-padding(
@tabs-size-default-header-height_rounded,
@tabs-size-default-font-size_rounded,
0
)
[] 0;
padding-left: @tabs-rounded-padding-title-horizontal;
padding-right: @tabs-rounded-padding-title-horizontal;
margin: 0 (@tabs-rounded-margin-title-horizontal / 2);
font-size: @tabs-size-default-font-size_rounded;
background-color: @tabs-rounded-color-title-bg;
border-radius: @tabs-size-default-header-height_rounded;
&:hover {
background-color: @tabs-rounded-color-title-bg_hover;
}
&:focus-visible {
.tabs-focus-visible-style();
}
&-disabled:hover {
background-color: @tabs-rounded-color-title-bg_disabled;
}
&-active,
&-active:hover {
background-color: @tabs-rounded-color-title-bg_active;
}
}
}
&-header-nav-capsule {
&::before {
display: none;
}
.@{tabs-prefix-cls}-header-wrapper {
justify-content: flex-end;
}
.@{tabs-prefix-cls}-header {
line-height: 1;
background-color: @tabs-capsule-color-header-bg;
border-radius: @tabs-capsule-border-header-radius;
padding: @tabs-capsule-padding-header-vertical @tabs-capsule-padding-header-horizontal;
}
.@{tabs-prefix-cls}-header-title {
line-height: @tabs-size-default-header-height_capsule - @tabs-capsule-padding-header-vertical *
2;
padding: 0 @tabs-capsule-padding-title-horizontal;
background-color: @tabs-capsule-color-title-bg;
position: relative;
font-size: @tabs-size-default-font-size_capsule;
border-radius: @tabs-capsule-border-title-radius;
&:focus-visible {
.tabs-focus-visible-style();
}
&:hover {
background-color: @tabs-capsule-color-title-bg_hover;
}
&-disabled:hover {
background-color: unset;
}
&-active,
&-active:hover {
background-color: @tabs-capsule-color-title-bg_active;
&::before,
& + .@{tabs-prefix-cls}-header-title::before {
opacity: 0;
}
}
}
&.@{tabs-prefix-cls}-header-nav-horizontal
.@{tabs-prefix-cls}-header-title:not(:first-of-type) {
margin-left: @tabs-capsule-margin-title-horizontal;
&::before {
position: absolute;
top: 50%;
left: -(@tabs-capsule-margin-title-horizontal / 2) - (@tabs-capsule-size-separator-width / 2);
transform: translateY(-50%);
display: block;
height: @tabs-capsule-size-separator-height;
width: @tabs-capsule-size-separator-width;
background-color: @tabs-capsule-color-separator-bg;
content: '';
transition: all @transition-duration-2 @transition-timing-function-linear;
}
}
}
}
// .@{tabs-prefix-cls} {
// /* Horizontal */
// &-header-nav {
// position: relative;
// background: #fff;
// .@{tabs-prefix-cls}-icon {
// line-height: @tab-pane-height;
// font-size: 12px;
// position: absolute;
// color: @color--grey7;
// cursor: pointer;
// user-select: none;
// &:hover {
// color: @tab-pane-active-color;
// color: @color--grey6;
// }
// }
// }
// /** header */
.@{tabs-prefix-cls} {
&-header-scroll {
overflow: hidden;
position: relative;
display: flex;
align-items: center;
}
&-content {
width: 100%;
overflow: hidden;
padding-top: @tabs-content-padding;
box-sizing: border-box;
.@{tabs-prefix-cls}-content-inner {
display: flex;
width: 100%;
}
.@{tabs-prefix-cls}-content-item {
width: 100%;
overflow: hidden;
height: 0;
flex-shrink: 0;
&.@{tabs-prefix-cls}-content-item-active {
height: auto;
}
}
}
&-card,
&-card-gutter {
> .@{tabs-prefix-cls}-content {
border: @tabs-card-border-content-width solid @tabs-line-color-header-border;
border-top: none;
}
}
&-card&-bottom,
&-card-gutter&-bottom {
> .@{tabs-prefix-cls}-content {
border-top: @tabs-card-border-content-width solid @tabs-line-color-header-border;
border-bottom: none;
}
}
&-animation&-content {
&-inner {
transition: all @transition-duration-2 @transition-timing-function-standard;
}
}
&-horizontal&-justify {
display: flex;
flex-direction: column;
height: 100%;
.@{tabs-prefix-cls}-content,
.@{tabs-prefix-cls}-content-inner,
.@{tabs-prefix-cls}-pane {
height: 100%;
}
}
}
// 不同尺寸
@sizes: mini, small, large;
.for(@data, @i: 1) when(@i =< length(@data)) {
@size: extract(@data, @i);
.@{tabs-prefix-cls}-header-size-@{size} {
&.@{tabs-prefix-cls}-header-nav-line {
@height: ~'tabs-size-@{size}-header-height_line';
@font-size: ~'tabs-size-@{size}-font-size';
.@{tabs-prefix-cls}-header-extra {
line-height: @@height;
font-size: @@font-size;
}
.@{tabs-prefix-cls}-header-title {
font-size: @@font-size;
@padding: .get-title-padding(@@height, @@font-size, @tabs-padding-title-text-vertical) [];
padding-top: @padding;
padding-bottom: @padding;
}
.@{tabs-prefix-cls}-header-extra {
line-height: @@height;
font-size: @@font-size;
}
}
&.@{tabs-prefix-cls}-header-nav-card,
&.@{tabs-prefix-cls}-header-nav-card-gutter {
@card-font-size: ~'tabs-size-@{size}-font-size_card';
@card-height: ~'tabs-size-@{size}-header-height';
.@{tabs-prefix-cls}-header-title {
font-size: @@card-font-size;
padding-top: .get-title-padding(
@@card-height - @tabs-card-border-width * 2,
@@card-font-size,
0
)
[];
padding-bottom: $padding-top;
}
.@{tabs-prefix-cls}-header-extra {
line-height: @@card-height;
font-size: @@card-font-size;
}
.@{tabs-prefix-cls}-add-icon {
height: @@card-height;
}
}
&.@{tabs-prefix-cls}-header-nav-capsule {
@capsule-font-size: ~'tabs-size-@{size}-font-size_capsule';
@capsule-height: ~'tabs-size-@{size}-header-height_capsule';
.@{tabs-prefix-cls}-header-title {
font-size: @@capsule-font-size;
line-height: @@capsule-height - @tabs-capsule-padding-header-vertical * 2;
}
.@{tabs-prefix-cls}-header-extra {
line-height: @@capsule-height;
font-size: @@capsule-font-size;
}
}
&.@{tabs-prefix-cls}-header-nav-rounded {
@rounded-font-size: ~'tabs-size-@{size}-font-size_rounded';
@rounded-height: ~'tabs-size-@{size}-header-height_rounded';
.@{tabs-prefix-cls}-header-title {
font-size: @@rounded-font-size;
padding-top: .get-title-padding(@@rounded-height, @@rounded-font-size, 0) [];
padding-bottom: $padding-top;
}
.@{tabs-prefix-cls}-header-extra {
line-height: @@rounded-height;
font-size: @@rounded-font-size;
}
}
}
.for(@data, (@i + 1));
}
.for(@sizes);
@tabs-prefix-cls: ~'@{prefix}-tabs';
@tabs-prefix-cls-vertical: ~'@{tabs-prefix-cls}-vertical';
/* Vertical */
.@{tabs-prefix-cls} {
&-right {
flex-direction: row-reverse;
}
&-vertical {
display: flex;
flex-wrap: nowrap;
}
&-header-nav-vertical {
flex-grow: 0;
flex-shrink: 0;
&::before {
position: absolute;
left: initial;
bottom: 0;
right: 0;
top: 0;
width: @tabs-line-size-header-border;
height: 100%;
clear: both;
}
.@{tabs-prefix-cls}-add-icon {
margin-left: 0;
margin-top: @tabs-margin-add-icon-left;
padding: 0 @tabs-card-padding-title-horizontal;
height: auto;
}
}
&-header-nav-vertical &-header {
height: auto;
&-scroll {
flex-direction: column;
}
&-overflow-scroll {
padding: @tabs-padding-header-wrapper-vertical 0;
}
&-wrapper {
height: 100%;
flex-direction: column;
}
&-ink {
position: absolute;
left: initial;
right: 0;
bottom: initial;
width: @tabs-line-size-ink-stroke;
transition: top @transition-duration-2 @transition-timing-function-standard,
height @transition-duration-2 @transition-timing-function-standard;
&.@{tabs-prefix-cls}-header-ink-custom .@{tabs-prefix-cls}-header-ink-inner {
left: unset;
bottom: unset;
right: 0;
transform: translateY(-50%);
top: 50%;
}
}
}
&-header-nav-vertical &-header-title {
display: block;
white-space: nowrap;
margin: 0;
margin-top: @tabs-line-margin-title-vertical;
&:first-of-type {
margin-top: 0;
}
}
&-header-nav-right::before {
right: unset;
left: 0;
}
&-header-nav-right &-header-ink {
left: 0;
right: unset;
.@{tabs-prefix-cls}-header-ink-inner {
left: 0;
right: unset;
}
}
&-header-nav-vertical &-header-scroll {
position: relative;
height: 100%;
box-sizing: border-box;
}
&-header-nav-line&-header-nav-vertical &-header-title {
padding: 0 @tabs-line-padding-title-horizontal_vertical;
}
&-header-nav-vertical&-header-nav-card &-header {
&-title {
margin: 0;
position: relative;
border: @tabs-card-border-width solid @tabs-card-color-title-border;
border-bottom-color: @color-transparent;
&:first-child {
border-top-left-radius: @tabs-card-border-radius;
}
&-active,
&-active:hover {
border-bottom-color: @color-transparent;
border-right-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
}
&:last-child {
border-bottom: @tabs-card-border-width solid @tabs-card-color-title-border;
border-bottom-left-radius: @tabs-card-border-radius;
}
}
}
&-header-nav-vertical&-header-nav-card&-header-nav-right &-header {
&-title {
&-active,
&-active:hover {
border-right-color: @tabs-card-color-title-border;
border-left-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
}
}
}
&-header-nav-vertical&-header-nav-card-gutter &-header {
&-title {
margin-left: 0;
border-radius: @tabs-card-border-radius 0 0 @tabs-card-border-radius;
position: relative;
&:not(:first-of-type) {
margin-top: 4px;
}
&-active,
&-active:hover {
border-right-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
border-bottom-color: @tabs-card-color-title-border;
}
}
}
&-header-nav-vertical&-header-nav-card-gutter&-header-nav-right &-header {
&-title {
&-active,
&-active:hover {
border-right-color: @tabs-card-color-title-border;
border-left-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
}
}
}
&-content-vertical {
width: auto;
height: 100%;
padding: 0;
flex: auto;
}
&-right &-content-vertical {
padding-right: @tabs-content-padding;
}
&-left &-content-vertical {
padding-left: @tabs-content-padding;
}
&-card,
&-card-gutter {
> .@{tabs-prefix-cls}-content-vertical {
border: @tabs-card-border-content-width solid @tabs-line-color-header-border;
border-left: none;
}
}
&-card&-right,
&-card-gutter&-right {
> .@{tabs-prefix-cls}-content-vertical {
border-left: @tabs-card-border-content-width solid @tabs-line-color-header-border;
border-right: none;
}
}
}
.@{tabs-prefix-cls}-rtl {
direction: rtl;
&.@{tabs-prefix-cls}-left {
flex-direction: row-reverse;
}
&.@{tabs-prefix-cls}-right {
flex-direction: row;
}
.@{tabs-prefix-cls} {
&-close-icon {
margin-left: 0;
margin-right: @tabs-margin-close-icon-left;
}
&-left-icon,
&-right-icon {
margin-left: @tabs-spacing-nav-icon-header;
margin-right: @tabs-padding-header-wrapper-horizontal;
}
}
.@{tabs-prefix-cls}-header-nav-line {
> .@{tabs-prefix-cls}-header-nav-horizontal {
.@{tabs-prefix-cls}-header-scroll {
> .@{tabs-prefix-cls}-header-title {
&:first-of-type {
margin-right: 0;
}
}
}
}
}
.@{tabs-prefix-cls}-header-nav-line,
.@{tabs-prefix-cls}-header-nav-text {
> .@{tabs-prefix-cls}-header-nav-horizontal {
.@{tabs-prefix-cls}-header-no-padding {
> .@{tabs-prefix-cls}-header-title {
&:first-of-type {
margin-right: 0;
}
}
}
}
}
.@{tabs-prefix-cls}-header-nav-card,
.@{tabs-prefix-cls}-header-nav-card-gutter {
.@{tabs-prefix-cls}-header-title-editable {
padding-left: @tabs-card-padding-title-right_editable;
padding-right: @tabs-card-padding-title-horizontal;
}
}
.@{tabs-prefix-cls}-header-nav-card .@{tabs-prefix-cls}-header-title {
border-right: @tabs-card-border-width solid @tabs-card-color-title-border;
border-left: none;
&:last-child {
border-left: @tabs-card-border-width solid @tabs-card-color-title-border;
border-top-left-radius: @tabs-card-border-radius;
border-top-right-radius: 0;
}
&:first-child {
border-top-left-radius: 0;
border-top-right-radius: @tabs-card-border-radius;
}
}
.@{tabs-prefix-cls}-header-nav-card-gutter .@{tabs-prefix-cls}-header-title {
margin-right: @tabs-card-gutter-spacing-horizontal;
&:first-child {
margin-right: 0;
}
}
.@{tabs-prefix-cls}-header-nav-text {
.@{tabs-prefix-cls}-header-title {
&:not(:first-of-type)::before {
left: initial;
right: -(@tabs-text-margin-title-horizontal + (@tabs-text-size-separator-width / 2));
}
}
}
.@{tabs-prefix-cls}-header-nav-capsule.@{tabs-prefix-cls}-header-nav-horizontal {
.@{tabs-prefix-cls}-header-title:not(:first-of-type) {
margin-left: 0;
margin-right: @tabs-capsule-margin-title-horizontal;
&::before {
right: -(@tabs-capsule-margin-title-horizontal / 2) - (@tabs-capsule-size-separator-width /
2);
left: initial;
}
}
}
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{tabs-prefix-cls}-header-nav-capsule {
.@{tabs-prefix-cls}-header-title {
&-active {
background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
}
&:not(&-disabled):hover {
background-color: var(~'@{arco-cssvars-prefix}-color-fill-3');
}
}
}
}
}
/********** Tabs end ***************/
/********** Tag ***************/
@tag-border-width: 1px;
@tag-border-type: solid;
@tag-padding-horizontal: 8px;
@tag-padding-vertical: 0;
@tag-icon-margin-right: @spacing-2;
@tag-text-font-weight: @font-weight-500;
@tag-border-radius: @radius-small;
@tag-size-small: @size-5;
@tag-size-default: @size-6;
@tag-size-medium: @size-7;
@tag-size-large: @size-8;
@tag-size-small-font-size: 12px;
@tag-size-default-font-size: 12px;
@tag-size-medium-font-size: 14px;
@tag-size-large-font-size: 14px;
@tag-color-bg-not-checked_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tag-custom-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@tag-custom-color-icon-bg_hover: rgba(255, 255, 255, 0.2);
@tag-default-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tag-default-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@tag-default-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@tag-default-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@tag-default-color-border: @color-transparent;
@tag-default-bordered-color-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@tag-default-color-border_hover: @color-transparent;
@tag-red-color-bg: rgb(var(~'@{arco-cssvars-prefix}-red-1'));;
@tag-red-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-red-2'));;
@tag-red-color-border: @color-transparent;
@tag-red-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-red-6'));;
@tag-red-color-border_hover: @color-transparent;
@tag-red-color-icon: rgb(var(~'@{arco-cssvars-prefix}-red-6'));;
@tag-red-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-red-2'));;
@tag-red-color-text: rgb(var(~'@{arco-cssvars-prefix}-red-6'));;
@tag-orangered-color-bg: rgb(var(~'@{arco-cssvars-prefix}-orangered-1'));;
@tag-orangered-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-orangered-2'));;
@tag-orangered-color-border: @color-transparent;
@tag-orangered-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-orangered-6'));;
@tag-orangered-color-border_hover: @color-transparent;
@tag-orangered-color-icon: rgb(var(~'@{arco-cssvars-prefix}-orangered-6'));;
@tag-orangered-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-orangered-2'));;
@tag-orangered-color-text: rgb(var(~'@{arco-cssvars-prefix}-orangered-6'));;
@tag-orange-color-bg: rgb(var(~'@{arco-cssvars-prefix}-orange-1'));;
@tag-orange-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-orange-2'));;
@tag-orange-color-border: @color-transparent;
@tag-orange-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-orange-6'));
@tag-orange-color-border_hover: @color-transparent;
@tag-orange-color-icon: rgb(var(~'@{arco-cssvars-prefix}-orange-6'));;
@tag-orange-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-orange-2'));;
@tag-orange-color-text: rgb(var(~'@{arco-cssvars-prefix}-orange-6'));;
@tag-gold-color-bg: rgb(var(~'@{arco-cssvars-prefix}-gold-1'));;
@tag-gold-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-gold-3'));;
@tag-gold-color-border: @color-transparent;
@tag-gold-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));;
@tag-gold-color-border_hover: @color-transparent;
@tag-gold-color-icon: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));;
@tag-gold-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-gold-2'));;
@tag-gold-color-text: rgb(var(~'@{arco-cssvars-prefix}-gold-6'));;
@tag-lime-color-bg: rgb(var(~'@{arco-cssvars-prefix}-lime-1'));;
@tag-lime-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-lime-2'));;
@tag-lime-color-border: @color-transparent;
@tag-lime-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-lime-6'));;
@tag-lime-color-border_hover: @color-transparent;
@tag-lime-color-icon: rgb(var(~'@{arco-cssvars-prefix}-lime-6'));;
@tag-lime-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-lime-2'));;
@tag-lime-color-text: rgb(var(~'@{arco-cssvars-prefix}-lime-6'));;
@tag-green-color-bg: rgb(var(~'@{arco-cssvars-prefix}-green-1'));;
@tag-green-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-green-2'));;
@tag-green-color-border: @color-transparent;
@tag-green-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-green-6'));;
@tag-green-color-border_hover: @color-transparent;
@tag-green-color-icon: rgb(var(~'@{arco-cssvars-prefix}-green-6'));;
@tag-green-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-green-2'));;
@tag-green-color-text: rgb(var(~'@{arco-cssvars-prefix}-green-6'));;
@tag-cyan-color-bg: rgb(var(~'@{arco-cssvars-prefix}-cyan-1'));;
@tag-cyan-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-cyan-2'));;
@tag-cyan-color-border: @color-transparent;
@tag-cyan-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-cyan-6'));;
@tag-cyan-color-border_hover: @color-transparent;
@tag-cyan-color-icon: rgb(var(~'@{arco-cssvars-prefix}-cyan-6'));;
@tag-cyan-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-cyan-2'));;
@tag-cyan-color-text: rgb(var(~'@{arco-cssvars-prefix}-cyan-6'));;
@tag-blue-color-bg: rgb(var(~'@{arco-cssvars-prefix}-blue-1'));;
@tag-blue-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-blue-2'));;
@tag-blue-color-border: @color-transparent;
@tag-blue-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-blue-6'));;
@tag-blue-color-border_hover: @color-transparent;
@tag-blue-color-icon: rgb(var(~'@{arco-cssvars-prefix}-blue-6'));;
@tag-blue-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-blue-2'));;
@tag-blue-color-text: rgb(var(~'@{arco-cssvars-prefix}-blue-6'));;
@tag-arcoblue-color-bg: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-1'));;
@tag-arcoblue-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-2'));;
@tag-arcoblue-color-border: @color-transparent;
@tag-arcoblue-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-6'));;
@tag-arcoblue-color-border_hover: @color-transparent;
@tag-arcoblue-color-icon: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-6'));;
@tag-arcoblue-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-2'));;
@tag-arcoblue-color-text: rgb(var(~'@{arco-cssvars-prefix}-arcoblue-6'));;
@tag-purple-color-bg: rgb(var(~'@{arco-cssvars-prefix}-purple-1'));;
@tag-purple-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-purple-2'));;
@tag-purple-color-border: @color-transparent;
@tag-purple-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-purple-6'));;
@tag-purple-color-border_hover: @color-transparent;
@tag-purple-color-icon: rgb(var(~'@{arco-cssvars-prefix}-purple-6'));;
@tag-purple-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-purple-2'));;
@tag-purple-color-text: rgb(var(~'@{arco-cssvars-prefix}-purple-6'));;
@tag-pinkpurple-color-bg: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-1'));;
@tag-pinkpurple-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-2'));;
@tag-pinkpurple-color-border: @color-transparent;
@tag-pinkpurple-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-6'));;
@tag-pinkpurple-color-border_hover: @color-transparent;
@tag-pinkpurple-color-icon: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-6'));;
@tag-pinkpurple-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-2'));;
@tag-pinkpurple-color-text: rgb(var(~'@{arco-cssvars-prefix}-pinkpurple-6'));;
@tag-magenta-color-bg: rgb(var(~'@{arco-cssvars-prefix}-magenta-1'));;
@tag-magenta-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-magenta-2'));;
@tag-magenta-color-border: @color-transparent;
@tag-magenta-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-magenta-6'));;
@tag-magenta-color-border_hover: @color-transparent;
@tag-magenta-color-icon: rgb(var(~'@{arco-cssvars-prefix}-magenta-6'));;
@tag-magenta-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-magenta-2'));;
@tag-magenta-color-text: rgb(var(~'@{arco-cssvars-prefix}-magenta-6'));;
@tag-gray-color-bg: rgb(var(~'@{arco-cssvars-prefix}-gray-2'));;
@tag-gray-color-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-gray-3'));;
@tag-gray-color-border: @color-transparent;
@tag-gray-bordered-color-border: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));;
@tag-gray-color-border_hover: @color-transparent;
@tag-gray-color-icon: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));;
@tag-gray-color-icon-bg_hover: rgb(var(~'@{arco-cssvars-prefix}-gray-3'));;
@tag-gray-color-text: rgb(var(~'@{arco-cssvars-prefix}-gray-6'));;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@tag-prefix-cls: ~'@{prefix}-tag';
@colors: red, orangered, orange, gold, lime, green, cyan, blue, arcoblue, purple, pinkpurple,
magenta, gray;
.@{tag-prefix-cls} {
display: inline-flex;
align-items: center;
box-sizing: border-box;
height: @tag-size-default;
padding: @tag-padding-vertical @tag-padding-horizontal;
border: @tag-border-width @tag-border-type transparent;
border-radius: @tag-border-radius;
font-size: @tag-size-default-font-size;
font-weight: @tag-text-font-weight;
line-height: @tag-size-default - @tag-border-width * 2 - @tag-padding-vertical * 2;
color: @tag-default-color-text;
.icon-hover(
@tag-prefix-cls,
12px,
16px
);
.icon-hover-bg(@tag-prefix-cls, @tag-default-color-bg_hover);
&-content {
flex: 1;
.text-ellipsis();
}
&-checkable {
cursor: pointer;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-checkable:hover {
background-color: @tag-color-bg-not-checked_hover;
}
&-checked {
border-color: @tag-default-color-border;
background-color: @tag-default-color-bg;
}
&-checkable&-checked:hover {
background-color: @tag-default-color-bg_hover;
border-color: @tag-default-color-border_hover;
}
&-bordered,
&-checkable&-checked&-bordered:hover {
border-color: @tag-default-bordered-color-border;
}
// Size
&-size-small {
height: @tag-size-small;
line-height: @tag-size-small - @tag-border-width * 2;
font-size: @tag-size-small-font-size;
}
&-size-medium {
height: @tag-size-medium;
line-height: @tag-size-medium - @tag-border-width * 2;
font-size: @tag-size-medium-font-size;
}
&-size-large {
height: @tag-size-large;
line-height: @tag-size-large - @tag-border-width * 2;
font-size: @tag-size-large-font-size;
}
&-hide {
display: none;
}
&-loading {
opacity: 0.8;
cursor: default;
}
&-icon {
margin-right: @tag-icon-margin-right;
color: @tag-default-color-icon;
}
each(@colors, {
&-checked&-@{value} {
color: ~'@{tag-@{value}-color-text}';
background-color: ~'@{tag-@{value}-color-bg}';
border: @tag-border-width @tag-border-type ~'@{tag-@{value}-color-border}';
.icon-hover-bg(@tag-prefix-cls, ~'@{tag-@{value}-color-icon-bg_hover}');
}
&-checkable&-checked&-@{value}:hover {
background-color: ~'@{tag-@{value}-color-bg_hover}';
border-color: ~'@{tag-@{value}-color-border_hover}';
}
&-checked&-@{value}&-bordered,
&-checked&-@{value}&-bordered:hover {
border-color: ~'@{tag-@{value}-bordered-color-border}';
}
&-checked&-@{value} &-icon,
&-checked&-@{value} &-close-icon,
&-checked&-@{value} &-loading-icon {
color: ~'@{tag-@{value}-color-icon}';
}
});
&-custom-color {
color: @tag-custom-color-text;
.icon-hover-bg(@tag-prefix-cls, @tag-custom-color-icon-bg_hover);
}
& &-close-btn {
font-size: 12px;
margin-left: 4px;
&:focus-visible::before {
box-shadow: inset 0 0 0 2px var(~'@{arco-cssvars-prefix}-color-primary-light-3');
}
> svg {
position: relative;
}
}
&-loading-icon {
font-size: 12px;
margin-left: 4px;
}
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{tag-prefix-cls}-checked {
color: rgba(255, 255, 255, 90%);
}
each(@colors, {
.@{tag-prefix-cls}-checked.@{tag-prefix-cls}-@{value} {
background-color: ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.2)';
.icon-hover-bg(@tag-prefix-cls, ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.35)');
}
.@{tag-prefix-cls}-checkable.@{tag-prefix-cls}-checked.@{tag-prefix-cls}-@{value}:hover {
background-color: ~'rgba(var(@{arco-cssvars-prefix}-@{value}-6), 0.35)';
}
});
}
}
.@{tag-prefix-cls}-rtl {
direction: rtl;
.@{tag-prefix-cls} {
&-icon {
margin-left: @tag-icon-margin-right;
margin-right: 0;
}
&-close-btn,
&-loading-icon {
margin-left: 0;
margin-right: 4px;
}
}
}
/********** Tag end ***************/
/********** Timeline ***************/
@timeline-color-content-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@timeline-color-label-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@timeline-color-dot-bg: @color-primary-6;
@timeline-color-line-bg: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@timeline-font-content-size: @font-size-body-3;
@timeline-font-label-size: @font-size-body-1;
@timeline-item-min-height: 78px;
@timeline-dot-size-width: 6px;
@timeline-dot-border-radius: @radius-circle;
@timeline-dot-border-width_hollow: @border-2;
@timeline-color-dot-bg_hollow: var(~'@{arco-cssvars-prefix}-color-bg-2');
@timeline-horizontal-margin-content-spacing: @spacing-7;
@timeline-horizontal-margin-line-left: @spacing-3;
@timeline-horizontal-margin-line-right: @spacing-2;
@timeline-vertical-margin-content-bottom: @spacing-2;
@timeline-vertical-margin-content-left: @spacing-7;
@timeline-vertical-margin-line-top: @spacing-2;
@timeline-vertical-margin-line-bottom: @spacing-2;
@timeline-size-line-width: @border-1;
@timeline-prefix-cls: ~'@{prefix}-timeline';
@timeline-item-prefix-cls: ~'@{prefix}-timeline-item';
.@{timeline-prefix-cls} {
&-item {
position: relative;
color: @timeline-color-content-text;
font-size: @timeline-font-content-size;
min-height: @timeline-item-min-height;
padding-left: @timeline-dot-size-width;
&-label {
color: @timeline-color-label-text;
font-size: @timeline-font-label-size;
line-height: 1.667;
}
&-content {
line-height: 1.5715;
font-size: @timeline-font-content-size;
color: @timeline-color-content-text;
margin-bottom: @timeline-vertical-margin-content-bottom;
&-wrapper {
margin-left: @timeline-vertical-margin-content-left;
position: relative;
}
}
}
}
// 节点的样式
.@{timeline-prefix-cls}-item {
&&-last {
> .@{timeline-prefix-cls}-item-dot-wrapper .@{timeline-prefix-cls}-item-dot-line {
display: none;
}
}
&-dot-wrapper {
position: absolute;
text-align: center;
height: 100%;
left: 0;
.@{timeline-prefix-cls}-item-dot-content {
width: @timeline-dot-size-width;
height: 1.5715 * @timeline-font-content-size;
line-height: $height;
position: relative;
}
}
&-dot {
width: @timeline-dot-size-width;
height: @timeline-dot-size-width;
border-radius: @timeline-dot-border-radius;
box-sizing: border-box;
color: @timeline-color-dot-bg;
margin-top: -50%;
position: relative;
top: 50%;
&-solid {
background-color: @timeline-color-dot-bg;
}
&-hollow {
border: @timeline-dot-border-width_hollow solid @timeline-color-dot-bg;
background-color: @timeline-color-dot-bg_hollow;
}
&-custom {
display: inline-flex;
transform-origin: center;
color: @timeline-color-dot-bg;
box-sizing: border-box;
position: absolute;
top: 50%;
left: 50%;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-2');
transform: translateX(-50%) translateY(-50%);
svg {
color: inherit;
}
}
}
&-dot-line {
width: @timeline-size-line-width;
border-left-width: @timeline-size-line-width;
border-color: @timeline-color-line-bg;
left: 50%;
transform: translateX(-50%);
top: 1.5715 * (@timeline-font-content-size / 2) + (@timeline-dot-size-width / 2) +
@timeline-vertical-margin-line-top;
bottom: -(1.5715 * (@timeline-font-content-size / 2) - (@timeline-dot-size-width / 2) -
@timeline-vertical-margin-line-bottom);
// bottom: -7px;
position: absolute;
box-sizing: border-box;
}
}
/* mode */
.@{timeline-prefix-cls} {
&-alternate {
overflow: hidden;
.@{timeline-item-prefix-cls}-vertical-left {
padding-left: 0;
> .@{timeline-item-prefix-cls}-dot-wrapper {
left: 50%;
}
> .@{timeline-item-prefix-cls}-content-wrapper {
left: 50%;
width: 50%;
margin-left: @timeline-vertical-margin-content-left + @timeline-dot-size-width;
padding-right: @timeline-vertical-margin-content-left + @timeline-dot-size-width;
}
}
.@{timeline-item-prefix-cls}-vertical-right {
padding-right: 0;
> .@{timeline-item-prefix-cls}-dot-wrapper {
left: 50%;
}
> .@{timeline-item-prefix-cls}-content-wrapper {
left: 0;
margin-left: -@timeline-vertical-margin-content-left;
margin-right: 0;
text-align: right;
width: 50%;
padding-right: @timeline-vertical-margin-content-left;
}
}
}
&-right {
.@{timeline-item-prefix-cls}-vertical-right {
padding-right: @timeline-dot-size-width;
> .@{timeline-item-prefix-cls}-dot-wrapper {
right: 0;
left: unset;
}
> .@{timeline-item-prefix-cls}-content-wrapper {
text-align: right;
margin-left: 0;
margin-right: @timeline-vertical-margin-content-left;
}
}
}
}
/* label position */
.@{timeline-prefix-cls}-item {
&-label-relative {
> .@{timeline-prefix-cls}-item-label {
position: absolute;
top: 0;
max-width: 100px;
box-sizing: border-box;
}
}
&-vertical-left&-label-relative {
margin-left: 100px;
> .@{timeline-prefix-cls}-item-label {
text-align: right;
padding-right: @timeline-vertical-margin-content-left;
transform: translateX(-100%);
left: 0;
}
}
&-vertical-right&-label-relative {
margin-right: 100px;
> .@{timeline-prefix-cls}-item-label {
text-align: left;
padding-left: @timeline-vertical-margin-content-left;
transform: translateX(100%);
right: 0;
}
}
&-horizontal-top&-label-relative {
margin-top: 50px;
> .@{timeline-prefix-cls}-item-label {
padding-bottom: @timeline-horizontal-margin-content-spacing;
transform: translateY(-100%);
}
> .@{timeline-prefix-cls}-item-content {
margin-bottom: 0;
}
}
&-horizontal-bottom&-label-relative {
margin-bottom: 50px;
> .@{timeline-prefix-cls}-item-content {
margin-bottom: 0;
}
> .@{timeline-prefix-cls}-item-label {
top: unset;
bottom: 0;
text-align: left;
padding-top: @timeline-horizontal-margin-content-spacing;
transform: translateY(100%);
}
}
}
.@{timeline-prefix-cls}-alternate {
.@{timeline-prefix-cls}-item-vertical-left.@{timeline-prefix-cls}-item-label-relative {
margin-left: 0;
> .@{timeline-prefix-cls}-item-label {
width: 50%;
max-width: unset;
transform: none;
left: 0;
}
}
.@{timeline-prefix-cls}-item-vertical-right.@{timeline-prefix-cls}-item-label-relative {
margin-right: 0;
> .@{timeline-prefix-cls}-item-label {
width: 50%;
max-width: unset;
transform: none;
right: 0;
}
}
.@{timeline-prefix-cls}-item-horizontal-top.@{timeline-prefix-cls}-item-label-relative {
margin-top: 0;
}
.@{timeline-prefix-cls}-item-horizontal-bottom.@{timeline-prefix-cls}-item-label-relative {
margin-bottom: 0;
}
}
.@{timeline-prefix-cls}-direction-horizontal {
display: flex;
}
.@{timeline-prefix-cls}-item-dot-line-is-horizontal {
left: @timeline-dot-size-width + @timeline-horizontal-margin-line-left;
right: @timeline-horizontal-margin-line-right;
border-left: none;
height: @timeline-size-line-width;
border-top-width: @timeline-size-line-width;
top: 50%;
transform: translateY(-50%);
width: unset;
}
.@{timeline-prefix-cls}-item-horizontal-bottom,
.@{timeline-prefix-cls}-item-horizontal-top {
flex: 1;
padding-left: 0;
padding-right: 0;
min-height: unset;
> .@{timeline-prefix-cls}-item-dot-wrapper {
height: auto;
width: 100%;
top: 0;
.@{timeline-prefix-cls}-item-dot {
margin-top: unset;
top: unset;
}
.@{timeline-prefix-cls}-item-dot-content {
height: @timeline-dot-size-width;
line-height: @timeline-dot-size-width;
}
}
}
.@{timeline-prefix-cls}-item-horizontal-top {
padding-top: @timeline-dot-size-width;
> .@{timeline-prefix-cls}-item-dot-wrapper {
bottom: unset;
top: 0;
}
> .@{timeline-prefix-cls}-item-content-wrapper {
margin-top: @timeline-horizontal-margin-content-spacing;
margin-left: 0;
}
}
.@{timeline-prefix-cls}-item-horizontal-bottom {
padding-bottom: @timeline-dot-size-width;
> .@{timeline-prefix-cls}-item-dot-wrapper {
bottom: 0;
top: unset;
}
> .@{timeline-prefix-cls}-item-content-wrapper {
margin-left: 0;
margin-bottom: @timeline-horizontal-margin-content-spacing;
}
}
.@{timeline-prefix-cls}-alternate.@{timeline-prefix-cls}-direction-horizontal {
align-items: center;
min-height: 200px;
overflow: visible;
.@{timeline-prefix-cls}-item-horizontal-bottom {
transform: translateY(-50%);
margin-top: @timeline-dot-size-width;
}
.@{timeline-prefix-cls}-item-horizontal-top {
margin-top: -@timeline-dot-size-width;
transform: translateY(50%);
}
}
.@{timeline-prefix-cls}-rtl {
.@{timeline-item-prefix-cls}-vertical-left {
> .@{timeline-item-prefix-cls}-content-wrapper {
text-align: left;
}
}
&.@{timeline-prefix-cls}-alternate {
.@{timeline-prefix-cls}-item-vertical-left.@{timeline-prefix-cls}-item-label-relative {
> .@{timeline-prefix-cls}-item-label {
left: 50%;
text-align: left;
padding-left: @timeline-vertical-margin-content-left;
padding-right: 0;
}
> .@{timeline-prefix-cls}-item-content-wrapper {
text-align: right;
right: 50%;
left: initial;
margin-right: @timeline-vertical-margin-content-left;
padding-left: @timeline-vertical-margin-content-left;
padding-right: 0;
margin-left: 0;
}
}
.@{timeline-prefix-cls}-item-vertical-right.@{timeline-prefix-cls}-item-label-relative {
> .@{timeline-prefix-cls}-item-label {
right: 50%;
text-align: right;
padding-right: @timeline-vertical-margin-content-left;
padding-left: 0;
}
> .@{timeline-prefix-cls}-item-content-wrapper {
text-align: left;
left: 0;
right: initial;
margin-right: -(@timeline-vertical-margin-content-left + @timeline-dot-size-width);
padding-left: @timeline-vertical-margin-content-left+ @timeline-dot-size-width;
margin-left: 0;
padding-right: 0;
}
}
.@{timeline-item-prefix-cls}-vertical-left {
> .@{timeline-prefix-cls}-item-content-wrapper {
right: 50%;
text-align: right;
}
}
.@{timeline-item-prefix-cls}-vertical-right {
> .@{timeline-prefix-cls}-item-content-wrapper {
left: 0;
margin-right: -(@timeline-vertical-margin-content-left + @timeline-dot-size-width);
padding-left: @timeline-vertical-margin-content-left+ @timeline-dot-size-width;
margin-left: 0;
padding-right: 0;
text-align: left;
}
}
}
}
/********** Timeline end ***************/
/********** TimePicker ***************/
@timepicker-wrapper-border-radius: @radius-medium;
@timepicker-column-width: 64px;
@timepicker-column-height: 224px;
@timepicker-cell-height: 24px;
@timepicker-cell-spacing: @spacing-4;
@timepicker-cell-font-size: @font-size-body-3;
@timepicker-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@timepicker-color-cell-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@timepicker-color-text-cell: var(~'@{arco-cssvars-prefix}-color-text-1');
@timepicker-color-bg-cell_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@timepicker-color-bg-cell_active: var(~'@{arco-cssvars-prefix}-color-fill-2');
@timepicker-color-text-cell_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@timepicker-font-weight-cell: @font-weight-500;
@timepicker-font-weight-cell_active: @font-weight-500;
@timepicker-color-extra-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@timepicker-font-extra-size: @font-size-body-1;
@timepicker-extra-padding-horizontal: @spacing-4;
@timepicker-extra-padding-vertical: @spacing-4;
@timepicker-footer-padding-horizontal: @spacing-4;
@timepicker-footer-padding-vertical: @spacing-4;
@time-picker-prefix-cls: ~'@{prefix}-timepicker';
.@{time-picker-prefix-cls} {
position: relative;
display: flex;
padding: 0;
box-sizing: border-box;
&-container {
border-radius: @timepicker-wrapper-border-radius;
border: 1px solid @timepicker-color-border;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
box-shadow: @popup-box-shadow-base;
overflow: hidden;
}
&-list {
width: @timepicker-column-width;
height: @timepicker-column-height;
overflow: hidden;
box-sizing: border-box;
scrollbar-width: none; // firefox
// safari & chrome
&::-webkit-scrollbar {
width: 0;
}
&:not(:last-child) {
border-right: 1px solid @timepicker-color-cell-border;
}
&:hover {
overflow-y: auto;
}
ul {
margin: 0;
padding: 0;
list-style: none;
box-sizing: border-box;
&::after {
content: '';
display: block;
width: 100%;
height: @timepicker-column-height - @timepicker-cell-height - @timepicker-cell-spacing;
}
}
}
&-cell {
padding: @timepicker-cell-spacing / 2 0;
text-align: center;
color: @timepicker-color-text-cell;
font-weight: @timepicker-font-weight-cell;
cursor: pointer;
&-inner {
height: @timepicker-cell-height;
line-height: @timepicker-cell-height;
font-size: @timepicker-cell-font-size;
}
&:not(&-selected):not(&-disabled):hover &-inner {
background-color: @timepicker-color-bg-cell_hover;
}
}
&-cell-selected &-cell-inner {
background-color: @timepicker-color-bg-cell_active;
font-weight: @timepicker-font-weight-cell_active;
}
&-cell-disabled {
color: @timepicker-color-text-cell_disabled;
cursor: not-allowed;
}
&-footer-extra-wrapper {
border-top: 1px solid @timepicker-color-cell-border;
padding: @timepicker-extra-padding-vertical @timepicker-extra-padding-horizontal;
color: @timepicker-color-extra-text;
font-size: @timepicker-font-extra-size;
}
&-footer-btn-wrapper {
display: flex;
justify-content: space-between;
border-top: 1px solid @timepicker-color-cell-border;
padding: @timepicker-footer-padding-vertical @timepicker-footer-padding-horizontal;
}
}
/********** TimePicker end ***************/
/********** Tooltip ***************/
@tooltip-padding-horizontal: @spacing-6;
@tooltip-padding-vertical: @spacing-4;
@tooltip-mini-padding-horizontal: @spacing-6;
@tooltip-mini-padding-vertical: @spacing-2;
@tooltip-mini-font-size: @font-size-body-3;
@tooltip-font-size: @font-size-body-3;
@tooltip-border-radius: @radius-small;
@tooltip-color-text: #fff;
@tooltip-color-bg: var(~'@{arco-cssvars-prefix}-color-tooltip-bg');
.@{prefix}-tooltip {
&-content {
padding: @tooltip-padding-vertical @tooltip-padding-horizontal;
background-color: @tooltip-color-bg;
font-size: @tooltip-font-size;
border-radius: @tooltip-border-radius;
color: @tooltip-color-text;
line-height: @line-height-base;
box-shadow: @shadow2-down;
&-inner {
word-wrap: break-word;
text-align: start;
}
}
&-mini {
font-size: @tooltip-mini-font-size;
padding: @tooltip-mini-padding-vertical @tooltip-mini-padding-horizontal;
}
.@{prefix}-trigger-arrow&-arrow {
background-color: @tooltip-color-bg;
}
}
@{arco-theme-tag} {
&[arco-theme='dark'] {
.@{prefix}-tooltip-content {
border: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
}
.@{prefix}-tooltip .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow {
z-index: 1;
}
.@{prefix}-trigger {
&[trigger-placement='top'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='tl'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='tr'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow {
border-bottom: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
border-right: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
}
&[trigger-placement='bottom'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='bl'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='br'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow {
border-top: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
border-left: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
}
&[trigger-placement='left'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='lt'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='lb'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow {
border-top: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
border-right: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
}
&[trigger-placement='right'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='rt'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow,
&[trigger-placement='rb'] .@{prefix}-trigger-arrow.@{prefix}-tooltip-arrow {
border-left: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
border-bottom: @border-1 solid var(~'@{arco-cssvars-prefix}-color-neutral-3');
}
}
}
}
/********** Tooltip end ***************/
/********** Transfer ***************/
@transfer-width: 200px;
@transfer-height: 224px;
@transfer-height-title: @size-10;
@transfer-height-footer: @size-10;
@transfer-padding-horizontal-footer: @spacing-4;
@transfer-border-color: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@transfer-border-width: @border-1;
@transfer-border-radius: @radius-small;
@transfer-font-size-header: @font-size-body-3;
@transfer-font-size-header-unit: @font-size-body-1;
@transfer-font-size-icon: @font-size-body-1;
@transfer-font-weight-header: @font-weight-500;
@transfer-color-text-header: var(~'@{arco-cssvars-prefix}-color-text-1');
@transfer-color-text-header-unit: var(~'@{arco-cssvars-prefix}-color-text-3');
@transfer-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@transfer-color-bg-icon: var(~'@{arco-cssvars-prefix}-color-fill-3');
@transfer-color-bg-header: var(~'@{arco-cssvars-prefix}-color-fill-1');
@transfer-search-padding-left: 12px;
@transfer-search-padding-right: 12px;
@transfer-search-padding-top: 8px;
@transfer-search-padding-bottom: 4px;
@transfer-item-color-bg_default: @color-transparent;
@transfer-item-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@transfer-item-color-bg_disabled: @color-transparent;
@transfer-item-color_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@transfer-item-color_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@transfer-item-color_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@transfer-item-height: @size-9;
@transfer-item-padding-horizontal: @spacing-5;
@transfer-item-font-size: @font-size-body-3;
@transfer-item-draggable-height-gap: 2px;
@transfer-item-draggable-color-bg-gap: @color-primary-6;
@transfer-item-draggable-color-bg_dragging: var(~'@{arco-cssvars-prefix}-color-fill-1');
@transfer-item-draggable-color_dragging: var(~'@{arco-cssvars-prefix}-color-text-4');
@transfer-item-draggable-color_blink: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@transfer-pagination-width-input: @size-6;
@transfer-pagination-gap-separator: @spacing-4;
@transfer-operation-padding-horizontal: @spacing-8;
@transfer-operation-gap-buttons: @spacing-6;
@transfer-color-icon-box-shadow: @color-primary-6;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@transfer-prefix-cls: ~'@{prefix}-transfer';
.@{transfer-prefix-cls} {
display: flex;
align-items: center;
&-view {
display: flex;
flex-direction: column;
box-sizing: border-box;
width: @transfer-width;
height: @transfer-height;
border: @transfer-border-width solid @transfer-border-color;
border-radius: @transfer-border-radius;
&-search {
padding: @transfer-search-padding-top @transfer-search-padding-right
@transfer-search-padding-bottom @transfer-search-padding-left;
}
&-list {
flex: 1;
overflow: hidden;
}
&-custom-list {
flex: 1;
overflow: auto;
}
&-header,
&-item {
display: flex;
align-items: center;
padding: 0 @transfer-item-padding-horizontal;
}
&-header > *:first-child,
&-item &-item-content {
flex: 1;
.text-ellipsis();
&:not(:last-child) {
margin-right: 8px;
}
}
&-header {
height: @transfer-height-title;
line-height: $height;
font-size: @transfer-font-size-header;
font-weight: @transfer-font-weight-header;
background-color: @transfer-color-bg-header;
color: @transfer-color-text-header;
&-title {
display: flex;
align-items: center;
.@{prefix}-checkbox {
.text-ellipsis();
font-size: inherit;
&-text {
color: inherit;
}
}
}
&-unit {
margin-right: 2px;
font-weight: normal;
font-size: @transfer-font-size-header-unit;
color: @transfer-color-text-header-unit;
}
}
&-item {
position: relative;
height: @transfer-item-height;
line-height: $height;
list-style: none;
color: @transfer-item-color_default;
background-color: @transfer-item-color-bg_default;
cursor: default;
&-content {
font-size: @transfer-item-font-size;
}
&-disabled {
color: @transfer-item-color_disabled;
background-color: @transfer-item-color-bg_disabled;
cursor: not-allowed;
}
&:not(&-disabled):hover {
color: @transfer-item-color_hover;
background-color: @transfer-item-color-bg_hover;
}
.@{prefix}-checkbox {
width: 100%;
height: 100%;
&-text {
color: inherit;
}
}
/*********************************************
* Style of draggable items
********************************************/
&-draggable:first-child {
margin-top: @transfer-item-draggable-height-gap;
}
&-draggable:last-child {
margin-bottom: @transfer-item-draggable-height-gap;
}
&-draggable::before {
content: '';
display: block;
position: absolute;
left: 0;
right: 0;
height: @transfer-item-draggable-height-gap;
border-radius: ($height / 2);
}
&-gap-bottom::before {
bottom: -@transfer-item-draggable-height-gap;
background-color: @transfer-item-draggable-color-bg-gap;
}
&-gap-top::before {
top: -@transfer-item-draggable-height-gap;
background-color: @transfer-item-draggable-color-bg-gap;
}
&-dragging {
background-color: @transfer-item-draggable-color-bg_dragging !important;
color: @transfer-item-draggable-color_dragging !important;
}
&-dragged {
animation: ~'@{prefix}-transfer-drag-item-blink' 0.4s;
animation-timing-function: @transition-timing-function-linear;
}
}
& &-icon-clear {
margin-left: 8px;
}
& &-icon-clear,
& &-item-icon-remove {
cursor: pointer;
font-size: @transfer-font-size-icon;
color: @transfer-color-icon;
&:hover::before {
background-color: @transfer-color-bg-icon;
}
&:focus-visible::before {
box-shadow: 0 0 0 2px @transfer-color-icon-box-shadow;
}
}
.@{prefix}-list {
display: flex;
flex-direction: column;
height: 100%;
border-radius: 0;
&-content {
flex: 1;
overflow-y: auto;
}
&-footer {
display: flex;
align-items: center;
position: relative;
box-sizing: border-box;
height: @transfer-height-footer;
padding: 0 @transfer-padding-horizontal-footer;
}
.@{prefix}-pagination {
position: absolute;
top: 50%;
right: @transfer-padding-horizontal-footer;
margin: 0;
transform: translateY(-50%);
&-jumper-input {
width: @transfer-pagination-width-input;
}
&-jumper-separator {
padding: 0 @transfer-pagination-gap-separator;
}
}
}
.@{prefix}-checkbox {
padding-left: 6px;
&-wrapper {
display: inline;
}
.@{prefix}-icon-hover:hover::before {
background-color: @transfer-color-bg-icon;
}
}
}
&-operations {
padding: 0 @transfer-operation-padding-horizontal;
.@{prefix}-btn {
display: block;
&:last-child {
margin-top: @transfer-operation-gap-buttons;
}
}
&-words {
.@{prefix}-btn {
width: 100%;
padding: 0 12px;
text-align: left;
}
}
}
&-simple {
.@{transfer-prefix-cls}-view-source {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
}
.@{transfer-prefix-cls}-view-target {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
&-disabled {
.@{transfer-prefix-cls}-view-header {
color: @transfer-item-color_disabled;
}
}
}
@keyframes ~'@{prefix}-transfer-drag-item-blink' {
0% {
background-color: @transfer-item-draggable-color_blink;
}
100% {
background-color: transparent;
}
}
.@{transfer-prefix-cls}-rtl {
direction: rtl;
.@{transfer-prefix-cls}-view {
&-search {
padding: @transfer-search-padding-top @transfer-search-padding-left
@transfer-search-padding-bottom @transfer-search-padding-right;
}
&-header > *:first-child,
&-item &-item-content {
&:not(:last-child) {
margin-right: 0;
margin-left: 8px;
}
}
&-header-unit {
margin-left: 2px;
margin-right: 0;
}
&-icon-clear {
margin-right: 8px;
margin-left: 0;
}
.@{prefix}-list {
.@{prefix}-pagination {
right: initial;
left: @transfer-padding-horizontal-footer;
}
}
.@{prefix}-checkbox {
padding-left: 0;
padding-right: 6px;
}
}
.@{transfer-prefix-cls}-operations {
&-words {
.@{prefix}-btn {
text-align: right;
}
}
}
&.@{transfer-prefix-cls}-simple {
.@{transfer-prefix-cls}-view-source {
border-right: @transfer-border-width solid @transfer-border-color;
border-left: none;
}
}
}
/********** Transfer end ***************/
/********** Tree ***************/
@tree-color-title-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@tree-color-title-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@tree-color-title-text_active: @color-primary-6;
@tree-color-title-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@tree-color-title-text_active_disabled: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@tree-color-title-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tree-color-title-bg_highlight: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@tree-color-title-text_highlight: var(~'@{arco-cssvars-prefix}-color-text-1');
@tree-color-title-bg_dragging: var(~'@{arco-cssvars-prefix}-color-fill-1');
@tree-color-title-text_dragging: var(~'@{arco-cssvars-prefix}-color-text-4');
@tree-color-loading-icon: @color-primary-6;
@tree-color-switcher-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@tree-color-drag-icon: @color-primary-6;
@tree-node-border-radius: @radius-small;
@tree-margin-checkbox-right: @spacing-5;
@tree-margin-switcher-icon-right: @spacing-5;
@tree-margin-custom-icon-right: @spacing-5;
@tree-padding-title-horizontal: @spacing-2;
@tree-spacing-drag-icon-right: @spacing-6;
@tree-spacing-drag-icon-text: @spacing-22;
@tree-draggable-color-gap-bg: @color-primary-6;
@tree-draggable-size-gap-height: 2px;
@tree-showline-color-line-bg: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@tree-showline-color-plus-icon-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@tree-showline-color-plus-icon-border: @color-transparent;
@tree-showline-plus-icon-border-width: @border-1;
@tree-showline-size-plus-icon-stroke: 2px;
@tree-showline-size-plus-icon-width: 6px;
@tree-showline-size-line-width: @border-1;
@tree-showline-style-line: @border-solid;
@tree-showline-size-switcher-icon: 14px;
@tree-showline-spacing-line-vertical: @spacing-2;
@tree-showline-border-plus-icon-radius: @radius-small;
@tree-size-mini-icon-size: @size-3;
@tree-size-small-icon-size: @size-3;
@tree-size-default-icon-size: @size-3;
@tree-size-large-icon-size: @size-3;
@tree-size-expand-icon-bg_hover: @size-4;
@tree-size-mini-font-size: @font-size-body-1;
@tree-size-small-font-size: @font-size-body-3;
@tree-size-default-font-size: @font-size-body-3;
@tree-size-large-font-size: @font-size-body-3;
@tree-size-mini-line-height: @size-mini;
@tree-size-small-line-height: @size-small;
@tree-size-default-line-height: @size-default;
@tree-size-large-line-height: @size-large;
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@tree-prefix-cls: ~'@{prefix}-tree';
@tree-node-prefix-cls: ~'@{prefix}-tree-node';
/******* icon ******/
.icon-hover(@tree-node-prefix-cls, @tree-size-default-icon-size, @tree-size-expand-icon-bg_hover);
.getLinePos(@size) {
top: (@size / 2) + (@tree-showline-size-switcher-icon / 2) + @tree-showline-spacing-line-vertical;
bottom: min(
-((@size / 2) - (@tree-showline-size-switcher-icon / 2) - @tree-showline-spacing-line-vertical),
0
);
}
.getIndentLinePos(@size) {
top: @tree-showline-spacing-line-vertical -
((@size / 2) - (@tree-showline-size-switcher-icon / 2));
// 计算:距离上一节点的图标和下一节点的图标都是 @tree-showline-spacing-line-vertical
bottom: min(
-((@size / 2) - (@tree-showline-size-switcher-icon / 2) - @tree-showline-spacing-line-vertical),
0
);
}
.@{tree-node-prefix-cls} {
&-switcher {
font-size: @tree-size-default-icon-size;
color: @tree-color-switcher-icon;
cursor: pointer;
user-select: none;
display: flex;
align-items: center;
position: relative;
margin-right: @tree-margin-switcher-icon-right;
height: @tree-size-default-line-height;
width: @tree-size-default-icon-size;
flex-shrink: 0;
&-icon {
position: relative;
margin: 0 auto;
svg {
transform: rotate(-90deg);
position: relative;
transition: transform @transition-duration-2 @transition-timing-function-standard;
}
}
}
&-expanded &-switcher-icon svg,
&-is-leaf &-switcher-icon svg {
transform: rotate(0);
}
&-drag-icon {
color: @tree-color-drag-icon;
opacity: 0;
margin-left: @tree-spacing-drag-icon-text;
}
// 自定义icon
&-custom-icon {
font-size: inherit;
cursor: pointer;
user-select: none;
margin-right: @tree-margin-custom-icon-right;
}
.@{prefix}-icon-loading {
color: @tree-color-loading-icon;
}
&-minus-icon,
&-plus-icon {
cursor: pointer;
background: @tree-showline-color-plus-icon-bg;
border-radius: @tree-showline-border-plus-icon-radius;
position: relative;
display: block;
width: @tree-showline-size-switcher-icon;
height: @tree-showline-size-switcher-icon;
box-sizing: border-box;
border: @tree-showline-plus-icon-border-width solid @tree-showline-color-plus-icon-border;
&::after {
content: '';
position: absolute;
display: block;
color: @tree-color-switcher-icon;
width: @tree-showline-size-plus-icon-width;
height: @tree-showline-size-plus-icon-stroke;
background-color: @tree-color-switcher-icon;
border-radius: 0.5px;
top: 50%;
left: 50%;
margin-top: -(@tree-showline-size-plus-icon-stroke / 2);
margin-left: -(@tree-showline-size-plus-icon-width / 2);
}
}
&-plus-icon::before {
content: '';
border-radius: 0.5px;
position: absolute;
display: block;
color: @tree-color-switcher-icon;
height: @tree-showline-size-plus-icon-width;
width: @tree-showline-size-plus-icon-stroke;
background-color: @tree-color-switcher-icon;
left: 50%;
margin-left: -(@tree-showline-size-plus-icon-stroke / 2);
top: 50%;
margin-top: -(@tree-showline-size-plus-icon-width / 2);
}
}
/******* tree ***********/
.@{tree-prefix-cls} {
color: @tree-color-title-text;
.@{prefix}-checkbox {
margin-right: @tree-margin-checkbox-right;
padding-left: 0;
line-height: @tree-size-default-line-height;
}
&-node {
padding-left: (@tree-size-expand-icon-bg_hover / 2) - (@tree-size-default-icon-size / 2);
color: @tree-color-title-text;
position: relative;
cursor: pointer;
display: flex;
align-items: flex-start;
flex-wrap: nowrap;
line-height: @line-height-base;
&-selected &-title,
&-selected &-title:hover {
color: @tree-color-title-text_active;
transition: color @transition-duration-2 @transition-timing-function-linear;
}
&-disabled-selectable,
&-disabled {
.@{tree-node-prefix-cls}-title,
.@{tree-node-prefix-cls}-title:hover {
background: none;
color: @tree-color-title-text_disabled;
cursor: not-allowed;
}
}
&-disabled&-selected &-title {
color: @tree-color-title-text_active_disabled;
}
}
&-node-title-block {
flex: 1;
box-sizing: content-box;
.@{tree-node-prefix-cls}-drag-icon {
position: absolute;
right: @tree-spacing-drag-icon-right;
margin-left: unset;
}
}
&-node-indent {
align-self: stretch;
flex-shrink: 0;
position: relative;
}
&-node-indent-block {
display: inline-block;
width: @tree-size-default-icon-size;
margin-right: @tree-margin-switcher-icon-right;
height: 100%;
position: relative;
vertical-align: top;
}
&-node-title {
font-size: @tree-size-default-font-size;
padding: (round((@tree-size-default-line-height - @line-height-base * $font-size)) / 2) 0;
padding-left: @tree-padding-title-horizontal;
padding-right: @tree-padding-title-horizontal;
margin-left: -@tree-padding-title-horizontal;
border-radius: @tree-node-border-radius;
position: relative;
// overflow: hidden;
&:hover {
background-color: @tree-color-title-bg_hover;
color: @tree-color-title-text_hover;
.@{tree-node-prefix-cls}-drag-icon {
opacity: 1;
}
}
// &-draggable {
// margin-top: @tree-draggable-size-gap-height;
// }
&-draggable::before {
content: '';
display: block;
height: @tree-draggable-size-gap-height;
border-radius: (@tree-draggable-size-gap-height / 2);
left: 0;
right: 0;
position: absolute;
top: 0;
}
&-gap-bottom::before {
top: unset;
bottom: 0;
background-color: @tree-draggable-color-gap-bg;
}
&-gap-top::before {
background-color: @tree-draggable-color-gap-bg;
}
&-highlight {
background-color: @tree-color-title-bg_highlight;
color: @tree-color-title-text_highlight;
}
&-dragging,
&-dragging:hover {
background-color: @tree-color-title-bg_dragging;
color: @tree-color-title-text_dragging;
}
}
// show line
&-show-line {
padding-left: (@tree-size-expand-icon-bg_hover / 2) - (@tree-showline-size-switcher-icon / 2);
.@{tree-prefix-cls}-node-switcher {
width: @tree-showline-size-switcher-icon;
text-align: center;
.@{prefix}-tree-node-icon-hover {
width: 100%;
}
}
.@{tree-prefix-cls}-node-indent-block {
width: @tree-showline-size-switcher-icon;
}
.@{tree-prefix-cls}-node-indent-block::before {
position: absolute;
left: 50%;
transform: translateX(-50%);
width: @tree-showline-size-line-width;
border-left: @tree-showline-size-line-width @tree-showline-style-line
@tree-showline-color-line-bg;
content: '';
box-sizing: border-box;
.getIndentLinePos(@tree-size-default-line-height);
}
.@{tree-prefix-cls}-node-is-leaf:not(.@{tree-prefix-cls}-node-is-tail)
.@{tree-prefix-cls}-node-indent::after {
content: '';
position: absolute;
box-sizing: border-box;
border-left: @tree-showline-size-line-width @tree-showline-style-line
@tree-showline-color-line-bg;
width: @tree-showline-size-line-width;
right: -(@tree-showline-size-switcher-icon / 2);
transform: translateX(50%);
.getLinePos(@tree-size-default-line-height);
}
.@{tree-prefix-cls}-node-indent-block-lineless::before {
display: none;
}
}
}
/******** size *******/
.@{tree-prefix-cls}-size-mini {
.@{tree-prefix-cls}-node-switcher {
height: @tree-size-mini-line-height;
}
.@{prefix}-checkbox {
line-height: @tree-size-mini-line-height;
}
.@{tree-prefix-cls}-node-title {
font-size: @tree-size-mini-font-size;
line-height: 1.667;
padding-top: (round((@tree-size-mini-line-height - $line-height * $font-size)) / 2);
padding-bottom: $padding-top;
}
.@{tree-prefix-cls}-node-indent-block::before {
.getIndentLinePos(@tree-size-mini-line-height);
}
.@{tree-prefix-cls}-node-is-leaf:not(.@{tree-prefix-cls}-node-is-tail)
.@{tree-prefix-cls}-node-indent::after {
.getLinePos(@tree-size-mini-line-height);
}
}
.@{tree-prefix-cls}-size-small {
.@{tree-prefix-cls}-node-switcher {
height: @tree-size-small-line-height;
}
.@{prefix}-checkbox {
line-height: @tree-size-small-line-height;
}
.@{tree-prefix-cls}-node-title {
font-size: @tree-size-small-font-size;
padding-top: round((@tree-size-small-line-height - @line-height-base * $font-size)) / 2;
padding-bottom: $padding-top;
}
.@{tree-prefix-cls}-node-indent-block::before {
.getIndentLinePos(@tree-size-small-line-height);
}
.@{tree-prefix-cls}-node-is-leaf:not(.@{tree-prefix-cls}-node-is-tail)
.@{tree-prefix-cls}-node-indent::after {
.getLinePos(@tree-size-small-line-height);
}
}
.@{tree-prefix-cls}-size-large {
.@{tree-prefix-cls}-node-switcher {
height: @tree-size-large-line-height;
}
.@{prefix}-checkbox {
line-height: @tree-size-large-line-height;
}
.@{tree-prefix-cls}-node-title {
font-size: @tree-size-large-font-size;
padding-top: round((@tree-size-large-line-height - @line-height-base * $font-size)) / 2;
padding-bottom: $padding-top;
}
.@{tree-prefix-cls}-node-indent-block::before {
.getIndentLinePos(@tree-size-large-line-height);
}
.@{tree-prefix-cls}-node-is-leaf:not(.@{tree-prefix-cls}-node-is-tail)
.@{tree-prefix-cls}-node-indent::after {
.getLinePos(@tree-size-large-line-height);
}
}
.@{tree-prefix-cls}-node-list {
overflow: hidden;
transition: height @transition-duration-2 @transition-timing-function-standard;
}
.@{tree-prefix-cls}-rtl {
direction: rtl;
.@{tree-node-prefix-cls} {
&-switcher {
margin-left: @tree-margin-switcher-icon-right;
margin-right: 0;
&-icon {
svg {
transform: rotate(90deg);
}
}
}
&-expanded,
&-is-leaf {
.@{tree-node-prefix-cls}-switcher-icon svg {
transform: rotate(0);
}
}
&-custom-icon {
margin-right: 0;
margin-left: @tree-margin-custom-icon-right;
}
&-minus-icon,
&-plus-icon {
&::after {
margin-left: 0;
margin-right: -(@tree-showline-size-plus-icon-width / 2);
}
}
&-plus-icon::before {
margin-left: 0;
margin-right: -(@tree-showline-size-plus-icon-stroke / 2);
}
}
.@{prefix}-checkbox {
padding-right: 0;
margin-right: 0;
margin-left: @tree-margin-checkbox-right;
}
.@{tree-prefix-cls}-node {
padding-left: 0;
padding-right: (@tree-size-expand-icon-bg_hover / 2) - (@tree-size-default-icon-size / 2);
align-items: flex-end;
&-title-block {
.@{tree-node-prefix-cls}-drag-icon {
left: @tree-spacing-drag-icon-right;
right: initial;
margin-right: unset;
}
}
}
&-node-indent-block {
margin-right: 0;
margin-left: @tree-margin-switcher-icon-right;
}
&-node-title {
padding-right: @tree-padding-title-horizontal;
padding-left: @tree-padding-title-horizontal;
margin-left: unset;
margin-right: -@tree-padding-title-horizontal;
}
&-show-line {
padding-left: 0;
padding-right: (@tree-size-expand-icon-bg_hover / 2) - (@tree-showline-size-switcher-icon / 2);
.@{tree-prefix-cls}-node-indent-block::before {
border-left: none;
border-right: @tree-showline-size-line-width @tree-showline-style-line
@tree-showline-color-line-bg;
}
.@{tree-prefix-cls}-node-is-leaf:not(.@{tree-prefix-cls}-node-is-tail)
.@{tree-prefix-cls}-node-indent::after {
left: -(@tree-showline-size-switcher-icon / 2);
}
}
}
/********** Tree end ***************/
/********** TreeSelect ***************/
.fixedWidth(@width) {
width: @width;
min-width: @width;
max-width: @width;
}
.icon-hover(@prefixCls, @inner-height, @bg-height) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover::before {
width: @bg-height;
height: @bg-height;
}
}
.icon-hover-bg(@prefixCls, @background-color-hover) {
.@{prefix}-icon-hover.@{prefixCls}-icon-hover:hover::before {
background-color: @background-color-hover;
}
}
.text-ellipsis() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* type: single / multi
* size: mini / small / default / large
**********************************************/
@select-size-mini-height: @size-mini;
@select-size-small-height: @size-small;
@select-size-default-height: @size-default;
@select-size-large-height: @size-large;
@select-size-mini-font-size: @font-size-body-1;
@select-size-small-font-size: @font-size-body-3;
@select-size-default-font-size: @font-size-body-3;
@select-size-large-font-size: @font-size-body-3;
@select-signal-size-mini-padding: @spacing-4;
@select-signal-size-small-padding: @spacing-6;
@select-signal-size-default-padding: @spacing-6;
@select-signal-size-large-padding: @spacing-7;
@select-multi-padding: @spacing-2;
@select-size-icon: @size-3;
@select-size-icon-bg: @size-4;
/**********************************************
* border
**********************************************/
@select-border-width: @border-1;
@select-border-radius: @radius-small;
/************************************************
* status: default / disabled _ (hover / focus)
************************************************/
// text color
@select-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-text_focused: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-color-placeholder_default: var(~'@{arco-cssvars-prefix}-color-text-3');
@select-color-placeholder_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-placeholder_focused: var(~'@{arco-cssvars-prefix}-color-text-3');
// icon color
@select-color-icon_default: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-color-icon_focused: var(~'@{arco-cssvars-prefix}-color-text-2');
@select-color-icon-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// bg color with hover & focus
@select-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@select-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@select-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@select-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-color-bg_disabled_hover: @select-color-bg_disabled;
// border color with hover & focus
@select-color-border_default: @color-transparent;
@select-color-border_default_hover: @color-transparent;
@select-color-border_default_focus: @color-primary-6;
@select-color-border_error: @color-transparent;
@select-color-border_error_hover: @color-transparent;
@select-color-border_error_focus: @color-danger-6;
@select-color-border_disabled: @color-transparent;
@select-color-border_disabled_hover: @select-color-border_disabled;
// shadow
@select-shadow-distance_default_focus: @shadow-distance-none;
@select-shadow-distance_error_focus: @shadow-distance-none;
@select-color-shadow_default_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@select-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
/**********************************************
* Popup Box
**********************************************/
@select-popup-max-height: @size-50;
@select-popup-border-radius: @radius-medium;
@select-popup-padding-vertical: @spacing-2;
@select-popup-padding-horizontal: @spacing-none;
@select-popup-font-size: @font-size-body-3;
@select-popup-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@select-popup-box-shadow: @shadow2-down;
/**********************************************
* Popup Options
* status: default / disabled / selected / hover
**********************************************/
@select-popup-option-height: @size-9;
@select-popup-option-font-weight_selected: @font-weight-500;
@select-signal-popup-option-padding-horizontal: @spacing-6;
@select-multi-popup-option-padding-horizontal: @spacing-2;
@select-popup-option-border-radius: @border-radius-none;
@select-popup-option-color-bg_default: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@select-popup-option-color-bg_selected: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-bg-popup');
@select-popup-option-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_selected: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@select-popup-option-color-hightlight-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@select-popup-option-font-hightlight-weight: @font-weight-500;
// option group title
@select-popup-group-title-height: @size-5;
@select-popup-group-title-padding-horizontal: @spacing-6;
@select-popup-group-title-padding-top: @spacing-4;
@select-popup-group-title-font-size: @font-size-body-1;
@select-popup-group-title-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
// addon
@select-addon-padding-horizontal: @spacing-6;
@select-color-addon-bg: @select-color-bg_default;
@select-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@select-color-addon-border_default: @color-transparent;
@select-border-addon-separator-width: @border-1;
@select-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// warning
@select-color-bg_warning_focus: @input-color-bg_warning_focus;
@select-color-bg_warning: @input-color-bg_warning;
@select-color-bg_warning_hover: @input-color-bg_warning_hover;
@select-color-border_warning: @input-color-border_warning;
@select-color-border_warning_hover: @input-color-border_warning_hover;
@select-color-border_warning_focus: @input-color-border_warning_focus;
@select-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@select-shadow-distance_warning_focus: @select-shadow-distance_error_focus;
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
/**********************************************
* size: mini / small / default / large
**********************************************/
@input-tag-size-mini-height: @size-mini;
@input-tag-size-small-height: @size-small;
@input-tag-size-default-height: @size-default;
@input-tag-size-large-height: @size-large;
@input-tag-size-mini-tag-height: @size-5;
@input-tag-size-small-tag-height: @size-5;
@input-tag-size-default-tag-height: @size-6;
@input-tag-size-large-tag-height: @size-7;
@input-tag-size-mini-font-size: @font-size-body-1;
@input-tag-size-small-font-size: @font-size-body-3;
@input-tag-size-default-font-size: @font-size-body-3;
@input-tag-size-large-font-size: @font-size-title-1;
@input-tag-size-mini-padding_no_tag: @spacing-4;
@input-tag-size-small-padding_no_tag: @spacing-6;
@input-tag-size-default-padding_no_tag: @spacing-6;
@input-tag-size-large-padding_no_tag: @spacing-7;
/****************************************************
* status: default / error / disabled _ (hover / focus)
****************************************************/
// text color
@input-tag-color-text_default: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_error: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// icon color
@input-tag-color-placeholder: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-tag-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-tag-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// border color with focus & hover
@input-tag-color-border_default: @color-transparent;
@input-tag-color-border_default_hover: @color-transparent;
@input-tag-color-border_default_focus: @color-primary-6;
@input-tag-color-border_error: @color-transparent;
@input-tag-color-border_error_hover: @color-transparent;
@input-tag-color-border_error_focus: @color-danger-6;
@input-tag-color-border_disabled: @color-transparent;
@input-tag-color-border_disabled_hover: @input-tag-color-border_disabled;
@input-tag-color-border_disabled_focus: @input-tag-color-border_disabled;
// bg color with focus & hover
@input-tag-color-bg_default: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_default_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-color-bg_default_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_error: @color-danger-1;
@input-tag-color-bg_error_hover: @color-danger-2;
@input-tag-color-bg_error_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-color-bg_disabled_hover: @input-tag-color-bg_disabled;
@input-tag-color-shadow_default_focus: @color-primary-2;
@input-tag-color-shadow_error_focus: @color-danger-2;
@input-tag-size-shadow_error_focus: @shadow-distance-none;
@input-tag-size-shadow_default_focus: @shadow-distance-none;
// input box
@input-tag-tag-margin-right: @spacing-2;
@input-tag-tag-margin-vertical: @spacing-1;
@input-tag-padding-horizontal: @spacing-2;
@input-tag-border-radius: @radius-small;
@input-tag-border-width: @border-1;
@input-tag-size-icon-clear: @size-3;
@input-tag-size-icon-clear_hover: @size-5;
// tags
@input-tag-tag-font-size: @font-size-body-1;
@input-tag-tag-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-tag-tag-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-color-border: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-tag-tag-color-border_focus: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-tag-tag-remove-icon-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-fill-3');
// warning
@input-tag-color-text_warning: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-color-border_warning: @input-color-border_warning;
@input-tag-color-border_warning_hover: @input-color-border_warning_hover;
@input-tag-color-border_warning_focus: @input-color-border_warning_focus;
@input-tag-color-bg_warning: @input-color-bg_warning;
@input-tag-color-bg_warning_hover: @input-color-bg_warning_hover;
@input-tag-color-bg_warning_focus: @input-color-bg_warning_focus;
@input-tag-color-shadow_warning_focus: @input-color-shadow_warning_focus;
@input-tag-size-shadow_warning_focus: @input-size-shadow_warning_focus;
// addon
@input-tag-addon-padding-horizontal: @spacing-6;
@input-tag-color-addon-bg: @input-tag-color-bg_default;
@input-tag-color-addon-border: var(~'@{arco-cssvars-prefix}-color-border-2');
@input-tag-color-addon-border_default: @color-transparent;
@input-tag-border-addon-separator-width: @border-1;
@input-tag-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-tag-prefix-cls: ~'@{prefix}-input-tag';
.input-tag-input-element-padding(@paddingLeft) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
box-sizing: border-box;
padding-left: @paddingLeft;
}
}
}
.input-tag-input-element-padding-rtl(@paddingRight) {
.@{input-tag-prefix-cls}-has-placeholder {
input,
.@{input-tag-prefix-cls}-input-mirror {
padding-left: 0;
padding-right: @paddingRight;
}
}
}
// used by form
.color(@prefixCls, @status) {
@suffix: if(@status = default, ~'', ~'-@{status}');
.@{prefixCls}@{suffix} {
.@{prefixCls}-view {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-text_@{status}}';
}
background-color: ~'@{select-color-bg_@{status}}';
border: 1px solid ~'@{select-color-border_@{status}}';
}
&:hover {
.@{prefixCls}-view {
background-color: ~'@{select-color-bg_@{status}_hover}';
border-color: ~'@{select-color-border_@{status}_hover}';
}
}
&.@{prefixCls}-focused when not (@status = disabled) {
.@{prefixCls}-view {
color: @select-color-text_focused;
background-color: ~'@{select-color-bg_@{status}_focus}';
border-color: ~'@{select-color-border_@{status}_focus}';
box-shadow: 0 0 0 ~'@{select-shadow-distance_@{status}_focus}' ~'@{select-color-shadow_@{status}_focus}';
}
}
.@{prefixCls}-suffix-icon,
.@{prefixCls}-loading-icon,
.@{prefixCls}-search-icon,
.@{prefixCls}-clear-icon,
.@{prefixCls}-arrow-icon,
.@{prefixCls}-expand-icon {
& when (@status = default) , (@status = disabled) {
color: ~'@{select-color-icon_@{status}}';
}
}
}
.@{prefixCls}-no-border {
.@{prefixCls}-view {
border: none !important;
background: none !important;
}
}
}
.select-view(@prefixCls) {
@tail-icon-position-right: 10px;
.size(@size) {
@ref-font-size: ~'select-size-@{size}-font-size';
@ref-height: ~'select-size-@{size}-height';
@ref-padding: ~'select-signal-size-@{size}-padding';
@font-size: @@ref-font-size;
@height: @@ref-height;
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixCls} {
&-size-@{size}&-multiple {
.@{prefixCls}-view {
height: auto;
font-size: @font-size;
padding: 0 @multi-padding;
line-height: 0;
}
.input-tag-input-element-padding(@padding - @multi-padding);
.@{prefixCls}-suffix {
padding-right: @padding - @multi-padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-single {
.@{prefixCls}-view {
height: @height;
line-height: $height - @select-border-width * 2;
font-size: @font-size;
padding: 0 @padding;
}
input {
font-size: @font-size;
}
}
&-size-@{size}&-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: @padding;
}
}
}
}
.color(@prefixCls, default);
.color(@prefixCls, error);
.color(@prefixCls, warning);
.color(@prefixCls, disabled);
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls} {
display: inline-block;
position: relative;
box-sizing: border-box;
width: 100%;
cursor: pointer;
&-view {
display: flex;
position: relative;
box-sizing: border-box;
width: 100%;
border-radius: @select-border-radius;
outline: none;
user-select: none;
text-align: left;
transition: all @transition-duration-1 @transition-timing-function-linear, padding 0s linear;
input {
color: inherit;
cursor: inherit;
&::placeholder {
color: @select-color-placeholder_default;
}
// since Chrome 116 won't trigger onClick callback
// remove all events of disabled to make sure Trigger works correctly
&[disabled] {
pointer-events: none;
}
}
}
.hide-input-element() {
// 需要在隐藏 input 的同时保证其能被 Tab 键聚焦
// 故不要用 display: none / visibility: hidden / width: 0
// width 设置为 0,会导致在火狐浏览器下触发 onFocus 之后不能立刻触发 onClick
// https://github.com/arco-design/arco-design/issues/1232
opacity: 0;
position: absolute;
// 避免绝对定位的元素位于所有同级节点的最上层,遮挡其他元素的鼠标操作(例如被 Tooltip 包裹的 value 文本)
// 不要使用 pointer-events: none,会导致火狐浏览器下下拉弹窗需要点击两次才可弹出
// https://github.com/arco-design/arco-design/issues/2127
z-index: -1;
}
&-multiple,
&-show-search {
cursor: text;
}
&-disabled {
cursor: not-allowed;
.@{prefixCls}-view input::placeholder {
color: @select-color-placeholder_disabled;
}
}
&-single &-view {
// Keep forward compatibility
// Do NOT move this section under &-selector
&-input {
box-sizing: border-box;
width: 100%;
padding: 0;
border: none;
outline: none;
background: transparent;
.text-ellipsis();
}
&-selector {
position: relative;
display: inline-flex;
box-sizing: border-box;
width: 100%;
overflow: hidden;
// Keep forward compatibility
// Do NOT move this section out of &-selector
.@{prefixCls}-view-input {
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
z-index: 1;
}
.@{prefixCls}-view-value-mirror {
opacity: 0;
}
}
&-value,
&-value-mirror {
display: inline-block;
box-sizing: border-box;
width: 100%;
.text-ellipsis();
// Do NOT remove this, it may cause baseline-changing of select-view
&::after {
content: '.';
font-size: 0;
line-height: 0;
visibility: hidden;
}
}
.@{prefixCls}-hidden {
.hide-input-element();
}
}
&-multiple {
vertical-align: top;
.@{prefixCls}-view {
padding: 0 @select-multi-padding;
line-height: 0;
}
.@{prefixCls}-view-with-prefix {
padding-left: @select-signal-size-default-padding;
}
.@{prefix}-input-tag {
flex: 1;
padding: 0;
border: none !important;
background: none !important;
box-shadow: none !important;
overflow: hidden;
}
.@{prefix}-tag {
max-width: 100%;
}
// 多选的空白输入框在已存在选择项并且未聚焦时隐藏,避免导致不必要的换行
&:not(.@{prefixCls}-focused) {
.@{prefix}-input-tag input:not(:first-child)[value=''] {
.hide-input-element();
}
}
}
&-prefix {
display: flex;
align-items: center;
margin-right: 12px;
white-space: nowrap;
color: @select-color-icon_default;
}
&-suffix {
display: flex;
align-items: center;
margin-left: 4px;
}
&-suffix-icon,
&-search-icon,
&-loading-icon,
&-expand-icon,
&-clear-icon {
font-size: @select-size-icon;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
&-arrow-icon {
font-size: @select-size-icon;
}
&-open &-arrow-icon svg {
transform: rotateZ(180deg);
}
& &-clear-icon {
display: none;
cursor: pointer;
> svg {
position: relative;
transition: all @transition-duration-1 @transition-timing-function-linear;
}
}
&:hover &-clear-icon {
display: block;
& ~ * {
display: none;
}
}
&-wrapper {
display: inline-flex;
align-items: stretch;
width: 100%;
.@{prefixCls} {
min-width: 0; // 避免 .arco-select 宽度超出 .arco-select-wrapper
}
.@{prefixCls}:not(.@{prefixCls}-focused) {
&:not(:first-child) .@{prefixCls}-view {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) .@{prefixCls}-view {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
// &-addafter,
&-addbefore {
display: flex;
align-items: center;
padding: 0 @select-addon-padding-horizontal;
color: @select-color-addon-text;
background-color: @select-color-addon-bg;
white-space: nowrap;
border: 1px solid @select-color-addon-border_default;
}
&-addbefore {
border-right: @select-border-addon-separator-width solid @select-color-addon-border;
border-top-left-radius: @select-border-radius;
border-bottom-left-radius: @select-border-radius;
}
// &-addafter {
// border-left: @select-border-addon-separator-width solid @select-color-addon-border;
// border-top-right-radius: @select-border-radius;
// border-bottom-right-radius: @select-border-radius;
// }
}
}
.select-view-rtl(@prefixCls, @prefixClsRtl) {
.size(@size) {
@ref-padding: ~'select-signal-size-@{size}-padding';
@padding: @@ref-padding - @select-border-width;
@multi-padding: @select-multi-padding - @select-border-width;
.@{prefixClsRtl}.@{prefixCls}-size-@{size}.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @padding;
}
.@{prefixCls}-suffix {
padding-right: 0;
padding-left: @padding - @multi-padding;
}
.input-tag-input-element-padding-rtl(@padding - @multi-padding);
}
}
.size(mini);
.size(small);
.size(default);
.size(large);
.@{prefixCls}-wrapper-rtl .@{prefixCls}-addbefore {
border-right: unset;
border-left: @select-border-addon-separator-width solid @select-color-addon-border;
}
.@{prefixClsRtl} {
.@{prefixCls}-view {
text-align: right;
}
.@{prefixCls}-multiple {
.@{prefixCls}-view-with-prefix {
padding-left: 0;
padding-right: @select-signal-size-default-padding;
}
}
.@{prefixCls}-prefix {
margin-right: 0;
margin-left: 12px;
}
.@{prefixCls}-suffix {
margin-left: 0;
margin-right: 4px;
}
}
}
@tree-select-padding-popup-left: @spacing-5;
@tree-select-padding-popup-right: @spacing-2;
@tree-select-padding-popup-vertical: @spacing-2;
@tree-prefix-cls: ~'@{prefix}-tree';
@tree-select-prefix-cls: ~'@{prefix}-tree-select';
@tree-select-prefix-cls-rtl: ~'@{prefix}-tree-select-rtl';
.select-view(@tree-select-prefix-cls);
.@{tree-select-prefix-cls} {
&-popup {
box-sizing: border-box;
border: 1px solid @select-popup-color-border;
border-radius: @select-popup-border-radius;
background-color: var(~'@{arco-cssvars-prefix}-color-bg-popup');
box-shadow: @select-popup-box-shadow;
padding: @tree-select-padding-popup-vertical 0;
padding-left: @tree-select-padding-popup-left;
padding-right: @tree-select-padding-popup-right;
max-height: @select-popup-max-height;
overflow: auto;
.@{tree-prefix-cls}-node {
padding-left: 0;
}
}
&-highlight {
font-weight: @font-weight-500;
}
}
.@{tree-select-prefix-cls}-rtl {
direction: rtl;
&-popup {
padding-left: @tree-select-padding-popup-right;
padding-right: @tree-select-padding-popup-left;
}
}
.select-view-rtl(@tree-select-prefix-cls,@tree-select-prefix-cls-rtl);
/********** TreeSelect end ***************/
/********** Trigger ***************/
@trigger-color-arrow-bg: var(~'@{arco-cssvars-prefix}-color-bg-5');
@trigger-size-arrow-width: @size-2;
@trigger-border-arrow-radius: 2px;
@trigger-prefix-cls: ~'@{prefix}-trigger';
.@{trigger-prefix-cls} {
position: absolute;
z-index: @z-index-popup;
backface-visibility: hidden; // Prevent shaking
&-arrow {
background-color: @trigger-color-arrow-bg;
content: '';
height: @trigger-size-arrow-width;
width: @trigger-size-arrow-width;
position: absolute;
display: block;
box-sizing: border-box;
transform: rotate(45deg);
transform-origin: 50% 50% 0;
z-index: -1;
}
&[trigger-placement='top'] > &-arrow-container &-arrow,
&[trigger-placement='tl'] > &-arrow-container &-arrow,
&[trigger-placement='tr'] > &-arrow-container &-arrow {
bottom: -(@trigger-size-arrow-width / 2);
margin-left: -(@trigger-size-arrow-width / 2);
border-top: none;
border-left: none;
border-bottom-right-radius: @trigger-border-arrow-radius;
}
&[trigger-placement='bottom'] > &-arrow-container &-arrow,
&[trigger-placement='bl'] > &-arrow-container &-arrow,
&[trigger-placement='br'] > &-arrow-container &-arrow {
top: -(@trigger-size-arrow-width / 2);
margin-left: -(@trigger-size-arrow-width / 2);
border-bottom: none;
border-right: none;
border-top-left-radius: @trigger-border-arrow-radius;
}
&[trigger-placement='left'] > &-arrow-container &-arrow,
&[trigger-placement='lt'] > &-arrow-container &-arrow,
&[trigger-placement='lb'] > &-arrow-container &-arrow {
right: -(@trigger-size-arrow-width / 2);
margin-top: -(@trigger-size-arrow-width / 2);
border-left: none;
border-bottom: none;
border-top-right-radius: @trigger-border-arrow-radius;
}
&[trigger-placement='right'] > &-arrow-container &-arrow,
&[trigger-placement='rt'] > &-arrow-container &-arrow,
&[trigger-placement='rb'] > &-arrow-container &-arrow {
left: -(@trigger-size-arrow-width / 2);
margin-top: -(@trigger-size-arrow-width / 2);
border-top: none;
border-right: none;
border-bottom-left-radius: @trigger-border-arrow-radius;
}
&-rtl {
direction: rtl;
}
}
/********** Trigger end ***************/
/********** Typography ***************/
@typography-font-size-h1: 36px;
@typography-font-size-h2: 32px;
@typography-font-size-h3: 28px;
@typography-font-size-h4: 24px;
@typography-font-size-h5: 20px;
@typography-font-size-h6: 16px;
@typography-heading-margin-top: 1em;
@typography-heading-margin-bottom: 0.5em;
@typography-heading-font-weight: @font-weight-500;
@typography-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@typography-text-color-text-primary: @color-primary-6;
@typography-text-color-text-secondary: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-text-color-text-success: @color-success-6;
@typography-text-color-text-warning: @color-warning-6;
@typography-text-color-text-error: @color-danger-6;
@typography-text-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@typography-text-color-bg-mark: rgb(var(~'@{arco-cssvars-prefix}-yellow-4'));
@typography-text-font-weight-bold: @font-weight-500;
@typography-text-color-code: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-text-color-code-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@typography-text-color-code-bg: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@typography-text-padding-code-vertical: 2px;
@typography-text-padding-code-horizontal: 8px;
@typography-text-margin-code-horizontal: 2px;
@typography-paragraph-line-height: @line-height-base;
@typography-paragraph-line-height-close: 1.3;
// Operations
@typography-operation-margin-left: @spacing-1;
@typography-color-icon-copy: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-color-bg-icon-copy: @color-transparent;
@typography-color-icon-copy_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-color-bg-icon-copy_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@typography-color-icon-copy_copied: @color-success-6;
@typography-color-icon-edit: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-color-bg-icon-edit: @color-transparent;
@typography-color-icon-edit_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@typography-color-bg-icon-edit_hover: var(~'@{arco-cssvars-prefix}-color-fill-2');
@typography-color-expand-text: @color-primary-6;
@typography-color-expand-text_hover: @color-primary-5;
@typography-color-blockquote-border-width: 2px;
@typography-color-blockquote-border-left: var(~'@{arco-cssvars-prefix}-color-neutral-6');
@typography-color-blockquote-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@typography-color-box-shadow: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@ellipsis-action-text-color: @color-primary-6;
@ellipsis-action-text-color_hover: @color-primary-5;
/******** 基础配置项 end *******/
// 背景色
@input-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@input-color-bg_focus: var(~'@{arco-cssvars-prefix}-color-bg-2');
@input-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-2');
@input-color-addon-bg: @input-color-bg;
// 边框色
@input-color-addon-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@input-border-addon-separator-width: @border-1;
@input-color-border_focus: @color-primary-6;
@input-color-shadow_focus: var(~'@{arco-cssvars-prefix}-color-primary-light-2');
@input-size-shadow_focus: @shadow-distance-none;
@input-color-addon-border_default: @color-transparent;
// 文本色
@input-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@input-color-placeholder-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
// 默认前后标签文本色
@input-color-addon-text: var(~'@{arco-cssvars-prefix}-color-text-1');
// textarea color
@textarea-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
/******** 基础配置项 end *******/
/******** 高级配置项 *******/
// 错误状态
@input-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@input-color-bg_error_hover: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-color-bg_error_focus: @input-color-bg_focus;
@input-color-border_error_focus: @color-danger-6;
@input-color-shadow_error_focus: var(~'@{arco-cssvars-prefix}-color-danger-light-2');
@input-size-shadow_error_focus: @shadow-distance-none;
// warning 状态
@input-color-bg_warning: var(~'@{arco-cssvars-prefix}-color-warning-light-1');
@input-color-bg_warning_hover: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-color-bg_warning_focus: @input-color-bg_focus;
@input-color-border_warning_focus: @color-warning-6;
@input-color-shadow_warning_focus: var(~'@{arco-cssvars-prefix}-color-warning-light-2');
@input-size-shadow_warning_focus: @shadow-distance-none;
// 圆角
@input-border-radius: @radius-small;
// 不同尺寸
@input-size-default-height: @size-default;
@input-size-mini-height: @size-mini;
@input-size-small-height: @size-small;
@input-size-large-height: @size-large;
// 边框尺寸以及边框色
@input-border-width: @border-1;
@input-color-border: @color-transparent;
@input-color-border_disabled: @color-transparent;
@input-color-border_hover: @color-transparent;
@input-color-border_error: @color-transparent;
@input-color-border_error_hover: @color-transparent;
@input-color-border_warning: @color-transparent;
@input-color-border_warning_hover: @color-transparent;
// 不同尺寸文字大小
@input-size-default-font-size: @font-size-body-3;
@input-size-small-font-size: @font-size-body-3;
@input-size-large-font-size: @font-size-body-3;
@input-size-mini-font-size: @font-size-body-1;
@input-font-tip-size: @font-size-body-1; // show limit word 文字色
// 不同尺寸的 suffix,addon 尺寸。
@input-size-mini-icon-suffix-size: @size-3;
@input-size-small-icon-suffix-size: 14px;
@input-size-default-icon-suffix-size: 14px;
@input-size-large-icon-suffix-size: 14px;
@input-size-mini-icon-addon-size: @size-3;
@input-size-small-icon-addon-size: 14px;
@input-size-default-icon-addon-size: 14px;
@input-size-large-icon-addon-size: 14px;
@input-size-icon-clear: @size-3;
@input-color-prefix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-suffix-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-tip-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@input-color-icon-clear: var(~'@{arco-cssvars-prefix}-color-text-2');
@input-color-icon-clear-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-4');
// input search
@search-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@search-button-color-text: var(~'@{arco-cssvars-prefix}-color-white');
@search-size-icon: 14px;
@search-button-padding-horizontal: @spacing-4;
// 布局
@input-padding-horizontal: @spacing-6;
@input-size-mini-padding-horizontal: @spacing-4;
@input-size-small-padding-horizontal: @spacing-6;
@input-size-large-padding-horizontal: @spacing-7;
@input-spacing-clear-icon-right: @spacing-4;
@input-padding-word-limit-left: @spacing-4;
// textarea
@textarea-padding-horizontal: @spacing-6;
@textarea-padding-vertical: @spacing-2;
@textarea-font-size: @font-size-body-3;
@textarea-font-tip-size: @font-size-body-1;
@textarea-layout-tip-right: @spacing-5;
@textarea-layout-tip-bottom: @spacing-3;
@textarea-size-min-height: @size-default;
@textarea-size-icon-clear: @font-size-body-1;
@textarea-layout-top-icon-clear: @spacing-5;
// password
@password-color-eye-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@password-size-eye-icon: @size-3;
// input.group
@input-group-border-radius_compact: @radius-small;
@input-group-border-separator-width: @border-1;
@input-group-color-separator-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
/******** 高级配置项 end *******/
@typography-prefix-cls: ~'@{prefix}-typography';
@ellipsis-cls: ~'@{prefix}-ellipsis';
// Title
.@{typography-prefix-cls} {
color: @typography-color-text;
line-height: @typography-paragraph-line-height;
word-break: break-all;
white-space: normal;
h1&,
&-h1,
h2&,
&-h2,
h3&,
&-h3,
h4&,
&-h4,
h5&,
&-h5,
h6&,
&-h6 {
font-weight: @typography-heading-font-weight;
margin-top: @typography-heading-margin-top;
margin-bottom: @typography-heading-margin-bottom;
}
h1&,
&-h1 {
font-size: @typography-font-size-h1;
line-height: 1.23;
}
h2&,
&-h2 {
font-size: @typography-font-size-h2;
line-height: 1.25;
}
h3&,
&-h3 {
font-size: @typography-font-size-h3;
line-height: 1.29;
}
h4&,
&-h4 {
font-size: @typography-font-size-h4;
line-height: 1.33;
}
h5&,
&-h5 {
font-size: @typography-font-size-h5;
line-height: 1.4;
}
h6&,
&-h6 {
font-size: @typography-font-size-h6;
line-height: 1.5;
}
div&,
p& {
margin-top: 0;
margin-bottom: 1em;
}
&-simple-ellipsis {
display: flex;
align-items: flex-end;
white-space: nowrap;
}
// Text
&-primary {
color: @typography-text-color-text-primary;
}
&-secondary {
color: @typography-text-color-text-secondary;
}
&-success {
color: @typography-text-color-text-success;
}
&-warning {
color: @typography-text-color-text-warning;
}
&-error {
color: @typography-text-color-text-error;
}
&-disabled {
color: @typography-text-color-text_disabled;
cursor: not-allowed;
}
& mark {
background-color: @typography-text-color-bg-mark;
}
& u {
text-decoration: underline;
}
& del {
text-decoration: line-through;
}
& b {
font-weight: @typography-text-font-weight-bold;
}
& code {
font-size: 85%;
color: @typography-text-color-code;
border: 1px solid @typography-text-color-code-border;
background-color: @typography-text-color-code-bg;
padding: @typography-text-padding-code-vertical @typography-text-padding-code-horizontal;
margin: 0 @typography-text-margin-code-horizontal;
border-radius: 2px;
}
& blockquote {
margin: 0;
margin-bottom: 1em;
border-left: @typography-color-blockquote-border-width solid
@typography-color-blockquote-border-left;
background-color: @typography-color-blockquote-bg;
padding-left: 8px;
}
& ol,
& ul {
padding: 0;
margin: 0;
}
& ul li,
& ol li {
margin-left: 20px;
}
& ul {
list-style: circle;
}
&-spacing-close {
line-height: @typography-paragraph-line-height-close;
}
// Operations
&-operation-copy,
&-operation-copied {
padding: 2px;
margin-left: @typography-operation-margin-left;
}
&-operation-copy {
cursor: pointer;
color: @typography-color-icon-copy;
background-color: @typography-color-bg-icon-copy;
border-radius: 2px;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
&:hover {
color: @typography-color-icon-copy_hover;
background-color: @typography-color-bg-icon-copy_hover;
}
&:focus-visible {
box-shadow: 0 0 0 2px @typography-color-box-shadow;
}
}
&-operation-copied {
color: @typography-color-icon-copy_copied;
}
&-operation-edit {
padding: 2px;
margin-left: @typography-operation-margin-left;
cursor: pointer;
color: @typography-color-icon-edit;
background-color: @typography-color-bg-icon-edit;
border-radius: 2px;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
&:hover {
color: @typography-color-icon-edit_hover;
background-color: @typography-color-bg-icon-edit_hover;
}
&:focus-visible {
box-shadow: 0 0 0 2px @typography-color-box-shadow;
}
}
&-operation-expand {
color: @typography-color-expand-text;
margin: 0 4px;
cursor: pointer;
&:hover {
color: @typography-color-expand-text_hover;
}
&:focus-visible {
box-shadow: 0 0 0 2px @typography-color-box-shadow;
border-radius: @radius-small;
}
}
// edit content
&-edit-content {
position: relative;
left: -(@textarea-padding-horizontal + @input-border-width);
margin-right: -(@textarea-padding-horizontal + @input-border-width);
margin-top: -(@textarea-padding-vertical + @input-border-width);
margin-bottom: calc(1em - @textarea-padding-vertical - @input-border-width);
}
&-edit-content-textarea {
font-weight: inherit;
font-size: inherit;
line-height: inherit;
}
}
.@{typography-prefix-cls}-rtl {
direction: rtl;
& blockquote {
border-right: @typography-color-blockquote-border-width solid
@typography-color-blockquote-border-left;
padding-right: 8px;
padding-left: 0;
}
& ul li,
& ol li {
margin-left: 0;
margin-right: 20px;
}
.@{typography-prefix-cls} {
&-operation-copy,
&-operation-copied,
&-operation-edit {
margin-right: @typography-operation-margin-left;
margin-left: 0;
}
&-edit-content {
left: initial;
right: -(@textarea-padding-horizontal + @input-border-width);
margin-left: -(@textarea-padding-horizontal + @input-border-width);
margin-right: 0;
}
}
}
.@{ellipsis-cls} {
display: flex;
position: relative;
&-content {
&.@{ellipsis-cls}-multiple::before {
content: ' ';
float: right;
height: 100%;
margin-bottom: -21px;
}
.@{ellipsis-cls}-action {
display: inline-block;
&-collapsed {
float: right;
clear: both;
}
}
.@{ellipsis-cls}-action-text {
color: @ellipsis-action-text-color;
margin: 0 4px;
cursor: pointer;
&:hover {
color: @ellipsis-action-text-color_hover;
}
//&:focus-visible {
// box-shadow: 0 0 0 2px @typography-color-box-shadow;
// border-radius: @radius-small;
//}
}
}
&-single {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
&-multiple {
display: block;
word-break: break-all;
}
/* stylelint-disable */
&-collapsed {
display: -webkit-box;
display: -moz-box;
overflow: hidden;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
}
/* stylelint-enable */
&-content-mirror {
position: absolute;
width: 100%;
visibility: hidden;
}
}
/********** Typography end ***************/
/********** Upload ***************/
@upload-tip-color-text: var(~'@{arco-cssvars-prefix}-color-text-3');
@upload-tip-margin-top: @spacing-2;
@upload-tip-font-size: @font-size-body-1;
@upload-list-margin-top: @spacing-9;
@upload-picture-item-width: @size-20;
@upload-picture-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@upload-picture-border-radius: @radius-small;
@upload-picture-border-width: @border-1;
@upload-picture-border-style: @border-dashed;
@upload-picture-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@upload-picture-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@upload-picture-color-border_hover: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@upload-picture-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@upload-picture-color-bg_disabled: var(~'@{arco-cssvars-prefix}-color-fill-1');
@upload-picture-color-text: var(~'@{arco-cssvars-prefix}-color-text-2');
@upload-picture-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@upload-picture-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@upload-drag-font-size: @font-size-body-3;
@upload-drag-border-radius: @radius-small;
@upload-drag-tip-margin-top: 0;
@upload-drag-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@upload-drag-border-style: @border-dashed;
@upload-drag-border-width: @border-1;
@upload-drag-padding-vertical: 50px;
@upload-drag-margin-icon-bottom: 24px;
@upload-drag-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-1');
@upload-drag-color-bg_hover: var(~'@{arco-cssvars-prefix}-color-fill-3');
@upload-drag-color-bg_active: var(~'@{arco-cssvars-prefix}-color-primary-light-1');
@upload-drag-color-bg_disabled: @upload-drag-color-bg;
@upload-drag-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@upload-drag-color-border_active: @color-primary-6;
@upload-drag-color-border_hover: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@upload-drag-color-border_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@upload-drag-color-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@upload-drag-color-icon_hover: var(~'@{arco-cssvars-prefix}-color-text-2');
@upload-drag-color-icon_active: @color-primary-6;
@upload-drag-color-text_hover: var(~'@{arco-cssvars-prefix}-color-text-1');
@upload-drag-color-text_active: var(~'@{arco-cssvars-prefix}-color-text-1');
@upload-drag-color-text_disabled: var(~'@{arco-cssvars-prefix}-color-text-4');
@upload-text-item-size-operation-icon: @size-3;
@upload-text-item-margin-top: @spacing-6;
@upload-text-item-font-size: @font-size-body-3;
@upload-text-item-color-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@upload-text-item-padding-left: @spacing-6;
@upload-text-item-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-1');
@upload-text-item-padding-vertical: @spacing-4;
@upload-text-item-margin-remove-icon-left: @spacing-6;
@upload-text-item-color-remove-icon: var(~'@{arco-cssvars-prefix}-color-text-2');
@upload-text-item-color-status-icon: var(~'@{arco-cssvars-prefix}-color-white');
@upload-text-item-color-file-icon_success: @color-primary-6;
@upload-text-item-color-progress-bg_hover: rgba(var(~'@{arco-cssvars-prefix}-gray-10'), 0.2);
@upload-text-item-color-progress-bg_hover_active: @color-primary-7;
@upload-text-item-size-file-icon: @size-4;
@upload-text-item-margin-file-icon-right: @spacing-6;
@upload-text-item-color-file-icon: @color-primary-6;
@upload-text-item-padding-right: @spacing-5;
@upload-text-item-color-link: @color-link-6;
@upload-text-item-color-reupload-icon: @color-primary-6;
@upload-text-item-color-reupload-icon_hover: @color-primary-7;
@upload-text-item-size-status-icon: @size-3;
@upload-text-item-color-error-icon: @color-danger-6;
@upload-text-item-color-success-icon: @color-success-6;
@upload-text-item-border-radius: @radius-small;
@upload-text-item-margin-error-icon-left: @spacing-2;
@upload-text-item-margin-status-left: @spacing-5;
@upload-text-item-thumbnail-width: @size-10;
@upload-text-item-margin-thumbnail-right: @spacing-6;
@upload-text-item-color-text_error: @color-danger-6;
@upload-text-item-color-text_success: unset;
@upload-text-item-color-text_uploading: unset;
@upload-picture-item-margin-preview-icon-right: @spacing-8;
@upload-picture-item-size-width: @size-20;
@upload-picture-item-border-radius: @radius-small;
@upload-picture-item-margin-right: @spacing-4;
@upload-picture-item-margin-bottom: @spacing-4;
@upload-picture-item-color-bg: var(~'@{arco-cssvars-prefix}-color-fill-2');
@upload-picture-item-color-operation_bg: rgba(0, 0, 0, 0.5);
@upload-picture-item-color-operation-icon: var(~'@{arco-cssvars-prefix}-color-white');
@upload-picture-item-color-error-icon: var(~'@{arco-cssvars-prefix}-color-white');
@upload-picture-text-item-color-bg_error: var(~'@{arco-cssvars-prefix}-color-danger-light-1');
@upload-picture-text-item-color-text_error: @color-danger-6;
@upload-picture-text-item-color-text_success: unset;
@upload-picture-text-item-color-text_uploading: unset;
@upload-picture-text-item-padding-vertical: @spacing-4;
// 图标尺寸
@upload-drag-size-icon: 14px;
@upload-picture-item-size-mask-icon: @size-4;
@upload-picture-item-size-error-icon: 26px;
@upload-text-item-size-reupload-icon: 14px;
@upload-text-item-size-success-icon: 14px;
@upload-text-item-size-error-icon: 14px;
@upload-picture-item-size-operation-icon: 14px;
@upload-color-icon-box-shadow_default: var(~'@{arco-cssvars-prefix}-color-primary-light-3');
@upload-color-icon-box-shadow_active: @color-primary-6;
@upload-prefix-cls: ~'@{prefix}-upload';
.@{upload-prefix-cls} {
display: inline-block;
max-width: 100%;
&-type-picture-card {
vertical-align: top;
}
&-drag {
width: 100%;
}
&-hide {
display: none;
}
&-disabled {
.@{upload-prefix-cls}-trigger-picture,
.@{upload-prefix-cls}-trigger-picture:hover {
cursor: not-allowed;
border-color: @upload-picture-color-border_disabled;
background-color: @upload-picture-color-bg_disabled;
color: @upload-picture-color-text_disabled;
}
.@{upload-prefix-cls}-trigger-drag,
.@{upload-prefix-cls}-trigger-drag:hover {
cursor: not-allowed;
border-color: @upload-drag-color-border_disabled;
background-color: @upload-drag-color-bg_disabled;
.@{prefix}-icon-plus,
.@{upload-prefix-cls}-trigger-drag-text {
color: @upload-drag-color-text_disabled;
}
}
.@{upload-prefix-cls}-trigger-tip {
color: @upload-drag-color-text_disabled;
}
}
&-trigger {
cursor: pointer;
display: inline-block;
vertical-align: top;
width: 100%;
&-tip {
color: @upload-tip-color-text;
margin-top: @upload-tip-margin-top;
font-size: @upload-tip-font-size;
line-height: 1.5;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
&-picture {
min-width: @upload-picture-item-width;
height: @upload-picture-item-width;
color: @upload-picture-color-text;
text-align: center;
margin-bottom: 0;
background: @upload-picture-color-bg;
border-radius: @upload-picture-border-radius;
border: @upload-picture-border-width @upload-picture-border-style @upload-picture-color-border;
transition: all @transition-duration-1 @transition-timing-function-linear;
&:hover {
border-color: @upload-picture-color-border_hover;
background-color: @upload-picture-color-bg_hover;
color: @upload-picture-color-text_hover;
}
&:focus-visible {
box-shadow: 0 0 0 2px @upload-color-icon-box-shadow_default;
}
&-text {
position: relative;
top: 50%;
transform: translateY(-50%);
}
}
&-drag {
width: 100%;
border-radius: @upload-drag-border-radius;
border: @upload-drag-border-width @upload-drag-border-style @upload-drag-color-border;
background-color: @upload-drag-color-bg;
text-align: center;
transition: all @transition-duration-2 ease;
color: @upload-drag-color-text;
padding: @upload-drag-padding-vertical 0;
.@{prefix}-icon-plus {
font-size: @upload-drag-size-icon;
margin-bottom: @upload-drag-margin-icon-bottom;
color: @upload-drag-color-icon;
}
&:hover {
border-color: @upload-drag-color-border_hover;
background-color: @upload-drag-color-bg_hover;
.@{upload-prefix-cls}-trigger-drag-text {
color: @upload-drag-color-text_hover;
}
.@{prefix}-icon-plus {
color: @upload-drag-color-icon_hover;
}
}
&:focus-visible {
box-shadow: 0 0 0 2px @upload-color-icon-box-shadow_default;
}
&-active {
border-color: @upload-drag-color-border_active;
color: @upload-drag-color-text_active;
background-color: @upload-drag-color-bg_active;
.@{upload-prefix-cls}-trigger-drag-text {
color: @upload-drag-color-text_active;
}
.@{prefix}-icon-plus {
color: @upload-drag-color-icon_active;
}
}
.@{upload-prefix-cls}-trigger-tip {
margin-top: 0;
}
}
&-drag-text {
color: @upload-drag-color-text;
line-height: 1.5;
font-size: @upload-drag-font-size;
}
}
}
.@{upload-prefix-cls}-hide + .@{upload-prefix-cls}-list {
.@{upload-prefix-cls}-list-item:first-of-type {
margin-top: 0;
}
}
.@{upload-prefix-cls}-list {
width: 100%;
&-type-text,
&-type-picture-list {
.@{upload-prefix-cls}-list-item:first-of-type {
margin-top: @upload-list-margin-top;
}
}
// icons
&-file-icon {
line-height: @upload-text-item-size-file-icon;
font-size: @upload-text-item-size-file-icon;
color: @upload-text-item-color-file-icon;
margin-right: @upload-text-item-margin-file-icon-right;
}
&-preview-icon {
cursor: pointer;
}
&-error-icon {
cursor: pointer;
color: @upload-text-item-color-error-icon;
font-size: @upload-text-item-size-error-icon;
margin-left: @upload-text-item-margin-error-icon-left;
}
&-success-icon {
cursor: pointer;
color: @upload-text-item-color-success-icon;
font-size: @upload-text-item-size-success-icon;
line-height: @upload-text-item-size-success-icon;
}
&-remove-icon {
position: relative;
cursor: pointer;
font-size: @upload-picture-item-size-operation-icon;
}
&-start-icon,
&-cancel-icon {
position: absolute;
color: @upload-text-item-color-status-icon;
transform: translateX(-50%) translateY(-50%);
top: 50%;
left: 50%;
font-size: @upload-text-item-size-status-icon;
&:focus-visible {
color: @upload-color-icon-box-shadow_active;
}
}
&-reupload-icon {
cursor: pointer;
color: @upload-text-item-color-reupload-icon;
font-size: @upload-text-item-size-reupload-icon;
transition: all @transition-duration-2 ease;
&:active,
&:hover {
color: @upload-text-item-color-reupload-icon_hover;
}
&:focus-visible {
box-shadow: inset 0 0 0 2px @upload-color-icon-box-shadow_default;
}
}
/*** listtype is text ****/
&-status {
position: relative;
cursor: pointer;
line-height: @upload-text-item-size-status-icon;
&:hover {
.@{prefix}-progress-circle-mask {
stroke: @upload-text-item-color-progress-bg_hover;
}
.@{prefix}-progress-circle-path {
stroke: @upload-text-item-color-progress-bg_hover_active;
}
}
}
&-item-done &-file-icon {
color: @upload-text-item-color-file-icon_success;
}
&-item {
box-sizing: border-box;
padding-right: @upload-text-item-size-operation-icon + @upload-text-item-margin-remove-icon-left;
margin-top: @upload-text-item-margin-top;
position: relative;
&-operation {
font-size: @upload-text-item-size-operation-icon;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
color: @upload-text-item-color-remove-icon;
.@{upload-prefix-cls}-list-remove-icon-hover:focus-visible::before {
box-shadow: 0 0 0 2px @upload-color-icon-box-shadow_active;
}
.@{upload-prefix-cls}-list-remove-icon {
font-size: inherit;
}
}
}
&-item-text {
font-size: @upload-text-item-font-size;
display: flex;
align-items: center;
border-radius: @upload-text-item-border-radius;
width: 100%;
box-sizing: border-box;
background-color: @upload-text-item-color-bg;
padding: @upload-text-item-padding-vertical 0;
padding-left: @upload-text-item-padding-left;
padding-right: @upload-text-item-padding-right;
flex-wrap: nowrap;
&-content {
flex: 1;
display: flex;
align-items: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
justify-content: space-between;
flex-wrap: nowrap;
transition: background-color @transition-duration-1 @transition-timing-function-linear;
}
&-thumbnail {
height: @upload-text-item-thumbnail-width;
width: @upload-text-item-thumbnail-width;
margin-right: @upload-text-item-margin-thumbnail-right;
flex-shrink: 0;
img {
width: 100%;
height: 100%;
}
}
&-name {
white-space: nowrap;
display: flex;
overflow: hidden;
flex-shrink: 1;
flex-grow: 1;
align-items: center;
color: @upload-text-item-color-text;
font-size: @upload-text-item-font-size;
text-overflow: ellipsis;
line-height: 1.4286;
margin-right: @upload-text-item-margin-status-left;
}
&-name-link {
cursor: pointer;
text-decoration: none;
overflow: hidden;
color: @upload-text-item-color-link;
text-overflow: ellipsis;
}
&-name-text {
overflow: hidden;
text-overflow: ellipsis;
}
}
&-item-error,
&-item-done {
.@{upload-prefix-cls}-list-status {
display: none;
}
}
&-type-text {
.@{upload-prefix-cls}-list-item-error .@{upload-prefix-cls}-list-item-text-name-link,
.@{upload-prefix-cls}-list-item-error .@{upload-prefix-cls}-list-item-text-name {
color: @upload-text-item-color-text_error;
}
.@{upload-prefix-cls}-list-item-done
.@{upload-prefix-cls}-list-item-text-name
when
not(@upload-text-item-color-text_success = unset) {
color: @upload-text-item-color-text_success;
}
.@{upload-prefix-cls}-list-item-uploading
.@{upload-prefix-cls}-list-item-text-name
when
not(@upload-text-item-color-text_uploading = unset) {
color: @upload-text-item-color-text_uploading;
}
}
/*** end ****/
&&-type-picture-card {
display: inline;
vertical-align: top;
.@{upload-prefix-cls}-list-status {
top: 50%;
transform: translateY(-50%);
margin-left: 0;
}
}
&-type-picture-card &-item {
display: inline-block;
vertical-align: top;
margin-top: 0;
padding-right: 0;
margin-right: @upload-picture-item-margin-right;
margin-bottom: @upload-picture-item-margin-bottom;
overflow: hidden;
transition: all @transition-duration-2 @transition-timing-function-standard;
}
&-type-picture-card &-item-error &-item-picture-mask {
opacity: 1;
}
&-item-picture {
width: @upload-picture-item-size-width;
height: @upload-picture-item-size-width;
position: relative;
overflow: hidden;
border-radius: @upload-picture-item-border-radius;
box-sizing: border-box;
text-align: center;
vertical-align: top;
background-color: @upload-picture-item-color-bg;
img {
width: 100%;
height: 100%;
}
&-mask {
cursor: pointer;
position: absolute;
text-align: center;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: @upload-picture-item-color-operation_bg;
color: @upload-picture-item-color-operation-icon;
font-size: @upload-picture-item-size-mask-icon;
line-height: @upload-picture-item-size-width;
opacity: 0;
transition: opacity @transition-duration-1 @transition-timing-function-linear;
}
&-operation {
font-size: @upload-picture-item-size-operation-icon;
.@{upload-prefix-cls}-list-reupload-icon {
color: @upload-picture-item-color-operation-icon;
}
.@{upload-prefix-cls}-list-reupload-icon + .@{upload-prefix-cls}-list-remove-icon,
.@{upload-prefix-cls}-list-preview-icon + .@{upload-prefix-cls}-list-remove-icon {
margin-left: @upload-picture-item-margin-preview-icon-right;
}
.@{upload-prefix-cls}-list-reupload-icon,
.@{upload-prefix-cls}-list-preview-icon,
.@{upload-prefix-cls}-list-remove-icon {
&:focus-visible {
border-radius: 2px;
box-shadow: 0 0 0 2px @upload-color-icon-box-shadow_default;
}
}
}
&-error-tip {
.@{upload-prefix-cls}-list-item-picture-operation {
opacity: 0;
width: 0;
height: 0;
}
.@{upload-prefix-cls}-list-error-icon {
font-size: @upload-picture-item-size-error-icon;
color: @upload-picture-item-color-error-icon;
}
}
&-mask:hover,
&-mask:focus-within,
&-mask:hover &-operation,
&-mask:focus-within &-operation {
opacity: 1;
display: block;
}
&-mask:hover &-error-tip,
&-mask:focus-within &-error-tip {
display: none;
}
}
// picture-list
&-type-picture-list {
.@{upload-prefix-cls}-list-item-text {
padding-top: @upload-picture-text-item-padding-vertical;
padding-bottom: @upload-picture-text-item-padding-vertical;
}
.@{upload-prefix-cls}-list-item-error .@{upload-prefix-cls}-list-item-text {
background-color: @upload-picture-text-item-color-bg_error;
}
.@{upload-prefix-cls}-list-item-error .@{upload-prefix-cls}-list-item-text-name-link,
.@{upload-prefix-cls}-list-item-error .@{upload-prefix-cls}-list-item-text-name {
color: @upload-picture-text-item-color-text_error;
}
.@{upload-prefix-cls}-list-item-done
.@{upload-prefix-cls}-list-item-text-name
when
not(@upload-picture-text-item-color-text_success = unset) {
color: @upload-picture-text-item-color-text_success;
}
.@{upload-prefix-cls}-list-item-uploading
.@{upload-prefix-cls}-list-item-text-name
when
not(@upload-picture-text-item-color-text_uploading = unset) {
color: @upload-picture-text-item-color-text_uploading;
}
}
}
.@{upload-prefix-cls}-slide-up-enter {
opacity: 0;
}
.@{upload-prefix-cls}-slide-up-enter-active {
opacity: 1;
transition: opacity @transition-duration-2 @transition-timing-function-standard;
}
.@{upload-prefix-cls}-slide-up-exit {
opacity: 1;
}
.@{upload-prefix-cls}-slide-up-exit-active {
opacity: 0;
overflow: hidden;
margin: 0;
transition: opacity @transition-duration-1 @transition-timing-function-linear,
height @transition-duration-3 @transition-timing-function-standard @transition-duration-1,
margin @transition-duration-3 @transition-timing-function-standard @transition-duration-1;
}
.@{upload-prefix-cls}-list-item {
&.@{upload-prefix-cls}-slide-inline-enter {
opacity: 0;
}
&.@{upload-prefix-cls}-slide-inline-enter-active {
opacity: 1;
transition: opacity @transition-duration-2 @transition-timing-function-linear;
}
&.@{upload-prefix-cls}-slide-inline-exit {
opacity: 1;
}
&.@{upload-prefix-cls}-slide-inline-exit-active {
opacity: 0;
overflow: hidden;
margin: 0;
transition: opacity @transition-duration-1 @transition-timing-function-linear,
width @transition-duration-3 @transition-timing-function-standard @transition-duration-1,
margin @transition-duration-3 @transition-timing-function-standard @transition-duration-1;
}
}
.@{upload-prefix-cls}-rtl {
direction: rtl;
}
.@{upload-prefix-cls}-list-rtl {
direction: rtl;
.@{upload-prefix-cls}-list {
&-file-icon {
margin-right: 0;
margin-left: @upload-text-item-margin-file-icon-right;
}
&-error-icon {
margin-left: 0;
margin-right: @upload-text-item-margin-error-icon-left;
}
&-item {
padding-right: 0;
padding-left: @upload-text-item-size-operation-icon +
@upload-text-item-margin-remove-icon-left;
&-operation {
right: initial;
left: 0;
}
&-text {
padding-right: @upload-text-item-padding-left;
padding-left: @upload-text-item-padding-right;
&-thumbnail {
margin-right: 0;
margin-left: @upload-text-item-margin-thumbnail-right;
}
&-name {
margin-right: 0;
margin-left: @upload-text-item-margin-status-left;
}
}
&-picture-operation {
.@{upload-prefix-cls}-list-reupload-icon + .@{upload-prefix-cls}-list-remove-icon,
.@{upload-prefix-cls}-list-preview-icon + .@{upload-prefix-cls}-list-remove-icon {
margin-left: 0;
margin-right: @upload-picture-item-margin-preview-icon-right;
}
}
}
}
&.@{upload-prefix-cls}-list-type-picture-card {
.@{upload-prefix-cls}-list-status {
margin-left: initial;
margin-right: 0;
}
.@{upload-prefix-cls}-list-item {
margin-right: 0;
padding-left: 0;
margin-left: @upload-picture-item-margin-right;
}
}
}
/********** Upload end ***************/
/********** Mentions ***************/
@mentions-padding-horizontal: @spacing-6;
@mentions-padding-vertical: @spacing-2;
@mentions-font-size: @font-size-body-3;
@mentions-line-height: @line-height-base;
@mentions-prefix-cls: ~'@{prefix}-mentions';
.@{mentions-prefix-cls} {
display: inline-block;
position: relative;
box-sizing: border-box;
width: 100%;
vertical-align: middle;
white-space: pre-wrap;
&-textarea,
&-measure {
padding: @mentions-padding-vertical @mentions-padding-horizontal;
font-size: @mentions-font-size;
line-height: @mentions-line-height;
white-space: inherit;
}
&-textarea {
resize: none;
}
&-measure,
&-align-textarea &-measure-trigger {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: auto;
visibility: hidden;
pointer-events: none;
}
}
.@{mentions-prefix-cls}-rtl {
direction: rtl;
}
/********** Mentions end ***************/
/********** Watermark ***************/
/********** Watermark end ***************/
/********** Image ***************/
@image-radius: @radius-small;
// title
@image-font-size-title: @font-size-title-1;
@image-font-weight-title: @font-weight-500;
// description
@image-font-size-description: @font-size-body-3;
@image-color-title_footer_outer-text: var(~'@{arco-cssvars-prefix}-color-text-1');
@image-color-title_footer_inner-text: var(~'@{arco-cssvars-prefix}-color-white');
@image-color-description_footer_inner-text: var(~'@{arco-cssvars-prefix}-color-white');
@image-color-description_footer_outer-text: var(~'@{arco-cssvars-prefix}-color-neutral-6');
// actions
@image-spacing-actions-left: @spacing-6;
// actions item
@image-font-size-actions-item: 14px;
@image-padding-actions-item-vertical: @spacing-none;
@image-padding-actions-item-horizontal: @spacing-none;
@image-spacing-actions-item-left: @spacing-6;
@image-radius-actions-item: @radius-small;
@image-color-actions-item_footer_inner_hover-bg: rgba(0, 0, 0, 0.5);
@image-color-actions-item_footer_outer_hover-bg: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@image-color-actions-item_trigger-text: var(~'@{arco-cssvars-prefix}-color-neutral-8');
@image-color-actions-item_trigger_hover-bg: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@image-spacing-actions-trigger-item-vertical: 5px;
@image-spacing-actions-trigger-item-horizontal: 4px;
// footer
@image-color-footer_inner-bg: linear-gradient(360deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
@image-color-footer_inner-text: var(~'@{arco-cssvars-prefix}-color-white');
@image-padding-footer_inner_vertical: 9px;
@image-padding-footer_inner_horizontal: 16px;
@image-spacing-footer_inner_simple-vertical: @spacing-6;
@image-spacing-footer_inner_simple-horizontal: @spacing-7;
@image-color-footer_outer-text: var(~'@{arco-cssvars-prefix}-color-neutral-8');
@image-spacing-footer-top: @spacing-2;
// error
@image-color-error-bg: var(~'@{arco-cssvars-prefix}-color-neutral-1');
@image-color-error-text: var(~'@{arco-cssvars-prefix}-color-neutral-4');
@image-font-size-error-icon: 60px;
@image-font-size-error-text: @font-size-body-1;
@image-line-height-error-text: 1.6667;
@image-size-error-min-height: 100px;
@image-spacing-error-padding: @spacing-7;
// loader
@image-color-loader-bg: var(~'@{arco-cssvars-prefix}-color-neutral-1');
@image-size-loader-min-height: 100px;
// loader spin
@image-font-size-loader-spin: 32px;
@image-color-loader-spin-text: @color-primary-6;
@image-color-loader-spin-text-text: var(~'@{arco-cssvars-prefix}-color-neutral-6');
@image-font-size-loader-spin-text: @font-size-title-1;
// preview mask
@image-preview-color-mask-bg: var(~'@{arco-cssvars-prefix}-color-mask-bg');
// preview scale value
@image-preview-size-scale-value-height: 32px;
@image-preview-spacing-scale-value-vertical: 7px;
@image-preview-spacing-scale-value-horizontal: 10px;
@image-preview-font-size-scale-value: @font-size-body-1;
@image-preview-color-scale-value-text: var(~'@{arco-cssvars-prefix}-color-white');
@image-preview-color-scale-value-bg: rgba(255, 255, 255, 0.08);
// preview toolbar
@image-preview-color-toolbar-bg: var(~'@{arco-cssvars-prefix}-color-bg-2');
@image-preview-radius-toolbar: @radius-medium;
@image-preview-spacing-toolbar-vertical: @spacing-2;
@image-preview-spacing-toolbar-horizontal: @spacing-7;
@image-preview-spacing-toolbar-horizontal_simple: @spacing-2;
@image-preview-spacing-toolbar-vertical_simple: @spacing-2;
@image-preview-position-toolbar-bottom: 46px;
// preview toolbar action
@image-preview-font-size-action: 14px;
@image-preview-color-action-text: var(~'@{arco-cssvars-prefix}-color-neutral-8');
@image-preview-radius-action: @radius-small;
@image-preview-color-action-bg: @color-transparent;
@image-preview-color-action_hover-bg: var(~'@{arco-cssvars-prefix}-color-neutral-2');
@image-preview-color-action_hover-text: @color-primary-6;
@image-preview-color-action_disabled-bg: transparent;
@image-preview-color-action_disabled-text: var(~'@{arco-cssvars-prefix}-color-text-4');
@image-preview-font-size-action-name: @font-size-body-1;
@image-preview-spacing-action-name-right: @spacing-6;
@image-preview-padding-action-content: 13px;
@image-preview-margin-action-right: @spacing-none;
// preview trigger
@image-preview-spacing-trigger-padding-vertical: @spacing-6;
@image-preview-spacing-trigger-padding-horizontal: @spacing-7;
@image-preview-margin-action-bottom: @spacing-none;
// preview loading
@image-preview-color-loading-text: @color-primary-6;
@image-preview-color-loading-bg: #232324;
@image-preview-font-size-loading: 18px;
@image-preview-spacing-loading-padding: @spacing-5;
@image-preview-size-loading-width: 48px;
@image-preview-size-loading-height: 48px;
@image-preview-radius-loading: @radius-medium;
// preview close-btn
@image-preview-size-close-btn-width: 32px;
@image-preview-size-close-icon: 14px;
@image-preview-color-close-btn-bg: rgba(0, 0, 0, 0.5);
@image-preview-color-close-btn-text: var(~'@{arco-cssvars-prefix}-color-white');
@image-preview-position-close-btn-right: 36px;
@image-preview-position-close-btn-top: 36px;
// preview arrow
@image-preview-arrow-position: @spacing-8;
@image-preview-arrow-size: @size-8;
@image-preview-arrow-font-size: @size-4;
@image-preview-arrow-color-icon: var(~'@{arco-cssvars-prefix}-color-white');
@image-preview-arrow-color-icon_disabled: rgba(255, 355, 255, 0.3);
@image-preview-arrow-color-bg: rgba(255, 355, 255, 0.3);
@image-preview-arrow-color-bg_hover: rgba(255, 355, 255, 0.5);
@image-preview-arrow-color-bg_disabled: rgba(255, 355, 255, 0.2);
// image trigger
@image-trigger-spacing-padding-vertical: 6px;
@image-trigger-spacing-padding-horizontal: 4px;
@image-trigger-color-bg: var(~'@{arco-cssvars-prefix}-color-bg-5');
@image-trigger-color-border: var(~'@{arco-cssvars-prefix}-color-neutral-3');
@image-trigger-size-border: 1px;
@image-trigger-radius: 4px;
@image-color-box-shadow: @color-primary-6;
@image-trigger-prefix-cls: ~'@{prefix}-image-trigger';
.@{image-trigger-prefix-cls} {
padding: @image-trigger-spacing-padding-vertical @image-trigger-spacing-padding-horizontal;
background: @image-trigger-color-bg;
border: @image-trigger-size-border solid @image-trigger-color-border;
border-radius: @image-trigger-radius;
.@{prefix}-trigger-arrow {
border: @image-trigger-size-border solid @image-trigger-color-border;
background-color: @image-trigger-color-bg;
}
}
@image-prefix-cls: ~'@{prefix}-image';
.@{image-prefix-cls} {
position: relative;
display: inline-block;
border-radius: @image-radius;
vertical-align: middle;
&-img {
vertical-align: middle;
border-radius: inherit;
&:focus-visible {
box-shadow: 0 0 0 2px @image-color-box-shadow;
}
}
&-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
&-footer {
width: 100%;
max-width: 100%;
display: flex;
&-block {
flex: auto;
}
}
&-caption {
&-title {
font-size: @image-font-size-title;
font-weight: @image-font-weight-title;
}
&-description {
font-size: @image-font-size-description;
}
}
&-actions {
padding-left: @image-spacing-actions-left;
&-list {
display: flex;
justify-content: flex-end;
align-items: center;
}
&-item {
font-size: @image-font-size-actions-item;
line-height: 1;
margin-left: @image-spacing-actions-item-left;
border-radius: @image-radius-actions-item;
padding: @image-padding-actions-item-vertical @image-padding-actions-item-horizontal;
cursor: pointer;
&:first-child {
margin-left: 0;
}
&-trigger {
padding: @image-spacing-actions-trigger-item-vertical
@image-spacing-actions-trigger-item-horizontal;
display: inline-block;
}
}
}
&-with-footer-inner {
.@{image-prefix-cls}-footer {
background: @image-color-footer_inner-bg;
color: @image-color-footer_inner-text;
box-sizing: border-box;
padding: @image-padding-footer_inner_vertical @image-padding-footer_inner_horizontal;
align-items: center;
position: absolute;
left: 0;
bottom: 0;
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit;
}
.@{image-prefix-cls}-caption {
&-title {
color: @image-color-title_footer_inner-text;
}
&-description {
color: @image-color-description_footer_inner-text;
}
}
.@{image-prefix-cls}-actions {
&-item {
&:hover {
background: @image-color-actions-item_footer_inner_hover-bg;
}
}
}
}
&-with-footer-outer {
.@{image-prefix-cls}-footer {
color: @image-color-footer_outer-text;
margin-top: @image-spacing-footer-top;
}
.@{image-prefix-cls}-caption {
&-title {
color: @image-color-title_footer_outer-text;
}
&-description {
color: @image-color-description_footer_outer-text;
}
}
.@{image-prefix-cls}-actions {
&-item {
&:hover {
background: @image-color-actions-item_footer_outer_hover-bg;
}
}
}
}
&-with-preview:hover {
cursor: zoom-in;
}
&-error {
width: 100%;
height: 100%;
background-color: @image-color-error-bg;
color: @image-color-error-text;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&-icon {
width: @image-font-size-error-icon;
height: @image-font-size-error-icon;
max-width: 100%;
max-height: 100%;
> svg {
width: 100%;
height: 100%;
}
}
&-alt {
font-size: @image-font-size-error-text;
line-height: @image-line-height-error-text;
text-align: center;
padding: (@image-spacing-error-padding / 2) @image-spacing-error-padding;
}
}
&-loader {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-color: @image-color-loader-bg;
&-spin {
font-size: @image-font-size-loader-spin;
transform: translate(-50%, -50%);
position: absolute;
color: @image-color-loader-spin-text;
left: 50%;
top: 50%;
text-align: center;
&-text {
color: @image-color-loader-spin-text-text;
font-size: @image-font-size-loader-spin-text;
}
}
}
&-simple {
&.@{image-prefix-cls}-with-footer-inner {
.@{image-prefix-cls}-footer {
padding: @image-spacing-footer_inner_simple-vertical
@image-spacing-footer_inner_simple-horizontal;
}
}
}
&-before-load,
&-loading,
&-loading-error {
.@{image-prefix-cls}-img {
visibility: hidden;
}
}
&-trigger {
.@{image-prefix-cls}-actions {
&-list {
flex-direction: column;
}
&-item {
color: @image-color-actions-item_trigger-text;
margin-left: 0;
&:hover {
background: @image-color-actions-item_trigger_hover-bg;
}
}
}
}
}
@preview-prefix-cls: ~'@{prefix}-image-preview';
.center() {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.@{preview-prefix-cls} {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: @z-index-image-preview;
&-hide {
display: none;
}
&-mask,
&-wrapper {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
&-mask {
background-color: @image-preview-color-mask-bg;
}
&-img-container {
width: 100%;
height: 100%;
text-align: center;
&::before {
content: '';
width: 0;
height: 100%;
vertical-align: middle;
display: inline-block;
}
.@{preview-prefix-cls}-img {
max-width: 100%;
max-height: 100%;
display: inline-block;
vertical-align: middle;
user-select: none;
cursor: grab;
&.@{image-prefix-cls}-preview-img-moving {
cursor: grabbing;
}
}
}
&-scale-value {
padding: @image-preview-spacing-scale-value-vertical
@image-preview-spacing-scale-value-horizontal;
box-sizing: border-box;
font-size: @image-preview-font-size-scale-value;
color: @image-preview-color-scale-value-text;
background-color: @image-preview-color-scale-value-bg;
line-height: initial;
.center();
}
&-toolbar {
background-color: @image-preview-color-toolbar-bg;
border-radius: @image-preview-radius-toolbar;
display: flex;
align-items: flex-start;
padding: @image-preview-spacing-toolbar-vertical @image-preview-spacing-toolbar-horizontal;
position: absolute;
bottom: @image-preview-position-toolbar-bottom;
left: 50%;
transform: translateX(-50%);
&-action {
font-size: @image-preview-font-size-action;
color: @image-preview-color-action-text;
border-radius: @image-preview-radius-action;
background-color: @image-preview-color-action-bg;
cursor: pointer;
display: flex;
align-items: center;
&:not(:last-of-type) {
margin-right: @image-preview-margin-action-right;
}
&:hover {
background-color: @image-preview-color-action_hover-bg;
color: @image-preview-color-action_hover-text;
}
&-disabled,
&-disabled:hover {
color: @image-preview-color-action_disabled-text;
background-color: @image-preview-color-action_disabled-bg;
cursor: not-allowed;
}
&-name {
font-size: @image-preview-font-size-action-name;
padding-right: @image-preview-spacing-action-name-right;
}
&-content {
padding: @image-preview-padding-action-content;
line-height: 1;
}
}
&-simple {
padding: @image-preview-spacing-toolbar-vertical_simple
@image-preview-spacing-toolbar-horizontal_simple;
}
&-simple &-action {
margin-right: 0;
}
}
&-trigger.@{image-prefix-cls}-trigger {
padding: @image-preview-spacing-trigger-padding-vertical
@image-preview-spacing-trigger-padding-horizontal;
.@{preview-prefix-cls}-toolbar {
&-action {
text-align: left;
margin-right: 0;
&:not(:last-of-type) {
margin-bottom: @image-preview-margin-action-bottom;
}
}
}
}
&-loading {
color: @image-preview-color-loading-text;
background-color: @image-preview-color-loading-bg;
font-size: @image-preview-font-size-loading;
padding: @image-preview-spacing-loading-padding;
width: @image-preview-size-loading-width;
height: @image-preview-size-loading-height;
border-radius: @image-preview-radius-loading;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
.center();
}
&-close-btn {
width: @image-preview-size-close-btn-width;
height: @image-preview-size-close-btn-width;
line-height: @image-preview-size-close-btn-width;
background: @image-preview-color-close-btn-bg;
color: @image-preview-color-close-btn-text;
text-align: center;
border-radius: 50%;
position: absolute;
right: @image-preview-position-close-btn-right;
top: @image-preview-position-close-btn-top;
cursor: pointer;
font-size: @image-preview-size-close-icon;
}
&-arrow {
&-left,
&-right {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: @image-preview-arrow-size;
height: @image-preview-arrow-size;
border-radius: 50%;
color: @image-preview-arrow-color-icon;
background-color: @image-preview-arrow-color-bg;
cursor: pointer;
z-index: 2;
> svg {
color: @image-preview-arrow-color-icon;
font-size: @image-preview-arrow-font-size;
}
&:hover {
background-color: @image-preview-arrow-color-bg_hover;
}
}
&-left {
left: @image-preview-arrow-position;
top: 50%;
transform: translateY(-50%);
}
&-right {
top: 50%;
transform: translateY(-50%);
right: @image-preview-arrow-position;
}
&-disabled {
cursor: not-allowed;
background-color: @image-preview-arrow-color-bg_disabled;
color: @image-preview-arrow-color-icon_disabled;
> svg {
color: @image-preview-arrow-color-icon_disabled;
}
&:hover {
background-color: @image-preview-arrow-color-bg_disabled;
}
}
}
}
/** mask 动效 */
.fadeImage-enter,
.fadeImage-appear {
opacity: 0;
}
.fadeImage-enter-active,
.fadeImage-appear-active {
opacity: 1;
transition: opacity @transition-duration-4 @transition-timing-function-overshoot;
}
.fadeImage-exit {
opacity: 1;
}
.fadeImage-exit-active {
opacity: 0;
transition: opacity @transition-duration-4 @transition-timing-function-overshoot;
}
.@{image-prefix-cls}-rtl {
direction: rtl;
.@{image-prefix-cls} {
&-actions {
&-item {
margin-left: 0;
margin-right: @image-spacing-actions-item-left;
&:first-child {
margin-right: 0;
}
}
}
}
}
/********** Image end ***************/