mirror of
https://github.com/Kong/insomnia
synced 2024-11-08 14:49:53 +00:00
c1e9e718e9
* Fixed duplication kve bug * one-line-input now defaults to <input> * Fixed urlbar width * Removed all boolean flags * Fixed some edge cases * I think it's good * A bunch more fixes too * Fixed querystring with hashes
428 lines
8.1 KiB
Plaintext
428 lines
8.1 KiB
Plaintext
@import '../constants/colors';
|
|
@import '../constants/animations';
|
|
@import '../constants/dimensions';
|
|
@import '../constants/fonts';
|
|
|
|
.editor {
|
|
box-sizing: border-box;
|
|
height: 100% !important;
|
|
width: 100%;
|
|
display: grid;
|
|
grid-template-rows: minmax(0, 1fr) auto;
|
|
grid-template-columns: 100%;
|
|
|
|
&.editor--single-line {
|
|
&, * {
|
|
font-family: @font-default !important;
|
|
text-decoration: inherit;
|
|
color: inherit;
|
|
}
|
|
|
|
.CodeMirror > div > textarea {
|
|
// This is the hidden div CodeMirror uses for stuff. By, default it's
|
|
// a 1000px absolutely positioned thing for doing work inside of. However, this
|
|
// means that the drag-n-drop shadow image is wider than it should be. So, we're
|
|
// constraining it here, which may break CM in weird ways, but doesn't seem to
|
|
// at first glance.
|
|
max-width: 5em !important;
|
|
}
|
|
|
|
.CodeMirror,
|
|
.CodeMirror-lines {
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.CodeMirror-scroll {
|
|
padding-bottom: 1em;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
}
|
|
|
|
.CodeMirror-dialog {
|
|
opacity: 1;
|
|
border: 0;
|
|
height: 100%;
|
|
animation: fadeIn 500ms;
|
|
flex-wrap: nowrap;
|
|
padding: 0;
|
|
margin: 0;
|
|
|
|
& {
|
|
font-size: 0.95em;
|
|
}
|
|
}
|
|
|
|
.nunjucks-widget {
|
|
padding-top: 0.2em;
|
|
padding-bottom: 0.2em;
|
|
}
|
|
}
|
|
|
|
.editor__container {
|
|
height: 100%;
|
|
width: 100%;
|
|
position: relative;
|
|
}
|
|
|
|
.CodeMirror {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
}
|
|
|
|
.editor__toolbar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
border-top: 1px solid @hl-md;
|
|
height: @line-height-xs;
|
|
font-size: @font-size-sm;
|
|
|
|
input {
|
|
font-family: @font-monospace;
|
|
margin-right: 0;
|
|
width: 100%;
|
|
margin-left: @padding-md;
|
|
}
|
|
|
|
button {
|
|
color: @hl;
|
|
padding: @padding-xs @padding-md;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.CodeMirror {
|
|
height: 100% !important;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
font-family: @font-monospace;
|
|
}
|
|
|
|
.CodeMirror,
|
|
.cm-s-seti.CodeMirror, // Hack because seti theme is dumb
|
|
.CodeMirror-gutters,
|
|
.CodeMirror-scrollbar-filler,
|
|
.CodeMirror-gutter-filler {
|
|
// Let the background behind show through
|
|
background-color: transparent !important;
|
|
border: 0;
|
|
}
|
|
|
|
.CodeMirror-linenumber, .CodeMirror-guttermarker-subtle {
|
|
color: @hl-xl !important;
|
|
}
|
|
|
|
.CodeMirror-gutter {
|
|
background-color: var(--color-bg);
|
|
}
|
|
|
|
.CodeMirror-scroll {
|
|
cursor: text; // Show text cursor everywhere (not just in .Codemirror-lines)
|
|
}
|
|
|
|
.CodeMirror-lines {
|
|
// Scroll past the end
|
|
padding-bottom: 30px;
|
|
}
|
|
|
|
.CodeMirror-placeholder {
|
|
color: @hl-lg;
|
|
}
|
|
|
|
.CodeMirror-lint-marker-error {
|
|
width: 100%;
|
|
height: 1em;
|
|
display: flex;
|
|
background: none;
|
|
text-align: center;
|
|
|
|
&::after {
|
|
color: var(--color-danger);
|
|
text-align: center;
|
|
width: 100%;
|
|
font-size: 0.7em; // because the circle is so large
|
|
content: '⬤';
|
|
}
|
|
}
|
|
|
|
.CodeMirror-activeline-gutter,
|
|
.CodeMirror-activeline-background {
|
|
background-color: transparent;
|
|
}
|
|
|
|
&:not(.editor--readonly) .CodeMirror-focused .CodeMirror-activeline-gutter,
|
|
&:not(.editor--readonly) .CodeMirror-focused .CodeMirror-activeline-background {
|
|
background-color: var(--hl-xs);
|
|
}
|
|
|
|
&.editor--readonly .CodeMirror-cursors {
|
|
visibility: hidden;
|
|
}
|
|
}
|
|
|
|
// Search dialog (and others)
|
|
.CodeMirror-dialog {
|
|
background: var(--color-bg);
|
|
opacity: 0.95;
|
|
color: var(--hl);
|
|
border-color: var(--hl-md);
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
padding: @padding-sm @padding-xs @padding-xs @padding-xs;
|
|
box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
white-space: nowrap;
|
|
|
|
input {
|
|
font-family: @font-monospace !important;
|
|
border: 0 !important;
|
|
height: 1em !important;
|
|
padding: 0 !important;
|
|
display: block;
|
|
width: 100% !important;
|
|
color: var(--color-font);
|
|
min-height: 1.5em;
|
|
}
|
|
|
|
* {
|
|
margin-left: 0.25em;
|
|
margin-right: 0.25em;
|
|
}
|
|
|
|
button {
|
|
color: var(--hl);
|
|
&:hover {
|
|
color: var(--color-font);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Tooltip for errors
|
|
.CodeMirror-lint-tooltip {
|
|
background-color: var(--color-bg);
|
|
color: var(--color-font);
|
|
border-color: @hl-md;
|
|
border-radius: 0;
|
|
font-size: @font-size-md;
|
|
padding: @padding-xs @padding-sm;
|
|
z-index: 99999;
|
|
|
|
.CodeMirror-lint-message-error {
|
|
background-image: none;
|
|
padding-left: 0;
|
|
}
|
|
|
|
&::after {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* Based on Sublime Text's Monokai theme */
|
|
.CodeMirror {
|
|
color: var(--color-font);
|
|
line-height: 1.4em;
|
|
|
|
.CodeMirror-selected {
|
|
background: var(--color-font);
|
|
opacity: 0.2;
|
|
}
|
|
|
|
.CodeMirror-gutters {
|
|
border-right: 0;
|
|
}
|
|
|
|
.CodeMirror-guttermarker {
|
|
color: var(--color-font);
|
|
}
|
|
|
|
.CodeMirror-guttermarker-subtle {
|
|
color: @hl-lg;
|
|
}
|
|
|
|
.CodeMirror-linenumber {
|
|
color: @hl;
|
|
}
|
|
|
|
.CodeMirror-cursor {
|
|
border-left: 1px solid var(--color-font);
|
|
}
|
|
|
|
.cm-animate-fat-cursor,
|
|
&.cm-fat-cursor .CodeMirror-cursor {
|
|
background-color: rgba(255, 139, 147, 0.5) !important;
|
|
border-bottom: 2px solid #d60000 !important;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
span.cm-meta,
|
|
span.cm-qualifier {
|
|
color: var(--color-font);
|
|
}
|
|
|
|
span.cm-atom {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-number {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-keyword {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
span.cm-builtin {
|
|
color: var(--color-info);
|
|
}
|
|
|
|
span.cm-string {
|
|
color: var(--color-notice);
|
|
}
|
|
|
|
span.cm-property, span.cm-attribute {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
span.cm-variable {
|
|
color: var(--color-font);
|
|
}
|
|
|
|
span.cm-variable-2 {
|
|
color: var(--color-info);
|
|
}
|
|
|
|
span.cm-variable-3 {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-def {
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
span.cm-bracket {
|
|
color: var(--color-font);
|
|
}
|
|
|
|
span.cm-tag {
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
span.cm-header {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-link {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-comment {
|
|
color: var(--hl);
|
|
}
|
|
|
|
span.cm-error {
|
|
background: var(--color-danger);
|
|
color: var(--color-font-danger);
|
|
}
|
|
|
|
span.cm-clickable {
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
|
|
span.cm-clickable:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.CodeMirror-matchingbracket {
|
|
color: inherit !important;
|
|
text-decoration: underline;
|
|
text-decoration-color: var(--color-notice);
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
span.cm-nunjucks-variable {
|
|
color: var(--color-surprise);
|
|
}
|
|
|
|
span.cm-nunjucks-tag {
|
|
color: var(--color-info);
|
|
}
|
|
|
|
span.cm-nunjucks-comment {
|
|
color: var(--hl);
|
|
}
|
|
|
|
.nunjucks-widget {
|
|
font-family: @font-monospace !important;
|
|
padding: 0.13em 0.5em;
|
|
box-sizing: border-box;
|
|
margin: 0 0.1em;
|
|
position: relative;
|
|
font-size: 0.9em;
|
|
cursor: default;
|
|
white-space: nowrap;
|
|
text-shadow: 0 0 0.1em rgba(0, 0, 0, 0.4);
|
|
|
|
&::after {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
opacity: 0.7; // not so bright!
|
|
content: " ";
|
|
z-index: -1;
|
|
border-radius: 0.2em;
|
|
box-sizing: border-box;
|
|
box-shadow: inset 0 0 0.1em rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
label {
|
|
padding: 0;
|
|
margin: 0;
|
|
display: inline;
|
|
font-style: italic;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
&.nunjucks-tag {
|
|
color: var(--color-font-info);
|
|
&::after {
|
|
background: var(--color-info);
|
|
}
|
|
}
|
|
|
|
&.nunjucks-variable {
|
|
color: var(--color-font-surprise);
|
|
&::after {
|
|
background: var(--color-surprise);
|
|
}
|
|
}
|
|
|
|
&[data-active="on"],
|
|
&:hover {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
&[data-error="on"] {
|
|
color: var(--color-font-danger);
|
|
&::after {
|
|
background: var(--color-danger);
|
|
}
|
|
}
|
|
|
|
&[data-ignore="on"]::after {
|
|
background: var(--hl-xl);
|
|
color: bar(--color-font);
|
|
}
|
|
}
|
|
}
|