2015-02-16 10:10:57 +08:00
|
|
|
// ---------------------------------
|
2015-07-17 13:17:49 +08:00
|
|
|
// CONFIG
|
2015-02-16 10:10:57 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@config-primary-color: #536F90;
|
|
|
|
@config-secondary-color: #536F90;
|
|
|
|
@config-dark-mode: false;
|
|
|
|
@config-colored-header: false;
|
2015-02-16 10:10:57 +08:00
|
|
|
|
|
|
|
// ---------------------------------
|
2015-07-17 13:17:49 +08:00
|
|
|
// COLORS
|
|
|
|
|
|
|
|
@primary-hue: hue(@primary-color);
|
|
|
|
@primary-sat: saturation(@primary-color);
|
|
|
|
|
|
|
|
@secondary-hue: hue(@secondary-color);
|
|
|
|
@secondary-sat: saturation(@secondary-color);
|
|
|
|
|
|
|
|
// Derive the primary/secondary colors from the config variables. In dark mode,
|
|
|
|
// we make the user-set colors a bit darker, otherwise they will stand out too
|
|
|
|
// much.
|
|
|
|
.define-colors(@config-dark-mode);
|
|
|
|
.define-colors(false) {
|
|
|
|
@primary-color: @config-primary-color;
|
|
|
|
@secondary-color: @config-secondary-color;
|
|
|
|
|
|
|
|
@body-bg: #fff;
|
2015-09-08 08:54:20 +08:00
|
|
|
@text-color: #111;
|
2015-07-17 13:17:49 +08:00
|
|
|
@link-color: saturate(@primary-color, 10%);
|
|
|
|
@heading-color: @text-color;
|
2015-09-14 13:46:19 +08:00
|
|
|
@muted-color: hsl(@secondary-hue, min(25%, @secondary-sat), 55%);
|
2015-09-04 10:49:20 +08:00
|
|
|
@muted-more-color: #aaa;
|
2015-07-17 13:17:49 +08:00
|
|
|
@shadow-color: rgba(0, 0, 0, 0.35);
|
|
|
|
|
|
|
|
@control-bg: hsl(@secondary-hue, min(50%, @secondary-sat), 93%);
|
|
|
|
@control-color: @muted-color;
|
|
|
|
@control-danger-bg: #fdd;
|
|
|
|
@control-danger-color: #d66;
|
|
|
|
|
|
|
|
@overlay-bg: fade(@secondary-color, 90%);
|
2015-02-16 10:10:57 +08:00
|
|
|
}
|
2015-07-17 13:17:49 +08:00
|
|
|
.define-colors(true) {
|
|
|
|
@primary-color: @config-primary-color;
|
|
|
|
@secondary-color: @config-secondary-color;
|
|
|
|
|
|
|
|
@body-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 10%);
|
|
|
|
@text-color: #ccc;
|
|
|
|
@link-color: saturate(@primary-color, 10%);
|
|
|
|
@heading-color: @text-color;
|
|
|
|
@muted-color: hsl(@secondary-hue, min(20%, @secondary-sat), 35%);
|
|
|
|
@muted-more-color: hsl(@secondary-hue, min(10%, @secondary-sat), 25%);
|
|
|
|
@shadow-color: rgba(0, 0, 0, 0.5);
|
|
|
|
|
|
|
|
@control-bg: hsl(@secondary-hue, min(20%, @secondary-sat), 13%);
|
|
|
|
@control-color: @muted-color;
|
|
|
|
@control-danger-bg: #411;
|
|
|
|
@control-danger-color: #a88;
|
|
|
|
|
|
|
|
@overlay-bg: fade(darken(@body-bg, 5%), 90%);
|
2015-02-16 10:10:57 +08:00
|
|
|
}
|
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@hero-bg: @control-bg;
|
|
|
|
@hero-color: @control-color;
|
|
|
|
@hero-muted-color: @control-color;
|
2015-03-03 18:00:52 +08:00
|
|
|
|
2015-07-27 11:19:22 +08:00
|
|
|
@alert-bg: #fff2ae;
|
|
|
|
@alert-color: #ad6c00;
|
2015-03-03 18:00:52 +08:00
|
|
|
|
2015-07-27 11:19:22 +08:00
|
|
|
@alert-error-bg: #d83e3e;
|
2015-07-17 13:17:49 +08:00
|
|
|
@alert-error-color: #fff;
|
|
|
|
|
2015-07-31 18:46:47 +08:00
|
|
|
@alert-success-bg: #B4F1AF;
|
|
|
|
@alert-success-color: #33722D;
|
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
.define-header(@config-colored-header);
|
|
|
|
.define-header(false) {
|
2015-07-18 08:37:22 +08:00
|
|
|
@header-bg: @body-bg;
|
|
|
|
@header-color: @primary-color;
|
|
|
|
@header-control-bg: @control-bg;
|
|
|
|
@header-control-color: @control-color;
|
2015-02-16 10:10:57 +08:00
|
|
|
}
|
2015-07-17 13:17:49 +08:00
|
|
|
.define-header(true) {
|
2015-07-18 08:37:22 +08:00
|
|
|
@header-bg: @primary-color;
|
|
|
|
@header-color: @body-bg;
|
2016-03-28 07:53:49 +08:00
|
|
|
@header-control-bg: mix(#000, @header-bg, 10%);
|
|
|
|
@header-control-color: mix(@body-bg, @header-bg, 60%);
|
2015-02-16 10:10:57 +08:00
|
|
|
}
|
|
|
|
|
2015-03-03 18:00:52 +08:00
|
|
|
// ---------------------------------
|
|
|
|
// LAYOUT
|
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@drawer-width: 270px;
|
|
|
|
@pane-width: 400px;
|
2015-08-04 15:45:05 +08:00
|
|
|
@header-height: 52px;
|
|
|
|
@header-height-phone: 46px;
|
2015-02-16 10:10:57 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@border-radius: 4px;
|
2015-07-05 12:22:46 +08:00
|
|
|
|
2016-03-29 15:54:23 +08:00
|
|
|
@zindex-header: 1000;
|
|
|
|
@zindex-pane: 1010;
|
|
|
|
@zindex-composer: 1020;
|
|
|
|
@zindex-dropdown: 1030;
|
2015-07-17 13:17:49 +08:00
|
|
|
@zindex-modal-background: 1040;
|
|
|
|
@zindex-modal: 1050;
|
|
|
|
@zindex-alerts: 1060;
|
|
|
|
@zindex-tooltip: 1070;
|
2015-01-16 14:56:10 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
// ---------------------------------
|
|
|
|
// BREAKPOINTS
|
2015-01-16 14:56:10 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@screen-phone-max: (@screen-tablet - 1);
|
2015-01-16 14:56:10 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@screen-tablet: 768px;
|
|
|
|
@screen-tablet-max: (@screen-desktop - 1);
|
2015-01-16 14:56:10 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@screen-desktop: 992px;
|
|
|
|
@screen-desktop-max: (@screen-desktop-hd - 1);
|
2015-01-16 14:56:10 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@screen-desktop-hd: 1100px;
|
2015-02-06 08:04:41 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@phone: ~"(max-width: @{screen-phone-max})";
|
|
|
|
@tablet: ~"(min-width: @{screen-tablet}) and (max-width: @{screen-tablet-max})";
|
|
|
|
@desktop: ~"(min-width: @{screen-desktop}) and (max-width: @{screen-desktop-max})";
|
|
|
|
@desktop-hd: ~"(min-width: @{screen-desktop-hd})";
|
2015-02-16 10:10:57 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@tablet-up: ~"(min-width: @{screen-tablet})";
|
|
|
|
@desktop-up: ~"(min-width: @{screen-desktop})";
|
2015-03-03 18:00:52 +08:00
|
|
|
|
|
|
|
// ---------------------------------
|
2015-07-17 13:17:49 +08:00
|
|
|
// COMPONENTS
|
2015-03-03 18:00:52 +08:00
|
|
|
|
2015-07-17 13:17:49 +08:00
|
|
|
@tooltip-bg: rgba(0, 0, 0, 0.9);
|
|
|
|
@tooltip-color: #fff;
|
2015-09-11 14:49:07 +08:00
|
|
|
|
|
|
|
@online-user-circle-color: #7FBA00;
|