/*! * Playground | Wrapper * * @class .playground * @selector {::before} * @selector {::after} * @state {.waiting} **/ .playground { top: 1rem; border-top: 1px solid rgba($black, 0.05); position: relative; &.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; } } /*! * Playground | Navigation * * @class .playground__navigation * * @class .playground__navigation__example * @selector {::before} * @selector {:last-of-type} * @state {.active} * @state {:hover} **/ .playground__navigation { width: 100%; list-style-type: none; padding-top: 1.5rem; padding-bottom: 1rem; &::after { @include clearfix; } } .playground__navigation__example { width: 33.333333%; cursor: pointer; float: left; position: relative; text-align: center; &::before { width: 100%; height: 2.5rem; top: -0.6rem; left: 0; content: "example " attr(data-example); font-size: 0.6rem; font-style: italic; line-height: 1.1; position: absolute; text-align: center; text-transform: uppercase; } &:not(.active) { &::before, button, span { color: rgba($black, 0.3); } } &.active, &:hover { button { color: $teal; } &::before, span { color: $black; } } &.completed { &::after { width: 100%; height: 100%; top: 0; left: 0; background-color: rgba($white, 0.7); content: "✓"; font-size: 3rem; line-height: 0.85; position: absolute; z-index: 10; } } &::before, button, span { transition: color 0.2s; } button { background-color: transparent; font-size: 1.25rem; font-weight: 600; } span { display: block; font-size: 1rem; } } /*! * Playground | Content * * @class .playground__content * * @class .playground__content__meme * @selector {::after} * * @class .playground__content__meme__canvas * * @class .playground__content__meme__canvas__thumbnail * @selector {:last-of-type} * @state {.selected} * * @class .playground__content__meme__editor * * @class .playground__content__trends * @selector {::after} * @state {:empty} * * @class .playground__content__trend * @class .playground__content__urlbar **/ .playground__content { border-top: 1px solid rgba($black, 0.05); overflow-y: visible; padding-top: 1rem; padding-bottom: 1rem; .loader { @extend .__loading; &::after { content: "Processing request"; } } h3 { font-size: 1.5rem; margin-bottom: 1rem; } pre { font-size: 1rem; } } .playground__content__meme { overflow-y: auto; position: relative; &::after { @include clearfix; } } .playground__content__meme__canvas { width: 48%; float: left; margin-right: 2%; position: relative; canvas { width: 100%; height: 100%; background-color: rgba($teal, 0.3); margin-bottom: 1rem; } } .playground__content__meme__canvas__thumbnail { // sass-lint:disable-line bem-depth // TODO: FIX THIS width: 5rem; height: 5rem; border-style: solid; border-width: 2px; cursor: pointer; 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; } } .playground__content__meme__editor { width: 50%; float: right; h2 { margin-bottom: 1rem; &.__metadata { padding-top: 3rem; } } fieldset { border: none; &:not(:last-of-type) { margin-bottom: 1rem; } } label { width: 100%; 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; } 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"]) { width: 100%; border-bottom: 2px solid; padding-bottom: 0.15rem; transition: all 0.2s; } &: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; top: 0.35rem; border: 2px solid; margin-right: 0.5rem; position: relative; &::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 { width: 100%; border-bottom: 2px solid; &: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; } } .playground__content__trends { min-width: 0; min-height: 0; display: grid; grid-gap: 1rem; grid-template: repeat(1, 1fr) / repeat(3, 1fr); position: relative; &:empty { @extend .__loading; &::after { content: "Fetching content from LBRY"; } } } .playground__content__trend { img { width: 100%; height: 213px; 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; } } } .playground__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%; } button { width: 6rem; text-transform: lowercase; } input { width: calc(100% - 9.5rem); font-size: 1rem; &::placeholder { color: rgba($black, 0.5); opacity: 1; } } span { @include no-user-select; width: 3.5rem; color: rgba($black, 0.5); cursor: default; font-size: 1rem; line-height: 2rem; text-align: right; } } /*! * Playground | Description * * @class .playground__description **/ .playground__description { padding: 1rem; cursor: default; font-size: 1rem; line-height: 1.33; &:not(.success) { background-color: rgba($black, 0.05); text-align: center; } &.success { background-color: rgba($teal, 0.05); strong { display: block; text-transform: uppercase; } } a { font-weight: 700; } }