mastodon/app/assets/stylesheets/components.scss

684 lines
11 KiB
SCSS

.button {
background-color: #2b90d9;
font-family: inherit;
display: inline-block;
position: relative;
box-sizing: border-box;
text-align: center;
border: 10px none;
color: #fff;
font-size: 14px;
font-weight: 500;
letter-spacing: 0;
text-transform: uppercase;
padding: 0 16px;
height: 36px;
cursor: pointer;
line-height: 36px;
border-radius: 4px;
text-decoration: none;
&:hover {
background-color: #489fde;
}
&:disabled {
background-color: #9baec8;
cursor: default;
}
&.button-secondary {
background-color: #282c37;
&:hover {
background-color: #282c37;
}
&:disabled {
background-color: #9baec8;
}
}
}
.icon-button {
color: #616b86;
border: none;
background: transparent;
cursor: pointer;
&:hover {
color: #717b98;
}
&.disabled {
color: #454b5e;
cursor: default;
}
&.active {
color: #2b90d9;
}
}
.lightbox .icon-button {
color: #282c37;
}
.compose-form__textarea, .follow-form__input {
background: #fff;
&:disabled {
background: #d9e1e8;
}
}
.emojione {
display: inline-block;
font-size: inherit;
vertical-align: middle;
margin: -.2ex .15em .2ex;
width: 16px;
height: 16px;
img {
width: auto;
}
}
.status__content, .reply-indicator__content {
font-size: 15px;
line-height: 20px;
word-wrap: break-word;
font-weight: 300;
overflow: hidden;
white-space: pre-wrap;
.emojione {
width: 18px;
height: 18px;
}
p {
margin-bottom: 20px;
&:last-child {
margin-bottom: 0;
}
}
a {
color: #d9e1e8;
text-decoration: none;
&:hover {
text-decoration: underline;
}
&.mention {
&:hover {
text-decoration: none;
span {
text-decoration: underline;
}
}
}
}
}
.detailed-status {
.status__content {
font-size: 19px;
line-height: 24px;
.emojione {
width: 22px;
height: 22px;
}
}
}
.reply-indicator__content {
color: #282c37;
font-size: 14px;
a {
color: #535b72;
}
}
@media screen and (max-height: 480px) {
.account__header__avatar, .account__header .account__header__content {
display: none;
}
}
.account__header__content {
word-wrap: break-word;
font-weight: 300;
overflow: hidden;
p {
margin-bottom: 20px;
&:last-child {
margin-bottom: 0;
}
}
a {
color: inherit;
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
.account__header__display-name {
.emojione {
width: 25px;
height: 25px;
}
}
.status__display-name, .status__relative-time, .detailed-status__display-name, .detailed-status__datetime, .detailed-status__application, .account__display-name {
text-decoration: none;
}
.status__display-name, .account__display-name {
strong {
color: #fff;
}
&.muted {
.emojione {
opacity: 0.5;
}
}
}
.status__display-name, .reply-indicator__display-name, .detailed-status__display-name, .account__display-name {
&:hover {
strong {
text-decoration: underline;
}
}
}
.account__display-name {
strong {
display: block;
}
}
.detailed-status__display-name {
color: #d9e1e8;
line-height: 24px;
strong, span {
display: block;
}
strong {
font-size: 16px;
color: #fff;
}
}
.muted {
.status__content p, .status__content a {
color: #616b86;
}
.status__display-name strong {
color: #616b86;
}
.status__avatar {
opacity: 0.5;
}
}
.notification__display-name {
color: inherit;
text-decoration: none;
&:hover {
color: #fff;
text-decoration: underline;
}
}
.status__relative-time, .detailed-status__datetime {
&:hover {
text-decoration: underline;
}
}
.transparent-background {
background: image-url('void.png');
}
.dropdown {
display: inline-block;
}
.dropdown__content {
display: none;
position: absolute;
}
.dropdown--active .dropdown__content {
display: block;
z-index: 9999;
&:before {
content: "";
display: block;
position: absolute;
width: 0;
height: 0;
border-style: solid;
border-width: 0 4.5px 7.8px 4.5px;
border-color: transparent transparent #d9e1e8 transparent;
top: -7px;
left: 8px;
}
ul {
list-style: none;
background: #d9e1e8;
padding: 4px 0;
border-radius: 4px;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
min-width: 100px;
}
a {
font-size: 13px;
display: block;
padding: 6px 16px;
width: 100px;
text-decoration: none;
background: #d9e1e8;
color: #282c37;
&:hover {
background: #2b90d9;
color: #d9e1e8;
}
}
}
.static-content {
padding: 10px;
padding-top: 20px;
color: #616b86;
h1 {
font-size: 16px;
font-weight: 500;
margin-bottom: 40px;
text-align: center;
}
p {
font-size: 13px;
margin-bottom: 20px;
}
}
.columns-area {
flex-direction: row;
}
@media screen and (min-width: 360px) {
.columns-area {
margin: 10px;
}
}
.column {
width: 330px;
position: relative;
}
.drawer {
width: 280px;
}
.drawer__inner {
background: linear-gradient(rgba(69, 75, 94, 1), rgba(69, 75, 94, 0.65));
}
.drawer__header {
flex: 0 0 auto;
font-size: 16px;
background: darken(#454b5e, 5%);
margin-bottom: 10px;
display: flex;
flex-direction: row;
a {
transition: all 100ms ease-in;
&:hover {
background: darken(#454b5e, 10%);
transition: all 200ms ease-out;
}
}
}
.column, .drawer {
margin-left: 5px;
margin-right: 5px;
flex: 0 0 auto;
overflow: hidden;
}
.column:first-child, .drawer:first-child {
margin-left: 0;
}
.column:last-child, .drawer:last-child {
margin-right: 0;
}
@media screen and (max-width: 1024px) {
.column, .drawer {
width: 100%;
margin: 0;
flex: 1 1 100%;
}
.columns-area {
flex-direction: column;
}
}
.tabs-bar {
display: flex;
}
@media screen and (min-width: 360px) {
.tabs-bar {
margin: 10px;
margin-bottom: 0;
}
}
@media screen and (min-width: 1025px) {
.tabs-bar {
display: none;
}
}
.react-autosuggest__container {
position: relative;
}
.react-autosuggest__suggestions-container {
position: absolute;
top: 100%;
width: 100%;
z-index: 99;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
}
.react-autosuggest__section-title {
background: #9baec8;
padding: 4px 10px;
font-weight: 500;
cursor: default;
color: #282c37;
text-transform: uppercase;
font-size: 11px;
}
.react-autosuggest__suggestions-list {
background: #d9e1e8;
color: #282c37;
font-size: 14px;
}
.react-autosuggest__suggestion {
padding: 10px;
cursor: pointer;
}
.react-autosuggest__suggestion--focused {
background: #2b90d9;
color: #fff;
}
.scrollable {
overflow-y: scroll;
overflow-x: hidden;
flex: 1 1 auto;
-webkit-overflow-scrolling: touch;
&.optionally-scrollable {
overflow-y: auto;
}
}
.column-back-button {
&:hover {
text-decoration: underline;
}
}
.react-toggle {
display: inline-block;
position: relative;
cursor: pointer;
background-color: transparent;
border: 0;
padding: 0;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
}
.react-toggle-screenreader-only {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.react-toggle--disabled {
cursor: not-allowed;
opacity: 0.5;
transition: opacity 0.25s;
}
.react-toggle-track {
width: 50px;
height: 24px;
padding: 0;
border-radius: 30px;
background-color: #282c37;
transition: all 0.2s ease;
}
.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
background-color: darken(#282c37, 10%);
}
.react-toggle--checked .react-toggle-track {
background-color: #2b90d9;
}
.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
background-color: lighten(#2b90d9, 10%);
}
.react-toggle-track-check {
position: absolute;
width: 14px;
height: 10px;
top: 0px;
bottom: 0px;
margin-top: auto;
margin-bottom: auto;
line-height: 0;
left: 8px;
opacity: 0;
transition: opacity 0.25s ease;
}
.react-toggle--checked .react-toggle-track-check {
opacity: 1;
transition: opacity 0.25s ease;
}
.react-toggle-track-x {
position: absolute;
width: 10px;
height: 10px;
top: 0px;
bottom: 0px;
margin-top: auto;
margin-bottom: auto;
line-height: 0;
right: 10px;
opacity: 1;
transition: opacity 0.25s ease;
}
.react-toggle--checked .react-toggle-track-x {
opacity: 0;
}
.react-toggle-thumb {
transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
position: absolute;
top: 1px;
left: 1px;
width: 22px;
height: 22px;
border: 1px solid #282c37;
border-radius: 50%;
background-color: #FAFAFA;
box-sizing: border-box;
transition: all 0.25s ease;
}
.react-toggle--checked .react-toggle-thumb {
left: 27px;
border-color: #2b90d9;
}
.column-link {
background: #373b4a;
&:hover {
background: lighten(#373b4a, 5%);
}
}
.autosuggest-textarea {
position: relative;
}
.autosuggest-textarea__textarea {
display: block;
box-sizing: border-box;
width: 100%;
height: 100px;
resize: none;
color: #282c37;
padding: 7px;
font-family: inherit;
font-size: 14px;
margin: 0;
resize: vertical;
border: 3px dashed transparent;
transition: border-color 0.3s ease;
&.file-drop {
border-color: #aaa;
}
}
.autosuggest-textarea__suggestions {
position: absolute;
top: 100%;
width: 100%;
z-index: 99;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
background: #d9e1e8;
color: #282c37;
font-size: 14px;
}
.autosuggest-textarea__suggestions__item {
padding: 10px;
cursor: pointer;
&:hover {
background: darken(#d9e1e8, 10%);
}
&.selected {
background: #2b90d9;
color: #fff;
}
}
.getting-started {
box-sizing: border-box;
overflow-y: auto;
padding-bottom: 235px;
background: image-url('mastodon-getting-started.png') no-repeat 0 100% local;
height: 100%;
}
.dropdown__content.dropdown__left {
transform: translateX(-108px);
&::before {
right: 8px !important;
left: initial !important;
}
}
.setting-text {
color: #9baec8;
background: transparent;
border: none;
border-bottom: 2px solid #9baec8;
&:focus, &:active {
color: #fff;
border-bottom-color: #2b90d9;
}
}
// Commented out until sprite matches non-sprite icon visually
// button i.fa-retweet {
// height: 19px;
// width: 24px;
// background: image-url('boost_sprite.png') no-repeat;
// background-position: 0 0;
// transition: background-position 0.9s steps(11);
// transition-duration: 0s;
// &::before {
// display: none !important;
// }
// }
// button.active i.fa-retweet {
// transition-duration: 0.9s;
// background-position: 0 -209px;
// }