docbrown/app/assets/stylesheets/views/article-form.scss
ludwiczakpawel 1be3602724
Ghost textarea fixes (#12717)
* comment textarea padding

* font family fix

* one more
2021-02-17 18:33:08 +01:00

312 lines
5.9 KiB
SCSS

@import '../config/import';
%layout {
max-width: 1280px;
width: 100%;
margin: 0 auto;
}
@mixin animationSlide($name) {
animation-name: $name;
@keyframes #{$name} {
from {
opacity: 0;
top: calc(var(--su-4) * -1);
}
to {
opacity: 1;
top: 0;
}
}
}
.crayons-article-form {
--article-form-actions-height: 56px;
max-width: var(--site-width);
display: grid;
padding: 0 var(--layout-padding);
height: 100vh;
gap: 0 var(--layout-gap);
margin: 0 auto;
font-size: var(--fs-base);
grid-template-columns: 100%;
grid-template-rows: min-content 1fr min-content;
&__logo,
&__aside {
display: none;
@media (min-width: $breakpoint-m) {
display: block;
}
}
@media (min-width: $breakpoint-s) {
--article-form-actions-height: 72px;
}
@media (min-width: $breakpoint-m) {
grid-template-columns: 64px 7fr 3fr;
}
@media (min-width: $breakpoint-l) {
--article-form-actions-height: 88px;
}
&__header {
display: flex;
align-items: center;
height: var(--header-height);
padding: 0 var(--su-2);
@media (min-width: $breakpoint-m) {
grid-column-end: span 2;
padding: 0;
}
@media (min-width: $breakpoint-l) {
grid-column-start: 1;
grid-column-end: 3;
}
}
&__content {
overflow: auto;
height: calc(
100vh - var(--header-height) - var(--article-form-actions-height)
);
box-shadow: 0 0 0 1px var(--card-border);
display: flex;
flex-direction: column;
@media (min-width: $breakpoint-m) {
grid-column-end: span 2;
}
@media (min-width: $breakpoint-l) {
grid-column-start: 2;
grid-column-end: 2;
}
}
&__aside {
display: none;
@media (min-width: $breakpoint-m) {
display: block;
}
}
&__footer {
height: var(--article-form-actions-height);
display: flex;
align-items: center;
padding: 0 var(--su-2);
@media (min-width: $breakpoint-m) {
padding: 0;
}
@media (min-width: $breakpoint-l) {
grid-column-start: 2;
grid-column-end: span 2;
}
}
}
.crayons-article-form {
&__logo {
margin-right: var(--su-1);
@media (min-width: $breakpoint-s) {
margin-right: var(--layout-gap);
}
.logo {
width: 50px;
height: 40px;
padding: 0 7px 0 9px; // TODO: we have to fix SVG for logo a little...
background: var(--logo-bg);
fill: var(--logo-color);
border-radius: var(--radius);
display: block;
}
}
&__close {
margin-left: var(--su-1);
@media (min-width: $breakpoint-l) {
position: absolute;
right: var(--su-2);
top: var(--su-2);
margin-left: 0;
}
}
&__top {
border-radius: var(--radius) var(--radius) 0 0;
}
&__body {
flex: 1 0 auto;
position: relative;
outline: none;
display: flex;
flex-direction: column;
border-radius: 0 0 var(--radius) var(--radius);
&__field {
flex: 1 auto;
overflow: hidden;
}
}
&__toolbar {
position: -webkit-sticky;
position: sticky;
top: 0;
background: var(--base-0);
padding: var(--su-2) var(--content-padding-x);
margin: calc(var(--content-padding-y) * -1)
calc(var(--content-padding-x) * -1) var(--su-6)
calc(var(--content-padding-x) * -1);
> :first-child {
margin-left: calc(var(--su-2) * -1);
}
}
&__cover {
margin-bottom: var(--su-4);
display: flex;
align-items: flex-start;
flex-direction: column;
@media (min-width: $breakpoint-s) {
flex-direction: row;
align-items: center;
margin-bottom: var(--su-5);
}
&__image {
width: 250px;
height: 105px;
border-radius: var(--radius);
object-fit: cover;
margin-bottom: var(--su-2);
@media (min-width: $breakpoint-s) {
margin-bottom: 0;
margin-right: var(--su-4);
}
}
}
&__title {
margin-bottom: var(--su-2);
position: relative;
}
&__tagsfield {
position: relative;
}
&__help {
position: relative;
animation-duration: 0.25s;
animation-iteration-count: 1;
animation-timing-function: var(--transition-func);
&--title {
@include animationSlide(slideInTitle);
}
&--tags {
@include animationSlide(slideInTags);
}
&--body {
@include animationSlide(slideInBody);
}
}
}
.crayons-article-form {
&__tagsoptions {
@include generate-box(
$level: 2,
$bg: var(--card-bg),
$border: var(--card-color),
$color: var(--card-color)
);
position: absolute;
left: 0;
right: 0;
top: calc(100% + var(--su-4));
z-index: var(--z-dropdown);
padding: var(--su-1);
@media (min-width: $breakpoint-s) {
left: calc(var(--su-2) * -1);
right: calc(var(--su-2) * -1);
}
@media (min-width: $breakpoint-m) {
left: calc(var(--su-4) * -1);
right: calc(var(--su-4) * -1);
}
}
&__tagname {
color: var(--base-90);
font-weight: var(--fw-medium);
}
&__tagoptionrow {
cursor: pointer;
color: var(--link-color);
padding: var(--su-3);
&:hover {
background: var(--link-bg-hover);
.crayons-tag {
color: var(--link-color-hover);
}
}
&--active {
background: var(--link-bg-hover);
.crayons-article-form__tagname {
color: var(--link-color-hover);
}
}
}
&__tagsoptionrulesbutton {
display: none;
}
&__tagrules,
&__tagrules--inactive {
font-size: var(--fs-s);
color: var(--base-70);
}
&__tagsoptionsbottomrow {
display: none;
}
}
// Styling for drag'n'drop functionality...
.drop-area {
&--active {
background: var(--accent-brand-a10);
box-shadow: inset 0 0 0 1px var(--accent-brand);
// ideally this one shouldn't be there, but I'm not sure how else we could handle that right now...
.crayons-article-form__toolbar {
opacity: 0;
}
}
}