61513ac366
closes https://github.com/TryGhost/Ghost/issues/9635 - CodeMirror expects default CSS box-sizing rather than `border-box` so it's scroll calculations were thrown off - reset the `box-sizing` properties on CM elements - remove now unnecessary `.CodeMirror-scroll` patches that we'd put in place to cover broken scroll behaviour - move all non-layout-specific CM styles into a `components/codemirror.css` file
247 lines
5.0 KiB
CSS
247 lines
5.0 KiB
CSS
/* Settings Menu
|
|
/* ---------------------------------------------------------- */
|
|
|
|
|
|
/* Container
|
|
/* ---------------------------------------------------------- */
|
|
|
|
.settings-menu-container {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 500;
|
|
width: 350px;
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
background: color-mod(var(--lightgrey) l(+4%));
|
|
transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
|
|
transform: translate3d(350px, 0px, 0px);
|
|
}
|
|
|
|
.settings-menu-expanded .settings-menu-container {
|
|
transform: translate3d(0, 0px, 0px);
|
|
}
|
|
|
|
.settings-menu-container .settings-menu-pane {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
overflow: auto;
|
|
opacity: 1;
|
|
transform: translate3d(0, 0px, 0px);
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
@media (min-width: 901px) {
|
|
.settings-menu-container .settings-menu-pane {
|
|
transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
|
|
}
|
|
}
|
|
|
|
.settings-menu-container .settings-menu-pane.settings-menu-pane-out-left {
|
|
transform: translate3d(-100%, 0px, 0px);
|
|
}
|
|
|
|
.settings-menu-container .settings-menu-pane.settings-menu-pane-out-right {
|
|
transform: translate3d(100%, 0px, 0px);
|
|
}
|
|
|
|
.settings-menu-container .settings-menu-pane.settings-menu-pane-in {
|
|
transform: translate3d(0, 0px, 0px);
|
|
}
|
|
|
|
|
|
/* Header
|
|
/* ---------------------------------------------------------- */
|
|
|
|
.settings-menu-header {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 15px 24px;
|
|
}
|
|
|
|
.settings-menu-header h4 {
|
|
margin: 0;
|
|
font-size: 1.6rem;
|
|
line-height: 1.375;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.settings-menu-header .close {
|
|
margin-right: -15px;
|
|
padding: 10px 15px;
|
|
font-size: 12px;
|
|
line-height: 12px;
|
|
}
|
|
|
|
.settings-menu-header .close svg {
|
|
width: 12px;
|
|
height: 12px;
|
|
fill: var(--darkgrey);
|
|
}
|
|
|
|
.settings-menu-header.subview h4 {
|
|
text-align: center;
|
|
}
|
|
|
|
.settings-menu-header.subview .back {
|
|
margin-left: -15px;
|
|
padding: 10px 15px;
|
|
line-height: 14px;
|
|
}
|
|
|
|
.settings-menu-header.subview .back svg {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
|
|
.settings-menu-header.subview .back svg path {
|
|
fill: var(--darkgrey);
|
|
}
|
|
|
|
/* Content
|
|
/* ---------------------------------------------------------- */
|
|
|
|
.settings-menu-content {
|
|
padding: 0 24px 24px;
|
|
}
|
|
|
|
.settings-menu-content label code {
|
|
font-weight: normal;
|
|
}
|
|
|
|
.settings-menu-content .gh-image-uploader {
|
|
margin: 0 0 1.6rem 0;
|
|
}
|
|
|
|
.settings-menu-content .gh-image-uploader .description {
|
|
font-size: 1.4rem;
|
|
}
|
|
|
|
.settings-menu-content .gh-image-uploader form {
|
|
padding: 35px 45px;
|
|
}
|
|
|
|
.settings-menu-content .gh-image-uploader.-with-image {
|
|
width: auto;
|
|
min-height: 50px;
|
|
max-height: 250px;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.settings-menu-content textarea {
|
|
height: 108px;
|
|
}
|
|
|
|
.settings-menu-content textarea.gh-input {
|
|
font-size: 1.5rem;
|
|
line-height: 1.3em;
|
|
}
|
|
|
|
.settings-menu-content .gh-cm-editor-textarea {
|
|
min-height: 170px;
|
|
}
|
|
|
|
.settings-menu-content .nav-list {
|
|
margin-top: 3rem;
|
|
}
|
|
|
|
.settings-menu-content .word-count {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.ghost-url-preview {
|
|
width: 98%;
|
|
/* Preview never wider than input */
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.settings-menu-delete-button {
|
|
padding-left: 0;
|
|
color: var(--red);
|
|
font-size: 1rem;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.settings-menu-delete-button span {
|
|
padding: 0;
|
|
font-size: inherit;
|
|
}
|
|
|
|
.settings-menu-delete-button svg {
|
|
margin-bottom: 1px;
|
|
}
|
|
|
|
.settings-menu-delete-button svg path {
|
|
stroke: var(--red);
|
|
fill: var(--red);
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
.settings-menu-delete-button:hover,
|
|
.settings-menu-delete-button:hover svg path {
|
|
stroke: color-mod(var(--red) lightness(-10%));
|
|
fill: color-mod(var(--red) lightness(-10%));
|
|
color: color-mod(var(--red) lightness(-10%));
|
|
}
|
|
|
|
.post-setting-custom-excerpt {
|
|
font-size: 1.5rem;
|
|
line-height: 1.35em;
|
|
}
|
|
|
|
.settings-menu-content .CodeMirror {
|
|
height: 170px;
|
|
min-height: 170px;
|
|
padding: 0;
|
|
}
|
|
|
|
.settings-menu-content .CodeMirror:hover {
|
|
cursor: text;
|
|
}
|
|
|
|
.settings-menu-content .CodeMirror-scroll {
|
|
min-height: 170px;
|
|
}
|
|
|
|
.settings-menu-content .for-radio .input-toggle-component,
|
|
.settings-menu-content .for-checkbox .input-toggle-component {
|
|
background: #fff;
|
|
}
|
|
|
|
|
|
/* Background
|
|
/* ---------------------------------------------------------- */
|
|
|
|
.settings-menu-expanded .content-cover,
|
|
.mobile-menu-expanded .content-cover {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: 900;
|
|
transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
|
|
/* Not off the screen, to give a parallax effect */
|
|
}
|
|
.settings-menu-expanded .content-cover {
|
|
transform: translate3d(-350px, 0px, 0px);
|
|
}
|
|
.mobile-menu-expanded .content-cover {
|
|
transform: translate3d(205px, 0px, 0px);
|
|
}
|
|
|
|
|
|
/* Badges
|
|
/* ---------------------------------------------------------- */
|
|
.gh-setting-title .gh-badge {
|
|
font-size: 13px;
|
|
}
|