mirror of
https://github.com/atom/atom.git
synced 2026-01-22 13:28:01 -05:00
initial light theme
This commit is contained in:
6
themes/atom-light-ui/atom.less
Normal file
6
themes/atom-light-ui/atom.less
Normal file
@@ -0,0 +1,6 @@
|
||||
@import "ui-variables";
|
||||
|
||||
#root-view {
|
||||
font: caption;
|
||||
background-color: @app-background-color;
|
||||
}
|
||||
47
themes/atom-light-ui/buttons.less
Normal file
47
themes/atom-light-ui/buttons.less
Normal file
@@ -0,0 +1,47 @@
|
||||
@import "ui-variables";
|
||||
@import "ui-mixins";
|
||||
|
||||
.btn-background (@color, @hover-color, @selected-color, @text-color) {
|
||||
color: @text-color;
|
||||
background-color: transparent;
|
||||
background-image: -webkit-linear-gradient(@color, darken(@color, 5%));
|
||||
|
||||
&:hover {
|
||||
color: @text-color-highlight;
|
||||
background-image: -webkit-linear-gradient(@hover-color, darken(@hover-color, 5%));
|
||||
}
|
||||
&.selected, &.selected:hover {
|
||||
color: @text-color-highlight;
|
||||
background-image: -webkit-linear-gradient(darken(@selected-color, 5%), @selected-color);
|
||||
&:hover {
|
||||
background-image: -webkit-linear-gradient(@selected-color, darken(@selected-color, 5%));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-variant (@color) {
|
||||
@bg: darken(@color, 10%);
|
||||
@hover: @color;
|
||||
@selected: @color;
|
||||
.btn-background(@bg, @hover, @selected, @text-color-highlight);
|
||||
}
|
||||
|
||||
.btn {
|
||||
.btn-background(@button-background-color, @button-background-color-hover, @button-background-color-selected, @text-color);
|
||||
}
|
||||
|
||||
.btn.btn-primary {
|
||||
.btn-variant(@background-color-info);
|
||||
}
|
||||
.btn.btn-info {
|
||||
.btn-variant(@background-color-info);
|
||||
}
|
||||
.btn.btn-success {
|
||||
.btn-variant(@background-color-success);
|
||||
}
|
||||
.btn.btn-warning {
|
||||
.btn-variant(@background-color-warning);
|
||||
}
|
||||
.btn.btn-error {
|
||||
.btn-variant(@background-color-error);
|
||||
}
|
||||
29
themes/atom-light-ui/editor.less
Normal file
29
themes/atom-light-ui/editor.less
Normal file
@@ -0,0 +1,29 @@
|
||||
@import "ui-variables";
|
||||
@import "ui-mixins";
|
||||
|
||||
.editor.mini {
|
||||
background-color: @input-background-color;
|
||||
border: 1px solid rgba(0, 0, 0, 0.5);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.editor.editor-colors.mini.is-focused {
|
||||
background-color: lighten(@input-background-color, 5%);
|
||||
}
|
||||
|
||||
// FIXME: these should go in syntax themes?
|
||||
.editor .gutter.drop-shadow {
|
||||
-webkit-box-shadow: -2px 0 10px 2px #222;
|
||||
}
|
||||
|
||||
@-webkit-keyframes highlight {
|
||||
from { background-color: rgba(100, 255, 100, 0.7); }
|
||||
to { background-color: null; }
|
||||
}
|
||||
|
||||
.editor .highlighted.selection .region {
|
||||
-webkit-animation-name: highlight;
|
||||
-webkit-animation-duration: 1s;
|
||||
-webkit-animation-iteration-count: 1;
|
||||
}
|
||||
9
themes/atom-light-ui/git.less
Normal file
9
themes/atom-light-ui/git.less
Normal file
@@ -0,0 +1,9 @@
|
||||
@import "ui-mixins";
|
||||
@import "ui-variables";
|
||||
|
||||
.status { .text(normal); }
|
||||
.status-added { .text(info); }
|
||||
.status-ignored { .text(subtle); }
|
||||
.status-modified { .text(warning); }
|
||||
.status-removed { .text(error); }
|
||||
.status-renamed { .text(success); }
|
||||
107
themes/atom-light-ui/lists.less
Normal file
107
themes/atom-light-ui/lists.less
Normal file
@@ -0,0 +1,107 @@
|
||||
@import "ui-variables";
|
||||
@import "ui-mixins";
|
||||
@import "octicon-mixins";
|
||||
|
||||
.list-group, .list-tree {
|
||||
li:not(.list-nested-item),
|
||||
li.list-nested-item > .list-item {
|
||||
.text(normal);
|
||||
}
|
||||
|
||||
.generate-list-item-text-color(@class) {
|
||||
li:not(.list-nested-item).text-@{class},
|
||||
li.list-nested-item.text-@{class} > .list-item {
|
||||
.text(@class);
|
||||
}
|
||||
}
|
||||
.generate-list-item-text-color(subtle);
|
||||
.generate-list-item-text-color(info);
|
||||
.generate-list-item-text-color(success);
|
||||
.generate-list-item-text-color(warning);
|
||||
.generate-list-item-text-color(error);
|
||||
.generate-list-item-text-color(selected);
|
||||
|
||||
.generate-list-item-status-color(@textClass, @status) {
|
||||
li:not(.list-nested-item).status-@{status},
|
||||
li.list-nested-item.status-@{status} > .list-item {
|
||||
.text(@textClass);
|
||||
}
|
||||
}
|
||||
.generate-list-item-status-color(subtle, ignored);
|
||||
.generate-list-item-status-color(info, added);
|
||||
.generate-list-item-status-color(success, renamed);
|
||||
.generate-list-item-status-color(warning, modified);
|
||||
.generate-list-item-status-color(error, removed);
|
||||
|
||||
li:not(.list-nested-item):hover,
|
||||
li.list-nested-item:hover > .list-item, // i.e. highlight directory when hover child file
|
||||
li.list-nested-item .list-item:hover,
|
||||
li.list-nested-item .list-item:hover .disclosure-arrow,
|
||||
.selected > .list-nested-item > .list-item .disclosure-arrow,
|
||||
.selected > .list-nested-item > .list-item:hover .disclosure-arrow {
|
||||
.text(highlight);
|
||||
}
|
||||
}
|
||||
|
||||
&.select-list ol.list-group, .select-list ol.list-group {
|
||||
li.two-lines {
|
||||
.secondary-line { color: @text-color-subtle; }
|
||||
&.selected .secondary-line { color: lighten(@text-color-subtle, 10%); }
|
||||
}
|
||||
|
||||
// We want to highlight the background of the list items because we dont
|
||||
// know their size.
|
||||
li.selected {
|
||||
background-color: @background-color-highlight;
|
||||
&:before{ display: none; }
|
||||
}
|
||||
|
||||
&.mark-active{
|
||||
@active-icon-size: 14px;
|
||||
|
||||
// pad in front of the text where the icon would be We'll pad the non-
|
||||
// active items with a 'fake' icon so other classes can pad the item
|
||||
// without worrying about the icon padding.
|
||||
li:before {
|
||||
content: '';
|
||||
background-color: transparent;
|
||||
position: static;
|
||||
display: inline-block;
|
||||
left: auto; right: auto;
|
||||
height: @active-icon-size;
|
||||
width: @active-icon-size;
|
||||
}
|
||||
> li:not(.active):before {
|
||||
margin-right: @component-icon-padding;
|
||||
}
|
||||
li.active {
|
||||
.octicon(check, @active-icon-size);
|
||||
&:before {
|
||||
margin-right: @component-icon-padding;
|
||||
color: @text-color-success;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.select-list.popover-list {
|
||||
background-color: @overlay-background-color;
|
||||
-webkit-box-shadow: 0 0 3px 3px @base-border-color;
|
||||
padding: @component-padding/2;
|
||||
border-radius: @component-border-radius;
|
||||
border: 1px solid @overlay-border-color;
|
||||
|
||||
.editor {
|
||||
margin-bottom: @component-padding/2;
|
||||
}
|
||||
|
||||
.list-group li {
|
||||
padding-left: @component-padding/2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
20
themes/atom-light-ui/loading.less
Normal file
20
themes/atom-light-ui/loading.less
Normal file
@@ -0,0 +1,20 @@
|
||||
@import "ui-variables";
|
||||
@import "ui-mixins";
|
||||
|
||||
.loading-spinner(@size) {
|
||||
width: @size;
|
||||
height: @size;
|
||||
display: block;
|
||||
|
||||
background-image: url(images/octocat-spinner-128.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.loading-spinner-medium {
|
||||
.loading-spinner(64px);
|
||||
}
|
||||
|
||||
.loading-spinner-small {
|
||||
.loading-spinner(32px);
|
||||
}
|
||||
35
themes/atom-light-ui/overlays.less
Normal file
35
themes/atom-light-ui/overlays.less
Normal file
@@ -0,0 +1,35 @@
|
||||
@import "ui-variables";
|
||||
|
||||
.overlay {
|
||||
color: @text-color;
|
||||
background-color: @overlay-background-color;
|
||||
padding: @component-padding;
|
||||
border: 1px solid @overlay-border-color;
|
||||
box-shadow: 0 0 10px @base-border-color;
|
||||
border-radius: @component-border-radius;
|
||||
|
||||
.editor.mini {
|
||||
margin-bottom: @component-padding;
|
||||
}
|
||||
|
||||
&.select-list ol.list-group, .select-list ol.list-group {
|
||||
|
||||
background-color: lighten(@overlay-background-color, 3%);
|
||||
|
||||
li {
|
||||
padding: @component-padding;
|
||||
border-bottom: 1px solid @overlay-background-color;
|
||||
|
||||
&.two-lines { padding: @component-padding/2 @component-padding; }
|
||||
|
||||
.status.icon {
|
||||
float: right;
|
||||
margin-left: @component-icon-padding;
|
||||
&:before {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
14
themes/atom-light-ui/package.cson
Normal file
14
themes/atom-light-ui/package.cson
Normal file
@@ -0,0 +1,14 @@
|
||||
'stylesheets': [
|
||||
'atom'
|
||||
'utilities'
|
||||
'text'
|
||||
'git'
|
||||
'sites'
|
||||
'loading'
|
||||
'buttons'
|
||||
'panels'
|
||||
'lists'
|
||||
'editor'
|
||||
'tabs'
|
||||
'overlays'
|
||||
]
|
||||
66
themes/atom-light-ui/panels.less
Normal file
66
themes/atom-light-ui/panels.less
Normal file
@@ -0,0 +1,66 @@
|
||||
@import "ui-mixins";
|
||||
@import "ui-variables";
|
||||
@import "buttons";
|
||||
|
||||
.tool-panel {
|
||||
.text(normal);
|
||||
position: relative;
|
||||
|
||||
opacity: 0.8;
|
||||
background-color: @tool-panel-background-color;
|
||||
|
||||
&:focus {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&.panel-bottom {
|
||||
border-top: 1px solid @tool-panel-border-color;
|
||||
}
|
||||
|
||||
&.panel-left {
|
||||
border-right: 1px solid @tool-panel-border-color;
|
||||
}
|
||||
|
||||
.inset-panel {
|
||||
border-radius: @component-border-radius;
|
||||
|
||||
border: 1px solid @tool-panel-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.inset-panel {
|
||||
position: relative;
|
||||
background-color: @inset-panel-background-color;
|
||||
}
|
||||
|
||||
.is-blurred {
|
||||
.tool-panel, .inset-panel {
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
margin: 0;
|
||||
border-bottom: none;
|
||||
padding: @component-padding - 2px @component-padding;
|
||||
|
||||
font-size: @font-size;
|
||||
line-height: 1;
|
||||
|
||||
background-color: transparent;
|
||||
background-image: -webkit-linear-gradient(@panel-heading-background-color, darken(@panel-heading-background-color, 10%));
|
||||
|
||||
border-radius: @component-border-radius @component-border-radius 0 0;
|
||||
|
||||
.btn {
|
||||
padding: 1px 5px;
|
||||
font-size: 10px;
|
||||
position: relative; top: -1px;
|
||||
|
||||
@bg: lighten(@button-background-color, 10%);
|
||||
@hover: lighten(@button-background-color-hover, 10%);
|
||||
@selected: lighten(@button-background-color-selected, 10%);
|
||||
@text: lighten(@text-color, 10%);
|
||||
.btn-background(@bg, @hover, @selected, @text);
|
||||
}
|
||||
}
|
||||
14
themes/atom-light-ui/sites.less
Normal file
14
themes/atom-light-ui/sites.less
Normal file
@@ -0,0 +1,14 @@
|
||||
@import "ui-mixins";
|
||||
@import "ui-variables";
|
||||
|
||||
.ui-site(@num, @color) {
|
||||
.ui-site-@{num} {
|
||||
background-color: @color;
|
||||
}
|
||||
}
|
||||
|
||||
.ui-site(1, @ui-site-color-1);
|
||||
.ui-site(2, @ui-site-color-2);
|
||||
.ui-site(3, @ui-site-color-3);
|
||||
.ui-site(4, @ui-site-color-4);
|
||||
.ui-site(5, @ui-site-color-5);
|
||||
43
themes/atom-light-ui/tabs.less
Normal file
43
themes/atom-light-ui/tabs.less
Normal file
@@ -0,0 +1,43 @@
|
||||
@import "ui-variables";
|
||||
|
||||
.tab-bar {
|
||||
height: @tab-height + 5px;
|
||||
border-bottom: 4px solid @tab-border-color;
|
||||
box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.2), 0 1px 0 rgba(0, 0, 0, 0.5);
|
||||
margin-bottom: 1px;
|
||||
background-color: darken(@tool-panel-background-color, 5%);
|
||||
}
|
||||
|
||||
.tab {
|
||||
height: @tab-height;
|
||||
line-height: @tab-height;
|
||||
color: @text-color;
|
||||
margin: 0 0 1px 1px;
|
||||
background-image: -webkit-linear-gradient(@tab-background-color, darken(@tab-background-color, 10%));
|
||||
box-shadow:
|
||||
inset 0 2px 0 rgba(255, 255, 255, 0.1),
|
||||
inset 0 1px 0 rgba(0, 0, 0, 1),
|
||||
inset 1px 0 0 @background-color-highlight,
|
||||
inset -1px 0 0 @background-color-highlight;
|
||||
}
|
||||
|
||||
.tab:hover {
|
||||
color: @text-color-highlight;
|
||||
}
|
||||
|
||||
.tab.active {
|
||||
height: @tab-height + 1px;
|
||||
background-image: -webkit-linear-gradient(@tab-background-color-active, @tab-border-color);
|
||||
color: @text-color-highlight;
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
|
||||
z-index: 2;
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(0, 0, 0, 0.5),
|
||||
inset 0 2px 0 rgba(255, 255, 255, 0.1),
|
||||
inset 1px 0 0 rgba(255, 255, 255, 0.1),
|
||||
inset -1px 0 0 rgba(255, 255, 255, 0.1)
|
||||
}
|
||||
|
||||
.tab.active:hover .close-icon {
|
||||
color: @text-color-highlight;
|
||||
}
|
||||
70
themes/atom-light-ui/text.less
Normal file
70
themes/atom-light-ui/text.less
Normal file
@@ -0,0 +1,70 @@
|
||||
@import "ui-mixins";
|
||||
@import "ui-variables";
|
||||
|
||||
h1, h2, h3 {
|
||||
line-height: 1em;
|
||||
margin-bottom: 15px
|
||||
}
|
||||
h1 { font-size: 2em; }
|
||||
h2 { font-size: 1.5em; }
|
||||
h3 { font-size: 1.2em; }
|
||||
|
||||
p {
|
||||
line-height: 1.6;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
pre {
|
||||
box-shadow: none;
|
||||
color: @text-color;
|
||||
background: @inset-panel-background-color;
|
||||
border-radius: @component-border-radius;
|
||||
border: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
code {
|
||||
.text(highlight);
|
||||
background: @background-color-highlight;
|
||||
border-radius: @component-border-radius;
|
||||
}
|
||||
|
||||
.selected { .text(highlight); }
|
||||
|
||||
.text-smaller { font-size: 0.9em; }
|
||||
|
||||
.text-subtle { .text(subtle); }
|
||||
.text-highlight { .text(highlight); }
|
||||
|
||||
.text-info { .text(info); }
|
||||
.text-warning { .text(warning); }
|
||||
.text-success { .text(success); }
|
||||
.text-error { .text(error); }
|
||||
|
||||
.highlight {
|
||||
color: @text-color-highlight;
|
||||
font-weight: bold;
|
||||
text-shadow: none;
|
||||
background-color: @background-color-highlight;
|
||||
border-radius: @component-border-radius;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
|
||||
.highlight-color(@name, @color) {
|
||||
.highlight-@{name} {
|
||||
color: @text-color-highlight;
|
||||
font-weight: bold;
|
||||
text-shadow: none;
|
||||
background-color: @color;
|
||||
border-radius: @component-border-radius;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
}
|
||||
.highlight-color(info, @background-color-info);
|
||||
.highlight-color(warning, @background-color-warning);
|
||||
.highlight-color(error, @background-color-error);
|
||||
.highlight-color(success, @background-color-success);
|
||||
39
themes/atom-light-ui/ui-mixins.less
Normal file
39
themes/atom-light-ui/ui-mixins.less
Normal file
@@ -0,0 +1,39 @@
|
||||
@import "ui-variables";
|
||||
|
||||
// Pattern matching; ish is cray.
|
||||
// http://lesscss.org/#-pattern-matching-and-guard-expressions
|
||||
.text(normal) {
|
||||
font-weight: normal;
|
||||
color: @text-color;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
|
||||
}
|
||||
.text(subtle) {
|
||||
font-weight: normal;
|
||||
color: @text-color-subtle;
|
||||
text-shadow: none;
|
||||
}
|
||||
.text(highlight) {
|
||||
font-weight: normal;
|
||||
color: @text-color-highlight;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
|
||||
}
|
||||
.text(selected) {
|
||||
.text(highlight)
|
||||
}
|
||||
|
||||
.text(info) {
|
||||
color: @text-color-info;
|
||||
text-shadow: none;
|
||||
}
|
||||
.text(success) {
|
||||
color: @text-color-success;
|
||||
text-shadow: none;
|
||||
}
|
||||
.text(warning) {
|
||||
color: @text-color-warning;
|
||||
text-shadow: none;
|
||||
}
|
||||
.text(error) {
|
||||
color: @text-color-error;
|
||||
text-shadow: none;
|
||||
}
|
||||
66
themes/atom-light-ui/ui-variables.less
Normal file
66
themes/atom-light-ui/ui-variables.less
Normal file
@@ -0,0 +1,66 @@
|
||||
// Colors
|
||||
|
||||
@text-color: #444;
|
||||
@text-color-subtle: #999;
|
||||
@text-color-highlight: #111;
|
||||
|
||||
@text-color-info: #5293d8;
|
||||
@text-color-success: #1fe977;
|
||||
@text-color-warning: #f78a46;
|
||||
@text-color-error: #c00;
|
||||
|
||||
@background-color-info: #0098ff;
|
||||
@background-color-success: #17ca65;
|
||||
@background-color-warning: #ff4800;
|
||||
@background-color-error: #c00;
|
||||
@background-color-highlight: rgba(255, 255, 255, 0.4);
|
||||
|
||||
@app-background-color: #ccc;
|
||||
|
||||
@base-background-color: #f4f4f4;
|
||||
@base-border-color: rgba(0, 0, 0, 0.25);
|
||||
|
||||
@input-background-color: #fff;
|
||||
@input-border-color: @base-border-color;
|
||||
|
||||
@tool-panel-background-color: @base-background-color;
|
||||
@tool-panel-border-color: @base-border-color;
|
||||
|
||||
@inset-panel-background-color: #fff;
|
||||
@inset-panel-border-color: @base-border-color;
|
||||
|
||||
@panel-heading-background-color: #c3c3c3;
|
||||
@panel-heading-border-color: transparent;
|
||||
|
||||
@overlay-background-color: #ececec;
|
||||
@overlay-border-color: @base-border-color;
|
||||
|
||||
@button-background-color: #43484d;
|
||||
@button-background-color-hover: lighten(@button-background-color, 5%);
|
||||
@button-background-color-selected: #5c6064;
|
||||
@button-border-color: @base-border-color;
|
||||
|
||||
@tab-background-color: darken(@tab-background-color-active, 10%);
|
||||
@tab-background-color-active: @base-background-color;
|
||||
@tab-border-color: darken(@tab-background-color-active, 15%);
|
||||
|
||||
@ui-site-color-1: @background-color-success; // green
|
||||
@ui-site-color-2: @background-color-info; // blue
|
||||
@ui-site-color-3: @background-color-warning; // orange
|
||||
@ui-site-color-4: #db2ff4; // purple
|
||||
@ui-site-color-5: #f5e11d; // yellow
|
||||
|
||||
|
||||
// Sizes
|
||||
|
||||
@font-size: 12px;
|
||||
|
||||
@disclosure-arrow-size: 12px;
|
||||
|
||||
@component-padding: 10px;
|
||||
@component-icon-padding: 5px;
|
||||
@component-icon-size: 16px;
|
||||
@component-line-height: 25px;
|
||||
@component-border-radius: 2px;
|
||||
|
||||
@tab-height: 30px;
|
||||
19
themes/atom-light-ui/utilities.less
Normal file
19
themes/atom-light-ui/utilities.less
Normal file
@@ -0,0 +1,19 @@
|
||||
@import "ui-mixins";
|
||||
@import "ui-variables";
|
||||
|
||||
.key-binding {
|
||||
background: -webkit-linear-gradient(
|
||||
rgba(100, 100, 100, 0.5),
|
||||
rgba(70,70,70, 0.5));
|
||||
-webkit-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.1);
|
||||
display: inline-block;
|
||||
line-height: 100%;
|
||||
padding: 1px 3px;
|
||||
border-radius: @component-border-radius;
|
||||
margin-left: @component-icon-padding;
|
||||
}
|
||||
|
||||
.badge {
|
||||
.text(highlight);
|
||||
background: @background-color-highlight;
|
||||
}
|
||||
Reference in New Issue
Block a user