207 lines
6.3 KiB
CSS
207 lines
6.3 KiB
CSS
.root {
|
|
--text-cm-default-color: var(--blue-1);
|
|
--text-cm-meta-color: var(--black-color);
|
|
--text-cm-string-color: var(--red-3);
|
|
--text-cm-number-color: var(--green-1);
|
|
--text-cm-keyword-color: var(--ui-blue-dark-9);
|
|
--text-cm-comment-color: var(--ui-orange-6);
|
|
--text-cm-variable-name-color: var(--ui-green-8);
|
|
--text-codemirror-color: var(--black-color);
|
|
--bg-codemirror-color: var(--white-color);
|
|
--bg-codemirror-gutters-color: var(--grey-17);
|
|
--bg-codemirror-selected-color: var(--grey-22);
|
|
--border-codemirror-cursor-color: var(--black-color);
|
|
--bg-tooltip-color: var(--white-color);
|
|
--text-tooltip-color: var(--black-color);
|
|
}
|
|
|
|
:global([theme='dark']) .root {
|
|
--text-cm-default-color: var(--blue-10);
|
|
--text-cm-meta-color: var(--white-color);
|
|
--text-cm-string-color: var(--red-5);
|
|
--text-cm-number-color: var(--green-2);
|
|
--text-cm-keyword-color: var(--ui-purple-6);
|
|
--text-codemirror-color: var(--white-color);
|
|
--bg-codemirror-color: var(--grey-2);
|
|
--bg-codemirror-gutters-color: var(--grey-3);
|
|
--bg-codemirror-selected-color: var(--grey-3);
|
|
--border-codemirror-cursor-color: var(--white-color);
|
|
--bg-tooltip-color: var(--grey-3);
|
|
--text-tooltip-color: var(--white-color);
|
|
}
|
|
|
|
:global([theme='highcontrast']) .root {
|
|
--text-cm-default-color: var(--blue-9);
|
|
--text-cm-meta-color: var(--white-color);
|
|
--text-cm-string-color: var(--red-7);
|
|
--text-cm-number-color: var(--green-2);
|
|
--text-cm-keyword-color: var(--ui-purple-6);
|
|
--text-codemirror-color: var(--white-color);
|
|
--bg-codemirror-color: var(--black-color);
|
|
--bg-codemirror-gutters-color: var(--ui-gray-warm-11);
|
|
--bg-codemirror-selected-color: var(--grey-3);
|
|
--border-codemirror-cursor-color: var(--white-color);
|
|
--bg-tooltip-color: var(--black-color);
|
|
--text-tooltip-color: var(--white-color);
|
|
}
|
|
|
|
.root :global(.cm-editor .cm-gutters) {
|
|
border-right: 0px;
|
|
@apply bg-gray-2 th-dark:bg-gray-10 th-highcontrast:bg-black;
|
|
}
|
|
|
|
.root :global(.cm-merge-b) {
|
|
@apply border-0 border-l border-solid border-l-gray-5 th-dark:border-l-gray-7 th-highcontrast:border-l-gray-2;
|
|
}
|
|
|
|
.root :global(.cm-editor .cm-gutters .cm-lineNumbers .cm-gutterElement) {
|
|
text-align: left;
|
|
}
|
|
|
|
.codeEditor :global(.cm-editor),
|
|
.codeEditor :global(.cm-editor .cm-scroller) {
|
|
border-radius: 8px;
|
|
}
|
|
|
|
/* code mirror merge side-by-side editor */
|
|
.root :global(.cm-merge-a),
|
|
.root :global(.cm-merge-a .cm-scroller) {
|
|
@apply !rounded-r-none;
|
|
}
|
|
|
|
.root :global(.cm-merge-b),
|
|
.root :global(.cm-merge-b .cm-scroller) {
|
|
@apply !rounded-l-none;
|
|
}
|
|
|
|
/* Search Panel */
|
|
/* Ideally we would use a react component for that, but this is the easy solution for onw */
|
|
|
|
.root :global(.cm-panels.cm-panels-bottom) {
|
|
background-color: var(--bg-codemirror-gutters-color);
|
|
border-top-color: transparent;
|
|
color: var(--text-codemirror-color);
|
|
}
|
|
|
|
.root :global(.cm-button) {
|
|
background-image: none;
|
|
border-radius: 4px;
|
|
gap: 5px;
|
|
}
|
|
|
|
.root :global(.cm-button[name='next']),
|
|
.root :global(.cm-button[name='replace']) {
|
|
@apply border-blue-8 bg-blue-8 text-white;
|
|
@apply hover:border-blue-9 hover:bg-blue-9 hover:text-white;
|
|
@apply th-dark:hover:border-blue-7 th-dark:hover:bg-blue-7;
|
|
}
|
|
|
|
.root :global(.cm-button[name='prev']),
|
|
.root :global(.cm-button[name='replaceAll']) {
|
|
@apply border border-solid;
|
|
|
|
@apply border-blue-8 bg-blue-2 text-blue-9;
|
|
@apply hover:bg-blue-3;
|
|
|
|
@apply th-dark:border-blue-7 th-dark:bg-gray-10 th-dark:text-blue-3;
|
|
@apply th-dark:hover:bg-blue-11;
|
|
}
|
|
|
|
.root :global(.cm-button[name='select']) {
|
|
@apply border-gray-5 bg-white text-gray-9;
|
|
@apply hover:border-gray-5 hover:bg-gray-3 hover:text-gray-10;
|
|
|
|
/* dark mode */
|
|
@apply th-dark:border-gray-warm-7 th-dark:bg-gray-iron-10 th-dark:text-gray-warm-4;
|
|
@apply th-dark:hover:border-gray-6 th-dark:hover:bg-gray-iron-9 th-dark:hover:text-gray-warm-4;
|
|
|
|
@apply th-highcontrast:border-gray-2 th-highcontrast:bg-black th-highcontrast:text-white;
|
|
@apply th-highcontrast:hover:border-gray-6 th-highcontrast:hover:bg-gray-9 th-highcontrast:hover:text-gray-warm-4;
|
|
}
|
|
|
|
.root :global(.cm-search) label {
|
|
font-weight: 400;
|
|
@apply text-gray-7;
|
|
@apply th-dark:text-gray-warm-3;
|
|
@apply th-highcontrast:text-white;
|
|
}
|
|
|
|
.root :global(.cm-search) input {
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.root :global(.cm-textfield) {
|
|
border: 1px solid var(--border-form-control-color);
|
|
background-color: var(--bg-inputbox);
|
|
color: var(--text-form-control-color);
|
|
}
|
|
|
|
.root :global(.cm-content[contenteditable='true']) {
|
|
min-height: 100%;
|
|
}
|
|
|
|
.root :global(.cm-content[aria-readonly='true']) {
|
|
@apply bg-gray-3;
|
|
@apply th-dark:bg-gray-iron-10;
|
|
@apply th-highcontrast:bg-black;
|
|
}
|
|
|
|
.root :global(.cm-textfield) {
|
|
border: 1px solid var(--border-form-control-color);
|
|
background-color: var(--bg-inputbox);
|
|
color: var(--text-form-control-color);
|
|
@apply text-xs;
|
|
}
|
|
|
|
.root :global(.cm-button) {
|
|
@apply text-xs;
|
|
}
|
|
|
|
.root :global(.cm-panel.cm-search label) {
|
|
@apply text-xs;
|
|
}
|
|
|
|
/* Tooltip styles for all themes */
|
|
.root :global(.cm-tooltip) {
|
|
@apply bg-white border border-solid border-gray-5 shadow-md text-xs rounded h-min;
|
|
@apply th-dark:bg-gray-9 th-dark:border-gray-7 th-dark:text-white;
|
|
@apply th-highcontrast:bg-black th-highcontrast:border-gray-7 th-highcontrast:text-white;
|
|
}
|
|
|
|
/* Hide the completionInfo tooltip when it's empty */
|
|
/* note: I only chose the complicated selector because the simple selector `.cm-tooltip.cm-completionInfo:empty` didn't work */
|
|
.root :global(.cm-tooltip.cm-completionInfo:not(:has(*:not(:empty)))) {
|
|
display: none;
|
|
}
|
|
|
|
/* Active line gutter styles for all themes */
|
|
.root :global(.cm-activeLineGutter) {
|
|
@apply bg-inherit;
|
|
}
|
|
|
|
/* Collapsed lines gutter styles for all themes */
|
|
.root :global(.cm-editor .cm-collapsedLines) {
|
|
/* inherit bg, instead of using styles from library */
|
|
background: inherit;
|
|
@apply bg-blue-2 th-dark:bg-blue-10 th-highcontrast:bg-white th-dark:text-white th-highcontrast:text-black;
|
|
}
|
|
.root :global(.cm-editor .cm-collapsedLines):hover {
|
|
@apply bg-blue-3 th-dark:bg-blue-9 th-highcontrast:bg-white th-dark:text-white th-highcontrast:text-black;
|
|
}
|
|
|
|
.root :global(.cm-editor .cm-collapsedLines:before) {
|
|
content: '↧ Expand all';
|
|
background: var(--bg-tooltip-color);
|
|
color: var(--text-tooltip-color);
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
z-index: 1000;
|
|
margin-left: 4px;
|
|
}
|
|
/* override the default content */
|
|
.root :global(.cm-editor .cm-collapsedLines:after) {
|
|
content: '';
|
|
}
|