数据可视化大屏
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

2040 行
104KB

  1. @primary-color: @blue-6;
  2. a {color: @primary-color;}
  3. ::selection {background: @primary-color;}
  4. html {--antd-wave-shadow-color: @primary-color;}
  5. .ant-alert-info .ant-alert-icon {color: @primary-color;}
  6. .ant-anchor-link-active > .ant-anchor-link-title {color: @primary-color;}
  7. .ant-ribbon {background-color: @primary-color;}
  8. .ant-btn-primary {border-color: @primary-color;background: @primary-color;}
  9. .ant-btn-link {color: @primary-color;}
  10. .ant-btn-background-ghost.ant-btn-primary {color: @primary-color;border-color: @primary-color;}
  11. .ant-card-actions > li > span:hover {color: @primary-color;}
  12. .ant-card-actions > li > span a:not(.ant-btn):hover, .ant-card-actions > li > span > .anticon:hover {color: @primary-color;}
  13. .ant-checkbox-wrapper:hover .ant-checkbox-inner, .ant-checkbox:hover .ant-checkbox-inner, .ant-checkbox-input:focus + .ant-checkbox-inner {border-color: @primary-color;}
  14. .ant-checkbox-checked .ant-checkbox-inner {background-color: @primary-color;border-color: @primary-color;}
  15. .ant-checkbox-indeterminate .ant-checkbox-inner::after {background-color: @primary-color;}
  16. .ant-picker-range .ant-picker-active-bar {background: @primary-color;}
  17. .ant-picker-ranges .ant-picker-preset > .ant-tag-blue {color: @primary-color;}
  18. .ant-picker-panel-focused {border-color: @primary-color;}
  19. .ant-picker-header-view button:hover {color: @primary-color;}
  20. .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {background: @primary-color;}
  21. .ant-picker-today-btn {color: @primary-color;}
  22. .ant-picker-week-panel-row-selected td, .ant-picker-week-panel-row-selected:hover td {background: @primary-color;}
  23. .ant-dropdown-menu-item-selected, .ant-dropdown-menu-submenu-title-selected {color: @primary-color;}
  24. .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title {color: @primary-color;}
  25. .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {background: @primary-color;}
  26. .ant-input-group-addon .ant-select-open .ant-select-selector, .ant-input-group-addon .ant-select-focused .ant-select-selector {color: @primary-color;}
  27. .ant-input-number-group-addon .ant-select-open .ant-select-selector, .ant-input-number-group-addon .ant-select-focused .ant-select-selector {color: @primary-color;}
  28. .ant-form-item-feedback-icon-validating {color: @primary-color;}
  29. .ant-list-item-meta-title > a:hover {color: @primary-color;}
  30. .ant-menu-submenu-selected {color: @primary-color;}
  31. .ant-menu-item a:hover {color: @primary-color;}
  32. .ant-menu-item > .ant-badge a:hover {color: @primary-color;}
  33. .ant-menu-item-selected {color: @primary-color;}
  34. .ant-menu-item-selected a, .ant-menu-item-selected a:hover {color: @primary-color;}
  35. .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon, .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {color: @primary-color;}
  36. .ant-menu-vertical .ant-menu-submenu-selected, .ant-menu-vertical-left .ant-menu-submenu-selected, .ant-menu-vertical-right .ant-menu-submenu-selected {color: @primary-color;}
  37. .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected {color: @primary-color;}
  38. .ant-menu-horizontal > .ant-menu-item a:hover {color: @primary-color;}
  39. .ant-menu-horizontal > .ant-menu-item-selected a {color: @primary-color;}
  40. .ant-menu-light .ant-menu-item:hover, .ant-menu-light .ant-menu-item-active, .ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, .ant-menu-light .ant-menu-submenu-active, .ant-menu-light .ant-menu-submenu-title:hover {color: @primary-color;}
  41. .ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover {background-color: @primary-color;}
  42. .ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {background-color: @primary-color;}
  43. .ant-menu.ant-menu-dark .ant-menu-item-selected, .ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {background-color: @primary-color;}
  44. .ant-message-info .anticon, .ant-message-loading .anticon {color: @primary-color;}
  45. .ant-modal-confirm-info .ant-modal-confirm-body > .anticon {color: @primary-color;}
  46. .anticon.ant-notification-notice-icon-info {color: @primary-color;}
  47. .ant-page-header-back-button {color: @primary-color;}
  48. .ant-pagination-item:hover {border-color: @primary-color;}
  49. .ant-pagination-item:hover a {color: @primary-color;}
  50. .ant-pagination-item:focus-visible {border-color: @primary-color;}
  51. .ant-pagination-item:focus-visible a {color: @primary-color;}
  52. .ant-pagination-item-active {border-color: @primary-color;}
  53. .ant-pagination-item-active a {color: @primary-color;}
  54. .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon {color: @primary-color;}
  55. .ant-pagination-prev:focus-visible .ant-pagination-item-link, .ant-pagination-next:focus-visible .ant-pagination-item-link {color: @primary-color;border-color: @primary-color;}
  56. .ant-pagination-prev:hover .ant-pagination-item-link, .ant-pagination-next:hover .ant-pagination-item-link {color: @primary-color;border-color: @primary-color;}
  57. .ant-pagination-simple .ant-pagination-simple-pager input:hover {border-color: @primary-color;}
  58. .ant-radio-wrapper:hover .ant-radio, .ant-radio:hover .ant-radio-inner, .ant-radio-input:focus + .ant-radio-inner {border-color: @primary-color;}
  59. .ant-radio-inner::after {background-color: @primary-color;}
  60. .ant-radio-checked .ant-radio-inner {border-color: @primary-color;}
  61. .ant-radio-button-wrapper:hover {color: @primary-color;}
  62. .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: @primary-color;border-color: @primary-color;}
  63. .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {background-color: @primary-color;}
  64. .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child {border-color: @primary-color;}
  65. .ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {background: @primary-color;border-color: @primary-color;}
  66. .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {color: @primary-color;}
  67. .ant-slider-handle.ant-tooltip-open {border-color: @primary-color;}
  68. .ant-spin {color: @primary-color;}
  69. .ant-spin-dot-item {background-color: @primary-color;}
  70. .ant-steps-item-icon .ant-steps-icon {color: @primary-color;}
  71. .ant-steps-item-process .ant-steps-item-icon {border-color: @primary-color;}
  72. .ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: @primary-color;}
  73. .ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: @primary-color;}
  74. .ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon {background: @primary-color;}
  75. .ant-steps-item-finish .ant-steps-item-icon {border-color: @primary-color;}
  76. .ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon {color: @primary-color;}
  77. .ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: @primary-color;}
  78. .ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: @primary-color;}
  79. .ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: @primary-color;}
  80. .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description {color: @primary-color;}
  81. .ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon {border-color: @primary-color;}
  82. .ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon {color: @primary-color;}
  83. .ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: @primary-color;}
  84. .ant-steps-navigation .ant-steps-item::before {background-color: @primary-color;}
  85. .ant-switch-checked {background: @primary-color;}
  86. .ant-switch-checked .ant-switch-loading-icon {color: @primary-color;}
  87. .ant-table-thead th.ant-table-column-has-sorters:focus-visible {color: @primary-color;}
  88. .ant-table-column-sorter-up.active, .ant-table-column-sorter-down.active {color: @primary-color;}
  89. .ant-table-filter-trigger.active {color: @primary-color;}
  90. .ant-table-row-expand-icon {color: @primary-color;}
  91. .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active {color: @primary-color;}
  92. .ant-tabs-ink-bar {background: @primary-color;}
  93. .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {color: @primary-color;}
  94. .ant-tag-checkable:not(.ant-tag-checkable-checked):hover {color: @primary-color;}
  95. .ant-tag-checkable-checked {background-color: @primary-color;}
  96. .ant-tag-processing {color: @primary-color;}
  97. .ant-timeline-item-head-blue {color: @primary-color;border-color: @primary-color;}
  98. .ant-transfer-list-content-item-remove {color: @primary-color;}
  99. a.ant-typography, .ant-typography a {color: @primary-color;}
  100. .ant-typography-expand, .ant-typography-edit, .ant-typography-copy {color: @primary-color;}
  101. .ant-upload.ant-upload-select-picture-card:hover {border-color: @primary-color;}
  102. .ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-inner, .ant-cascader-checkbox:hover .ant-cascader-checkbox-inner, .ant-cascader-checkbox-input:focus + .ant-cascader-checkbox-inner {border-color: @primary-color;}
  103. .ant-cascader-checkbox-checked .ant-cascader-checkbox-inner {background-color: @primary-color;border-color: @primary-color;}
  104. .ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner::after {background-color: @primary-color;}
  105. .ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before {background: @primary-color;}
  106. .ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, .ant-tree-checkbox:hover .ant-tree-checkbox-inner, .ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner {border-color: @primary-color;}
  107. .ant-tree-checkbox-checked .ant-tree-checkbox-inner {background-color: @primary-color;border-color: @primary-color;}
  108. .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {background-color: @primary-color;}
  109. .ant-tree-switcher-loading-icon {color: @primary-color;}
  110. .ant-tree-node-content-wrapper .ant-tree-drop-indicator {background-color: @primary-color;}
  111. .ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner {border-color: @primary-color;}
  112. .ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner {background-color: @primary-color;border-color: @primary-color;}
  113. .ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after {background-color: @primary-color;}
  114. .ant-select-tree-switcher-loading-icon {color: @primary-color;}
  115. .ant-select-tree-node-content-wrapper .ant-tree-drop-indicator {background-color: @primary-color;}
  116. .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value {color: @primary-color;}
  117. .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today {border-color: @primary-color;}
  118. .ant-result-info .ant-result-icon > .anticon {color: @primary-color;}
  119. .ant-cron-expression-input-group-focus {border-color: @primary-color;}
  120. .ant-cron-expression-label-foucs {color: @primary-color;}
  121. .ant-color-picker-trigger:hover {border-color: @primary-color;}
  122. .setting-drawer__handle {background: @primary-color;}
  123. .theme-btn-active {color: @primary-color;}
  124. .theme-btn .ant-avatar:hover {color: @primary-color;}
  125. .border-primary {border-color: @primary-color !important;}
  126. .border-info {border-color: @primary-color !important;}
  127. .text-hover:hover {color: @primary-color !important;}
  128. .bg-primary {background-color: @primary-color !important;}
  129. .bg-primary-h:hover {background-color: @primary-color !important;}
  130. .text-primary {color: @primary-color !important;}
  131. .bg-info {background-color: @primary-color !important;}
  132. .bg-info-h:hover {background-color: @primary-color !important;}
  133. .text-info {color: @primary-color !important;}
  134. .st .ant-table-thead > tr > th .ant-table-filter-selected.ant-table-filter-icon {color: @primary-color;}
  135. .sv__type-primary .sv__detail {color: @primary-color;}
  136. .tag-select__trigger {color: @primary-color;}
  137. .loading-default__icon {color: @primary-color;}
  138. .loading-default__text {color: @primary-color;}
  139. .cell__primary {color: @primary-color;}
  140. .g2-mini-progress__value {background-color: @primary-color;}
  141. .alain-default__header {background-color: @primary-color;}
  142. .sidebar-nav__item-link:hover {color: @primary-color;}
  143. .sidebar-nav__selected {border-left-color: @primary-color;}
  144. .sidebar-nav__selected > .sidebar-nav__item-link {color: @primary-color;}
  145. .bezierEasingMixin() {
  146. @functions: ~`(function() {var NEWTON_ITERATIONS = 4;var NEWTON_MIN_SLOPE = 0.001;var SUBDIVISION_PRECISION = 0.0000001;var SUBDIVISION_MAX_ITERATIONS = 10;var kSplineTableSize = 11;var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);var float32ArraySupported = typeof Float32Array === 'function';function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }
  147. function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }
  148. function C (aA1) { return 3.0 * aA1; }
  149. function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; }
  150. function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); }
  151. function binarySubdivide (aX, aA, aB, mX1, mX2) {var currentX, currentT, i = 0;do {currentT = aA + (aB - aA) / 2.0;currentX = calcBezier(currentT, mX1, mX2) - aX;if (currentX > 0.0) {aB = currentT;} else {aA = currentT;}
  152. } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);return currentT;}
  153. function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {for (var i = 0; i < NEWTON_ITERATIONS; ++i) {var currentSlope = getSlope(aGuessT, mX1, mX2);if (currentSlope === 0.0) {return aGuessT;}
  154. var currentX = calcBezier(aGuessT, mX1, mX2) - aX;aGuessT -= currentX / currentSlope;}
  155. return aGuessT;}
  156. var BezierEasing = function (mX1, mY1, mX2, mY2) {if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {throw new Error('bezier x values must be in [0, 1] range');}
  157. var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);if (mX1 !== mY1 || mX2 !== mY2) {for (var i = 0; i < kSplineTableSize; ++i) {sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);}
  158. }
  159. function getTForX (aX) {var intervalStart = 0.0;var currentSample = 1;var lastSample = kSplineTableSize - 1;for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {intervalStart += kSampleStepSize;}
  160. --currentSample;var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);var guessForT = intervalStart + dist * kSampleStepSize;var initialSlope = getSlope(guessForT, mX1, mX2);if (initialSlope >= NEWTON_MIN_SLOPE) {return newtonRaphsonIterate(aX, guessForT, mX1, mX2);} else if (initialSlope === 0.0) {return guessForT;} else {return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);}
  161. }
  162. return function BezierEasing (x) {if (mX1 === mY1 && mX2 === mY2) {return x;
  163. }
  164. if (x === 0) {return 0;}
  165. if (x === 1) {return 1;}
  166. return calcBezier(getTForX(x), mY1, mY2);};};this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18);return '';})()`;}
  167. .bezierEasingMixin();
  168. .tinyColorMixin() {
  169. @functions: ~`(function() {
  170. var trimLeft = /^\s+/,
  171. trimRight = /\s+$/,
  172. tinyCounter = 0,
  173. mathRound = Math.round,
  174. mathMin = Math.min,
  175. mathMax = Math.max,
  176. mathRandom = Math.random;
  177. function tinycolor (color, opts) {color = (color) ? color : '';opts = opts || { };if (color instanceof tinycolor) {return color;}
  178. if (!(this instanceof tinycolor)) {return new tinycolor(color, opts);}
  179. var rgb = inputToRGB(color);this._originalInput = color,
  180. this._r = rgb.r,
  181. this._g = rgb.g,
  182. this._b = rgb.b,
  183. this._a = rgb.a,
  184. this._roundA = mathRound(100*this._a) / 100,
  185. this._format = opts.format || rgb.format;this._gradientType = opts.gradientType;if (this._r < 1) { this._r = mathRound(this._r); }
  186. if (this._g < 1) { this._g = mathRound(this._g); }
  187. if (this._b < 1) { this._b = mathRound(this._b); }
  188. this._ok = rgb.ok;this._tc_id = tinyCounter++;}
  189. tinycolor.prototype = {isDark: function() {return this.getBrightness() < 128;},
  190. isLight: function() {return !this.isDark();},
  191. isValid: function() {return this._ok;},
  192. getOriginalInput: function() {return this._originalInput;},
  193. getFormat: function() {return this._format;},
  194. getAlpha: function() {return this._a;},
  195. getBrightness: function() {//http://www.w3.org/TR/AERT#color-contrast
  196. var rgb = this.toRgb();return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;},
  197. getLuminance: function() {//http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
  198. var rgb = this.toRgb();var RsRGB, GsRGB, BsRGB, R, G, B;RsRGB = rgb.r/255;GsRGB = rgb.g/255;BsRGB = rgb.b/255;if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}
  199. if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}
  200. if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}
  201. return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);},
  202. setAlpha: function(value) {this._a = boundAlpha(value);this._roundA = mathRound(100*this._a) / 100;return this;},
  203. toHsv: function() {var hsv = rgbToHsv(this._r, this._g, this._b);return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };},
  204. toHsvString: function() {var hsv = rgbToHsv(this._r, this._g, this._b);var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);return (this._a == 1) ?
  205. "hsv(" + h + ", " + s + "%, " + v + "%)" :
  206. "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";},
  207. toHsl: function() {var hsl = rgbToHsl(this._r, this._g, this._b);return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };},
  208. toHslString: function() {var hsl = rgbToHsl(this._r, this._g, this._b);var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);return (this._a == 1) ?
  209. "hsl(" + h + ", " + s + "%, " + l + "%)" :
  210. "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";},
  211. toHex: function(allow3Char) {return rgbToHex(this._r, this._g, this._b, allow3Char);},
  212. toHexString: function(allow3Char) {return '#' + this.toHex(allow3Char);},
  213. toHex8: function(allow4Char) {return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);},
  214. toHex8String: function(allow4Char) {return '#' + this.toHex8(allow4Char);},
  215. toRgb: function() {return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };},
  216. toRgbString: function() {return (this._a == 1) ?
  217. "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
  218. "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";},
  219. toPercentageRgb: function() {return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };},
  220. toPercentageRgbString: function() {return (this._a == 1) ?
  221. "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
  222. "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";},
  223. toName: function() {if (this._a === 0) {return "transparent";}
  224. if (this._a < 1) {return false;}
  225. return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;},
  226. toFilter: function(secondColor) {var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);var secondHex8String = hex8String;var gradientType = this._gradientType ? "GradientType = 1, " : "";if (secondColor) {var s = tinycolor(secondColor);secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);}
  227. return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";},
  228. toString: function(format) {var formatSet = !!format;format = format || this._format;var formattedString = false;var hasAlpha = this._a < 1 && this._a >= 0;var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name");if (needsAlphaFormat) {if (format === "name" && this._a === 0) {return this.toName();}
  229. return this.toRgbString();}
  230. if (format === "rgb") {formattedString = this.toRgbString();}
  231. if (format === "prgb") {formattedString = this.toPercentageRgbString();}
  232. if (format === "hex" || format === "hex6") {formattedString = this.toHexString();}
  233. if (format === "hex3") {formattedString = this.toHexString(true);}
  234. if (format === "hex4") {formattedString = this.toHex8String(true);}
  235. if (format === "hex8") {formattedString = this.toHex8String();}
  236. if (format === "name") {formattedString = this.toName();}
  237. if (format === "hsl") {formattedString = this.toHslString();}
  238. if (format === "hsv") {formattedString = this.toHsvString();}
  239. return formattedString || this.toHexString();},
  240. clone: function() {return tinycolor(this.toString());},
  241. _applyModification: function(fn, args) {var color = fn.apply(null, [this].concat([].slice.call(args)));this._r = color._r;this._g = color._g;this._b = color._b;this.setAlpha(color._a);return this;},
  242. lighten: function() {return this._applyModification(lighten, arguments);},
  243. brighten: function() {return this._applyModification(brighten, arguments);},
  244. darken: function() {return this._applyModification(darken, arguments);},
  245. desaturate: function() {return this._applyModification(desaturate, arguments);},
  246. saturate: function() {return this._applyModification(saturate, arguments);},
  247. greyscale: function() {return this._applyModification(greyscale, arguments);},
  248. spin: function() {return this._applyModification(spin, arguments);},
  249. _applyCombination: function(fn, args) {return fn.apply(null, [this].concat([].slice.call(args)));},
  250. analogous: function() {return this._applyCombination(analogous, arguments);},
  251. complement: function() {return this._applyCombination(complement, arguments);},
  252. monochromatic: function() {return this._applyCombination(monochromatic, arguments);},
  253. splitcomplement: function() {return this._applyCombination(splitcomplement, arguments);},
  254. triad: function() {return this._applyCombination(triad, arguments);},
  255. tetrad: function() {return this._applyCombination(tetrad, arguments);}
  256. };
  257. tinycolor.fromRatio = function(color, opts) {if (typeof color == "object") {var newColor = {};for (var i in color) {if (color.hasOwnProperty(i)) {if (i === "a") {newColor[i] = color[i];}
  258. else {newColor[i] = convertToPercentage(color[i]);}
  259. }
  260. }
  261. color = newColor;}
  262. return tinycolor(color, opts);};
  263. //
  264. //
  265. function inputToRGB(color) {var rgb = { r: 0, g: 0, b: 0 };var a = 1;var s = null;var v = null;var l = null;var ok = false;var format = false;if (typeof color == "string") {color = stringInputToObject(color);}
  266. if (typeof color == "object") {if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {rgb = rgbToRgb(color.r, color.g, color.b);ok = true;format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";}
  267. else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {s = convertToPercentage(color.s);v = convertToPercentage(color.v);rgb = hsvToRgb(color.h, s, v);ok = true;format = "hsv";}
  268. else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {s = convertToPercentage(color.s);l = convertToPercentage(color.l);rgb = hslToRgb(color.h, s, l);ok = true;format = "hsl";}
  269. if (color.hasOwnProperty("a")) {a = color.a;}
  270. }
  271. a = boundAlpha(a);return {ok: ok,
  272. format: color.format || format,
  273. r: mathMin(255, mathMax(rgb.r, 0)),
  274. g: mathMin(255, mathMax(rgb.g, 0)),
  275. b: mathMin(255, mathMax(rgb.b, 0)),
  276. a: a
  277. };}
  278. function rgbToRgb(r, g, b){return {r: bound01(r, 255) * 255,
  279. g: bound01(g, 255) * 255,
  280. b: bound01(b, 255) * 255
  281. };}
  282. function rgbToHsl(r, g, b) {r = bound01(r, 255);g = bound01(g, 255);b = bound01(b, 255);var max = mathMax(r, g, b), min = mathMin(r, g, b);var h, s, l = (max + min) / 2;if(max == min) {h = s = 0;
  283. }
  284. else {var d = max - min;s = l > 0.5 ? d / (2 - max - min) : d / (max + min);switch(max) {case r: h = (g - b) / d + (g < b ? 6 : 0); break;case g: h = (b - r) / d + 2; break;case b: h = (r - g) / d + 4; break;}
  285. h /= 6;}
  286. return { h: h, s: s, l: l };}
  287. function hslToRgb(h, s, l) {var r, g, b;h = bound01(h, 360);s = bound01(s, 100);l = bound01(l, 100);function hue2rgb(p, q, t) {if(t < 0) t += 1;if(t > 1) t -= 1;if(t < 1/6) return p + (q - p) * 6 * t;if(t < 1/2) return q;if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;return p;}
  288. if(s === 0) {r = g = b = l;
  289. }
  290. else {var q = l < 0.5 ? l * (1 + s) : l + s - l * s;var p = 2 * l - q;r = hue2rgb(p, q, h + 1/3);g = hue2rgb(p, q, h);b = hue2rgb(p, q, h - 1/3);}
  291. return { r: r * 255, g: g * 255, b: b * 255 };}
  292. function rgbToHsv(r, g, b) {r = bound01(r, 255);g = bound01(g, 255);b = bound01(b, 255);var max = mathMax(r, g, b), min = mathMin(r, g, b);var h, s, v = max;var d = max - min;s = max === 0 ? 0 : d / max;if(max == min) {h = 0;
  293. }
  294. else {switch(max) {case r: h = (g - b) / d + (g < b ? 6 : 0); break;case g: h = (b - r) / d + 2; break;case b: h = (r - g) / d + 4; break;}
  295. h /= 6;}
  296. return { h: h, s: s, v: v };}
  297. function hsvToRgb(h, s, v) {h = bound01(h, 360) * 6;s = bound01(s, 100);v = bound01(v, 100);var i = Math.floor(h),
  298. f = h - i,
  299. p = v * (1 - s),
  300. q = v * (1 - f * s),
  301. t = v * (1 - (1 - f) * s),
  302. mod = i % 6,
  303. r = [v, q, p, p, t, v][mod],
  304. g = [t, v, v, q, p, p][mod],
  305. b = [p, p, t, v, v, q][mod];return { r: r * 255, g: g * 255, b: b * 255 };}
  306. function rgbToHex(r, g, b, allow3Char) {var hex = [
  307. pad2(mathRound(r).toString(16)),
  308. pad2(mathRound(g).toString(16)),
  309. pad2(mathRound(b).toString(16))
  310. ];if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);}
  311. return hex.join("");}
  312. function rgbaToHex(r, g, b, a, allow4Char) {var hex = [
  313. pad2(mathRound(r).toString(16)),
  314. pad2(mathRound(g).toString(16)),
  315. pad2(mathRound(b).toString(16)),
  316. pad2(convertDecimalToHex(a))
  317. ];if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);}
  318. return hex.join("");}
  319. function rgbaToArgbHex(r, g, b, a) {var hex = [
  320. pad2(convertDecimalToHex(a)),
  321. pad2(mathRound(r).toString(16)),
  322. pad2(mathRound(g).toString(16)),
  323. pad2(mathRound(b).toString(16))
  324. ];return hex.join("");}
  325. tinycolor.equals = function (color1, color2) {if (!color1 || !color2) { return false; }
  326. return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();};
  327. tinycolor.random = function() {return tinycolor.fromRatio({r: mathRandom(),
  328. g: mathRandom(),
  329. b: mathRandom()
  330. });};
  331. function desaturate(color, amount) {amount = (amount === 0) ? 0 : (amount || 10);var hsl = tinycolor(color).toHsl();hsl.s -= amount / 100;hsl.s = clamp01(hsl.s);return tinycolor(hsl);}
  332. function saturate(color, amount) {amount = (amount === 0) ? 0 : (amount || 10);var hsl = tinycolor(color).toHsl();hsl.s += amount / 100;hsl.s = clamp01(hsl.s);return tinycolor(hsl);}
  333. function greyscale(color) {return tinycolor(color).desaturate(100);}
  334. function lighten (color, amount) {amount = (amount === 0) ? 0 : (amount || 10);var hsl = tinycolor(color).toHsl();hsl.l += amount / 100;hsl.l = clamp01(hsl.l);return tinycolor(hsl);}
  335. function brighten(color, amount) {amount = (amount === 0) ? 0 : (amount || 10);var rgb = tinycolor(color).toRgb();rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));return tinycolor(rgb);}
  336. function darken (color, amount) {amount = (amount === 0) ? 0 : (amount || 10);var hsl = tinycolor(color).toHsl();hsl.l -= amount / 100;hsl.l = clamp01(hsl.l);return tinycolor(hsl);}
  337. function spin(color, amount) {var hsl = tinycolor(color).toHsl();var hue = (hsl.h + amount) % 360;hsl.h = hue < 0 ? 360 + hue : hue;return tinycolor(hsl);}
  338. function complement(color) {var hsl = tinycolor(color).toHsl();hsl.h = (hsl.h + 180) % 360;return tinycolor(hsl);}
  339. function triad(color) {var hsl = tinycolor(color).toHsl();var h = hsl.h;return [
  340. tinycolor(color),
  341. tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
  342. tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
  343. ];}
  344. function tetrad(color) {var hsl = tinycolor(color).toHsl();var h = hsl.h;return [
  345. tinycolor(color),
  346. tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
  347. tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
  348. tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
  349. ];}
  350. function splitcomplement(color) {var hsl = tinycolor(color).toHsl();var h = hsl.h;return [
  351. tinycolor(color),
  352. tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
  353. tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
  354. ];}
  355. function analogous(color, results, slices) {results = results || 6;slices = slices || 30;var hsl = tinycolor(color).toHsl();var part = 360 / slices;var ret = [tinycolor(color)];for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {hsl.h = (hsl.h + part) % 360;ret.push(tinycolor(hsl));}
  356. return ret;}
  357. function monochromatic(color, results) {results = results || 6;var hsv = tinycolor(color).toHsv();var h = hsv.h, s = hsv.s, v = hsv.v;var ret = [];var modification = 1 / results;while (results--) {ret.push(tinycolor({ h: h, s: s, v: v}));v = (v + modification) % 1;}
  358. return ret;}
  359. tinycolor.mix = function(color1, color2, amount) {amount = (amount === 0) ? 0 : (amount || 50);var rgb1 = tinycolor(color1).toRgb();var rgb2 = tinycolor(color2).toRgb();var p = amount / 100;var rgba = {r: ((rgb2.r - rgb1.r) * p) + rgb1.r,
  360. g: ((rgb2.g - rgb1.g) * p) + rgb1.g,
  361. b: ((rgb2.b - rgb1.b) * p) + rgb1.b,
  362. a: ((rgb2.a - rgb1.a) * p) + rgb1.a
  363. };return tinycolor(rgba);};
  364. tinycolor.readability = function(color1, color2) {var c1 = tinycolor(color1);var c2 = tinycolor(color2);return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);};
  365. tinycolor.isReadable = function(color1, color2, wcag2) {var readability = tinycolor.readability(color1, color2);var wcag2Parms, out;out = false;wcag2Parms = validateWCAG2Parms(wcag2);switch (wcag2Parms.level + wcag2Parms.size) {case "AAsmall":
  366. case "AAAlarge":
  367. out = readability >= 4.5;break;case "AAlarge":
  368. out = readability >= 3;break;case "AAAsmall":
  369. out = readability >= 7;break;}
  370. return out;};
  371. tinycolor.mostReadable = function(baseColor, colorList, args) {var bestColor = null;var bestScore = 0;var readability;var includeFallbackColors, level, size ;args = args || {};includeFallbackColors = args.includeFallbackColors ;level = args.level;size = args.size;for (var i= 0; i < colorList.length ; i++) {readability = tinycolor.readability(baseColor, colorList[i]);if (readability > bestScore) {bestScore = readability;bestColor = tinycolor(colorList[i]);}
  372. }
  373. if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) {return bestColor;}
  374. else {args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff", "#000"],args);}
  375. };
  376. var names = tinycolor.names = {aliceblue: "f0f8ff",
  377. antiquewhite: "faebd7",
  378. aqua: "0ff",
  379. aquamarine: "7fffd4",
  380. azure: "f0ffff",
  381. beige: "f5f5dc",
  382. bisque: "ffe4c4",
  383. black: "000",
  384. blanchedalmond: "ffebcd",
  385. blue: "00f",
  386. blueviolet: "8a2be2",
  387. brown: "a52a2a",
  388. burlywood: "deb887",
  389. burntsienna: "ea7e5d",
  390. cadetblue: "5f9ea0",
  391. chartreuse: "7fff00",
  392. chocolate: "d2691e",
  393. coral: "ff7f50",
  394. cornflowerblue: "6495ed",
  395. cornsilk: "fff8dc",
  396. crimson: "dc143c",
  397. cyan: "0ff",
  398. darkblue: "00008b",
  399. darkcyan: "008b8b",
  400. darkgoldenrod: "b8860b",
  401. darkgray: "a9a9a9",
  402. darkgreen: "006400",
  403. darkgrey: "a9a9a9",
  404. darkkhaki: "bdb76b",
  405. darkmagenta: "8b008b",
  406. darkolivegreen: "556b2f",
  407. darkorange: "ff8c00",
  408. darkorchid: "9932cc",
  409. darkred: "8b0000",
  410. darksalmon: "e9967a",
  411. darkseagreen: "8fbc8f",
  412. darkslateblue: "483d8b",
  413. darkslategray: "2f4f4f",
  414. darkslategrey: "2f4f4f",
  415. darkturquoise: "00ced1",
  416. darkviolet: "9400d3",
  417. deeppink: "ff1493",
  418. deepskyblue: "00bfff",
  419. dimgray: "696969",
  420. dimgrey: "696969",
  421. dodgerblue: "1e90ff",
  422. firebrick: "b22222",
  423. floralwhite: "fffaf0",
  424. forestgreen: "228b22",
  425. fuchsia: "f0f",
  426. gainsboro: "dcdcdc",
  427. ghostwhite: "f8f8ff",
  428. gold: "ffd700",
  429. goldenrod: "daa520",
  430. gray: "808080",
  431. green: "008000",
  432. greenyellow: "adff2f",
  433. grey: "808080",
  434. honeydew: "f0fff0",
  435. hotpink: "ff69b4",
  436. indianred: "cd5c5c",
  437. indigo: "4b0082",
  438. ivory: "fffff0",
  439. khaki: "f0e68c",
  440. lavender: "e6e6fa",
  441. lavenderblush: "fff0f5",
  442. lawngreen: "7cfc00",
  443. lemonchiffon: "fffacd",
  444. lightblue: "add8e6",
  445. lightcoral: "f08080",
  446. lightcyan: "e0ffff",
  447. lightgoldenrodyellow: "fafad2",
  448. lightgray: "d3d3d3",
  449. lightgreen: "90ee90",
  450. lightgrey: "d3d3d3",
  451. lightpink: "ffb6c1",
  452. lightsalmon: "ffa07a",
  453. lightseagreen: "20b2aa",
  454. lightskyblue: "87cefa",
  455. lightslategray: "789",
  456. lightslategrey: "789",
  457. lightsteelblue: "b0c4de",
  458. lightyellow: "ffffe0",
  459. lime: "0f0",
  460. limegreen: "32cd32",
  461. linen: "faf0e6",
  462. magenta: "f0f",
  463. maroon: "800000",
  464. mediumaquamarine: "66cdaa",
  465. mediumblue: "0000cd",
  466. mediumorchid: "ba55d3",
  467. mediumpurple: "9370db",
  468. mediumseagreen: "3cb371",
  469. mediumslateblue: "7b68ee",
  470. mediumspringgreen: "00fa9a",
  471. mediumturquoise: "48d1cc",
  472. mediumvioletred: "c71585",
  473. midnightblue: "191970",
  474. mintcream: "f5fffa",
  475. mistyrose: "ffe4e1",
  476. moccasin: "ffe4b5",
  477. navajowhite: "ffdead",
  478. navy: "000080",
  479. oldlace: "fdf5e6",
  480. olive: "808000",
  481. olivedrab: "6b8e23",
  482. orange: "ffa500",
  483. orangered: "ff4500",
  484. orchid: "da70d6",
  485. palegoldenrod: "eee8aa",
  486. palegreen: "98fb98",
  487. paleturquoise: "afeeee",
  488. palevioletred: "db7093",
  489. papayawhip: "ffefd5",
  490. peachpuff: "ffdab9",
  491. peru: "cd853f",
  492. pink: "ffc0cb",
  493. plum: "dda0dd",
  494. powderblue: "b0e0e6",
  495. purple: "800080",
  496. rebeccapurple: "663399",
  497. red: "f00",
  498. rosybrown: "bc8f8f",
  499. royalblue: "4169e1",
  500. saddlebrown: "8b4513",
  501. salmon: "fa8072",
  502. sandybrown: "f4a460",
  503. seagreen: "2e8b57",
  504. seashell: "fff5ee",
  505. sienna: "a0522d",
  506. silver: "c0c0c0",
  507. skyblue: "87ceeb",
  508. slateblue: "6a5acd",
  509. slategray: "708090",
  510. slategrey: "708090",
  511. snow: "fffafa",
  512. springgreen: "00ff7f",
  513. steelblue: "4682b4",
  514. tan: "d2b48c",
  515. teal: "008080",
  516. thistle: "d8bfd8",
  517. tomato: "ff6347",
  518. turquoise: "40e0d0",
  519. violet: "ee82ee",
  520. wheat: "f5deb3",
  521. white: "fff",
  522. whitesmoke: "f5f5f5",
  523. yellow: "ff0",
  524. yellowgreen: "9acd32"
  525. };
  526. var hexNames = tinycolor.hexNames = flip(names);
  527. function flip(o) {var flipped = { };for (var i in o) {if (o.hasOwnProperty(i)) {flipped[o[i]] = i;}
  528. }
  529. return flipped;}
  530. function boundAlpha(a) {a = parseFloat(a);if (isNaN(a) || a < 0 || a > 1) {a = 1;}
  531. return a;}
  532. function bound01(n, max) {if (isOnePointZero(n)) { n = "100%"; }
  533. var processPercent = isPercentage(n);n = mathMin(max, mathMax(0, parseFloat(n)));if (processPercent) {n = parseInt(n * max, 10) / 100;}
  534. if ((Math.abs(n - max) < 0.000001)) {return 1;}
  535. return (n % max) / parseFloat(max);}
  536. function clamp01(val) {return mathMin(1, mathMax(0, val));}
  537. function parseIntFromHex(val) {return parseInt(val, 16);}
  538. function isOnePointZero(n) {return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;}
  539. function isPercentage(n) {return typeof n === "string" && n.indexOf('%') != -1;}
  540. function pad2(c) {return c.length == 1 ? '0' + c : '' + c;}
  541. function convertToPercentage(n) {if (n <= 1) {n = (n * 100) + "%";}
  542. return n;}
  543. function convertDecimalToHex(d) {return Math.round(parseFloat(d) * 255).toString(16);}
  544. function convertHexToDecimal(h) {return (parseIntFromHex(h) / 255);}
  545. var matchers = (function() {var CSS_INTEGER = "[-\\+]?\\d+%?";var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";return {CSS_UNIT: new RegExp(CSS_UNIT),
  546. rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
  547. rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
  548. hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
  549. hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
  550. hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
  551. hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
  552. hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  553. hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
  554. hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  555. hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
  556. };})();
  557. function isValidCSSUnit(color) {return !!matchers.CSS_UNIT.exec(color);}
  558. function stringInputToObject(color) {color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase();var named = false;if (names[color]) {color = names[color];named = true;}
  559. else if (color == 'transparent') {return { r: 0, g: 0, b: 0, a: 0, format: "name" };}
  560. var match;if ((match = matchers.rgb.exec(color))) {return { r: match[1], g: match[2], b: match[3] };}
  561. if ((match = matchers.rgba.exec(color))) {return { r: match[1], g: match[2], b: match[3], a: match[4] };}
  562. if ((match = matchers.hsl.exec(color))) {return { h: match[1], s: match[2], l: match[3] };}
  563. if ((match = matchers.hsla.exec(color))) {return { h: match[1], s: match[2], l: match[3], a: match[4] };}
  564. if ((match = matchers.hsv.exec(color))) {return { h: match[1], s: match[2], v: match[3] };}
  565. if ((match = matchers.hsva.exec(color))) {return { h: match[1], s: match[2], v: match[3], a: match[4] };}
  566. if ((match = matchers.hex8.exec(color))) {return {r: parseIntFromHex(match[1]),
  567. g: parseIntFromHex(match[2]),
  568. b: parseIntFromHex(match[3]),
  569. a: convertHexToDecimal(match[4]),
  570. format: named ? "name" : "hex8"
  571. };}
  572. if ((match = matchers.hex6.exec(color))) {return {r: parseIntFromHex(match[1]),
  573. g: parseIntFromHex(match[2]),
  574. b: parseIntFromHex(match[3]),
  575. format: named ? "name" : "hex"
  576. };}
  577. if ((match = matchers.hex4.exec(color))) {return {r: parseIntFromHex(match[1] + '' + match[1]),
  578. g: parseIntFromHex(match[2] + '' + match[2]),
  579. b: parseIntFromHex(match[3] + '' + match[3]),
  580. a: convertHexToDecimal(match[4] + '' + match[4]),
  581. format: named ? "name" : "hex8"
  582. };}
  583. if ((match = matchers.hex3.exec(color))) {return {r: parseIntFromHex(match[1] + '' + match[1]),
  584. g: parseIntFromHex(match[2] + '' + match[2]),
  585. b: parseIntFromHex(match[3] + '' + match[3]),
  586. format: named ? "name" : "hex"
  587. };}
  588. return false;}
  589. function validateWCAG2Parms(parms) {var level, size;parms = parms || {"level":"AA", "size":"small"};level = (parms.level || "AA").toUpperCase();size = (parms.size || "small").toLowerCase();if (level !== "AA" && level !== "AAA") {level = "AA";}
  590. if (size !== "small" && size !== "large") {size = "small";}
  591. return {"level":level, "size":size};}
  592. this.tinycolor = tinycolor;})()`;}
  593. .tinyColorMixin();
  594. .colorPaletteMixin() {
  595. @functions: ~`(function() {var hueStep = 2;var saturationStep = 0.16;var saturationStep2 = 0.05;var brightnessStep1 = 0.05;var brightnessStep2 = 0.15;var lightColorCount = 5;var darkColorCount = 4;var getHue = function(hsv, i, isLight) {var hue;if (hsv.h >= 60 && hsv.h <= 240) {hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i;} else {hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i;}
  596. if (hue < 0) {hue += 360;} else if (hue >= 360) {hue -= 360;}
  597. return Math.round(hue);};var getSaturation = function(hsv, i, isLight) {var saturation;if (isLight) {saturation = hsv.s - saturationStep * i;} else if (i === darkColorCount) {saturation = hsv.s + saturationStep;} else {saturation = hsv.s + saturationStep2 * i;}
  598. if (saturation > 1) {saturation = 1;}
  599. if (isLight && i === lightColorCount && saturation > 0.1) {saturation = 0.1;}
  600. if (saturation < 0.06) {saturation = 0.06;}
  601. return Number(saturation.toFixed(2));};var getValue = function(hsv, i, isLight) {var value;if (isLight) {value = hsv.v + brightnessStep1 * i;}else{value = hsv.v - brightnessStep2 * i
  602. }
  603. if (value > 1) {value = 1;}
  604. return Number(value.toFixed(2))
  605. };this.colorPalette = function(color, index) {var isLight = index <= 6;var hsv = tinycolor(color).toHsv();var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1;return tinycolor({h: getHue(hsv, i, isLight),
  606. s: getSaturation(hsv, i, isLight),
  607. v: getValue(hsv, i, isLight),
  608. }).toHexString();};})()`;}
  609. .colorPaletteMixin();
  610. @blue-base: #1890ff;
  611. @blue-1: color(~`colorPalette('@{blue-6}', 1) `);
  612. @blue-2: color(~`colorPalette('@{blue-6}', 2) `);
  613. @blue-3: color(~`colorPalette('@{blue-6}', 3) `);
  614. @blue-4: color(~`colorPalette('@{blue-6}', 4) `);
  615. @blue-5: color(~`colorPalette('@{blue-6}', 5) `);
  616. @blue-6: @blue-base;
  617. @blue-7: color(~`colorPalette('@{blue-6}', 7) `);
  618. @blue-8: color(~`colorPalette('@{blue-6}', 8) `);
  619. @blue-9: color(~`colorPalette('@{blue-6}', 9) `);
  620. @blue-10: color(~`colorPalette('@{blue-6}', 10) `);
  621. @purple-base: #722ed1;
  622. @purple-1: color(~`colorPalette('@{purple-6}', 1) `);
  623. @purple-2: color(~`colorPalette('@{purple-6}', 2) `);
  624. @purple-3: color(~`colorPalette('@{purple-6}', 3) `);
  625. @purple-4: color(~`colorPalette('@{purple-6}', 4) `);
  626. @purple-5: color(~`colorPalette('@{purple-6}', 5) `);
  627. @purple-6: @purple-base;
  628. @purple-7: color(~`colorPalette('@{purple-6}', 7) `);
  629. @purple-8: color(~`colorPalette('@{purple-6}', 8) `);
  630. @purple-9: color(~`colorPalette('@{purple-6}', 9) `);
  631. @purple-10: color(~`colorPalette('@{purple-6}', 10) `);
  632. @cyan-base: #13c2c2;
  633. @cyan-1: color(~`colorPalette('@{cyan-6}', 1) `);
  634. @cyan-2: color(~`colorPalette('@{cyan-6}', 2) `);
  635. @cyan-3: color(~`colorPalette('@{cyan-6}', 3) `);
  636. @cyan-4: color(~`colorPalette('@{cyan-6}', 4) `);
  637. @cyan-5: color(~`colorPalette('@{cyan-6}', 5) `);
  638. @cyan-6: @cyan-base;
  639. @cyan-7: color(~`colorPalette('@{cyan-6}', 7) `);
  640. @cyan-8: color(~`colorPalette('@{cyan-6}', 8) `);
  641. @cyan-9: color(~`colorPalette('@{cyan-6}', 9) `);
  642. @cyan-10: color(~`colorPalette('@{cyan-6}', 10) `);
  643. @green-base: #52c41a;
  644. @green-1: color(~`colorPalette('@{green-6}', 1) `);
  645. @green-2: color(~`colorPalette('@{green-6}', 2) `);
  646. @green-3: color(~`colorPalette('@{green-6}', 3) `);
  647. @green-4: color(~`colorPalette('@{green-6}', 4) `);
  648. @green-5: color(~`colorPalette('@{green-6}', 5) `);
  649. @green-6: @green-base;
  650. @green-7: color(~`colorPalette('@{green-6}', 7) `);
  651. @green-8: color(~`colorPalette('@{green-6}', 8) `);
  652. @green-9: color(~`colorPalette('@{green-6}', 9) `);
  653. @green-10: color(~`colorPalette('@{green-6}', 10) `);
  654. @magenta-base: #eb2f96;
  655. @magenta-1: color(~`colorPalette('@{magenta-6}', 1) `);
  656. @magenta-2: color(~`colorPalette('@{magenta-6}', 2) `);
  657. @magenta-3: color(~`colorPalette('@{magenta-6}', 3) `);
  658. @magenta-4: color(~`colorPalette('@{magenta-6}', 4) `);
  659. @magenta-5: color(~`colorPalette('@{magenta-6}', 5) `);
  660. @magenta-6: @magenta-base;
  661. @magenta-7: color(~`colorPalette('@{magenta-6}', 7) `);
  662. @magenta-8: color(~`colorPalette('@{magenta-6}', 8) `);
  663. @magenta-9: color(~`colorPalette('@{magenta-6}', 9) `);
  664. @magenta-10: color(~`colorPalette('@{magenta-6}', 10) `);
  665. @pink-base: #eb2f96;
  666. @pink-1: color(~`colorPalette('@{pink-6}', 1) `);
  667. @pink-2: color(~`colorPalette('@{pink-6}', 2) `);
  668. @pink-3: color(~`colorPalette('@{pink-6}', 3) `);
  669. @pink-4: color(~`colorPalette('@{pink-6}', 4) `);
  670. @pink-5: color(~`colorPalette('@{pink-6}', 5) `);
  671. @pink-6: @pink-base;
  672. @pink-7: color(~`colorPalette('@{pink-6}', 7) `);
  673. @pink-8: color(~`colorPalette('@{pink-6}', 8) `);
  674. @pink-9: color(~`colorPalette('@{pink-6}', 9) `);
  675. @pink-10: color(~`colorPalette('@{pink-6}', 10) `);
  676. @red-base: #f5222d;
  677. @red-1: color(~`colorPalette('@{red-6}', 1) `);
  678. @red-2: color(~`colorPalette('@{red-6}', 2) `);
  679. @red-3: color(~`colorPalette('@{red-6}', 3) `);
  680. @red-4: color(~`colorPalette('@{red-6}', 4) `);
  681. @red-5: color(~`colorPalette('@{red-6}', 5) `);
  682. @red-6: @red-base;
  683. @red-7: color(~`colorPalette('@{red-6}', 7) `);
  684. @red-8: color(~`colorPalette('@{red-6}', 8) `);
  685. @red-9: color(~`colorPalette('@{red-6}', 9) `);
  686. @red-10: color(~`colorPalette('@{red-6}', 10) `);
  687. @orange-base: #fa8c16;
  688. @orange-1: color(~`colorPalette('@{orange-6}', 1) `);
  689. @orange-2: color(~`colorPalette('@{orange-6}', 2) `);
  690. @orange-3: color(~`colorPalette('@{orange-6}', 3) `);
  691. @orange-4: color(~`colorPalette('@{orange-6}', 4) `);
  692. @orange-5: color(~`colorPalette('@{orange-6}', 5) `);
  693. @orange-6: @orange-base;
  694. @orange-7: color(~`colorPalette('@{orange-6}', 7) `);
  695. @orange-8: color(~`colorPalette('@{orange-6}', 8) `);
  696. @orange-9: color(~`colorPalette('@{orange-6}', 9) `);
  697. @orange-10: color(~`colorPalette('@{orange-6}', 10) `);
  698. @yellow-base: #fadb14;
  699. @yellow-1: color(~`colorPalette('@{yellow-6}', 1) `);
  700. @yellow-2: color(~`colorPalette('@{yellow-6}', 2) `);
  701. @yellow-3: color(~`colorPalette('@{yellow-6}', 3) `);
  702. @yellow-4: color(~`colorPalette('@{yellow-6}', 4) `);
  703. @yellow-5: color(~`colorPalette('@{yellow-6}', 5) `);
  704. @yellow-6: @yellow-base;
  705. @yellow-7: color(~`colorPalette('@{yellow-6}', 7) `);
  706. @yellow-8: color(~`colorPalette('@{yellow-6}', 8) `);
  707. @yellow-9: color(~`colorPalette('@{yellow-6}', 9) `);
  708. @yellow-10: color(~`colorPalette('@{yellow-6}', 10) `);
  709. @volcano-base: #fa541c;
  710. @volcano-1: color(~`colorPalette('@{volcano-6}', 1) `);
  711. @volcano-2: color(~`colorPalette('@{volcano-6}', 2) `);
  712. @volcano-3: color(~`colorPalette('@{volcano-6}', 3) `);
  713. @volcano-4: color(~`colorPalette('@{volcano-6}', 4) `);
  714. @volcano-5: color(~`colorPalette('@{volcano-6}', 5) `);
  715. @volcano-6: @volcano-base;
  716. @volcano-7: color(~`colorPalette('@{volcano-6}', 7) `);
  717. @volcano-8: color(~`colorPalette('@{volcano-6}', 8) `);
  718. @volcano-9: color(~`colorPalette('@{volcano-6}', 9) `);
  719. @volcano-10: color(~`colorPalette('@{volcano-6}', 10) `);
  720. @geekblue-base: #2f54eb;
  721. @geekblue-1: color(~`colorPalette('@{geekblue-6}', 1) `);
  722. @geekblue-2: color(~`colorPalette('@{geekblue-6}', 2) `);
  723. @geekblue-3: color(~`colorPalette('@{geekblue-6}', 3) `);
  724. @geekblue-4: color(~`colorPalette('@{geekblue-6}', 4) `);
  725. @geekblue-5: color(~`colorPalette('@{geekblue-6}', 5) `);
  726. @geekblue-6: @geekblue-base;
  727. @geekblue-7: color(~`colorPalette('@{geekblue-6}', 7) `);
  728. @geekblue-8: color(~`colorPalette('@{geekblue-6}', 8) `);
  729. @geekblue-9: color(~`colorPalette('@{geekblue-6}', 9) `);
  730. @geekblue-10: color(~`colorPalette('@{geekblue-6}', 10) `);
  731. @lime-base: #a0d911;
  732. @lime-1: color(~`colorPalette('@{lime-6}', 1) `);
  733. @lime-2: color(~`colorPalette('@{lime-6}', 2) `);
  734. @lime-3: color(~`colorPalette('@{lime-6}', 3) `);
  735. @lime-4: color(~`colorPalette('@{lime-6}', 4) `);
  736. @lime-5: color(~`colorPalette('@{lime-6}', 5) `);
  737. @lime-6: @lime-base;
  738. @lime-7: color(~`colorPalette('@{lime-6}', 7) `);
  739. @lime-8: color(~`colorPalette('@{lime-6}', 8) `);
  740. @lime-9: color(~`colorPalette('@{lime-6}', 9) `);
  741. @lime-10: color(~`colorPalette('@{lime-6}', 10) `);
  742. @gold-base: #faad14;
  743. @gold-1: color(~`colorPalette('@{gold-6}', 1) `);
  744. @gold-2: color(~`colorPalette('@{gold-6}', 2) `);
  745. @gold-3: color(~`colorPalette('@{gold-6}', 3) `);
  746. @gold-4: color(~`colorPalette('@{gold-6}', 4) `);
  747. @gold-5: color(~`colorPalette('@{gold-6}', 5) `);
  748. @gold-6: @gold-base;
  749. @gold-7: color(~`colorPalette('@{gold-6}', 7) `);
  750. @gold-8: color(~`colorPalette('@{gold-6}', 8) `);
  751. @gold-9: color(~`colorPalette('@{gold-6}', 9) `);
  752. @gold-10: color(~`colorPalette('@{gold-6}', 10) `);
  753. @preset-colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue, geekblue,
  754. purple;
  755. @theme: default;
  756. @ant-prefix: ant;
  757. @html-selector: html;
  758. @primary-color-hover: color(~`colorPalette('@{primary-color}', 5) `);
  759. @primary-color-active: color(~`colorPalette('@{primary-color}', 7) `);
  760. @primary-color-outline: fade(@primary-color, @outline-fade);
  761. @processing-color: @blue-6;
  762. @info-color: @primary-color;
  763. @info-color-deprecated-bg: color(~`colorPalette('@{info-color}', 1) `);
  764. @info-color-deprecated-border: color(~`colorPalette('@{info-color}', 3) `);
  765. @success-color: @green-6;
  766. @success-color-hover: color(~`colorPalette('@{success-color}', 5) `);
  767. @success-color-active: color(~`colorPalette('@{success-color}', 7) `);
  768. @success-color-outline: fade(@success-color, @outline-fade);
  769. @success-color-deprecated-bg: color(~`colorPalette('@{success-color}', 1) `);
  770. @success-color-deprecated-border: color(~`colorPalette('@{success-color}', 3) `);
  771. @warning-color: @gold-6;
  772. @warning-color-hover: color(~`colorPalette('@{warning-color}', 5) `);
  773. @warning-color-active: color(~`colorPalette('@{warning-color}', 7) `);
  774. @warning-color-outline: fade(@warning-color, @outline-fade);
  775. @warning-color-deprecated-bg: color(~`colorPalette('@{warning-color}', 1) `);
  776. @warning-color-deprecated-border: color(~`colorPalette('@{warning-color}', 3) `);
  777. @error-color: @red-5;
  778. @error-color-hover: color(~`colorPalette('@{error-color}', 5) `);
  779. @error-color-active: color(~`colorPalette('@{error-color}', 7) `);
  780. @error-color-outline: fade(@error-color, @outline-fade);
  781. @error-color-deprecated-bg: color(~`colorPalette('@{error-color}', 1) `);
  782. @error-color-deprecated-border: color(~`colorPalette('@{error-color}', 3) `);
  783. @highlight-color: @red-5;
  784. @normal-color: #d9d9d9;
  785. @white: #fff;
  786. @black: #000;
  787. @primary-1: color(~`colorPalette('@{primary-color}', 1) `);
  788. @primary-2: color(~`colorPalette('@{primary-color}', 2) `);
  789. @primary-3: color(~`colorPalette('@{primary-color}', 3) `);
  790. @primary-4: color(~`colorPalette('@{primary-color}', 4) `);
  791. @primary-5: color(
  792. ~`colorPalette('@{primary-color}', 5) `
  793. );
  794. @primary-6: @primary-color;
  795. @primary-7: color(~`colorPalette('@{primary-color}', 7) `);
  796. @primary-8: color(~`colorPalette('@{primary-color}', 8) `);
  797. @primary-9: color(~`colorPalette('@{primary-color}', 9) `);
  798. @primary-10: color(~`colorPalette('@{primary-color}', 10) `);
  799. @body-background: #fff;
  800. @component-background: #fff;
  801. @popover-background: @component-background;
  802. @popover-customize-border-color: @border-color-split;
  803. @font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
  804. 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
  805. 'Noto Color Emoji';
  806. @code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  807. @text-color: fade(@black, 85%);
  808. @text-color-secondary: fade(@black, 45%);
  809. @text-color-inverse: @white;
  810. @icon-color: inherit;
  811. @icon-color-hover: fade(@black, 75%);
  812. @heading-color: fade(@black, 85%);
  813. @text-color-dark: fade(@white, 85%);
  814. @text-color-secondary-dark: fade(@white, 65%);
  815. @text-selection-bg: @primary-color;
  816. @font-variant-base: tabular-nums;
  817. @font-feature-settings-base: 'tnum';
  818. @font-size-base: 14px;
  819. @font-size-lg: @font-size-base + 2px;
  820. @font-size-sm: 12px;
  821. @heading-1-size: ceil(@font-size-base * 2.71);
  822. @heading-2-size: ceil(@font-size-base * 2.14);
  823. @heading-3-size: ceil(@font-size-base * 1.71);
  824. @heading-4-size: ceil(@font-size-base * 1.42);
  825. @heading-5-size: ceil(@font-size-base * 1.14);
  826. @line-height-base: 1.5715;
  827. @border-radius-base: 2px;
  828. @border-radius-sm: @border-radius-base;
  829. @control-border-radius: @border-radius-base;
  830. @arrow-border-radius: 2px;
  831. @padding-lg: 24px;
  832. @padding-md: 16px;
  833. @padding-sm: 12px;
  834. @padding-xs: 8px;
  835. @padding-xss: 4px;
  836. @control-padding-horizontal: @padding-sm;
  837. @control-padding-horizontal-sm: @padding-xs;
  838. @margin-lg: 24px;
  839. @margin-md: 16px;
  840. @margin-sm: 12px;
  841. @margin-xs: 8px;
  842. @margin-xss: 4px;
  843. @height-base: 32px;
  844. @height-lg: 40px;
  845. @height-sm: 24px;
  846. @item-active-bg: @primary-1;
  847. @item-hover-bg: #f5f5f5;
  848. @iconfont-css-prefix: anticon;
  849. @link-color: @primary-color;
  850. @link-hover-color: color(~`colorPalette('@{link-color}', 5) `);
  851. @link-active-color: color(~`colorPalette('@{link-color}', 7) `);
  852. @link-decoration: none;
  853. @link-hover-decoration: none;
  854. @link-focus-decoration: none;
  855. @link-focus-outline: 0;
  856. @ease-base-out: cubic-bezier(0.7, 0.3, 0.1, 1);
  857. @ease-base-in: cubic-bezier(0.9, 0, 0.3, 0.7);
  858. @ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  859. @ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  860. @ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
  861. @ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46);
  862. @ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6);
  863. @ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46);
  864. @ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1);
  865. @ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34);
  866. @ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86);
  867. @ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  868. @ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  869. @ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  870. @border-color-base: hsv(0, 0, 85%);
  871. @border-color-split: hsv(0, 0, 94%);
  872. @border-color-inverse: @white;
  873. @border-width-base: 1px;
  874. @border-style-base: solid;
  875. @outline-blur-size: 0;
  876. @outline-width: 2px;
  877. @outline-color: @primary-color;
  878. @outline-fade: 20%;
  879. @background-color-light: hsv(0, 0, 98%);
  880. @background-color-base: hsv(0, 0, 96%);
  881. @disabled-color: fade(#000, 25%);
  882. @disabled-bg: @background-color-base;
  883. @disabled-active-bg: tint(@black, 90%);
  884. @disabled-color-dark: fade(#fff, 35%);
  885. @shadow-color: rgba(0, 0, 0, 0.15);
  886. @shadow-color-inverse: @component-background;
  887. @box-shadow-base: @shadow-2;
  888. @shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05),
  889. 0 -12px 48px 16px rgba(0, 0, 0, 0.03);
  890. @shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05),
  891. 0 12px 48px 16px rgba(0, 0, 0, 0.03);
  892. @shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05),
  893. -12px 0 48px 16px rgba(0, 0, 0, 0.03);
  894. @shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05),
  895. 12px 0 48px 16px rgba(0, 0, 0, 0.03);
  896. @shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),
  897. 0 9px 28px 8px rgba(0, 0, 0, 0.05);
  898. @btn-font-weight: 400;
  899. @btn-border-radius-base: @border-radius-base;
  900. @btn-border-radius-sm: @border-radius-base;
  901. @btn-border-width: @border-width-base;
  902. @btn-border-style: @border-style-base;
  903. @btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
  904. @btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
  905. @btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  906. @btn-primary-color: #fff;
  907. @btn-primary-bg: @primary-color;
  908. @btn-default-color: @text-color;
  909. @btn-default-bg: @component-background;
  910. @btn-default-border: @border-color-base;
  911. @btn-danger-color: #fff;
  912. @btn-danger-bg: @error-color;
  913. @btn-danger-border: @error-color;
  914. @btn-disable-color: @disabled-color;
  915. @btn-disable-bg: @disabled-bg;
  916. @btn-disable-border: @border-color-base;
  917. @btn-default-ghost-color: @component-background;
  918. @btn-default-ghost-bg: transparent;
  919. @btn-default-ghost-border: @component-background;
  920. @btn-font-size-lg: @font-size-lg;
  921. @btn-font-size-sm: @font-size-base;
  922. @btn-padding-horizontal-base: @padding-md - 1px;
  923. @btn-padding-horizontal-lg: @btn-padding-horizontal-base;
  924. @btn-padding-horizontal-sm: @padding-xs - 1px;
  925. @btn-height-base: @height-base;
  926. @btn-height-lg: @height-lg;
  927. @btn-height-sm: @height-sm;
  928. @btn-line-height: @line-height-base;
  929. @btn-circle-size: @btn-height-base;
  930. @btn-circle-size-lg: @btn-height-lg;
  931. @btn-circle-size-sm: @btn-height-sm;
  932. @btn-square-size: @btn-height-base;
  933. @btn-square-size-lg: @btn-height-lg;
  934. @btn-square-size-sm: @btn-height-sm;
  935. @btn-square-only-icon-size: @font-size-base + 2px;
  936. @btn-square-only-icon-size-sm: @font-size-base;
  937. @btn-square-only-icon-size-lg: @btn-font-size-lg + 2px;
  938. @btn-group-border: @primary-5;
  939. @btn-link-hover-bg: transparent;
  940. @btn-text-hover-bg: rgba(0, 0, 0, 0.018);
  941. @checkbox-size: 16px;
  942. @checkbox-color: @primary-color;
  943. @checkbox-check-color: #fff;
  944. @checkbox-check-bg: @checkbox-check-color;
  945. @checkbox-border-width: @border-width-base;
  946. @checkbox-border-radius: @border-radius-base;
  947. @checkbox-group-item-margin-right: 8px;
  948. @descriptions-bg: #fafafa;
  949. @descriptions-title-margin-bottom: 20px;
  950. @descriptions-default-padding: @padding-md @padding-lg;
  951. @descriptions-middle-padding: @padding-sm @padding-lg;
  952. @descriptions-small-padding: @padding-xs @padding-md;
  953. @descriptions-item-padding-bottom: @padding-md;
  954. @descriptions-item-trailing-colon: true;
  955. @descriptions-item-label-colon-margin-right: 8px;
  956. @descriptions-item-label-colon-margin-left: 2px;
  957. @descriptions-extra-color: @text-color;
  958. @divider-text-padding: 1em;
  959. @divider-orientation-margin: 5%;
  960. @divider-color: rgba(0, 0, 0, 6%);
  961. @divider-vertical-gutter: 8px;
  962. @dropdown-selected-color: @primary-color;
  963. @dropdown-menu-submenu-disabled-bg: @component-background;
  964. @dropdown-selected-bg: @item-active-bg;
  965. @empty-font-size: @font-size-base;
  966. @radio-size: 16px;
  967. @radio-top: 0.2em;
  968. @radio-border-width: 1px;
  969. @radio-dot-size: @radio-size - 8px;
  970. @radio-dot-color: @primary-color;
  971. @radio-dot-disabled-color: fade(@black, 20%);
  972. @radio-solid-checked-color: @component-background;
  973. @radio-button-bg: @btn-default-bg;
  974. @radio-button-checked-bg: @btn-default-bg;
  975. @radio-button-color: @btn-default-color;
  976. @radio-button-hover-color: @primary-5;
  977. @radio-button-active-color: @primary-7;
  978. @radio-button-padding-horizontal: @padding-md - 1px;
  979. @radio-disabled-button-checked-bg: @disabled-active-bg;
  980. @radio-disabled-button-checked-color: @disabled-color;
  981. @radio-wrapper-margin-right: 8px;
  982. @screen-xs: 480px;
  983. @screen-xs-min: @screen-xs;
  984. @screen-sm: 576px;
  985. @screen-sm-min: @screen-sm;
  986. @screen-md: 768px;
  987. @screen-md-min: @screen-md;
  988. @screen-lg: 992px;
  989. @screen-lg-min: @screen-lg;
  990. @screen-xl: 1200px;
  991. @screen-xl-min: @screen-xl;
  992. @screen-xxl: 1600px;
  993. @screen-xxl-min: @screen-xxl;
  994. @screen-xs-max: (@screen-sm-min - 1px);
  995. @screen-sm-max: (@screen-md-min - 1px);
  996. @screen-md-max: (@screen-lg-min - 1px);
  997. @screen-lg-max: (@screen-xl-min - 1px);
  998. @screen-xl-max: (@screen-xxl-min - 1px);
  999. @grid-columns: 24;
  1000. @layout-body-background: #f0f2f5;
  1001. @layout-header-background: #001529;
  1002. @layout-header-height: 64px;
  1003. @layout-header-padding: 0 50px;
  1004. @layout-header-color: @text-color;
  1005. @layout-footer-padding: 24px 50px;
  1006. @layout-footer-background: @layout-body-background;
  1007. @layout-sider-background: @layout-header-background;
  1008. @layout-trigger-height: 48px;
  1009. @layout-trigger-background: #002140;
  1010. @layout-trigger-color: #fff;
  1011. @layout-zero-trigger-width: 36px;
  1012. @layout-zero-trigger-height: 42px;
  1013. @layout-sider-background-light: #fff;
  1014. @layout-trigger-background-light: #fff;
  1015. @layout-trigger-color-light: @text-color;
  1016. @zindex-badge: auto;
  1017. @zindex-table-fixed: 2;
  1018. @zindex-affix: 10;
  1019. @zindex-back-top: 10;
  1020. @zindex-picker-panel: 10;
  1021. @zindex-popup-close: 10;
  1022. @zindex-modal: 1000;
  1023. @zindex-modal-mask: 1000;
  1024. @zindex-message: 1010;
  1025. @zindex-notification: 1010;
  1026. @zindex-popover: 1030;
  1027. @zindex-dropdown: 1050;
  1028. @zindex-picker: 1050;
  1029. @zindex-popoconfirm: 1060;
  1030. @zindex-tooltip: 1070;
  1031. @zindex-image: 1080;
  1032. @animation-duration-slow: 0.3s;
  1033. @animation-duration-base: 0.2s;
  1034. @animation-duration-fast: 0.1s;
  1035. //CollapsePanel
  1036. @collapse-panel-border-radius: @border-radius-base;
  1037. //Dropdown
  1038. @dropdown-menu-bg: @component-background;
  1039. @dropdown-vertical-padding: 5px;
  1040. @dropdown-edge-child-vertical-padding: 4px;
  1041. @dropdown-font-size: @font-size-base;
  1042. @dropdown-line-height: 22px;
  1043. @label-required-color: @highlight-color;
  1044. @label-color: @heading-color;
  1045. @form-warning-input-bg: @input-bg;
  1046. @form-item-margin-bottom: 24px;
  1047. @form-item-trailing-colon: true;
  1048. @form-vertical-label-padding: 0 0 8px;
  1049. @form-vertical-label-margin: 0;
  1050. @form-item-label-font-size: @font-size-base;
  1051. @form-item-label-height: @input-height-base;
  1052. @form-item-label-colon-margin-right: 8px;
  1053. @form-item-label-colon-margin-left: 2px;
  1054. @form-error-input-bg: @input-bg;
  1055. @input-height-base: @height-base;
  1056. @input-height-lg: @height-lg;
  1057. @input-height-sm: @height-sm;
  1058. @input-padding-horizontal: @control-padding-horizontal - 1px;
  1059. @input-padding-horizontal-base: @input-padding-horizontal;
  1060. @input-padding-horizontal-sm: @control-padding-horizontal-sm - 1px;
  1061. @input-padding-horizontal-lg: @input-padding-horizontal;
  1062. @input-padding-vertical-base: max(
  1063. (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) -
  1064. @border-width-base,
  1065. 3px
  1066. );
  1067. @input-padding-vertical-sm: max(
  1068. (round(((@input-height-sm - @font-size-base * @line-height-base) / 2) * 10) / 10) -
  1069. @border-width-base,
  1070. 0
  1071. );
  1072. @input-padding-vertical-lg: (
  1073. ceil(((@input-height-lg - @font-size-lg * @line-height-base) / 2) * 10) / 10
  1074. ) - @border-width-base;
  1075. @input-placeholder-color: hsv(0, 0, 75%);
  1076. @input-color: @text-color;
  1077. @input-icon-color: @input-color;
  1078. @input-border-color: @border-color-base;
  1079. @input-bg: @component-background;
  1080. @input-number-hover-border-color: @input-hover-border-color;
  1081. @input-number-handler-active-bg: #f4f4f4;
  1082. @input-number-handler-hover-bg: @primary-5;
  1083. @input-number-handler-bg: @component-background;
  1084. @input-number-handler-border-color: @border-color-base;
  1085. @input-addon-bg: @background-color-light;
  1086. @input-hover-border-color: @primary-5;
  1087. @input-disabled-bg: @disabled-bg;
  1088. @input-outline-offset: 0 0;
  1089. @input-icon-hover-color: fade(@black, 85%);
  1090. @input-disabled-color: @disabled-color;
  1091. @mentions-dropdown-bg: @component-background;
  1092. @mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg;
  1093. @select-border-color: @border-color-base;
  1094. @select-item-selected-color: @text-color;
  1095. @select-item-selected-font-weight: 600;
  1096. @select-dropdown-bg: @component-background;
  1097. @select-item-selected-bg: @primary-1;
  1098. @select-item-active-bg: @item-hover-bg;
  1099. @select-dropdown-vertical-padding: @dropdown-vertical-padding;
  1100. @select-dropdown-font-size: @dropdown-font-size;
  1101. @select-dropdown-line-height: @dropdown-line-height;
  1102. @select-dropdown-height: 32px;
  1103. @select-background: @component-background;
  1104. @select-clear-background: @select-background;
  1105. @select-selection-item-bg: @background-color-base;
  1106. @select-selection-item-border-color: @border-color-split;
  1107. @select-single-item-height-lg: 40px;
  1108. @select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2;
  1109. @select-multiple-item-height-lg: 32px;
  1110. @select-multiple-item-spacing-half: ceil((@input-padding-vertical-base / 2));
  1111. @select-multiple-disabled-background: @input-disabled-bg;
  1112. @select-multiple-item-disabled-color: #bfbfbf;
  1113. @select-multiple-item-disabled-border-color: @select-border-color;
  1114. @cascader-bg: @component-background;
  1115. @cascader-item-selected-bg: @primary-1;
  1116. @cascader-menu-bg: @component-background;
  1117. @cascader-menu-border-color-split: @border-color-split;
  1118. @cascader-dropdown-vertical-padding: @dropdown-vertical-padding;
  1119. @cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding;
  1120. @cascader-dropdown-font-size: @dropdown-font-size;
  1121. @cascader-dropdown-line-height: @dropdown-line-height;
  1122. @anchor-bg: transparent;
  1123. @anchor-border-color: @border-color-split;
  1124. @anchor-link-top: 4px;
  1125. @anchor-link-left: 16px;
  1126. @anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left;
  1127. @tooltip-max-width: 250px;
  1128. @tooltip-color: #fff;
  1129. @tooltip-bg: rgba(0, 0, 0, 0.75);
  1130. @tooltip-arrow-width: 8px * sqrt(2);
  1131. @tooltip-distance: @tooltip-arrow-width - 1px + 4px;
  1132. @tooltip-arrow-color: @tooltip-bg;
  1133. @tooltip-border-radius: @border-radius-base;
  1134. @popover-bg: @component-background;
  1135. @popover-color: @text-color;
  1136. @popover-min-width: 177px;
  1137. @popover-min-height: 32px;
  1138. @popover-arrow-width: @tooltip-arrow-width;
  1139. @popover-arrow-color: @popover-bg;
  1140. @popover-arrow-outer-color: @popover-bg;
  1141. @popover-distance: @popover-arrow-width + 4px;
  1142. @popover-padding-horizontal: @padding-md;
  1143. @modal-header-padding-vertical: @padding-md;
  1144. @modal-header-padding-horizontal: @padding-lg;
  1145. @modal-body-padding: @padding-lg;
  1146. @modal-header-bg: @component-background;
  1147. @modal-header-padding: @modal-header-padding-vertical @modal-header-padding-horizontal;
  1148. @modal-header-border-width: @border-width-base;
  1149. @modal-header-border-style: @border-style-base;
  1150. @modal-header-title-line-height: 22px;
  1151. @modal-header-title-font-size: @font-size-lg;
  1152. @modal-header-border-color-split: @border-color-split;
  1153. @modal-header-close-size: 56px;
  1154. @modal-content-bg: @component-background;
  1155. @modal-heading-color: @heading-color;
  1156. @modal-close-color: @text-color-secondary;
  1157. @modal-footer-bg: transparent;
  1158. @modal-footer-border-color-split: @border-color-split;
  1159. @modal-footer-border-style: @border-style-base;
  1160. @modal-footer-padding-vertical: 10px;
  1161. @modal-footer-padding-horizontal: 16px;
  1162. @modal-footer-border-width: @border-width-base;
  1163. @modal-mask-bg: fade(@black, 45%);
  1164. @modal-confirm-body-padding: 32px 32px 24px;
  1165. @modal-confirm-title-font-size: @font-size-lg;
  1166. @progress-default-color: @processing-color;
  1167. @progress-remaining-color: @background-color-base;
  1168. @progress-info-text-color: @progress-text-color;
  1169. @progress-radius: 100px;
  1170. @progress-steps-item-bg: #f3f3f3;
  1171. @progress-text-font-size: 1em;
  1172. @progress-text-color: @text-color;
  1173. @progress-circle-text-font-size: 1em;
  1174. @menu-inline-toplevel-item-height: 40px;
  1175. @menu-item-height: 40px;
  1176. @menu-item-group-height: @line-height-base;
  1177. @menu-collapsed-width: 80px;
  1178. @menu-bg: @component-background;
  1179. @menu-popup-bg: @component-background;
  1180. @menu-item-color: @text-color;
  1181. @menu-inline-submenu-bg: @background-color-light;
  1182. @menu-highlight-color: @primary-color;
  1183. @menu-highlight-danger-color: @error-color;
  1184. @menu-item-active-bg: @primary-1;
  1185. @menu-item-active-danger-bg: @red-1;
  1186. @menu-item-active-border-width: 3px;
  1187. @menu-item-group-title-color: @text-color-secondary;
  1188. @menu-item-vertical-margin: 4px;
  1189. @menu-item-font-size: @font-size-base;
  1190. @menu-item-boundary-margin: 8px;
  1191. @menu-item-padding-horizontal: 20px;
  1192. @menu-item-padding: 0 @menu-item-padding-horizontal;
  1193. @menu-horizontal-line-height: 46px;
  1194. @menu-icon-margin-right: 10px;
  1195. @menu-icon-size: @menu-item-font-size;
  1196. @menu-icon-size-lg: @font-size-lg;
  1197. @menu-item-group-title-font-size: @menu-item-font-size;
  1198. @menu-dark-color: @text-color-secondary-dark;
  1199. @menu-dark-danger-color: @error-color;
  1200. @menu-dark-bg: @layout-header-background;
  1201. @menu-dark-arrow-color: #fff;
  1202. @menu-dark-inline-submenu-bg: #000c17;
  1203. @menu-dark-highlight-color: #fff;
  1204. @menu-dark-item-active-bg: @primary-color;
  1205. @menu-dark-item-active-danger-bg: @error-color;
  1206. @menu-dark-selected-item-icon-color: @white;
  1207. @menu-dark-selected-item-text-color: @white;
  1208. @menu-dark-item-hover-bg: transparent;
  1209. @spin-dot-size-sm: 14px;
  1210. @spin-dot-size: 20px;
  1211. @spin-dot-size-lg: 32px;
  1212. @table-bg: @component-background;
  1213. @table-header-bg: @background-color-light;
  1214. @table-header-color: @heading-color;
  1215. @table-header-sort-bg: @background-color-base;
  1216. @table-body-sort-bg: #fafafa;
  1217. @table-row-hover-bg: @background-color-light;
  1218. @table-selected-row-color: inherit;
  1219. @table-selected-row-bg: @primary-1;
  1220. @table-body-selected-sort-bg: @table-selected-row-bg;
  1221. @table-selected-row-hover-bg: darken(@table-selected-row-bg, 2%);
  1222. @table-expanded-row-bg: #fbfbfb;
  1223. @table-padding-vertical: 16px;
  1224. @table-padding-horizontal: 16px;
  1225. @table-padding-vertical-md: (@table-padding-vertical * 3 / 4);
  1226. @table-padding-horizontal-md: (@table-padding-horizontal / 2);
  1227. @table-padding-vertical-sm: (@table-padding-vertical / 2);
  1228. @table-padding-horizontal-sm: (@table-padding-horizontal / 2);
  1229. @table-border-color: @border-color-split;
  1230. @table-border-radius-base: @border-radius-base;
  1231. @table-footer-bg: @background-color-light;
  1232. @table-footer-color: @heading-color;
  1233. @table-header-bg-sm: @table-header-bg;
  1234. @table-font-size: @font-size-base;
  1235. @table-font-size-md: @table-font-size;
  1236. @table-font-size-sm: @table-font-size;
  1237. @table-header-cell-split-color: rgba(0, 0, 0, 0.06);
  1238. @table-header-sort-active-bg: rgba(0, 0, 0, 0.04);
  1239. @table-fixed-header-sort-active-bg: hsv(0, 0, 96%);
  1240. @table-header-filter-active-bg: rgba(0, 0, 0, 0.04);
  1241. @table-filter-btns-bg: inherit;
  1242. @table-filter-dropdown-bg: @component-background;
  1243. @table-expand-icon-bg: @component-background;
  1244. @table-selection-column-width: 32px;
  1245. @table-sticky-scroll-bar-bg: fade(#000, 35%);
  1246. @table-sticky-scroll-bar-radius: 4px;
  1247. @tag-border-radius: @border-radius-base;
  1248. @tag-default-bg: @background-color-light;
  1249. @tag-default-color: @text-color;
  1250. @tag-font-size: @font-size-sm;
  1251. @tag-line-height: 20px;
  1252. @picker-bg: @component-background;
  1253. @picker-basic-cell-hover-color: @item-hover-bg;
  1254. @picker-basic-cell-active-with-range-color: @primary-1;
  1255. @picker-basic-cell-hover-with-range-color: lighten(@primary-color, 35%);
  1256. @picker-basic-cell-disabled-bg: rgba(0, 0, 0, 0.04);
  1257. @picker-border-color: @border-color-split;
  1258. @picker-date-hover-range-border-color: lighten(@primary-color, 20%);
  1259. @picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color;
  1260. @picker-time-panel-column-width: 56px;
  1261. @picker-time-panel-column-height: 224px;
  1262. @picker-time-panel-cell-height: 28px;
  1263. @picker-panel-cell-height: 24px;
  1264. @picker-panel-cell-width: 36px;
  1265. @picker-text-height: 40px;
  1266. @picker-panel-without-time-cell-height: 66px;
  1267. @calendar-bg: @component-background;
  1268. @calendar-input-bg: @input-bg;
  1269. @calendar-border-color: @border-color-inverse;
  1270. @calendar-item-active-bg: @item-active-bg;
  1271. @calendar-column-active-bg: fade(@calendar-item-active-bg, 20%);
  1272. @calendar-full-bg: @calendar-bg;
  1273. @calendar-full-panel-bg: @calendar-full-bg;
  1274. @carousel-dot-width: 16px;
  1275. @carousel-dot-height: 3px;
  1276. @carousel-dot-active-width: 24px;
  1277. @badge-height: 20px;
  1278. @badge-height-sm: 14px;
  1279. @badge-dot-size: 6px;
  1280. @badge-font-size: @font-size-sm;
  1281. @badge-font-size-sm: @font-size-sm;
  1282. @badge-font-weight: normal;
  1283. @badge-status-size: 6px;
  1284. @badge-text-color: @component-background;
  1285. @badge-color: @highlight-color;
  1286. @rate-star-color: @yellow-6;
  1287. @rate-star-bg: @border-color-split;
  1288. @rate-star-size: 20px;
  1289. @rate-star-hover-scale: scale(1.1);
  1290. @card-head-color: @heading-color;
  1291. @card-head-background: transparent;
  1292. @card-head-font-size: @font-size-lg;
  1293. @card-head-font-size-sm: @font-size-base;
  1294. @card-head-padding: 16px;
  1295. @card-head-padding-sm: (@card-head-padding / 2);
  1296. @card-head-height: 48px;
  1297. @card-head-height-sm: 36px;
  1298. @card-inner-head-padding: 12px;
  1299. @card-padding-base: 24px;
  1300. @card-padding-base-sm: (@card-padding-base / 2);
  1301. @card-actions-background: @component-background;
  1302. @card-actions-li-margin: 12px 0;
  1303. @card-skeleton-bg: #cfd8dc;
  1304. @card-background: @component-background;
  1305. @card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),
  1306. 0 5px 12px 4px rgba(0, 0, 0, 0.09);
  1307. @card-radius: @border-radius-base;
  1308. @card-head-tabs-margin-bottom: -17px;
  1309. @card-head-extra-color: @text-color;
  1310. @comment-bg: inherit;
  1311. @comment-padding-base: @padding-md 0;
  1312. @comment-nest-indent: 44px;
  1313. @comment-font-size-base: @font-size-base;
  1314. @comment-font-size-sm: @font-size-sm;
  1315. @comment-author-name-color: @text-color-secondary;
  1316. @comment-author-time-color: #ccc;
  1317. @comment-action-color: @text-color-secondary;
  1318. @comment-action-hover-color: #595959;
  1319. @comment-actions-margin-bottom: inherit;
  1320. @comment-actions-margin-top: @margin-sm;
  1321. @comment-content-detail-p-margin-bottom: inherit;
  1322. @tabs-card-head-background: @background-color-light;
  1323. @tabs-card-height: 40px;
  1324. @tabs-card-active-color: @primary-color;
  1325. @tabs-card-horizontal-padding: (
  1326. (@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2
  1327. ) - @border-width-base @padding-md;
  1328. @tabs-card-horizontal-padding-sm: 6px @padding-md;
  1329. @tabs-card-horizontal-padding-lg: 7px @padding-md 6px;
  1330. @tabs-title-font-size: @font-size-base;
  1331. @tabs-title-font-size-lg: @font-size-lg;
  1332. @tabs-title-font-size-sm: @font-size-base;
  1333. @tabs-ink-bar-color: @primary-color;
  1334. @tabs-bar-margin: 0 0 @margin-md 0;
  1335. @tabs-horizontal-gutter: 32px;
  1336. @tabs-horizontal-margin: 0 0 0 @tabs-horizontal-gutter;
  1337. @tabs-horizontal-margin-rtl: 0 0 0 32px;
  1338. @tabs-horizontal-padding: @padding-sm 0;
  1339. @tabs-horizontal-padding-lg: @padding-md 0;
  1340. @tabs-horizontal-padding-sm: @padding-xs 0;
  1341. @tabs-vertical-padding: @padding-xs @padding-lg;
  1342. @tabs-vertical-margin: @margin-md 0 0 0;
  1343. @tabs-scrolling-size: 32px;
  1344. @tabs-highlight-color: @primary-color;
  1345. @tabs-hover-color: @primary-5;
  1346. @tabs-active-color: @primary-7;
  1347. @tabs-card-gutter: 2px;
  1348. @tabs-card-tab-active-border-top: 2px solid transparent;
  1349. @back-top-color: #fff;
  1350. @back-top-bg: @text-color-secondary;
  1351. @back-top-hover-bg: @text-color;
  1352. @avatar-size-base: 32px;
  1353. @avatar-size-lg: 40px;
  1354. @avatar-size-sm: 24px;
  1355. @avatar-font-size-base: 18px;
  1356. @avatar-font-size-lg: 24px;
  1357. @avatar-font-size-sm: 14px;
  1358. @avatar-bg: #ccc;
  1359. @avatar-color: #fff;
  1360. @avatar-border-radius: @border-radius-base;
  1361. @avatar-group-overlapping: -8px;
  1362. @avatar-group-space: 3px;
  1363. @avatar-group-border-color: #fff;
  1364. @switch-height: 22px;
  1365. @switch-sm-height: 16px;
  1366. @switch-min-width: 44px;
  1367. @switch-sm-min-width: 28px;
  1368. @switch-disabled-opacity: 0.4;
  1369. @switch-color: @primary-color;
  1370. @switch-bg: @component-background;
  1371. @switch-shadow-color: fade(#00230b, 20%);
  1372. @switch-padding: 2px;
  1373. @switch-inner-margin-min: ceil(@switch-height * 0.3);
  1374. @switch-inner-margin-max: ceil(@switch-height * 1.1);
  1375. @switch-sm-inner-margin-min: ceil(@switch-sm-height * 0.3);
  1376. @switch-sm-inner-margin-max: ceil(@switch-sm-height * 1.1);
  1377. @pagination-item-bg: @component-background;
  1378. @pagination-item-size: @height-base;
  1379. @pagination-item-size-sm: 24px;
  1380. @pagination-font-family: @font-family;
  1381. @pagination-font-weight-active: 500;
  1382. @pagination-item-bg-active: @component-background;
  1383. @pagination-item-link-bg: @component-background;
  1384. @pagination-item-disabled-color-active: @disabled-color;
  1385. @pagination-item-disabled-bg-active: @disabled-active-bg;
  1386. @pagination-item-input-bg: @component-background;
  1387. @pagination-mini-options-size-changer-top: 0px;
  1388. @page-header-padding: @padding-lg;
  1389. @page-header-padding-vertical: @padding-md;
  1390. @page-header-padding-breadcrumb: @padding-sm;
  1391. @page-header-content-padding-vertical: @padding-sm;
  1392. @page-header-back-color: #000;
  1393. @page-header-ghost-bg: inherit;
  1394. @page-header-heading-title: @heading-4-size;
  1395. @page-header-heading-sub-title: 14px;
  1396. @page-header-tabs-tab-font-size: 16px;
  1397. @breadcrumb-base-color: @text-color-secondary;
  1398. @breadcrumb-last-item-color: @text-color;
  1399. @breadcrumb-font-size: @font-size-base;
  1400. @breadcrumb-icon-font-size: @font-size-base;
  1401. @breadcrumb-link-color: @text-color-secondary;
  1402. @breadcrumb-link-color-hover: @text-color;
  1403. @breadcrumb-separator-color: @text-color-secondary;
  1404. @breadcrumb-separator-margin: 0 @padding-xs;
  1405. @slider-margin: 10px 6px 10px;
  1406. @slider-rail-background-color: @background-color-base;
  1407. @slider-rail-background-color-hover: #e1e1e1;
  1408. @slider-track-background-color: @primary-3;
  1409. @slider-track-background-color-hover: @primary-4;
  1410. @slider-handle-border-width: 2px;
  1411. @slider-handle-background-color: @component-background;
  1412. @slider-handle-color: @primary-3;
  1413. @slider-handle-color-hover: @primary-4;
  1414. @slider-handle-color-focus: tint(@primary-color, 20%);
  1415. @slider-handle-color-focus-shadow: fade(@primary-color, 12%);
  1416. @slider-handle-color-tooltip-open: @primary-color;
  1417. @slider-handle-size: 14px;
  1418. @slider-handle-margin-top: -5px;
  1419. @slider-handle-shadow: 0;
  1420. @slider-dot-border-color: @border-color-split;
  1421. @slider-dot-border-color-active: tint(@primary-color, 50%);
  1422. @slider-disabled-color: @disabled-color;
  1423. @slider-disabled-background-color: @component-background;
  1424. @tree-bg: @component-background;
  1425. @tree-title-height: 24px;
  1426. @tree-child-padding: 18px;
  1427. @tree-directory-selected-color: #fff;
  1428. @tree-directory-selected-bg: @primary-color;
  1429. @tree-node-hover-bg: @item-hover-bg;
  1430. @tree-node-selected-bg: @primary-2;
  1431. @collapse-header-padding: @padding-sm @padding-md;
  1432. @collapse-header-padding-extra: 40px;
  1433. @collapse-header-bg: @background-color-light;
  1434. @collapse-content-padding: @padding-md;
  1435. @collapse-content-bg: @component-background;
  1436. @collapse-header-arrow-left: 16px;
  1437. @skeleton-color: rgba(190, 190, 190, 0.2);
  1438. @skeleton-to-color: shade(@skeleton-color, 5%);
  1439. @skeleton-paragraph-margin-top: 28px;
  1440. @skeleton-paragraph-li-margin-top: @margin-md;
  1441. @skeleton-paragraph-li-height: 16px;
  1442. @skeleton-title-height: 16px;
  1443. @skeleton-title-paragraph-margin-top: @margin-lg;
  1444. @transfer-header-height: 40px;
  1445. @transfer-item-height: @height-base;
  1446. @transfer-disabled-bg: @disabled-bg;
  1447. @transfer-list-height: 200px;
  1448. @transfer-item-hover-bg: @item-hover-bg;
  1449. @transfer-item-selected-hover-bg: darken(@item-active-bg, 2%);
  1450. @transfer-item-padding-vertical: 6px;
  1451. @transfer-list-search-icon-top: 12px;
  1452. @message-notice-content-padding: 10px 16px;
  1453. @message-notice-content-bg: @component-background;
  1454. @wave-animation-width: 6px;
  1455. @alert-success-border-color: ~`colorPalette('@{success-color}', 3) `;
  1456. @alert-success-bg-color: ~`colorPalette('@{success-color}', 1) `;
  1457. @alert-success-icon-color: @success-color;
  1458. @alert-info-border-color: ~`colorPalette('@{info-color}', 3) `;
  1459. @alert-info-bg-color: ~`colorPalette('@{info-color}', 1) `;
  1460. @alert-info-icon-color: @info-color;
  1461. @alert-warning-border-color: ~`colorPalette('@{warning-color}', 3) `;
  1462. @alert-warning-bg-color: ~`colorPalette('@{warning-color}', 1) `;
  1463. @alert-warning-icon-color: @warning-color;
  1464. @alert-error-border-color: ~`colorPalette('@{error-color}', 3) `;
  1465. @alert-error-bg-color: ~`colorPalette('@{error-color}', 1) `;
  1466. @alert-error-icon-color: @error-color;
  1467. @alert-message-color: @heading-color;
  1468. @alert-text-color: @text-color;
  1469. @alert-close-color: @text-color-secondary;
  1470. @alert-close-hover-color: @icon-color-hover;
  1471. @alert-no-icon-padding-vertical: @padding-xs;
  1472. @alert-with-description-no-icon-padding-vertical: @padding-md - 1px;
  1473. @alert-with-description-padding-vertical: @padding-md - 1px;
  1474. @alert-with-description-padding: @alert-with-description-padding-vertical 15px
  1475. @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size;
  1476. @alert-icon-top: 8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2);
  1477. @alert-with-description-icon-size: 24px;
  1478. @list-header-background: transparent;
  1479. @list-footer-background: transparent;
  1480. @list-empty-text-padding: @padding-md;
  1481. @list-item-padding: @padding-sm 0;
  1482. @list-item-padding-sm: @padding-xs @padding-md;
  1483. @list-item-padding-lg: 16px 24px;
  1484. @list-item-meta-margin-bottom: @padding-md;
  1485. @list-item-meta-avatar-margin-right: @padding-md;
  1486. @list-item-meta-title-margin-bottom: @padding-sm;
  1487. @list-customize-card-bg: @component-background;
  1488. @list-item-meta-description-font-size: @font-size-base;
  1489. @statistic-title-font-size: @font-size-base;
  1490. @statistic-content-font-size: 24px;
  1491. @statistic-unit-font-size: 24px;
  1492. @statistic-font-family: @font-family;
  1493. @drawer-header-padding: @padding-md @padding-lg;
  1494. @drawer-body-padding: @padding-lg;
  1495. @drawer-bg: @component-background;
  1496. @drawer-footer-padding-vertical: @modal-footer-padding-vertical;
  1497. @drawer-footer-padding-horizontal: @modal-footer-padding-horizontal;
  1498. @drawer-header-close-size: 56px;
  1499. @drawer-title-font-size: @font-size-lg;
  1500. @drawer-title-line-height: 22px;
  1501. @timeline-width: 2px;
  1502. @timeline-color: @border-color-split;
  1503. @timeline-dot-border-width: 2px;
  1504. @timeline-dot-color: @primary-color;
  1505. @timeline-dot-bg: @component-background;
  1506. @timeline-item-padding-bottom: 20px;
  1507. @typography-title-font-weight: 600;
  1508. @typography-title-margin-top: 1.2em;
  1509. @typography-title-margin-bottom: 0.5em;
  1510. @upload-actions-color: @text-color-secondary;
  1511. @process-tail-color: @border-color-split;
  1512. @steps-nav-arrow-color: fade(@black, 25%);
  1513. @steps-background: @component-background;
  1514. @steps-icon-size: 32px;
  1515. @steps-icon-custom-size: @steps-icon-size;
  1516. @steps-icon-custom-top: 0px;
  1517. @steps-icon-custom-font-size: 24px;
  1518. @steps-icon-top: -0.5px;
  1519. @steps-icon-font-size: @font-size-lg;
  1520. @steps-icon-margin: 0 8px 0 0;
  1521. @steps-title-line-height: @height-base;
  1522. @steps-small-icon-size: 24px;
  1523. @steps-small-icon-margin: 0 8px 0 0;
  1524. @steps-dot-size: 8px;
  1525. @steps-dot-top: 2px;
  1526. @steps-current-dot-size: 10px;
  1527. @steps-description-max-width: 140px;
  1528. @steps-nav-content-max-width: auto;
  1529. @steps-vertical-icon-width: 16px;
  1530. @steps-vertical-tail-width: 16px;
  1531. @steps-vertical-tail-width-sm: 12px;
  1532. @notification-bg: @component-background;
  1533. @notification-padding-vertical: 16px;
  1534. @notification-padding-horizontal: 24px;
  1535. @result-title-font-size: 24px;
  1536. @result-subtitle-font-size: @font-size-base;
  1537. @result-icon-font-size: 72px;
  1538. @result-extra-margin: 24px 0 0 0;
  1539. @image-size-base: 48px;
  1540. @image-font-size-base: 24px;
  1541. @image-bg: #f5f5f5;
  1542. @image-color: #fff;
  1543. @image-mask-font-size: 16px;
  1544. @image-preview-operation-size: 18px;
  1545. @image-preview-operation-color: @text-color-dark;
  1546. @image-preview-operation-disabled-color: fade(@image-preview-operation-color, 25%);
  1547. @segmented-bg: fade(@black, 4%);
  1548. @segmented-hover-bg: fade(@black, 6%);
  1549. @segmented-selected-bg: @white;
  1550. @segmented-label-color: fade(@black, 65%);
  1551. @segmented-label-hover-color: #262626;
  1552. .size(@width; @height) {width: @width;height: @height;}
  1553. .square(@size) {.size(@size; @size);}
  1554. .placeholder(@color: @input-placeholder-color) {&::-moz-placeholder {opacity: 1;
  1555. }
  1556. &::placeholder {color: @color;user-select: none;
  1557. }
  1558. &:placeholder-shown {text-overflow: ellipsis;}
  1559. }
  1560. .clearfix() {&::before {display: table;content: '';}
  1561. &::after {display: table;clear: both;content: '';}
  1562. }
  1563. .iconfont-mixin() {display: inline-block;color: @icon-color;font-style: normal;line-height: 0;text-align: center;text-transform: none;vertical-align: -0.125em;
  1564. text-rendering: optimizelegibility;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;> * {line-height: 1;}
  1565. svg {display: inline-block;}
  1566. &::before {display: none;
  1567. }
  1568. & &-icon {display: block;}
  1569. }
  1570. .typography-paragraph() {margin-bottom: 1em;}
  1571. .typography-title(@fontSize; @fontWeight; @lineHeight; @headingColor; @headingMarginBottom;) {margin-bottom: @headingMarginBottom;color: @headingColor;font-weight: @fontWeight;font-size: @fontSize;line-height: @lineHeight;}
  1572. .typography-title-1() {.typography-title(
  1573. @heading-1-size,
  1574. @typography-title-font-weight,
  1575. 1.23,
  1576. @heading-color,
  1577. @typography-title-margin-bottom
  1578. );}
  1579. .typography-title-2() {.typography-title(
  1580. @heading-2-size,
  1581. @typography-title-font-weight,
  1582. 1.35,
  1583. @heading-color,
  1584. @typography-title-margin-bottom
  1585. );}
  1586. .typography-title-3() {.typography-title(
  1587. @heading-3-size,
  1588. @typography-title-font-weight,
  1589. 1.35,
  1590. @heading-color,
  1591. @typography-title-margin-bottom
  1592. );}
  1593. .typography-title-4() {.typography-title(
  1594. @heading-4-size,
  1595. @typography-title-font-weight,
  1596. 1.4,
  1597. @heading-color,
  1598. @typography-title-margin-bottom
  1599. );}
  1600. .typography-title-5() {.typography-title(
  1601. @heading-5-size,
  1602. @typography-title-font-weight,
  1603. 1.5,
  1604. @heading-color,
  1605. @typography-title-margin-bottom
  1606. );}
  1607. .popover-customize-bg(@containerClass, @background: @popover-background, @prefix: @ant-prefix)
  1608. when
  1609. (@theme = dark) {@picker-prefix-cls: ~'@{prefix}-picker';@slider-prefix-cls: ~'@{prefix}-slider';@anchor-prefix-cls: ~'@{prefix}-anchor';@collapse-prefix-cls: ~'@{prefix}-collapse';@tab-prefix-cls: ~'@{prefix}-tabs';@timeline-prefix-cls: ~'@{prefix}-timeline';@tree-prefix-cls: ~'@{prefix}-tree';@card-prefix-cls: ~'@{prefix}-card';@badge-prefix-cls: ~'@{prefix}-badge';@transfer-prefix-cls: ~'@{prefix}-transfer';@calendar-prefix-cls: ~'@{prefix}-picker-calendar';@calendar-picker-prefix-cls: ~'@{prefix}-picker';@table-prefix-cls: ~'@{prefix}-table';@popover-border: @border-width-base @border-style-base @popover-customize-border-color;.@{containerClass} {.@{picker-prefix-cls}-clear,
  1610. .@{slider-prefix-cls}-handle,
  1611. .@{anchor-prefix-cls}-wrapper,
  1612. .@{collapse-prefix-cls}-content,
  1613. .@{timeline-prefix-cls}-item-head,
  1614. .@{card-prefix-cls} {background-color: @background;}
  1615. .@{transfer-prefix-cls} {&-list {&-header {background: @background;border-bottom: @popover-border;}
  1616. &-content-item:not(.@{transfer-prefix-cls}-list-content-item-disabled):hover {background-color: @item-hover-bg;}
  1617. }
  1618. }
  1619. tr.@{table-prefix-cls}-expanded-row {&,
  1620. &:hover {> td {background: #272727;}
  1621. }
  1622. }
  1623. .@{table-prefix-cls}.@{table-prefix-cls}-small {thead {> tr {> th {background-color: @background;border-bottom: @popover-border;}
  1624. }
  1625. }
  1626. }
  1627. .@{table-prefix-cls} {background-color: @background;.@{table-prefix-cls}-row-expand-icon {border: @popover-border;}
  1628. tfoot {> tr {> th,
  1629. > td {border-bottom: @popover-border;}
  1630. }
  1631. }
  1632. thead {> tr {> th {background-color: #272727;border-bottom: @popover-border;}
  1633. }
  1634. }
  1635. tbody {> tr {> td {border-bottom: @popover-border;&.@{table-prefix-cls}-cell-fix-left,
  1636. &.@{table-prefix-cls}-cell-fix-right {background-color: @background;}
  1637. }
  1638. &.@{table-prefix-cls}-row:hover {> td {background: @table-header-sort-active-bg;}
  1639. }
  1640. }
  1641. }
  1642. &.@{table-prefix-cls}-bordered {.@{table-prefix-cls}-title {border: @popover-border;}
  1643. thead > tr > th,
  1644. tbody > tr > td,
  1645. tfoot > tr > th,
  1646. tfoot > tr > td {border-right: @popover-border;}
  1647. .@{table-prefix-cls}-cell-fix-right-first::after {border-right: @popover-border;}
  1648. table > {thead {> tr:not(:last-child) > th {border-bottom: @border-width-base @border-style-base @border-color-split;}
  1649. }
  1650. }
  1651. .@{table-prefix-cls}-container {border: @popover-border;}
  1652. .@{table-prefix-cls}-expanded-row-fixed {&::after {border-right: @popover-border;}
  1653. }
  1654. .@{table-prefix-cls}-footer {border: @popover-border;}
  1655. }
  1656. .@{table-prefix-cls}-filter-trigger-container-open {background-color: #525252;}
  1657. }
  1658. .@{calendar-prefix-cls}-full {background-color: @background;.@{calendar-picker-prefix-cls}-panel {background-color: @background;.@{calendar-prefix-cls}-date {border-top: 2px solid @popover-customize-border-color;}
  1659. }
  1660. }
  1661. .@{tab-prefix-cls} {&.@{tab-prefix-cls}-card .@{tab-prefix-cls}-card-bar .@{tab-prefix-cls}-tab-active {background-color: @background;border-bottom: @border-width-base solid @background;}
  1662. }
  1663. .@{badge-prefix-cls} {&-count {box-shadow: 0 0 0 1px @background;}
  1664. }
  1665. .@{tree-prefix-cls} {&-show-line {.@{tree-prefix-cls}-switcher {background: @background;}
  1666. }
  1667. }
  1668. }
  1669. }
  1670. .box(@position: absolute) {position: @position;top: 0;right: 0;bottom: 0;left: 0;}
  1671. .box(@position: absolute) {position: @position;top: 0;right: 0;bottom: 0;left: 0;}
  1672. .modal-mask() {pointer-events: none;&.@{ant-prefix}-zoom-enter,
  1673. &.@{ant-prefix}-zoom-appear {transform: none;
  1674. opacity: 0;animation-duration: @animation-duration-slow;user-select: none;
  1675. }
  1676. &-mask {.box(fixed);z-index: @zindex-modal-mask;height: 100%;background-color: @modal-mask-bg;&-hidden {display: none;}
  1677. }
  1678. &-wrap {.box(fixed);overflow: auto;outline: 0;-webkit-overflow-scrolling: touch;}
  1679. }
  1680. .motion-common(@duration: @animation-duration-base) {animation-duration: @duration;animation-fill-mode: both;}
  1681. .motion-common-leave(@duration: @animation-duration-base) {animation-duration: @duration;animation-fill-mode: both;}
  1682. .make-motion(@className, @keyframeName, @duration: @animation-duration-base) {.@{className}-enter,
  1683. .@{className}-appear {.motion-common(@duration);animation-play-state: paused;}
  1684. .@{className}-leave {.motion-common-leave(@duration);animation-play-state: paused;}
  1685. .@{className}-enter.@{className}-enter-active,
  1686. .@{className}-appear.@{className}-appear-active {animation-name: ~'@{keyframeName}In';animation-play-state: running;}
  1687. .@{className}-leave.@{className}-leave-active {animation-name: ~'@{keyframeName}Out';animation-play-state: running;pointer-events: none;}
  1688. }
  1689. .reset-component() {box-sizing: border-box;margin: 0;padding: 0;color: @text-color;font-size: @font-size-base;font-variant: @font-variant-base;line-height: @line-height-base;list-style: none;font-feature-settings: @font-feature-settings-base;}
  1690. .operation-unit() {color: @link-color;text-decoration: none;outline: none;cursor: pointer;transition: color 0.3s;&:focus,
  1691. &:hover {color: @link-hover-color;}
  1692. &:active {color: @link-active-color;}
  1693. }
  1694. .roundedArrow(@width, @outer-radius, @bg-color: var(--antd-arrow-background-color)) {@corner-height: unit(((@outer-radius) * (1 - 1 / sqrt(2))));@width-without-unit: unit(@width);@outer-radius-without-unit: unit(@outer-radius);@inner-radius-without-unit: unit(@arrow-border-radius);@a-x: @width-without-unit - @corner-height;@a-y: 2 * @width-without-unit + @corner-height;@b-x: @a-x + @outer-radius-without-unit * (1 / sqrt(2));@b-y: 2 * @width-without-unit;@c-x: 2 * @width-without-unit - @inner-radius-without-unit;@c-y: 2 * @width-without-unit;@d-x: 2 * @width-without-unit;@d-y: 2 * @width-without-unit - @inner-radius-without-unit;@e-x: 2 * @width-without-unit;@e-y: @f-y + @outer-radius-without-unit * (1 / sqrt(2));@f-x: 2 * @width-without-unit + @corner-height;@f-y: @width-without-unit - @corner-height;@g-x: @f-x - 1;@g-y: @f-y;@h-x: @a-x;@h-y: @a-y - 1;border-radius: 0 0 @arrow-border-radius;pointer-events: none;&::before {position: absolute;top: -@width;left: -@width;width: @width * 3;height: @width * 3;background: @bg-color;background-repeat: no-repeat;background-position: ceil(-@width + 1px) ceil(-@width + 1px);content: '';clip-path: path(
  1695. 'M @{a-x} @{a-y} A @{outer-radius-without-unit} @{outer-radius-without-unit} 0 0 1 @{b-x} @{b-y} L @{c-x} @{c-y} A @{inner-radius-without-unit} @{inner-radius-without-unit} 0 0 0 @{d-x} @{d-y} L @{e-x} @{e-y} A @{outer-radius-without-unit} @{outer-radius-without-unit} 0 0 1 @{f-x} @{f-y} L @{g-x} @{g-y} L @{h-x} @{h-y} Z'
  1696. );}
  1697. }
  1698. .freakMixin() {@functions: ~`(function() {function toColorList(list) {list = list.slice(1, list.length - 1).split(',');var ret = [];for (var i = 0, c = list.length; i < c; i++) {ret.push(list[i].trim().split(' '));}
  1699. return ret;}
  1700. var catchColors;function _initColor(list) {if (!catchColors) catchColors = toColorList(list);}
  1701. this.getColor = function(list, name, position) {_initColor(list);var ret = '';for (var i = 0, c = catchColors.length; i < c; i++) {if (catchColors[i][0] === name) {ret = catchColors[i][position - 1];break;}
  1702. }
  1703. return ret;}
  1704. this.genComment = function(value, ...comments) {return '';}
  1705. this.genCommentColor = function(color, ...comments) {var imgColor = ' ![Color](https://dummyimage.com/20x20/' + color.substring(1) + '/fff.png&text=+)';return '';}
  1706. this.genCommentTypeColor = function(type, color) {var comments = [];switch (type) {case 'text':
  1707. comments = ['Set the text color to {0}', '设置文本颜色为 {0}'];break;case 'background':
  1708. comments = ['Set the background light color to {0}', '设置背景颜色为 {0}'];break;case 'hoverBackground':
  1709. comments = ['Set the hover background color to {0}', '设置悬停时背景颜色为 {0}'];break;}
  1710. if (comments.length === 0) return '';var imgColor = ' ![Color](https://dummyimage.com/20x20/' + color.substring(1) + '/fff.png&text=+)';return '';}
  1711. })()`;}
  1712. .freakMixin();
  1713. .color-yiq(@color) {.yiq-mixin (@v) when (@v >= 150) {color: #111;}
  1714. .yiq-mixin (@v) when (default()) {color: #fff;}
  1715. @r: red(@color);@g: green(@color);@b: blue(@color);@yiq: (((@r * 299) + (@g * 587) + (@b * 114)) / 1000);.yiq-mixin(@yiq);}
  1716. .for(@adList, @adCode) {& {.loop(@adI:1) when (@adI =< length(@adList)) {@adIndex: @adI - 1;@adItem: extract(@adList, @adI);@adCode();.loop(@adI + 1);}
  1717. .loop();}
  1718. }
  1719. .for-each(@adList, @adCode) {& {.loop(@adI:1) when (@adI =< length(@adList)) {@adIndex: @adI - 1;@adItem: extract(@adList, @adI);@adKey: extract(@adItem, 1);@adValue: extract(@adItem, 2);@adCode();.loop(@adI + 1);}
  1720. .loop();}
  1721. }
  1722. .text-truncate() {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
  1723. .textOverflow() {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;word-break: break-all;}
  1724. .textOverflowMulti(@line: 3, @bg: #fff) {position: relative;max-height: @line * 1.5em;margin-right: -1em;padding-right: 1em;overflow: hidden;line-height: 1.5em;text-align: justify;&::before {position: absolute;right: 14px;bottom: 0;padding: 0 1px;background: @bg;content: '...';}
  1725. &::after {position: absolute;right: 14px;width: 1em;height: 1em;margin-top: 0.2em;background: white;content: '';}
  1726. }
  1727. .router-ant() {.router-ant-mixin(@enabled) when(@enabled=true) {router-outlet + * {display: block;animation-name: @router-animation-name;
  1728. animation-duration: @router-animation-duration;}
  1729. }
  1730. .router-ant-mixin(@router-animation-enabled);}
  1731. @root-entry-name: default;
  1732. @white: #fff;
  1733. @black: #000;
  1734. @grey-1: #ffffff;
  1735. @grey-2: #fafafa;
  1736. @grey-3: #f5f5f5;
  1737. @grey-4: #e8e8e8;
  1738. @grey-5: #d9d9d9;
  1739. @grey-6: #bfbfbf;
  1740. @grey-7: #8c8c8c;
  1741. @grey-8: #595959;
  1742. @grey-9: #262626;
  1743. @grey-10: #000000;
  1744. @color-light-index: 5;
  1745. @color-basic-index: 6;
  1746. @color-dark-index: 7;
  1747. @color-light-position: 2;
  1748. @color-basic-position: 3;
  1749. @color-dark-position: 4;
  1750. @color-no-list: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
  1751. @colors:
  1752. red @red-5 @red-6 @red-7,
  1753. volcano @volcano-5 @volcano-6 @volcano-7,
  1754. orange @orange-5 @orange-6 @orange-7,
  1755. gold @gold-5 @gold-6 @gold-7,
  1756. yellow @yellow-5 @yellow-6 @yellow-7,
  1757. lime @lime-5 @lime-6 @lime-7,
  1758. green @green-5 @green-6 @green-7,
  1759. cyan @cyan-5 @cyan-6 @cyan-7,
  1760. blue @blue-5 @blue-6 @blue-7,
  1761. geekblue @geekblue-5 @geekblue-6 @geekblue-7,
  1762. purple @purple-5 @purple-6 @purple-7,
  1763. magenta @magenta-5 @magenta-6 @magenta-7,
  1764. grey @grey-5 @grey-6 @grey-7;
  1765. @aliasColors:
  1766. primary @primary-color,
  1767. success @success-color,
  1768. error @error-color,
  1769. warning @warning-color,
  1770. info @info-color,
  1771. processing @processing-color,
  1772. highlight @highlight-color,
  1773. normal @normal-color;
  1774. @greyColorer: lighter @grey-3, darker @grey-9;
  1775. @layout-gutter: 8px;
  1776. @xs: (@layout-gutter / 2);
  1777. @sm: @layout-gutter;
  1778. @md: (@layout-gutter * 2);
  1779. @lg: (@layout-gutter * 3);
  1780. @xl: (@layout-gutter * 4);
  1781. @xxl: (@layout-gutter * 6);
  1782. @grid-breakpoints:
  1783. xs @screen-xs,
  1784. sm @screen-sm,
  1785. md @screen-md,
  1786. lg @screen-lg,
  1787. xl @screen-xl;
  1788. @mobile-min: @screen-md-min;
  1789. @mobile-max: @screen-md-min - 1px;
  1790. @spacings:
  1791. 0 0,
  1792. xs @xs,
  1793. sm @sm,
  1794. md @md,
  1795. lg @lg,
  1796. xl @xl,
  1797. xxl @xxl;
  1798. @rtl-enabled: true;
  1799. @ul-ol-margin: 18px;
  1800. @zindex-base: @zindex-back-top - 1;
  1801. @zindex-fixed: @zindex-base;
  1802. @zindex: @zindex-base;
  1803. @text-xs: @font-size-base - 2;
  1804. @text-sm: @font-size-base + 0;
  1805. @text-md: @font-size-base + 2;
  1806. @text-lg: @font-size-base + 4;
  1807. @text-xl: @font-size-base + 8;
  1808. @text-xxl: @font-size-base + 14;
  1809. @icon-sm: @font-size-base * 2;
  1810. @icon-md: @font-size-base * 4;
  1811. @icon-lg: @font-size-base * 6;
  1812. @icon-xl: @font-size-base * 8;
  1813. @icon-xxl: @font-size-base * 10;
  1814. @widths:
  1815. xs @layout-gutter * 10,
  1816. sm @layout-gutter * 20,
  1817. md @layout-gutter * 30,
  1818. lg @layout-gutter * 40,
  1819. xl @layout-gutter * 50,
  1820. xxl @layout-gutter * 60,
  1821. 10 10%,
  1822. 20 20%,
  1823. 30 30%,
  1824. 40 40%,
  1825. 50 50%,
  1826. 60 60%,
  1827. 70 70%,
  1828. 80 80%,
  1829. 90 90%,
  1830. 100 100%;
  1831. @border-radius-md: @border-radius-base;
  1832. @border-radius-lg: @border-radius-base + 2px;
  1833. @muted-color: @grey-7;
  1834. @white: #fff;
  1835. @black: #000;
  1836. @scrollbar-enabled: true;
  1837. @scrollbar-width: 6px;
  1838. @scrollbar-height: 6px;
  1839. @scrollbar-track-color: rgba(0, 0, 0, 0.3);
  1840. @scrollbar-thumb-color: #6e6e6e;
  1841. @scrollbar-table-enabled: false;
  1842. @font-size-large: @font-size-base + 8;
  1843. @font-size-small: @font-size-base;
  1844. @h1-font-size: @font-size-base + 20;
  1845. @h2-font-size: @font-size-base + 12;
  1846. @h3-font-size: @font-size-base + 8;
  1847. @h4-font-size: @font-size-base + 4;
  1848. @h5-font-size: @font-size-base + 2;
  1849. @h6-font-size: @font-size-base;
  1850. @enable-all-colors: false;
  1851. @code-border-color: #eee;
  1852. @code-bg: #f7f7f7;
  1853. @drawer-xl: 1200px;
  1854. @drawer-lg: 900px;
  1855. @drawer-md: 600px;
  1856. @drawer-sm: 300px;
  1857. @drawer-xl-height: 800px;
  1858. @drawer-lg-height: 600px;
  1859. @drawer-md-height: 400px;
  1860. @drawer-sm-height: 200px;
  1861. @modal-xl: 1200px;
  1862. @modal-lg: 900px;
  1863. @modal-md: 600px;
  1864. @modal-sm: 300px;
  1865. @router-animation-enabled: false;
  1866. @router-animation-name: antFadeIn;
  1867. @router-animation-duration: 1s;
  1868. @rotate-count: 24;
  1869. @preserve-white-spaces-enabled: true;
  1870. @preserve-sf-and-st-spaces: @layout-gutter * 2;
  1871. @preserve-buttons-spaces: @layout-gutter;
  1872. @nz-table-img-radius: 4px;
  1873. @nz-table-img-margin-right: 4px;
  1874. @nz-table-img-max-height: 32px;
  1875. @nz-table-img-max-width: 32px;
  1876. @nz-table-even-background: none;
  1877. @nz-table-rep-max-width: @mobile-max;
  1878. @nz-table-rep-min-width: @nz-table-rep-max-width + 1;
  1879. @nz-table-rep-header-background: @border-color-split;
  1880. @nz-table-rep-even-background: #f9f9f9;
  1881. @nz-table-rep-padding-vertical: (@table-padding-vertical / 2);
  1882. @nz-table-rep-padding-horizontal: (@table-padding-horizontal / 2);
  1883. @nz-table-rep-column-name-width: 100px;
  1884. @nz-table-rep-column-name-text-align: right;
  1885. @nz-table-rep-column-name-padding-right: 8px;
  1886. @nz-table-rep-column-name-color: rgba(0, 0, 0, 0.5);
  1887. @forced-turn-off-nz-modal-animation-enabled: false;
  1888. @sf-title-text-align: left;
  1889. @sf-optional-color: rgba(0, 0, 0, 0.35);
  1890. @sf-optional-margin: 2px;
  1891. @sf-inline-ant-select-min-width: 100px;
  1892. @sf-widget-array-type-card-remove-bg: rgba(0, 0, 0, 0.26);
  1893. @yn-yes-color: @blue-6;
  1894. @yn-no-color: @grey-7;
  1895. @setting-drawer-enabled: true;
  1896. @setting-drawer-width: 500px;
  1897. @theme-btn-enabled: true;
  1898. @enabled-util-align: true;
  1899. @enabled-util-border: true;
  1900. @enabled-util-code: true;
  1901. @enabled-util-color: true;
  1902. @enabled-util-display: true;
  1903. @enabled-util-float: true;
  1904. @enabled-util-icon: true;
  1905. @enabled-util-img: true;
  1906. @enabled-util-position: true;
  1907. @enabled-util-overflow: true;
  1908. @enabled-util-responsive: true;
  1909. @enabled-util-spacing: true;
  1910. @enabled-util-text: true;
  1911. @enabled-util-width: true;
  1912. @enabled-util-scrollbar: true;
  1913. @enabled-util-other: true;
  1914. @abs-enabled: false;
  1915. @search__form-enabled: true;
  1916. @search-form-bg: #fbfbfb;
  1917. @search-form-radius: 4px;
  1918. @hafl-enabled: true;
  1919. @hafl-float-size: sm @layout-gutter * 8, md @layout-gutter * 10, lg @layout-gutter * 12;
  1920. @masonry-enabled: true;
  1921. @masonry-column-gap: @layout-gutter * 2;
  1922. @alain-default-prefix: ~'.alain-default';
  1923. @alain-default-zindex: @zindex-base;
  1924. @alain-default-ease: cubic-bezier(0.25, 0, 0.15, 1);
  1925. @alain-default-header-hg: 64px;
  1926. @alain-default-header-bg: @primary-color;
  1927. @alain-default-header-padding: @layout-gutter * 2;
  1928. @alain-default-header-search-enabled: true;
  1929. @alain-default-header-icon-fs: 18px;
  1930. @alain-default-header-logo-max-height: 36px;
  1931. @alain-default-header-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);
  1932. @alain-default-header-nav-bg-hover: rgba(255, 255, 255, 0.2);
  1933. @alain-default-header-top-menu-item-padding: 0 16px;
  1934. @alain-default-aside-wd: 200px;
  1935. @alain-default-aside-bg: #fff;
  1936. @alain-default-aside-scrollbar-width: 0;
  1937. @alain-default-aside-scrollbar-height: 0;
  1938. @alain-default-aside-scrollbar-track-color: transparent;
  1939. @alain-default-aside-scrollbar-thumb-color: transparent;
  1940. @alain-default-aside-nav-fs: 14px;
  1941. @alain-default-aside-nav-icon-width: 14px;
  1942. @alain-default-aside-nav-img-wh: 14px;
  1943. @alain-default-aside-nav-padding-top-bottom: @layout-gutter;
  1944. @alain-default-aside-nav-padding-left-right: @layout-gutter * 2;
  1945. @alain-default-aside-nav-text-color: @text-color;
  1946. @alain-default-aside-nav-text-hover-color: @primary-color;
  1947. @alain-default-aside-nav-group-text-color: @text-color-secondary;
  1948. @alain-default-aside-nav-selected-text-color: @primary-color;
  1949. @alain-default-aside-nav-selected-bg: #fcfcfc;
  1950. @alain-default-aside-nav-depth1-padding-left: @layout-gutter * 3;
  1951. @alain-default-aside-nav-depth2-padding-left: @layout-gutter * 4;
  1952. @alain-default-aside-nav-depth3-padding-left: @layout-gutter * 5;
  1953. @alain-default-aside-nav-depth4-padding-left: @layout-gutter * 6;
  1954. @alain-default-aside-nav-depth5-padding-left: @layout-gutter * 7;
  1955. @alain-default-aside-collapsed-wd: @layout-gutter * 8;
  1956. @alain-default-aside-collapsed-nav-fs: 24px;
  1957. @alain-default-aside-collapsed-nav-img-wh: 24px;
  1958. @alain-default-aside-collapsed-padding: (@layout-gutter * 2) 0;
  1959. @alain-default-content-heading-bg: #fafbfc;
  1960. @alain-default-content-heading-border: #efe3e5;
  1961. @alain-default-content-padding: @layout-gutter * 3;
  1962. @alain-default-content-bg: #f5f7fa;
  1963. @alain-default-widget-app-icons-enabled: true;
  1964. @alain-default-aside-user-enabled: true;
  1965. @alain-blank-prefix: ~'.alain-blank';
  1966. @alain-blank-zindex: @zindex-base;
  1967. @alain-blank-bg: #f5f7fa;
  1968. @alain-blank-content-padding-vertical: 0;
  1969. @alain-blank-content-padding-horizontal: @layout-gutter * 2;
  1970. @st-btn-disabled-color: rgba(0, 0, 0, 0.25);
  1971. @st-title-optional-color: rgba(0, 0, 0, 0.35);
  1972. @st-resizable-handle-width: 1px;
  1973. @st-resizable-handle-height: 60%;
  1974. @st-resizable-handle-color: @border-color-base;
  1975. @st-no-column-height: 100px;
  1976. @sv-label-color: rgba(0, 0, 0, 0.5);
  1977. @sv-label-optional-color: rgba(0, 0, 0, 0.35);
  1978. @sv-detail-color: @text-color;
  1979. @sv-type-primary-color: @primary-color;
  1980. @sv-type-success-color: @success-color;
  1981. @sv-type-danger-color: @error-color;
  1982. @sv-type-warning-color: @warning-color;
  1983. @sv-bottom: @layout-gutter * 2;
  1984. @sv-default-text: '-';
  1985. @sv-unit-margin: 8px;
  1986. @sv-unit-color: @grey-7;
  1987. @sv-optional-margin: 2px;
  1988. @sv-value-prefix-unit-color: @sv-label-color;
  1989. @sv-value-prefix-unit-font-size: 12px;
  1990. @sv-value-default-value-font-size: 18px;
  1991. @sv-value-large-value-font-size: 24px;
  1992. @sv-value-small-value-font-size: 14px;
  1993. @sv-value-mulit-padding: 8px;
  1994. @sv-value-mulit-content: '/';
  1995. @sv-value-mulit-content-width: 6px;
  1996. @se-label-optional-color: rgba(0, 0, 0, 0.35);
  1997. @se-compact-bottom: @layout-gutter;
  1998. @se-optional-margin: 2px;
  1999. @avatar-list-mini-wh: 20px;
  2000. @error-collect-color: #f5222d;
  2001. @footer-toolbar-height: 56px;
  2002. @footer-toolbar-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03);
  2003. @footer-toolbar-bg: #fff;
  2004. @footer-toolbar-border-top: 1px solid @border-color-split;
  2005. @footer-toolbar-padding: 0 24px;
  2006. @page-header-bg: #fff;
  2007. @page-header-padding: 16px 32px 0 32px;
  2008. @page-header-wide: 1200px;
  2009. @page-header-title-sub-color: fade(@heading-color, 40%);
  2010. @quick-menu-border-width: 1px;
  2011. @quick-menu-ctrl-hw: 50px;
  2012. @quick-menu-border-color: #fff;
  2013. @quick-menu-bg: #fff;
  2014. @result-extra-bg: #fafafa;
  2015. @reuse-tab-height: 52px;
  2016. @reuse-tab-bg: #fff;
  2017. @reuse-tab-padding: 8px;
  2018. @reuse-tab-border-color: #d9d9d9;
  2019. @down-file-not-support-behavior: 'hidden';
  2020. @loading-zindex: 9999;
  2021. @loading-backdrop-bg: rgba(0, 0, 0, 0.15);
  2022. @loading-icon-color: @primary-color;
  2023. @loading-text-color: @primary-color;
  2024. @onboarding-mask-opacity: 0.5;
  2025. @onboarding-mask-background-color: #000;
  2026. @onboarding-light-background-color: rgba(255, 255, 255, 0.9);
  2027. @onboarding-light-ant: 2500ms cubic-bezier(0.55, 0.05, 0.6, 0.2) 0s infinite normal none running onboardingAnt;
  2028. @onboarding-light-ant-color: rgb(255, 255, 255);
  2029. @onboarding-changing-ant: all 0.3s ease-out;
  2030. @onboarding-zindex: 99999;
  2031. @tag-select-margin: 16px;
  2032. @tag-select-item-margin-right: 24px;
  2033. @cell-default-color: @text-color-secondary;
  2034. @cell-large: 18px;
  2035. @cell-small: 12px;
  2036. @cell-unit-color: @text-color-secondary;
  2037. @cell-unit-font-size: 12px;
  2038. @cell-img-space: 4px;
  2039. @cell-link-disabled-color: @text-color;