/* stylelint-disable at-rule-no-unknown */
// 这是一份由视觉、交互及前端一起维护的控制组件库全局风格的配置文件
// 使用时请注意：
// 1. 使用中文注释
// 2. 维护清晰的代码结构，以可读性为优先
// 3. 简洁，不要放无意义的变量配置

@import '../color/colors';

@fishd-prefix           : fishd;

@white: #fff;

// -------- 主色 -----------
// 主要品牌颜色
@blue-6                 : #337eff;
@primary-color          : @blue-6;
// 主色经过调制后的色板
@primary-1: tint(@primary-color, 90%);  // replace tint(@primary-color, 90%)
@primary-2: tint(@primary-color, 80%);  // replace tint(@primary-color, 80%)
@primary-3: tint(@primary-color, 70%);  // replace tint(@primary-color, 70%)
@primary-4: tint(@primary-color, 60%);  // replace tint(@primary-color, 60%)
@primary-5: tint(@primary-color, 20%);  // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%)
@primary-6: @primary-color;             // color used to control the text color of active buttons, don't use, use @primary-color
@primary-7: shade(@primary-color, 5%);  // replace shade(@primary-color, 5%)

// -------- 辅助色 -----------
// 除了主色外的场景色，需要在不同的场景中使用（例如警告色表示警告的操作）。
@assistant-danger       : #f24957;
@assistant-success      : #26bd71;
@assistant-warning      : #ffaf0f;
@assistant-info         : #8875ff;

// -------- 中性色 -----------
// 中性色用于文本、背景和边框颜色，用来表现层次结构。
@text-2                 : #222;
@text-3                 : #333;
@text-6                 : #666;
@text-9                 : #999;
@text-c                 : #ccc;
@text-d                 : #f2f3f5;
@text-e                 : #f7f7fa;

// -------- 背景色 -----------
// 页面
@body-background        : #fff;
// 组件
@component-background   : #fff;
// 标题或选中的项目
@background-color-light : @text-e;
// 默认的灰色背景
@background-color-base  : @text-d;

// -------- 情境背景色 -----------
// 消息
@info-color             : @blue-6;
// 成功
@success-color          : @assistant-success;
@processing-color       : @blue-6;
@success-color-hover: color(~`colorPalette('@{success-color}', 5) `);
@success-color-active: color(~`colorPalette('@{success-color}', 7) `);
@success-color-outline: fade(@success-color, @outline-fade);
@success-color-deprecated-bg: color(~`colorPalette('@{success-color}', 1) `);
@success-color-deprecated-border: color(~`colorPalette('@{success-color}', 3) `);

// 失败
@error-color            : @assistant-danger;
@highlight-color        : @assistant-danger;
@error-color-hover: color(~`colorPalette('@{error-color}', 5) `);
@error-color-active: color(~`colorPalette('@{error-color}', 7) `);
@error-color-outline: fade(@error-color, @outline-fade);
@error-color-deprecated-bg: color(~`colorPalette('@{error-color}', 1) `);
@error-color-deprecated-border: color(~`colorPalette('@{error-color}', 3) `);

// 警告
@warning-color          : @assistant-warning;
@warning-color-hover: color(~`colorPalette('@{warning-color}', 5) `);
@warning-color-active: color(~`colorPalette('@{warning-color}', 7) `);
@warning-color-outline: fade(@warning-color, @outline-fade);
@warning-color-deprecated-bg: color(~`colorPalette('@{warning-color}', 1) `);
@warning-color-deprecated-border: color(~`colorPalette('@{warning-color}', 3) `);

@normal-color           : #d9d9d9;

// -------- 表格或列表项目的背景色 -----------
// 激活后
@item-active-bg         : #f7f8fa;
// 鼠标移入
@item-hover-bg          : #f7f8fa;
// 斑马纹颜色
@item-striped-bg        : #fafbfc;

// -------- 字体 -----------
// 字体
@font-family-no-number  : "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family            : "Monospaced Number", @font-family-no-number;
// 代码字体
@code-family            : Consolas, Menlo, Courier, monospace;

