zulip/static/styles/components.css
Rafid Aslam 5f7e23e8ef frontend: Add perfectScrollbars to Settings/Organization overlay.
Use perfectScrollbar on settings sidebar, since the default scrollbar
makes settings menu break when not enough vertical space available.

Add perfectScrollbar to main settings section, and reset the scrollbar
position when switching between tabs.

Also delete the z-index on `.settings-list` since it makes the
perfectScrollbar covered.

Fixes #5216.
2017-08-16 08:23:30 -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: 1px;
margin: 0px 5px 0px 0px;
height: 12px;
width: 12px;
font-weight: 300;
line-height: 0.8;
font-size: 1.3rem;
text-align: center;
border: 2px solid hsl(0, 0%, 80%);
color: hsl(0, 0%, 80%);
border-radius: 4px;
-webkit-filter: grayscale(1) brightness(0.7);
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;
}