zulip/static/styles/components.css
Brock Whittaker 624f1bb151 Restyle checkboxes to be less visually abrasive.
This restyles the checkboxes to be more subtle in their rest and
unchecked state so they don't create too much visual noise on the
page.
2017-08-24 14:19:49 -07:00

383 lines
7.1 KiB
CSS

/* Reusable, object-oriented CSS base components for the Zulip redesign */
.flex {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.hide {
display: none;
}
.light {
font-weight: 300;
}
.display-none {
display: none;
}
.inline-block {
display: inline-block;
}
.display-block {
display: block !important;
}
.box-shadow {
box-shadow: 0px 0px 10px hsla(0, 0%, 0%, 0.1);
}
.bg-white {
background-color: #FFF;
}
.clear-float {
clear: both;
}
.invisible {
visibility: hidden;
}
/* -- base button styling -- */
.new-style .button {
padding: 7px 14px;
margin: 0;
min-width: 130px;
font-weight: 400;
text-align: center;
background-color: #fff;
color: inherit;
outline: none;
border: 1px solid hsl(0, 0%, 80%);
border-radius: 2px;
box-shadow: none;
cursor: pointer;
transition: all 0.2s ease;
}
/* -- button style variations -- */
.new-style .button.no-style {
padding: 0px;
background-color: transparent;
border: none;
min-width: 0px;
width: auto;
outline: none;
box-shadow: none !important;
}
.new-style .button.rounded {
border-radius: 4px;
}
.new-style .button.green {
background-color: hsl(150, 31%, 53%);
}
.new-style .button.grey {
background-color: hsl(0, 0%, 66%);
}
.new-style .button.standalone {
margin-top: 10px;
}
.new-style .button.small {
font-size: 0.8rem;
min-width: inherit;
padding: 6px 10px;
}
.new-style .button.small-flex {
width: auto;
min-width: inherit;
}
.new-style .button.sea-green {
color: hsl(156, 39%, 54%);
border-color: hsl(156, 39%, 77%);
}
.new-style .button.btn-warning {
color: hsl(35, 70%, 56%);
border-color: hsl(35, 98%, 84%);
}
.new-style .button.btn-danger {
color: hsl(357, 64%, 72%);
border-color: hsl(4, 56%, 82%);
}
/* -- button states -- */
.new-style .button:hover {
border-color: hsl(0, 0%, 60%);
}
.new-style .button:active {
border-color: hsl(0, 0%, 60%);
color: inherit;
background-color: hsl(0, 0%, 95%);
}
.new-style .button.sea-green:hover {
border-color: hsl(156, 30%, 55%);
}
.new-style .button.sea-green:active {
border-color: hsl(156, 30%, 55%);
color: hsl(156, 44%, 43%);
background-color: hsl(154, 33%, 96%);
}
.new-style .button.btn-danger:hover {
border-color: hsl(2, 46%, 68%);
}
.new-style .button.btn-danger:active {
color: hsl(357, 55%, 63%);
border-color: hsl(2, 46%, 68%);
background-color: hsl(7, 82%, 98%);
}
.new-style .button.btn-warning:hover {
border-color: hsl(35, 55%, 70%);
}
.new-style .button.btn-warning:active {
color: hsl(35, 82%, 40%);
border-color: hsl(35, 55%, 70%);
background-color: hsl(33, 48%, 96%);
}
.new-style .button[disabled="disabled"] {
cursor: not-allowed;
-moz-filter: saturate(0);
filter: saturate(0);
background-color: hsl(0, 0%, 93%);
color: hsl(0, 3%, 52%);
}
.new-style .button[disabled="disabled"]:hover {
background-color: hsl(0, 0%, 93%);
color: hsl(156, 39%, 54%);
border-color: hsl(156, 39%, 77%);
}
/* -- tab switcher -- */
.new-style .tab-switcher {
font-weight: initial;
margin: 2px 4px;
display: inline-block;
}
.new-style .tab-switcher .ind-tab {
display: inline-block;
width: 90px;
margin: 0px -0.5px;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
vertical-align: bottom; /* See http://stackoverflow.com/a/43266155/ */
padding: 3px 10px;
background-color: #fff;
cursor: pointer;
justify-content: center;
align-items: center;
}
.informational-overlays .tab-switcher {
display: flex;
}
.informational-overlays .tab-switcher .ind-tab {
display: flex;
text-overflow: initial;
white-space: initial;
vertical-align: middle;
}
.new-style .tab-switcher.large .ind-tab {
width: 130px;
}
.new-style .tab-switcher .ind-tab:not(.selected) {
border: 1px solid hsl(0, 0%, 80%);
}
.new-style .tab-switcher .ind-tab.first {
border-radius: 5px 0px 0px 5px;
border-right: 1px solid transparent;
}
.new-style .tab-switcher .ind-tab.middle {
border-right: 1px solid transparent;
}
.new-style .tab-switcher .ind-tab.last {
border-radius: 0px 5px 5px 0px;
}
.new-style .tab-switcher .ind-tab.selected {
position: relative;
background: hsl(0, 0%, 53%);
color: #fff;
border: 1px solid hsl(0, 0%, 46%);
z-index: 2;
}
.new-style .tab-switcher .ind-tab.disabled {
pointer-events: none;
color: hsl(0, 0%, 80%);
border-color: hsl(0, 0%, 86%);
}
.new-style label.checkbox {
padding: 0px;
display: inline-block;
vertical-align: top;
}
.new-style label.checkbox input[type=checkbox] {
display: none;
}
.new-style label.checkbox input[type=checkbox] ~ span {
display: inline-block;
vertical-align: middle;
position: relative;
top: -2px;
padding: 2px;
margin: 0px 5px 0px 0px;
height: 10px;
width: 10px;
font-weight: 300;
line-height: 0.8;
font-size: 1.3rem;
text-align: center;
border: 1px solid hsl(0, 0%, 75%);
color: hsl(0, 0%, 80%);
border-radius: 4px;
-webkit-filter: grayscale(1);
cursor: pointer;
}
.new-style label.checkbox input[type=checkbox]:checked ~ span {
color: transparent;
background-image: url(/static/images/checkbox-green.png);
background-size: 85%;
background-position: 50% 50%;
background-repeat: no-repeat;
}
.new-style label.checkbox input[type=checkbox]:disabled ~ span {
opacity: 0.3;
}
.new-style input[type=text] {
border-radius: 5px;
box-shadow: none;
}
.new-style a.no-style {
color: inherit;
}
a.no-underline {
text-decoration: none;
}
/* -- unified overlay design component -- */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
background-color: hsla(0, 0%, 13%, 0.8);
z-index: 105;
pointer-events: none;
opacity: 0;
transition: opacity 0.3s ease;
overflow: hidden;
}
.overlay.show {
opacity: 1;
pointer-events: all;
}
.overlay .overlay-content {
-webkit-transform: scale(0.5);
transform: scale(0.5);
z-index: 102;
transition: transform 0.3s ease;
}
.overlay.show .overlay-content {
-webkit-transform: scale(1);
transform: scale(1);
}
.input-append {
font-size: 90%;
letter-spacing: -.3em;
}
.input-append input[type=text] {
border-radius: 5px;
box-shadow: none;
}
.clear_search_button:hover {
color: hsl(0, 0%, 0%);
}
.clear_search_button[disabled] {
visibility: hidden;
}
.clear_search_button,
.clear_search_button:focus,
.clear_search_button:active,
.clear_search_button[disabled]:hover {
position: relative;
right: 20px;
background: none;
border: none;
text-align: center;
padding-top: 8px;
padding-left: 4px;
color: hsl(0, 0%, 80%);
text-shadow: none;
outline: none !important;
box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
z-index: 5;
}