// -------- 文本颜色 -----------
// ？？需要视觉定义
// 标题颜色，如气泡卡片、表格等
@heading-color          : fade(#000, 85%);
// 文本颜色
@text-color             : @text-3;
// 文本次级颜色
@text-color-secondary   : @text-6;
// 文本三级颜色 预留
@text-color-tertiary    : @text-9;
// ？？需要视觉定义
// 文本反白颜色 预留，导航菜单深色底，下拉菜单深色底
@text-color-dark        : fade(#fff, 85%);
// ？？需要视觉定义
// 文本次级反白颜色 预留，导航菜单深色底，下拉菜单深色底
@text-color-secondary-dark: fade(#fff, 65%);

// -------- 字号 -----------
// 基础，正文
@font-size-base         : 14px;
// 大，大标题
@font-size-lg           : @font-size-base + 2px;
// 小，正文/小标题/辅助文字
@font-size-sm           : @font-size-base - 2px;

// -------- 行高 -----------
// 基础
@line-height-base       : 1.5;

// -------- 圆角 -----------
// 基础
@border-radius-base     : 2px;
// 大
@border-radius-lg       : 4px;
// 小
@border-radius-sm       : 2px;

// -------- 间距 -----------
@padding-lg    : 18px; // containers
@padding-md    : 16px; // small containers and buttons
@padding-sm    : 12px; // Form controls and items
@padding-xs    : 8px;  // small items
@padding-xss   : 4px;  // small items
// 纵向间距-大
@control-padding-horizontal-lg: @padding-lg;
// 纵向间距-基础，表单元素如Input、Select的左右间距
@control-padding-horizontal: @padding-sm;
// 纵向间距-小，小一号的Input
@control-padding-horizontal-sm: @padding-xs;

// -------- 链接 -----------
// 默认色
@link-color             : @primary-color;
// ？？需要视觉定义
// 鼠标移入的颜色
@link-hover-color       : @primary-5;
// ？？需要视觉定义
// 激活后的颜色
@link-active-color      : @primary-7;
// 链接下划线
@link-decoration        : none;
// 鼠标移入后的链接下划线
@link-hover-decoration  : none;

// -------- 边框 -----------
// ？？需要视觉定义
// 边框-用于组件的外部作为轮廓
@border-color-base      : #e1e3e6;        // base border outline a component
// ？？需要视觉定义
// 边框-用于组件的内部作为分隔
//@border-color-light     : #ebedf0;
@border-color-split     : #e9e9e9;        // split border inside a component
// 线条粗细
@border-width-base      : 1px;            // width of the border for a component
// 线型
@border-style-base      : solid;          // style of a components border

// -------- 禁用状态 -----------
// 按钮、分页符、时间、日期等组件禁用时状态
// 禁用时文字的颜色
@disabled-color         : @text-9;
// 禁用时背景颜色
@disabled-bg            : @background-color-base;
// ？？需要视觉定义
@disabled-color-dark    : fade(#fff, 35%);

// -------- 阴影 -----------
@shadow-color           : rgba(0, 0, 0, 0.15);
@shadow-1-up            : 0 2px 8px @shadow-color;
@shadow-1-down          : 0 2px 8px @shadow-color;
@shadow-1-left          : -2px 0 8px @shadow-color;
@shadow-1-right         : 2px 0 8px @shadow-color;
@shadow-2               : 0 4px 12px @shadow-color;
@box-shadow-base        : @shadow-1-down;

// -------- 轮廓 -----------
// 轮廓是绘制于元素周围的一条线，位于边框边缘的外围，可起到突出元素的作用。很少用到
@outline-blur-size      : 0;
@outline-width          : 2px;
@outline-color          : @primary-color;
@outline-offset         : 0 0;
@outline-fade           : 20%;

@box-shadow-active      : @outline-offset @outline-blur-size @outline-width fade(@primary-color, 20%);

// vertical margins
@margin-lg: 24px; // containers
@margin-md: 16px; // small containers and buttons
@margin-sm: 12px; // Form controls and items
@margin-xs: 8px; // small items
@margin-xss: 4px; // more small

// -------- iconfont图标库 -----------
@iconfont-prefix        : fishdicon;
@fishdicon-url          : ~"//at.alicdn.com/t/font_697017_m9q3eurcmbi"; // 加 ‘~’ 转义，避免 less modifyVars 报错

// Media queries breakpoints
// Extra small screen / phone
@screen-xs              : 480px;
@screen-xs-min          : @screen-xs;

// Small screen / tablet
@screen-sm              : 576px;
@screen-sm-min          : @screen-sm;

// Medium screen / desktop
@screen-md              : 768px;
@screen-md-min          : @screen-md;

// Large screen / wide desktop
@screen-lg              : 992px;
@screen-lg-min          : @screen-lg;

// Extra large screen / full hd
@screen-xl              : 1200px;
@screen-xl-min          : @screen-xl;

// Extra extra large screen / large descktop
@screen-xxl             : 1600px;
@screen-xxl-min         : @screen-xxl;

// provide a maximum
@screen-xs-max          : (@screen-sm-min - 1px);
@screen-sm-max          : (@screen-md-min - 1px);
@screen-md-max          : (@screen-lg-min - 1px);
@screen-lg-max          : (@screen-xl-min - 1px);
@screen-xl-max          : (@screen-xxl-min - 1px);

// z-index list
@zindex-affix           : 10;
@zindex-back-top        : 10;
@zindex-modal-mask      : 1000;
@zindex-modal           : 1000;
@zindex-notification    : 1010;
@zindex-message         : 1010;
@zindex-popover         : 1030;
@zindex-picker          : 1050;
@zindex-dropdown        : 1050;
@zindex-tooltip         : 1060;

// Animation
@ease-base-out       : cubic-bezier(0.7, 0.3, 0.1, 1);
@ease-base-in        : cubic-bezier(0.9, 0, 0.3, 0.7);
@ease-out            : cubic-bezier(0.215, 0.61, 0.355, 1);
@ease-in             : cubic-bezier(0.55, 0.055, 0.675, 0.19);
@ease-in-out         : cubic-bezier(0.645, 0.045, 0.355, 1);
@ease-out-back       : cubic-bezier(0.12, 0.4, 0.29, 1.46);
@ease-in-back        : cubic-bezier(0.71, -0.46, 0.88, 0.6);
@ease-in-out-back    : cubic-bezier(0.71, -0.46, 0.29, 1.46);
// @ease-out-circ       : cubic-bezier(0.08, 0.82, 0.17, 1);
@ease-out-circ       : cubic-bezier(0.165, 0.84, 0.44, 1);
@ease-in-circ        : cubic-bezier(0.6, 0.04, 0.98, 0.34);
@ease-in-out-circ    : cubic-bezier(0.78, 0.14, 0.15, 0.86);
@ease-out-quint      : cubic-bezier(0.23, 1, 0.32, 1);
@ease-in-quint       : cubic-bezier(0.755, 0.05, 0.855, 0.06);
@ease-in-out-quint   : cubic-bezier(0.86, 0, 0.07, 1);

// Animation
@animation-duration-slow: 0.3s; // Modal
@animation-duration-base: 0.2s;
@animation-duration-fast: 0.1s; // Tooltip

// AudioPlayer
@audio-player-height-base: 36px;
@audio-player-height-sm: 28px;
@audio-player-padding-base: 10px;
@audio-player-padding-sm: 5px;

// Avatar
// ---
@avatar-size-base: 32px;
@avatar-size-lg: 40px;
@avatar-size-sm: 24px;
@avatar-font-size-base: 18px;
@avatar-font-size-lg: 24px;
@avatar-font-size-sm: 14px;
@avatar-bg: #ccc;
@avatar-color: #fff;
@avatar-border-radius: @border-radius-base;

// BackTop
// ---
@back-top-color: #fff;
@back-top-bg: @primary-color;
@back-top-hover-bg: @primary-color;

// Badge
// ---
@badge-height: 20px;
@badge-dot-size: 6px;
@badge-font-size: @font-size-sm;
@badge-font-weight: normal;
@badge-status-size: 6px;

// Breadcrumb
@breadcrumb-base-color:        @text-color-secondary;
@breadcrumb-last-item-color:   @text-color-secondary;
@breadcrumb-font-size:         18px;
@breadcrumb-font-size-sm:      14px;
@breadcrumb-icon-font-size:    16px;
@breadcrumb-icon-font-size-sm: 12px;
@breadcrumb-link-color:        @primary-color;
@breadcrumb-link-color-hover:  #4C8EFF;
@breadcrumb-separator-color:   @text-color-secondary;
@breadcrumb-separator-margin:  0 8px;
@breadcrumb-separator-margin-sm:  0 6px;

// Buttons
@btn-font-weight        : 400;
@btn-border-radius-base : @border-radius-base;
@btn-border-radius-sm   : @border-radius-base;

@btn-primary-color      : #fff;
@btn-primary-bg         : @primary-color;

@btn-default-color      : @text-color;
@btn-default-bg         : #fff;
@btn-default-border     : @border-color-base;

@btn-link-hover-bg: transparent;
@btn-text-hover-bg: rgba(0, 0, 0, 0.018);

@btn-danger-color       : #fff;
@btn-danger-bg          : @error-color;
@btn-danger-border      : @error-color;

@btn-disable-color      : @disabled-color;
@btn-disable-bg         : @disabled-bg;
@btn-disable-border     : @border-color-base;

@btn-padding-base       : 0 @padding-md - 1px;
@btn-font-size-lg       : @font-size-lg;
@btn-font-size-sm       : @font-size-base;
@btn-padding-lg         : @btn-padding-base;
@btn-padding-sm         : 0 @padding-xs - 1px;

@btn-height-base        : 32px;
@btn-height-lg          : 40px;
@btn-height-sm          : 24px;

@btn-circle-size        : @btn-height-base;
@btn-circle-size-lg     : @btn-height-lg;
@btn-circle-size-sm     : @btn-height-sm;

@btn-group-border       : @primary-7;

// Card
@card-head-color: @heading-color;
@card-head-background: transparent;
@card-head-padding: 16px;
@card-inner-head-padding: 12px;
@card-padding-base: 24px;
@card-padding-wider: 32px;
@card-actions-background: @background-color-light;
@card-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);

// Carousel
@carousel-dot-width: 8px;
@carousel-dot-height: 2px;
@carousel-dot-active-width: 20px;

// Checkbox
@checkbox-size          : 14px;
@checkbox-color         : @primary-color;
@checkbox-check-color   : #fff;

// DatePicker
@datepicker-height                      : 32px;
@datepicker-disable-color               : @disabled-color;
@datepicker-disable-background-color    : @disabled-bg;
@datepicker-hover-background-color      : @item-hover-bg;
@datepicker-border-color                : @border-color-base;
@datepicker-icon-color                  : @text-3;
@datepicker-inrange-color               : #eaf2ff;

// Form
@label-required-color        : @highlight-color;
@label-color                 : @heading-color;
@form-item-margin-bottom     : 24px;
@form-item-trailing-colon    : true;
@form-item-asterisk-color    : @primary-color;
@form-vertical-label-padding : 0 0 8px;
@form-vertical-label-margin  : 0;
@form-warning-input-bg: @input-bg;
@form-item-label-font-size: @font-size-base;
@form-item-label-height: @input-height-base;
@form-error-input-bg: @input-bg;

// Grid system
@grid-columns           : 24;
@grid-gutter-width      : 0;

// Input
@input-height-base               : 32px;
@input-height-lg                 : 40px;
@input-height-sm                 : 24px;
@input-padding-horizontal        : 12px;
@input-padding-horizontal-base   : @input-padding-horizontal;
@input-padding-horizontal-sm     : @input-padding-horizontal;
@input-padding-horizontal-lg     : @input-padding-horizontal;
@input-padding-vertical-base     : 4px;
@input-padding-vertical-sm       : 1px;
@input-padding-vertical-lg       : 6px;
@input-placeholder-color         : hsv(0, 0, 75%);
@input-color                     : @text-color;
@input-border-color              : @border-color-base;
@input-bg                        : #fff;
@input-addon-bg                  : #eee;
@input-hover-border-color        : @primary-color;
@input-disabled-bg               : @disabled-bg;
@input-outline-offset            : @outline-offset;

// Layout
@layout-body-background         : #f0f2f5;
@layout-header-background       : #001529;
@layout-footer-background       : @layout-body-background;
@layout-header-height           : 60px;
@layout-header-padding          : 0 50px;
@layout-footer-padding          : 24px 50px;
@layout-sider-background        : #12131a;
@layout-trigger-height          : 48px;
@layout-trigger-background      : #002140;
@layout-trigger-color           : #fff;
@layout-zero-trigger-width      : 36px;
@layout-zero-trigger-height     : 42px;
// Layout light theme
@layout-sider-background-light  : #fff;
@layout-trigger-background-light: #fff;
@layout-trigger-color-light     : @text-color;

// // Menu
@menu-inline-toplevel-item-height: 50px;
@menu-inline-toplevel-item-group-height: 36px;
@menu-item-height: 40px;
@menu-collapsed-width: 64px;
@menu-bg: @component-background;
@menu-item-color: @text-color;
@menu-highlight-color: @primary-color;
@menu-item-active-bg: @text-d;
@menu-item-group-title-color: @text-color-secondary;
//dark theme
@menu-dark-color: @text-color-secondary-dark;
@menu-dark-bg: @layout-sider-background;
@menu-dark-arrow-color: #fff;
@menu-dark-submenu-bg: @layout-sider-background;
@menu-dark-highlight-color: #fff;

// Menu
// ---
@menu-item-group-height: @line-height-base;
@menu-popup-bg: @component-background;
@menu-inline-submenu-bg: @background-color-light;
@menu-highlight-danger-color: @error-color;
@menu-item-active-danger-bg: @red-1;
@menu-item-active-border-width: 3px;
@menu-item-vertical-margin: 4px;
@menu-item-font-size: @font-size-base;
@menu-item-boundary-margin: 8px;
@menu-item-padding-horizontal: 20px;
@menu-item-padding: 0 @menu-item-padding-horizontal;
@menu-horizontal-line-height: 46px;
@menu-icon-margin-right: 10px;
@menu-icon-size: @menu-item-font-size;
@menu-icon-size-lg: @font-size-lg;
@menu-item-group-title-font-size: @menu-item-font-size;

// dark theme
@menu-dark-color: @text-color-secondary-dark;
@menu-dark-danger-color: @error-color;
@menu-dark-bg: @layout-header-background;
@menu-dark-arrow-color: #fff;
@menu-dark-inline-submenu-bg: #000c17;
@menu-dark-highlight-color: #fff;
@menu-dark-item-active-bg: @primary-color;
@menu-dark-item-active-danger-bg: @error-color;
@menu-dark-selected-item-icon-color: @white;
@menu-dark-selected-item-text-color: @white;
@menu-dark-item-hover-bg: transparent;

// Message
@message-notice-content-padding:      10px 20px;
@message-notice-content-shadow:       0 2px 6px 0 rgba(23,23,26,0.1);
@message-notice-content-radius:       75px;

// Modals
// Padding applied to the modal body
@modal-inner-padding:         24px;
// Padding applied to the modal title
@modal-title-padding:         16px 24px;
@modal-footer-padding:        10px 16px;
// Modal title line-height
@modal-title-line-height:     22px;
@modal-border-radius-base :   4px;
// Background color of modal content area
@modal-content-bg:                             #fff;
// Modal content border color
@modal-content-border-color:                   rgba(0,0,0,0.2);
// Modal content border color **for IE8**
@modal-content-fallback-border-color:          #999;
// Modal backdrop background color
@modal-backdrop-bg:           #000;
// Modal backdrop opacity
@modal-backdrop-opacity:      0.5;
// Modal header border color
@modal-header-border-color:   #e9e9e9;
// Modal footer border color
@modal-footer-border-color:   @modal-header-border-color;
@modal-mask-bg:                   rgba(55, 55, 55, 0.6);
@modal-lg:                    900px;
@modal-md:                    600px;
@modal-sm:                    300px;

// Pagination
@pagination-item-size: 28px;
@pagination-item-size-sm: 24px;
@pagination-font-family: Arial;
@pagination-font-weight-active: 500;

// Popover
// Popover body background color
@popover-bg: #fff;
// Popover text color
@popover-color: @text-color;
// Popover maximum width
@popover-min-width: 177px;
// Popover arrow width
@popover-arrow-width: 6px;
// Popover arrow color
@popover-arrow-color: @popover-bg;
// Popover outer arrow width
// Popover outer arrow color
@popover-arrow-outer-color: @popover-bg;
// Popover distance with trigger
@popover-distance: @popover-arrow-width + 4px;

// Progress
@progress-default-color: @processing-color;
@progress-remaining-color: @background-color-base;

// Radio
@radio-size             : 16px;
@radio-dot-color        : @primary-color;

// Radio buttons
@radio-button-bg           : @btn-default-bg;
@radio-button-color        : @btn-default-color;
@radio-button-hover-color  : @primary-5;
@radio-button-active-color : @primary-7;

// Select
@select-border-color              : @border-color-base;
@select-height-base               : 32px;
@select-height-lg                 : 40px;
@select-height-sm                 : 24px;
@select-hover-bg                  : @item-hover-bg;

// Slider
@slider-margin:                       14px 6px 10px;
@slider-border-radius-base:           4px;
@slider-rail-background-color:        @background-color-base;
@slider-rail-background-color-hover:  #e1e3e6;
@slider-track-background-color:       fade(@primary-color, 80%);
@slider-track-background-color-hover: @primary-color;
@slider-handle-color:                 fade(@primary-color, 80%);
@slider-handle-color-hover:           @primary-color;
@slider-handle-color-focus:           @primary-color;
@slider-handle-color-focus-shadow:    fade(@primary-color, 30%);
@slider-handle-color-tooltip-open:    @primary-color;
@slider-dot-border-color:             @border-color-split;
@slider-dot-border-color-active:      fade(@primary-color, 80%);
@slider-disabled-color:               @disabled-color;
@slider-disabled-background-color:    @component-background;

// Spin
@spin-dot-size-sm: 14px;
@spin-dot-size: 20px;
@spin-dot-size-lg: 32px;

// Switch
@switch-height: 20px;
@switch-sm-height: 16px;
@switch-lg-height: 24px;
@switch-sm-checked-margin-left: -(@switch-sm-height - 3px);
@switch-lg-checked-margin-left: -(@switch-lg-height - 3px);
@switch-disabled-opacity: 0.4;
@switch-color: @primary-color;
@switch-border-radius: 100px;

// Table
@table-row-hover-bg: @item-hover-bg;
@table-selected-row-bg: @primary-1;
@table-header-bg: @text-d;
@table-header-sort-bg: @background-color-base;
@table-expanded-row-bg: #fbfbfb;
@table-padding-vertical: 12px;
@table-padding-horizontal: 8px;

// Tabs
@tabs-card-head-background: @item-striped-bg;
@tabs-card-height: 48px;
@tabs-card-active-color: @primary-color;
@tabs-title-font-size: @font-size-base;
@tabs-title-font-size-lg: @font-size-lg;
@tabs-title-font-size-sm: @font-size-base;
@tabs-ink-bar-color: @primary-color;
@tabs-bar-margin: 0 0 16px 0;
@tabs-horizontal-padding: 14px 20px;
@tabs-vertical-padding: 14px 12px;
@tabs-scrolling-size: 32px;
@tabs-highlight-color: @primary-color;
@tabs-hover-color: @primary-5;
@tabs-active-color: @primary-7;

// Tag
@tag-default-bg: @background-color-base;
@tag-default-color: @text-color;
@tag-font-size: @font-size-sm;

// Tooltip
// ---
// Tooltip max width
@tooltip-max-width: 250px;
// Tooltip text color
@tooltip-color: #fff;
// Tooltip background color
@tooltip-bg: fade(@text-3, 90%);
// Tooltip arrow width
@tooltip-arrow-width: 5px;
// Tooltip distance with trigger
@tooltip-distance: @tooltip-arrow-width - 1px + 4px;
// Tooltip arrow color
@tooltip-arrow-color: @tooltip-bg;

// Tree
@tree-title-height:                   28px;
@tree-child-padding:                  18px;
@tree-directory-selected-color:       #fff;
@tree-directory-selected-bg:          @primary-color;

// RichEditor
@richeditor-icon-hover-bg: @text-d;

// Trend
@trend-title-font-size-sm: @font-size-base;
@trend-title-font-size: 18px;
@trend-title-font-size-lg: 30px;
@trend-title-line-height-sm: 20px;
@trend-title-line-height: 25px;
@trend-title-line-height-lg: 42px;

// VideoViewer
@video-viewer-primary-color: #ffaf0f;
