lbry.tech/app/sass/pages/_tour.scss
ポール ウェッブ 347c89755b JS styleguide!
2018-08-29 16:57:57 -05:00

429 lines
6.7 KiB
SCSS

/**
* Tour | Wrapper
*
* @class .tour
* @selector {::before}
* @selector {::after}
* @state {.waiting}
*/
.tour {
border-top: 1px solid rgba($black, 0.05);
position: relative;
top: 1rem;
&.waiting::before {
top: 0; right: 0;
bottom: 0; left: 0;
background-color: rgba($white, 0.7);
content: "";
cursor: progress;
position: absolute;
z-index: 5;
}
&::after {
@include clearfix;
}
}
/**
* Tour | Sidebar
*
* @class .tour__sidebar
*
* @class .tour__sidebar__example
* @selector {::before}
* @selector {:last-of-type}
* @state {.active}
* @state {:hover}
*/
.tour__sidebar {
width: 250px; height: 100%;
float: left;
list-style-type: none;
padding-top: 1rem;
padding-right: 1rem;
vertical-align: top;
}
.tour__sidebar__example {
cursor: pointer;
position: relative;
&::before {
width: 1rem; height: 1rem;
top: 0.5rem; left: 0;
border: 1px solid;
border-radius: 50%;
content: attr(data-example);
font-size: 0.8rem;
line-height: 1.1;
position: absolute;
text-align: center;
}
&:not(:last-of-type) {
margin-bottom: 1.5rem;
}
&:not(.active) {
&::before,
button,
span {
color: rgba($black, 0.3);
}
}
&.active,
&:hover {
button {
color: $teal;
}
&::before,
span {
color: $black;
}
}
&::before,
button,
span {
transition: color 0.2s;
}
button {
background-color: transparent;
font-size: 1.25rem;
font-weight: 600;
padding-left: 1.3rem;
}
span {
display: block;
font-size: 1rem;
}
}
/**
* Tour | Content
*
* @class .tour__content
*
* @class .tour__content__meme
* @selector {::after}
*
* @class .tour__content__meme__canvas
*
* @class .tour__content__meme__canvas__thumbnail
* @selector {:last-of-type}
* @state {.selected}
*
* @class .tour__content__meme__editor
*
* @class .tour__content__trends
* @selector {::after}
* @state {:empty}
*
* @class .tour__content__trend
* @class .tour__content__urlbar
*/
.tour__content {
width: calc(100% - 250px); height: 100%; min-height: 500px;
border-left: 1px solid rgba($black, 0.05);
float: right;
padding: 1rem 0 1rem 1rem;
vertical-align: top;
.loader {
@extend .__loading;
&::after {
content: "Processing request";
}
}
}
.tour__content__meme {
overflow-y: auto;
position: relative;
&::after {
@include clearfix;
}
}
.tour__content__meme__canvas {
float: left;
margin-right: 2%;
width: 48%;
canvas {
width: 100%; height: 100%;
background-color: rgba($teal, 0.3);
margin-bottom: 1rem;
}
}
.tour__content__meme__canvas__thumbnail {
width: 5rem; height: 5rem;
border-style: solid;
border-width: 2px;
margin-bottom: 1rem;
object-fit: contain;
object-position: center;
&:not(:last-of-type) {
margin-right: 1rem;
}
&:not(.selected) {
border-color: transparent;
}
&.selected {
border-color: $black;
}
}
.tour__content__meme__editor {
float: right;
width: 48%;
h2.__metadata {
margin-top: 3rem;
}
fieldset {
border: none;
&:not(:last-of-type) {
margin-bottom: 1rem;
}
}
label {
color: rgba($black, 0.3);
display: block;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.05rem;
margin-bottom: 0.025rem;
text-transform: uppercase;
width: 100%;
}
input:not([type="checkbox"]):not([type="submit"]),
select,
textarea {
@media (min-width: 901px) {
font-size: 1.25rem;
}
@media (max-width: 900px) {
font-size: 1.05rem;
}
}
input {
&:not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
border-bottom: 2px solid;
padding-bottom: 0.15rem;
transition: all 0.2s;
width: 100%;
}
&:not([type="file"]):not([type="submit"]) {
&:not(:hover):not(:active) {
border-color: $black;
}
&:hover,
&:active {
border-color: $teal;
}
}
&[type="checkbox"] {
width: 1.25rem; height: 1.25rem;
border: 2px solid;
margin-right: 0.5rem;
position: relative;
top: 0.35rem;
&::after {
width: 100%; height: 100%;
content: "";
font-size: 1.5rem;
line-height: 1rem;
position: absolute;
}
&:not(:checked)::after {
color: transparent;
}
&:checked::after {
color: $teal;
}
}
}
select,
textarea {
border-bottom: 2px solid;
width: 100%;
&:not(:hover):not(:active) {
border-color: $black;
}
&:hover,
&:active {
border-color: $teal;
}
}
select {
background-image: url("/assets/media/svg/down.svg");
background-position: 99% center;
background-repeat: no-repeat;
background-size: 1rem;
padding-right: 2rem;
}
textarea {
min-height: 100px;
resize: vertical;
}
}
.tour__content__trends {
display: grid;
grid-gap: 2%;
grid-template-columns: 32% 32% 32%;
overflow-y: auto;
position: relative;
&:empty {
@extend .__loading;
&::after {
content: "Fetching trending content from LBRY";
}
}
}
.tour__content__trend {
img {
width: 100%; height: 175px;
cursor: pointer;
display: block;
margin-bottom: 0.5rem;
object-fit: cover;
object-position: center;
position: relative;
}
figcaption {
cursor: pointer;
font-size: 1rem;
line-height: 1.33;
span {
color: rgba($black, 0.3);
display: block;
font-size: 0.8rem;
letter-spacing: 0.025rem;
}
}
}
.tour__content__urlbar {
border: 1px solid rgba($black, 0.05);
display: flex;
margin-bottom: 1rem;
button,
input,
span {
float: left;
vertical-align: middle;
}
button,
span {
height: 100%;
line-height: 2rem;
}
button {
color: $white;
font-size: 1rem;
position: relative;
text-transform: lowercase;
transition: background-color 0.2s;
width: 6rem;
&::after {
width: calc(100% + 2px); height: calc(100% + 2px);
top: -1px; left: -1px;
content: "";
position: absolute;
transition: background-color 0.2s;
z-index: -1;
}
&:not(:hover) {
background-color: $black;
&::after {
background-color: $black;
}
}
&:hover {
background-color: $teal;
&::after {
background-color: $teal;
}
}
}
input {
font-size: 1rem;
width: calc(100% - 9.5rem);
&::placeholder {
color: rgba($black, 0.5);
opacity: 1;
}
}
span {
@include no-user-select;
color: rgba($black, 0.5);
cursor: default;
font-size: 1rem;
text-align: right;
width: 3.5rem;
}
}