diff --git a/tests/csseditor/index.html b/tests/csseditor/index.html index 78c2dd86..420b3be0 100644 --- a/tests/csseditor/index.html +++ b/tests/csseditor/index.html @@ -10,85 +10,26 @@
- - -
- - CSS Editor -
-
Your external editor is proxied to this window
-
-
- Saved! -
-
-
Loading Please Wait
-
-
-

Keybinds

- - - - - - - - - - - - - -
Exit:ESC
Save:Ctrl/Cmd + S
Update:Ctrl/Cmd + H
-
-
-

CM Keybinds

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Search:Ctrl/Cmd + F
Find Next:Ctrl/Cmd + G
Find PreviousCtrl-Shift/Cmd-Option + G
ReplaceCtrl-Shift/Cmd-Option + F
Replace AllCtrl-Shift/Cmd-Option-Shift + R
Persistent Search:Alt + F
Jump To Line:Alt + G
-
-
- - -
-
- Live Update +
+
-
-
- Auto Save +
CSS Editor
+
+
+ +
-
-
- Use External Editor +
+
Loading Please Wait...
+
+
+
+
+ + +
+
diff --git a/tests/csseditor/main.css b/tests/csseditor/main.css index 753690c4..c40cdd2e 100644 --- a/tests/csseditor/main.css +++ b/tests/csseditor/main.css @@ -2,60 +2,68 @@ html, body { margin: 0; padding: 0; max-height: 100%; + height: 100%; background: #2c383e; min-width: 700px; min-height: 400px; } -.titlebg { - z-index: 0; +* { + outline: none; +} + +.flex-spacer { + flex-grow: 1; +} + +.flex-row { + display: flex; + flex-direction: row; +} + +.valign { position: absolute; - left: 0; - right: 0; - top: 0; - height: 40px; - /*background: #2c383e;*/ - background: #292b2f; - /*border-bottom: 1px solid #303e46;*/ - border-bottom: 1px solid hsla(218,5%,47%,.3); + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} + +.container { + display: flex; + flex-grow: 1; + flex-direction: column; + height: 100%; } .titlebar { - z-index: 1; display: flex; - height: 23px; - /*background: #2c383e;*/ + height: 40px; background: #292b2f; - -webkit-app-region: drag; - /*border-bottom: 1px solid #303e46;*/ border-bottom: 1px solid hsla(218,5%,47%,.3); - padding: 10px; - margin-right: 70px; - max-height: 20px; - min-height: 20px; } - .titlebar .title { - color: #bac9d2; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - line-height: 18px; - display: inline-block; - margin-left: 10px; - margin-top: 2px; - } +.titlebar .icon { + width: 45px; + height: 40px; +} - .titlebar .icon { - width: 16px; - height: 16px; - background-size: 100% 100%; - display: block; - margin-top: 2px; - background-image: url("data:image/png;base64,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"); - } +.titlebar .icon .inner { + width: 40px; + height: 40px; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAwMCAyMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMDAwIDIwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGZpbGw9IiMzRTgyRTUiIGQ9Ik0xNDAyLjIsNjMxLjdjLTkuNy0zNTMuNC0yODYuMi00OTYtNjQyLjYtNDk2SDY4LjR2NzE0LjFsNDQyLDM5OFY0OTAuN2gyNTdjMjc0LjUsMCwyNzQuNSwzNDQuOSwwLDM0NC45SDU5Ny42djMyOS41aDE2OS44YzI3NC41LDAsMjc0LjUsMzQ0LjgsMCwzNDQuOGgtNjk5djM1NC45aDY5MS4yYzM1Ni4zLDAsNjMyLjgtMTQyLjYsNjQyLjYtNDk2YzAtMTYyLjYtNDQuNS0yODQuMS0xMjIuOS0zNjguNkMxMzU3LjcsOTE1LjgsMTQwMi4yLDc5NC4zLDE0MDIuMiw2MzEuN3oiLz48cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTI2Mi41LDEzNS4yTDEyNjIuNSwxMzUuMmwtNzYuOCwwYzI2LjYsMTMuMyw1MS43LDI4LjEsNzUsNDQuM2M3MC43LDQ5LjEsMTI2LjEsMTExLjUsMTY0LjYsMTg1LjNjMzkuOSw3Ni42LDYxLjUsMTY1LjYsNjQuMywyNjQuNmwwLDEuMnYxLjJjMCwxNDEuMSwwLDU5Ni4xLDAsNzM3LjF2MS4ybDAsMS4yYy0yLjcsOTktMjQuMywxODgtNjQuMywyNjQuNmMtMzguNSw3My44LTkzLjgsMTM2LjItMTY0LjYsMTg1LjNjLTIyLjYsMTUuNy00Ni45LDMwLjEtNzIuNiw0My4xaDcyLjVjMzQ2LjIsMS45LDY3MS0xNzEuMiw2NzEtNTY3LjlWNzE2LjdDMTkzMy41LDMxMi4yLDE2MDguNywxMzUuMiwxMjYyLjUsMTM1LjJ6Ii8+PC9nPjwvc3ZnPg==); + background-size: 30px 30px; + background-repeat: no-repeat; + background-position: center; +} -button.close, -button.aot { - position: absolute; +.titlebar .title { + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + line-height: 41px; +} + + +.titlebar .controls button { border-radius: 3px; width: 25px; font-size: 12px; @@ -73,166 +81,99 @@ button.aot { margin: 0; } - button.close:hover, - button.aot:hover { - /* background: #303f46;*/ - background: #44474e; - color: #FFF; - } - -button.close { - right: 8px; - top: 8px; +.titlebar .controls button:hover { + background: #44474e; + color: #FFF; } -button.aot { - right: 38px; - top: 8px; +.titlebar .controls button.active { + background: #3a71c1; } - button.aot.enabled { - /*background: #376982;*/ - background: #3a71c1; - } - -.spacer { - flex-grow: 1; +#spinner { + background: rgba(51, 48, 48, 0.41); + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + font-weight: 600; + font-size: 2em; + z-index: 90000; } -.container { +.editor { display: flex; flex-direction: column; - max-height: 100%; -} - -#cm-container { flex-grow: 1; - display: flex; - flex-direction: column; -} - -.CodeMirror { - height: 100%; -} - -.controls { - display: flex; - padding: 5px; - height: 40px; - min-height: 40px; - /*background: #2c383e;*/ - /*border-top: 1px solid #38444a;*/ overflow: hidden; +} + +.editor .CodeMirror { + flex-grow: 1; +} + +.tools { + height: 60px; background: #292b2f; border-top: 1px solid hsla(218,5%,47%,.3); + display: flex; + flex-direction: column; } - .controls button { - border-radius: 3px; - width: 100px; - padding: 10px 20px; - font-size: 16px; - font-weight: 600; - /* background: #263238;*/ - background: #36393f; - color: #bac9d2; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - transition: background-color .2s ease; - cursor: pointer; - border: 0; - margin-left: 5px; - } - - .controls button:hover { - /*background: #303f46;*/ - background: #44474e; - color: #FFF; - } - - .controls .checkbox-container { - display: flex; - cursor: pointer; - margin-left: 5px; - margin-top: 10px; - } - - .controls .checkbox-container:hover .checkbox + span { - color: #FFF; - } - - .controls .checkbox-container:hover .checkbox { - /*background: #303f46;*/ - background: #44474e; - border-color: #44474e; - /*border-color: #303f46;*/ - } - - .controls .checkbox-container .checkbox { - position: relative; - width: 15px; - height: 15px; - /*background: #263238;*/ - background: #36393f; - /*border: 3px solid #263238;*/ - border: 3px solid #36393f; - border-radius: 3px; - margin-right: 5px; - -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; - } - - .controls .checkbox-container.checked .checkbox { - /*background: #376982;*/ - /*border: 3px solid #376982;*/ - background: #3a71c1; - border: 3px solid #3a71c1; - } - - .controls .checkbox-container.checked .checkbox::after { - opacity: 1; - } - - .controls .checkbox-container .checkbox + span { - color: #bac9d2; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - line-height: 20px; - font-size: 16px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - - .controls .checkbox-container .checkbox::after { - content: ""; - position: absolute; - top: -2px; - left: 3px; - width: 8px; - height: 13px; - border: 2px solid #bac9d2; - border-top-width: 0; - border-left-width: 0; - -webkit-transform: rotate(40deg); - transform: rotate(40deg); - opacity: 0; - */ -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; - } - -button:focus, button:active { - outline: none; +.tools .flex-row { + flex-grow: 1; + padding: 3px 0; } +.tools button { + border-radius: 3px; + width: 100px; + padding: 3px 10px; + font-size: 12px; + font-weight: 600; + background: #36393f; + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + transition: background-color .2s ease; + cursor: pointer; + border: 0; + margin-left: 5px; +} + +.tools button:hover { + background: #44474e; + color: #FFF; +} + + + +/*CodeMirror styling*/ .CodeMirror-overlayscroll .CodeMirror-scrollbar-filler { background: #38444a; } .CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div { - background: rgb(56, 68, 74); + background: rgb(41, 43, 47); +} + +.CodeMirror-overlayscroll-horizontal , +.CodeMirror-overlayscroll-horizontal div { + height: 10px; +} + +.CodeMirror-overlayscroll-vertical , +.CodeMirror-overlayscroll-vertical div { + width: 10px; +} + +.CodeMirror-scrollbar-filler { + width: 10px; + height: 10px; + background: rgb(41, 43, 47); } .cm-s-material.CodeMirror { @@ -243,72 +184,6 @@ button:focus, button:active { background: #292b2f; } -#hints { - position: fixed; - z-index: 90000; - bottom: 100px; - /*background: rgba(34, 44, 49, 0.4);*/ - background: #292b2f; - border-radius: 5px; - left: 10px; - padding: 10px; - color: #bac9d2; - -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; - opacity: 0; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - pointer-events: none; -} - - #hints.visible { - opacity: 1; - } - - #hints h3 { - margin: 0; - margin-bottom: 10px; - border-bottom: 1px solid hsla(218,5%,47%,.3); - /*border-bottom: 1px solid #38444a;*/ - } - - #hints table { - color: #bac9d2; - } - -#cmhints { - position: fixed; - z-index: 90000; - bottom: 100px; - /*background: rgba(34, 44, 49, 0.4);*/ - background: #292b2f; - border-radius: 5px; - right: 10px; - padding: 10px; - color: #bac9d2; - -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; - opacity: 0; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - pointer-events: none; -} - - #cmhints.visible { - opacity: 1; - } - - #cmhints h3 { - margin: 0; - margin-bottom: 10px; - border-bottom: 1px solid hsla(218,5%,47%,.3); - /*border-bottom: 1px solid #38444a;*/ - } - - #cmhints table { - color: #bac9d2; - } - .CodeMirror-hints { /*background: #1e262a;*/ background: #292b2f; @@ -316,27 +191,27 @@ button:focus, button:active { border: 1px solid #262f33; } - .CodeMirror-hints::-webkit-scrollbar { - background: transparent; - } +.CodeMirror-hints::-webkit-scrollbar { + background: transparent; +} - .CodeMirror-hints::-webkit-scrollbar-thumb { - background-color: rgba(0,0,0,.4); - border-color: transparent; - } +.CodeMirror-hints::-webkit-scrollbar-thumb { + background-color: rgba(0,0,0,.4); + border-color: transparent; +} - .CodeMirror-hints::-webkit-scrollbar-thumb, - .CodeMirror-hints::-webkit-scrollbar-track { - background-clip: padding-box; - border-width: 3px; - border-style: solid; - border-radius: 7px; - } +.CodeMirror-hints::-webkit-scrollbar-thumb, +.CodeMirror-hints::-webkit-scrollbar-track { + background-clip: padding-box; + border-width: 3px; + border-style: solid; + border-radius: 7px; +} - .CodeMirror-hints::-webkit-scrollbar-track { - background-color: transparent; - border-color: transparent; - } +.CodeMirror-hints::-webkit-scrollbar-track { + background-color: transparent; + border-color: transparent; +} .cm-s-material .CodeMirror-linenumber { color: #f6f6f7; @@ -352,97 +227,9 @@ li.CodeMirror-hint-active { background: #36393f; } -#eehint { - position: absolute; - z-index: 9000; - top: 70px; - left: 0; - right: 0; - text-align: center; - color: #FFF; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; - opacity: 0; - pointer-events: none; -} - - #eehint span { - /* background: rgba(44, 56, 62, 0.51);*/ - background: #292b2f; - padding: 10px; - border-radius: 10px; - pointer-events: none; - -webkit-user-select: none; - user-select: none; - } - - #eehint.visible { - opacity: 1; - } - .CodeMirror-dialog-top { bottom: 0; top: auto; border: none; background: #1e262a; -} - -#spinner { - background: rgba(51, 48, 48, 0.41); - position: absolute; - top: 41px; - left: 0; - right: 0; - bottom: 0; - z-index: 90000; -} - - #spinner.hidden { - display: none; - } - - #spinner .valign { - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - color: #bac9d2; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - font-weight: 600; - font-size: 2em; - } - -.checkbox-container.hidden, -button.hidden { - display: none; -} - -#alert { - position: absolute; - bottom: 55px; - z-index: 9; - left: 50px; - font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; - color: #FFF; - padding: 2px 15px; - border-radius: 5px; - pointer-events: none; - opacity: 0; - -webkit-transition: 0.2s all ease; - -moz-transition: 0.2s all ease; - transition: 0.2s all ease; -} - - #alert.success { - background: rgba(77, 255, 77, 0.15); - } - - #alert.danger { - background: rgba(255, 77, 77, 0.15); - } - - #alert.visible { - opacity: 1; - } +} \ No newline at end of file diff --git a/tests/csseditor/main.js b/tests/csseditor/main.js new file mode 100644 index 00000000..73fdca97 --- /dev/null +++ b/tests/csseditor/main.js @@ -0,0 +1,105 @@ +const { remote, ipcRenderer } = require('electron'); + +//Options +const options = { + alwaysOnTop: false +}; + +//Elements +const + $spinner = $('#spinner'), + $toggleaot = $('#toggleaot'), + $closeeditor = $('#closeeditor'), + $editor = $('#editor'), + $btnSave = $('#btnSave'), + $btnUpdate = $('#btnUpdate'); + +ipcRenderer.on('set-css', (_, data) => { + if (data.error) { + alert(data.error); + return; + } + setCss(data); + $spinner.hide(); +}); + +function setCss(css) {} + +function alert(message) {} + + + + + + + + + +const codeMirror = CodeMirror($editor[0], { + lineNumbers: true, + mode: 'css', + indentUnit: 4, + theme: 'material', + scrollbarStyle: 'overlay', + extraKeys: { 'Ctrl-Space': 'autocomplete' }, + dialog: { 'position': 'bottom' } +}); + +codeMirror.on('keyup', function (editor, event) { + if (window.controlDown) return; + if (ExcludedIntelliSenseTriggerKeys[event.keyCode]) return; + CodeMirror.commands.autocomplete(editor, null, { completeSingle: false }); +}); + + +const ExcludedIntelliSenseTriggerKeys = { + '8': 'backspace', + '9': 'tab', + '13': 'enter', + '16': 'shift', + '17': 'ctrl', + '18': 'alt', + '19': 'pause', + '20': 'capslock', + '27': 'escape', + '33': 'pageup', + '34': 'pagedown', + '35': 'end', + '36': 'home', + '37': 'left', + '38': 'up', + '39': 'right', + '40': 'down', + '45': 'insert', + '46': 'delete', + '91': 'left window key', + '92': 'right window key', + '93': 'select', + '107': 'add', + '109': 'subtract', + '110': 'decimal point', + '111': 'divide', + '112': 'f1', + '113': 'f2', + '114': 'f3', + '115': 'f4', + '116': 'f5', + '117': 'f6', + '118': 'f7', + '119': 'f8', + '120': 'f9', + '121': 'f10', + '122': 'f11', + '123': 'f12', + '144': 'numlock', + '145': 'scrolllock', + '186': 'semicolon', + '187': 'equalsign', + '188': 'comma', + '189': 'dash', + '190': 'period', + '191': 'slash', + '192': 'graveaccent', + '220': 'backslash', + '222': 'quote' +} \ No newline at end of file diff --git a/tests/csseditor/mainold.css b/tests/csseditor/mainold.css new file mode 100644 index 00000000..753690c4 --- /dev/null +++ b/tests/csseditor/mainold.css @@ -0,0 +1,448 @@ +html, body { + margin: 0; + padding: 0; + max-height: 100%; + background: #2c383e; + min-width: 700px; + min-height: 400px; +} + +.titlebg { + z-index: 0; + position: absolute; + left: 0; + right: 0; + top: 0; + height: 40px; + /*background: #2c383e;*/ + background: #292b2f; + /*border-bottom: 1px solid #303e46;*/ + border-bottom: 1px solid hsla(218,5%,47%,.3); +} + +.titlebar { + z-index: 1; + display: flex; + height: 23px; + /*background: #2c383e;*/ + background: #292b2f; + -webkit-app-region: drag; + /*border-bottom: 1px solid #303e46;*/ + border-bottom: 1px solid hsla(218,5%,47%,.3); + padding: 10px; + margin-right: 70px; + max-height: 20px; + min-height: 20px; +} + + .titlebar .title { + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + line-height: 18px; + display: inline-block; + margin-left: 10px; + margin-top: 2px; + } + + .titlebar .icon { + width: 16px; + height: 16px; + background-size: 100% 100%; + display: block; + margin-top: 2px; + background-image: url("data:image/png;base64,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"); + } + +button.close, +button.aot { + position: absolute; + border-radius: 3px; + width: 25px; + font-size: 12px; + font-weight: 600; + /*background: #263238;*/ + background: #36393f; + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + transition: background-color .2s ease; + cursor: pointer; + border: 0; + height: 25px; + z-index: 900062; + padding: 0; + margin: 0; +} + + button.close:hover, + button.aot:hover { + /* background: #303f46;*/ + background: #44474e; + color: #FFF; + } + +button.close { + right: 8px; + top: 8px; +} + +button.aot { + right: 38px; + top: 8px; +} + + button.aot.enabled { + /*background: #376982;*/ + background: #3a71c1; + } + +.spacer { + flex-grow: 1; +} + +.container { + display: flex; + flex-direction: column; + max-height: 100%; +} + +#cm-container { + flex-grow: 1; + display: flex; + flex-direction: column; +} + +.CodeMirror { + height: 100%; +} + +.controls { + display: flex; + padding: 5px; + height: 40px; + min-height: 40px; + /*background: #2c383e;*/ + /*border-top: 1px solid #38444a;*/ + overflow: hidden; + background: #292b2f; + border-top: 1px solid hsla(218,5%,47%,.3); +} + + .controls button { + border-radius: 3px; + width: 100px; + padding: 10px 20px; + font-size: 16px; + font-weight: 600; + /* background: #263238;*/ + background: #36393f; + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + transition: background-color .2s ease; + cursor: pointer; + border: 0; + margin-left: 5px; + } + + .controls button:hover { + /*background: #303f46;*/ + background: #44474e; + color: #FFF; + } + + .controls .checkbox-container { + display: flex; + cursor: pointer; + margin-left: 5px; + margin-top: 10px; + } + + .controls .checkbox-container:hover .checkbox + span { + color: #FFF; + } + + .controls .checkbox-container:hover .checkbox { + /*background: #303f46;*/ + background: #44474e; + border-color: #44474e; + /*border-color: #303f46;*/ + } + + .controls .checkbox-container .checkbox { + position: relative; + width: 15px; + height: 15px; + /*background: #263238;*/ + background: #36393f; + /*border: 3px solid #263238;*/ + border: 3px solid #36393f; + border-radius: 3px; + margin-right: 5px; + -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; + } + + .controls .checkbox-container.checked .checkbox { + /*background: #376982;*/ + /*border: 3px solid #376982;*/ + background: #3a71c1; + border: 3px solid #3a71c1; + } + + .controls .checkbox-container.checked .checkbox::after { + opacity: 1; + } + + .controls .checkbox-container .checkbox + span { + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + line-height: 20px; + font-size: 16px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .controls .checkbox-container .checkbox::after { + content: ""; + position: absolute; + top: -2px; + left: 3px; + width: 8px; + height: 13px; + border: 2px solid #bac9d2; + border-top-width: 0; + border-left-width: 0; + -webkit-transform: rotate(40deg); + transform: rotate(40deg); + opacity: 0; + */ -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; + } + +button:focus, button:active { + outline: none; +} + +.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler { + background: #38444a; +} + +.CodeMirror-overlayscroll-horizontal div, +.CodeMirror-overlayscroll-vertical div { + background: rgb(56, 68, 74); +} + +.cm-s-material.CodeMirror { + background: #36393f; +} + +.cm-s-material .CodeMirror-gutters { + background: #292b2f; +} + +#hints { + position: fixed; + z-index: 90000; + bottom: 100px; + /*background: rgba(34, 44, 49, 0.4);*/ + background: #292b2f; + border-radius: 5px; + left: 10px; + padding: 10px; + color: #bac9d2; + -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; + opacity: 0; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + pointer-events: none; +} + + #hints.visible { + opacity: 1; + } + + #hints h3 { + margin: 0; + margin-bottom: 10px; + border-bottom: 1px solid hsla(218,5%,47%,.3); + /*border-bottom: 1px solid #38444a;*/ + } + + #hints table { + color: #bac9d2; + } + +#cmhints { + position: fixed; + z-index: 90000; + bottom: 100px; + /*background: rgba(34, 44, 49, 0.4);*/ + background: #292b2f; + border-radius: 5px; + right: 10px; + padding: 10px; + color: #bac9d2; + -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; + opacity: 0; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + pointer-events: none; +} + + #cmhints.visible { + opacity: 1; + } + + #cmhints h3 { + margin: 0; + margin-bottom: 10px; + border-bottom: 1px solid hsla(218,5%,47%,.3); + /*border-bottom: 1px solid #38444a;*/ + } + + #cmhints table { + color: #bac9d2; + } + +.CodeMirror-hints { + /*background: #1e262a;*/ + background: #292b2f; + box-shadow: 2px 3px 5px rgba(4, 4, 4, 0.22); + border: 1px solid #262f33; +} + + .CodeMirror-hints::-webkit-scrollbar { + background: transparent; + } + + .CodeMirror-hints::-webkit-scrollbar-thumb { + background-color: rgba(0,0,0,.4); + border-color: transparent; + } + + .CodeMirror-hints::-webkit-scrollbar-thumb, + .CodeMirror-hints::-webkit-scrollbar-track { + background-clip: padding-box; + border-width: 3px; + border-style: solid; + border-radius: 7px; + } + + .CodeMirror-hints::-webkit-scrollbar-track { + background-color: transparent; + border-color: transparent; + } + +.cm-s-material .CodeMirror-linenumber { + color: #f6f6f7; +} + +.CodeMirror-hint { + color: #bac9d2; +} + +li.CodeMirror-hint-active { + color: #bac9d2; + /*background: #3b4950;*/ + background: #36393f; +} + +#eehint { + position: absolute; + z-index: 9000; + top: 70px; + left: 0; + right: 0; + text-align: center; + color: #FFF; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; + opacity: 0; + pointer-events: none; +} + + #eehint span { + /* background: rgba(44, 56, 62, 0.51);*/ + background: #292b2f; + padding: 10px; + border-radius: 10px; + pointer-events: none; + -webkit-user-select: none; + user-select: none; + } + + #eehint.visible { + opacity: 1; + } + +.CodeMirror-dialog-top { + bottom: 0; + top: auto; + border: none; + background: #1e262a; +} + +#spinner { + background: rgba(51, 48, 48, 0.41); + position: absolute; + top: 41px; + left: 0; + right: 0; + bottom: 0; + z-index: 90000; +} + + #spinner.hidden { + display: none; + } + + #spinner .valign { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: #bac9d2; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + font-weight: 600; + font-size: 2em; + } + +.checkbox-container.hidden, +button.hidden { + display: none; +} + +#alert { + position: absolute; + bottom: 55px; + z-index: 9; + left: 50px; + font-family: Whitney,Helvetica Neue,Helvetica,Arial,sans-serif; + color: #FFF; + padding: 2px 15px; + border-radius: 5px; + pointer-events: none; + opacity: 0; + -webkit-transition: 0.2s all ease; + -moz-transition: 0.2s all ease; + transition: 0.2s all ease; +} + + #alert.success { + background: rgba(77, 255, 77, 0.15); + } + + #alert.danger { + background: rgba(255, 77, 77, 0.15); + } + + #alert.visible { + opacity: 1; + }