p5.js-web-editor/client/styles/components/_editor.scss

399 lines
8.2 KiB
SCSS

.CodeMirror {
font-family: Inconsolata, monospace;
height: 100%;
font-size:$base-font-size !important;
}
.CodeMirror-linenumbers {
padding-right: #{10 / $base-font-size}rem;
}
.CodeMirror-linenumber {
width: #{32 / $base-font-size}rem;
left: #{-3 / $base-font-size}rem !important;
@include themify() {
color: getThemifyVariable('inactive-text-color');
}
}
.CodeMirror-lines {
padding-top: #{25 / $base-font-size}rem;
}
pre.CodeMirror-line {
padding-left: #{5 / $base-font-size}rem;
}
.CodeMirror-gutter-wrapper {
right: 100%;
top: 0;
bottom: 0;
}
.CodeMirror-lint-marker-warning, .CodeMirror-lint-marker-error, .CodeMirror-lint-marker-multiple {
background-image: none;
width: #{49 / $base-font-size}rem;
position: absolute;
height: 100%;
right: 100%;
}
.CodeMirror-lint-message-error, .CodeMirror-lint-message-warning {
background-image: none;
padding-left: inherit;
}
.CodeMirror-lint-marker-warning {
background-color: rgb(255, 190, 5);
}
.CodeMirror-lint-marker-error {
background-color: rgb(255, 95, 82);
}
.CodeMirror-gutter-elt:not(.CodeMirror-linenumber) {
opacity: 0.2;
width: #{49 / $base-font-size}rem !important;
height: 100%;
left: 49px !important;
// background-color: rgb(255, 95, 82);
}
.CodeMirror-lint-tooltip {
@include themify() {
background-color: getThemifyVariable('modal-background-color');
border: 1px solid getThemifyVariable('modal-border-color');
box-shadow: 0 12px 12px getThemifyVariable('shadow-color');
color: getThemifyVariable('primary-text-color');
}
border-radius: 2px;
font-family: Montserrat, sans-serif;
}
.CodeMirror-gutters {
@include themify() {
background-color: getThemifyVariable('editor-gutter-color');
border-color: getThemifyVariable('ide-border-color');
}
// left: 0 !important;
width: #{48 / $base-font-size}rem;
}
/*
Search dialog
*/
.CodeMirror-dialog {
position: fixed;
top: 0;
left: 50%;
margin-left: - #{365/2/$base-font-size}rem;
z-index: 10;
width: 100%;
max-width: #{365 / $base-font-size}rem;
font-family: Montserrat, sans-serif;
padding: #{14 / $base-font-size}rem #{20 / $base-font-size}rem #{14 / $base-font-size}rem #{18 / $base-font-size}rem;
border-radius: 2px;
@include themify() {
background-color: getThemifyVariable('modal-background-color');
box-shadow: 0 12px 12px 0 getThemifyVariable('shadow-color');
border: solid 0.5px getThemifyVariable('modal-border-color');
}
}
.CodeMirror-search-title {
display: block;
margin-bottom: #{12 / $base-font-size}rem;
font-size: #{21 / $base-font-size}rem;
font-weight: bold;
}
.CodeMirror-search-field {
display: block;
width: 100%;
margin-bottom: #{12 / $base-font-size}rem;
@include themify() {
color: getThemifyVariable('input-text-color');
background-color: getThemifyVariable('input-secondary-background-color');
border: solid 0.5px getThemifyVariable('button-border-color');
}
}
.CodeMirror-search-count {
display: block;
height: #{20 / $base-font-size}rem;
text-align: right;
}
.CodeMirror-search-actions {
display: flex;
justify-content: space-between;
}
/*
*/
.CodeMirror-search-modifiers {
display: flex;
justify-content: flex-end;
align-items: center;
}
.CodeMirror-regexp-button,
.CodeMirror-case-button,
.CodeMirror-word-button {
@include themify() {
// @extend %button;
padding: #{2 / $base-font-size}rem #{7 / $base-font-size}rem;
border: 2px solid transparent;
&:hover {
border-color: getThemifyVariable("button-border-color");
}
}
width: #{35 / $base-font-size}rem;
height: #{35 / $base-font-size}rem;
& + & {
margin-left: #{10 / $base-font-size}rem;
}
word-break: keep-all;
white-space: nowrap;
}
.CodeMirror-regexp-button .label,
.CodeMirror-case-button .label,
.CodeMirror-word-button .label {
@extend %hidden-element;
}
[aria-checked="true"] {
@include themify() {
color: getThemifyVariable("heavy-text-color");
background-color: getThemifyVariable("button-secondary-background-color");
border-color: getThemifyVariable("button-border-color");
}
}
/*
Previous / Next buttons
*/
// Visually hide button text
.CodeMirror-search-button .label {
@extend %hidden-element;
}
.CodeMirror-search-button {
margin-right: #{10 / $base-font-size}rem;
}
.CodeMirror-search-button::after {
display: block;
content: ' ';
width: 14px;
height: 14px;
@include icon();
background-repeat: no-repeat;
background-position: center;
}
// Previous button
.CodeMirror-search-button.prev::after {
background-image: url(../images/up-arrow.svg?byUrl)
}
// Next button
.CodeMirror-search-button.next::after {
background-image: url(../images/down-arrow.svg?byUrl)
}
/*
Close button
*/
.CodeMirror-close-button {
position: absolute;
top: #{14 / $base-font-size}rem;
right: #{18 / $base-font-size}rem;
display: flex;
flex-direction: row;
}
// Visually hide button text
.CodeMirror-close-button .label {
@extend %hidden-element;
}
.CodeMirror-close-button:after {
display: block;
content: ' ';
width: 16px;
height: 16px;
margin-left: #{8 / $base-font-size}rem;
@include icon();
background: transparent url(../images/exit.svg?byUrl) no-repeat;
}
// foldgutter
.CodeMirror-foldmarker {
text-shadow: -1px 0 #ed225d, 0 1px #ed225d, 1px 0 #ed225d, 0 -1px #ed225d;
color: #FFF;
/* background-color: rgba(237, 34, 93, 0.42); */
/* border-radius: 3px; */
font-weight: bold;
font-family: arial;
line-height: .3;
cursor: pointer;
opacity: 0.75;
}
.CodeMirror-foldgutter {
width: 2.7em;
}
.CodeMirror-foldgutter-open,
.CodeMirror-foldgutter-folded {
cursor: pointer;
padding-bottom: 0.4em;
text-align: right;
line-height: 1.0;
}
.CodeMirror-foldgutter-open:after {
content: "\25BE";
}
.CodeMirror-foldgutter-folded:after {
content: "\25B8";
}
.CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {
position: absolute;
right: 100%;
}
.CodeMirror-foldgutter-open:after {
@include themify() {
background-image: getThemifyVariable('codefold-icon-open');
}
}
.CodeMirror-foldgutter-folded:after {
@include themify() {
background-image: getThemifyVariable('codefold-icon-closed');
}
}
.CodeMirror-foldgutter-folded:after,
.CodeMirror-foldgutter-open:after {
background-size: 10px 10px;
content: "";
padding-left: 15px;
background-repeat: no-repeat;
background-position: center center;
}
.CodeMirror-foldmarker {
text-shadow: none;
border-radius: 5px;
opacity: 1;
font-weight: normal;
display: inline-block;
vertical-align: middle;
height: 0.85em;
line-height: 0.7;
padding: 0 #{5 / $base-font-size}rem;
font-family: serif;
}
.line-runtime-error + .CodeMirror-activeline-gutter {
background-color: rgb(255, 95, 82);
opacity: 0.3;
}
.line-runtime-error {
background-color: rgb(255, 95, 82) !important;
opacity: 0.3;
}
.editor-holder {
height: calc(100% - #{29 / $base-font-size}rem);
width: 100%;
position: absolute;
@include themify() {
border: 1px solid getThemifyVariable('ide-border-color');
}
&.editor-holder--hidden .CodeMirror {
display: none;
}
}
.editor__header {
height: #{29 / $base-font-size}rem;
}
.editor__options-button {
@include icon();
position: absolute;
top: #{10 / $base-font-size}rem;
right: #{2 / $base-font-size}rem;
z-index: 1;
}
.editor__options {
display: none;
@extend %modal;
position: absolute;
right: #{0 / $base-font-size}rem;
padding: #{8 / $base-font-size}rem #{20 / $base-font-size}rem;
font-size: #{12 / $base-font-size}rem;
@include themify() {
background-color: getThemifyVariable('modal-background-color');
box-shadow: 0 0 18px getThemifyVariable('shadow-color');
}
.editor--options & {
display: block;
}
}
.editor__options li {
padding: #{4 / $base-font-size}rem 0;
}
.editor__options a {
@include themify() {
color: getThemifyVariable('secondary-text-color');
}
}
.editor__file-name {
@include themify() {
color: getThemifyVariable('primary-text-color');
}
height: #{29 / $base-font-size}rem;
padding-top: #{7 / $base-font-size}rem;
padding-left: #{56 / $base-font-size}rem;
font-size: #{12 / $base-font-size}rem;
display: flex;
justify-content: space-between;
}
.editor__unsaved-changes {
margin-left: #{2 / $base-font-size}rem;
}