Download Comfyui-Resolution-Master/js/lib/jsoneditor.theme_twilight.css from MarkLilly/mis-custom-nodes: direct link, hf CLI and curl.
- Browser
- Download file 18.8 kB
-
https://huggingface.co/MarkLilly/mis-custom-nodes/resolve/main/Comfyui-Resolution-Master/js/lib/jsoneditor.theme_twilight.css
- Command line
-
hf download hf://MarkLilly/mis-custom-nodes/Comfyui-Resolution-Master/js/lib/jsoneditor.theme_twilight.css
-
curl -L -o jsoneditor.theme_twilight.css https://huggingface.co/MarkLilly/mis-custom-nodes/resolve/main/Comfyui-Resolution-Master/js/lib/jsoneditor.theme_twilight.css
18.8 kB
| /* | |
| jsoneditor.twilight.css | |
| JSONEditor Dark Theme – Prism Twilight Palette | |
| Based on: jsoneditor.vs-dark-plus-pro.css | |
| */ | |
| /* 1. ROOT VARIABLES (Twilight Color Palette) */ | |
| .jsoneditor-container, | |
| [class*="json-editor-"] { | |
| --vsc-bg: #141414; | |
| --vsc-panel-bg: #1a1a1a; | |
| --vsc-editor-bg: #141414; | |
| --vsc-gutter-bg: #1a1a1a; | |
| --vsc-border: #545454; | |
| --vsc-foreground: #ffffff; | |
| --vsc-muted: #777777; | |
| --vsc-blue: #7385a5; | |
| --vsc-selection: #27292a; | |
| --vsc-active-line-bg: rgba(255, 255, 255, 0.05); | |
| --vsc-button-bg: #222222; | |
| --vsc-button-hover-bg: #333333; | |
| /* Syntax Highlighting Colors (mapped from Twilight) */ | |
| --vsc-key: #f9ed99; | |
| --vsc-string: #909e6a; | |
| --vsc-number: #ce6849; | |
| --vsc-boolean-null: #ce6849; | |
| --vsc-comment: #777777; | |
| --vsc-punctuation: rgba(255,255,255,0.7); | |
| --vsc-error: #e8c062; | |
| } | |
| /* 2. MAIN CONTAINER & LAYOUT */ | |
| .jsoneditor, .jsoneditor-outer { | |
| background: var(--vsc-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| box-shadow: 1px 1px .5em #000 inset ; | |
| font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; | |
| } | |
| /* 3. UI ELEMENTS: MENU, STATUS BAR, NAV */ | |
| .jsoneditor-menu { | |
| height: 36px; | |
| line-height: 36px; | |
| background: var(--vsc-panel-bg) ; | |
| border-bottom: 1px solid var(--vsc-border) ; | |
| padding: 4px 6px; | |
| } | |
| .jsoneditor-menu > button, | |
| .jsoneditor-menu > .jsoneditor-modes, | |
| .jsoneditor-menu > a { | |
| color: var(--vsc-foreground) ; | |
| background-color: var(--vsc-button-bg) ; | |
| border: 1px solid var(--vsc-border) ; | |
| height: 28px; | |
| padding: 0 8px; | |
| margin: 2px; | |
| border-radius: 3px; | |
| font-size: 13px; | |
| } | |
| .jsoneditor-menu > button:hover, | |
| .jsoneditor-menu > .jsoneditor-modes:hover, | |
| .jsoneditor-menu > a:hover { | |
| background-color: var(--vsc-button-hover-bg) ; | |
| border-color: var(--vsc-blue) ; | |
| } | |
| .jsoneditor-navigation-bar, | |
| .jsoneditor-statusbar { | |
| background: var(--vsc-panel-bg) ; | |
| color: var(--vsc-muted) ; | |
| border-top: 1px solid var(--vsc-border) ; | |
| padding: 0 10px; | |
| } | |
| .jsoneditor-statusbar { height: 22px; line-height: 22px; } | |
| /* 4. TREE VIEW */ | |
| .jsoneditor-tree { | |
| background: var(--vsc-editor-bg) ; | |
| } | |
| .jsoneditor-tree tr.jsoneditor-selected { | |
| background: var(--vsc-selection) ; | |
| color: #ffffff ; | |
| } | |
| /* Tree view syntax highlighting */ | |
| .jsoneditor-field { color: var(--vsc-key) ; font-weight: normal; } | |
| .jsoneditor-value.jsoneditor-string { color: var(--vsc-string) ; } | |
| .jsoneditor-value.jsoneditor-number { color: var(--vsc-number) ; } | |
| .jsoneditor-value.jsoneditor-boolean, | |
| .jsoneditor-value.jsoneditor-null { color: var(--vsc-boolean-null) ; } | |
| /* 5. CODE VIEW (ACE EDITOR) */ | |
| .ace_editor, | |
| .ace_content, | |
| .ace_scroller, | |
| textarea.jsoneditor-text { | |
| background: var(--vsc-editor-bg) ; | |
| color: var(--vsc-foreground) ; | |
| } | |
| .ace_editor { | |
| font-family: Consolas, "Courier New", monospace ; | |
| } | |
| /* Gutter */ | |
| .ace_gutter { | |
| background: var(--vsc-gutter-bg) ; | |
| color: var(--vsc-muted) ; | |
| } | |
| /* Cursor, Selection, Active Line */ | |
| .ace_cursor { color: #e8c062 ; } | |
| .ace_marker-layer .ace_selection { background: var(--vsc-selection) ; } | |
| .ace_marker-layer .ace_active-line { background: var(--vsc-active-line-bg) ; } | |
| .ace_gutter-active-line { background-color: transparent ; } | |
| /* --- ACE SYNTAX HIGHLIGHTING TOKENS --- */ | |
| .ace_punctuation { color: var(--vsc-punctuation) ; } | |
| .ace_string { color: var(--vsc-string) ; } | |
| .ace_constant.ace_numeric { color: var(--vsc-number) ; } | |
| .ace_constant.ace_language { color: var(--vsc-boolean-null) ; } | |
| .ace_comment { color: var(--vsc-comment) ; font-style: italic ; } | |
| /* JSON Keys */ | |
| .ace_variable, | |
| .ace_identifier, | |
| .ace_string.ace_variable { | |
| color: var(--vsc-key) ; | |
| } | |
| /* 6. MODALS, INPUTS & FORMS */ | |
| .jsoneditor-modal { | |
| background: var(--vsc-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| } | |
| .jsoneditor input, | |
| .jsoneditor select, | |
| .jsoneditor textarea { | |
| background: #1a1a1a ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| padding: 6px ; | |
| border-radius: 3px ; | |
| } | |
| .jsoneditor input:focus, | |
| .jsoneditor select:focus, | |
| .jsoneditor textarea:focus { | |
| border-color: var(--vsc-blue) ; | |
| outline: 2px solid rgba(115,133,165,0.4) ; | |
| outline-offset: 0px ; | |
| } | |
| /* 7. SCROLLBARS */ | |
| .jsoneditor-outer ::-webkit-scrollbar, .ace_editor ::-webkit-scrollbar { | |
| width: 12px ; height: 12px ; | |
| } | |
| .jsoneditor-outer ::-webkit-scrollbar-track, .ace_editor ::-webkit-scrollbar-track { | |
| background: transparent ; | |
| } | |
| .jsoneditor-outer ::-webkit-scrollbar-thumb, .ace_editor ::-webkit-scrollbar-thumb { | |
| background-color: rgba(121, 121, 121, 0.4) ; | |
| border-radius: 6px ; | |
| } | |
| .jsoneditor-outer ::-webkit-scrollbar-thumb:hover, .ace_editor ::-webkit-scrollbar-thumb:hover { | |
| background-color: rgba(160, 160, 160, 0.5) ; | |
| } | |
| /* 8. CONTEXT MENU & POPOVERS */ | |
| .jsoneditor-contextmenu .jsoneditor-menu { | |
| background: var(--vsc-panel-bg) ; | |
| border: 1px solid var(--vsc-border) ; | |
| } | |
| .jsoneditor-contextmenu .jsoneditor-menu button:hover { | |
| background-color: var(--vsc-button-hover-bg) ; | |
| } | |
| .jsoneditor-menu a.jsoneditor-poweredBy { | |
| font-size: 8px ; | |
| opacity: 0.25 ; | |
| position: absolute ; | |
| right: 6px ; | |
| top: 4px ; | |
| padding: 2px 4px ; | |
| color: var(--vsc-muted) ; | |
| text-decoration: none ; | |
| transition: opacity 0.2s ease; | |
| } | |
| /* JSONEditor Transform Preview (dark mode fix) */ | |
| .jsoneditor-modal .jsoneditor-transform-preview { | |
| background: var(--vsc-editor-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| height: 200px ; | |
| font-family: Consolas, "Courier New", monospace ; | |
| padding: 8px ; | |
| overflow: auto ; | |
| } | |
| pre.jsoneditor-preview { | |
| font-family: Consolas, Menlo, Monaco, "Ubuntu Mono", Source-Code-Pro, monospace ; | |
| font-size: 14px ; | |
| color: var(--vsc-foreground) ; /* 💡 jasny tekst z palety Twilight */ | |
| background: transparent ; | |
| } | |
| /* === JSONEditor Search Bar (Twilight Final Style) === */ | |
| .jsoneditor-search { | |
| font-family: Arial, sans-serif ; | |
| position: absolute ; | |
| right: 6px ; | |
| top: 4px ; | |
| display: flex ; | |
| align-items: center ; | |
| background: var(--vsc-panel-bg) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 6px ; | |
| padding: 2px 6px ; | |
| box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5) ; | |
| } | |
| /* Input field */ | |
| .jsoneditor-search input { | |
| background: var(--vsc-editor-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| outline: none ; | |
| border-radius: 4px ; | |
| width: 120px ; | |
| margin: 0 4px ; | |
| padding: 4px 6px ; | |
| line-height: 18px ; | |
| font-family: Consolas, monospace ; | |
| font-size: 13px ; | |
| box-shadow: none ; | |
| } | |
| .jsoneditor-search input:focus { | |
| border-color: var(--vsc-blue) ; | |
| box-shadow: 0 0 4px rgba(115,133,165,0.5) ; | |
| } | |
| .jsoneditor-search input::placeholder { | |
| color: var(--vsc-muted) ; | |
| } | |
| /* Wynik "no results" / status */ | |
| .jsoneditor-search div { | |
| color: var(--vsc-foreground) ; | |
| background: transparent ; | |
| border: none ; | |
| font-size: 12px ; | |
| opacity: 0.8 ; | |
| margin-right: 4px ; | |
| } | |
| /* Przyciski wyszukiwania */ | |
| .jsoneditor-search button { | |
| width: 18px ; | |
| height: 24px ; | |
| border: none ; | |
| background-color: transparent ; | |
| background-image: url(./img/jsoneditor-icons.svg) ; | |
| background-repeat: no-repeat ; | |
| cursor: pointer ; | |
| filter: invert(85%) brightness(90%) ; | |
| opacity: 0.7 ; | |
| transition: opacity 0.2s ease; | |
| } | |
| .jsoneditor-search button:hover { | |
| opacity: 1 ; | |
| } | |
| /* Ikony */ | |
| .jsoneditor-search button.jsoneditor-refresh { | |
| background-position: -99px -73px ; | |
| } | |
| .jsoneditor-search button.jsoneditor-next { | |
| background-position: -124px -73px ; | |
| } | |
| .jsoneditor-search button.jsoneditor-next:hover { | |
| background-position: -124px -49px ; | |
| } | |
| .jsoneditor-search button.jsoneditor-previous { | |
| background-position: -148px -73px ; | |
| margin-right: 2px ; | |
| } | |
| .jsoneditor-search button.jsoneditor-previous:hover { | |
| background-position: -148px -49px ; | |
| } | |
| /* === Walidacja / błędy JSONEditor (Twilight dark theme fix) === */ | |
| .jsoneditor-validation-errors-container { | |
| background: var(--vsc-panel-bg) ; | |
| border-top: 1px solid var(--vsc-border) ; | |
| color: var(--vsc-foreground) ; | |
| font-family: Consolas, Menlo, Monaco, "Ubuntu Mono", monospace ; | |
| font-size: 13px ; | |
| } | |
| /* Każdy wiersz błędu */ | |
| .jsoneditor-validation-errors tr { | |
| background: rgba(255, 0, 0, 0.05) ; /* delikatne czerwone tło */ | |
| color: var(--vsc-foreground) ; | |
| } | |
| /* Wyróżnienie konkretnego błędu (parse error) */ | |
| .jsoneditor-validation-errors tr.parse-error { | |
| background: rgba(255, 60, 60, 0.12) ; | |
| border-left: 3px solid #f44747 ; /* akcent VSCode error red */ | |
| } | |
| /* Tekst błędu */ | |
| .jsoneditor-validation-errors pre { | |
| color: #f88 ; /* jasny czerwony, dobrze widoczny */ | |
| background: transparent ; | |
| font-family: Consolas, Menlo, Monaco, monospace ; | |
| white-space: pre-wrap ; | |
| word-break: break-word ; | |
| } | |
| /* Numer linii błędu */ | |
| .jsoneditor-validation-errors td { | |
| color: #ffbaba ; /* lekko różowy akcent */ | |
| padding: 4px 6px ; | |
| } | |
| /* Przycisk po lewej (czerwony “dot”) */ | |
| button.jsoneditor-schema-error { | |
| width: 12px ; | |
| height: 12px ; | |
| border-radius: 50% ; | |
| border: none ; | |
| background: #f44747 ; | |
| margin-right: 6px ; | |
| cursor: pointer ; | |
| box-shadow: 0 0 4px rgba(244, 71, 71, 0.6); | |
| } | |
| /* "Scroll for more ▿" pasek */ | |
| .jsoneditor-additional-errors { | |
| background: rgba(255, 255, 255, 0.05) ; | |
| color: var(--vsc-muted) ; | |
| border-top: 1px solid var(--vsc-border) ; | |
| font-size: 12px ; | |
| padding: 4px 8px ; | |
| text-align: center ; | |
| } | |
| /* === JSONEditor Transform Modal (Dark Twilight Theme) === */ | |
| .jsoneditor-modal.jsoneditor-modal-transform, | |
| .pico-content.jsoneditor-modal-transform { | |
| background: var(--vsc-panel-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 8px ; | |
| padding: 20px ; | |
| box-shadow: 0 0 25px rgba(0, 0, 0, 0.6) ; | |
| } | |
| /* Nagłówek okna */ | |
| .jsoneditor-modal-transform .pico-modal-header { | |
| font-size: 16px ; | |
| font-weight: 600 ; | |
| color: var(--vsc-blue) ; | |
| margin-bottom: 10px ; | |
| text-transform: uppercase ; | |
| } | |
| /* Opis / linki JMESPath */ | |
| .jsoneditor-modal-transform p, | |
| .jsoneditor-modal-transform a { | |
| color: var(--vsc-foreground) ; | |
| font-size: 13px ; | |
| } | |
| .jsoneditor-modal-transform a:hover { | |
| color: var(--vsc-blue) ; | |
| } | |
| /* Etykiety (Wizard, Query, Preview) */ | |
| .jsoneditor-jmespath-label { | |
| color: var(--vsc-muted) ; | |
| margin-top: 10px ; | |
| font-weight: 500 ; | |
| font-size: 13px ; | |
| } | |
| /* Pola tekstowe (Query, Preview) */ | |
| .jsoneditor-modal-transform textarea { | |
| background: var(--vsc-editor-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 6px ; | |
| padding: 8px ; | |
| width: 100% ; | |
| box-sizing: border-box ; | |
| resize: vertical ; | |
| font-family: Consolas, Menlo, Monaco, "Ubuntu Mono", monospace ; | |
| font-size: 13px ; | |
| } | |
| .jsoneditor-modal-transform textarea:focus { | |
| border-color: var(--vsc-blue) ; | |
| outline: none ; | |
| } | |
| /* Preview textarea (readonly) */ | |
| .jsoneditor-modal-transform .jsoneditor-transform-preview { | |
| background: #1a1a1a ; | |
| color: #fff ; | |
| } | |
| /* Przycisk OK */ | |
| .jsoneditor-modal-transform input[type="submit"], | |
| .jsoneditor-modal-transform button#ok { | |
| background: var(--vsc-button-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 6px ; | |
| padding: 6px 16px ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease-in-out ; | |
| } | |
| .jsoneditor-modal-transform input[type="submit"]:hover, | |
| .jsoneditor-modal-transform button#ok:hover { | |
| background: var(--vsc-button-hover-bg) ; | |
| border-color: var(--vsc-blue) ; | |
| } | |
| /* Przycisk zamknięcia (X) */ | |
| .jsoneditor-modal-transform .pico-close { | |
| background: var(--vsc-button-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 4px ; | |
| width: 20px ; | |
| height: 20px ; | |
| font-size: 14px ; | |
| text-align: center ; | |
| line-height: 18px ; | |
| top: 6px ; | |
| right: 6px ; | |
| position: absolute ; | |
| transition: background 0.2s ease-in-out; | |
| } | |
| .jsoneditor-modal-transform .pico-close:hover { | |
| background: var(--vsc-button-hover-bg) ; | |
| color: var(--vsc-blue) ; | |
| } | |
| /* === Fix: pico-modal-header (usuń niebieskie tło) === */ | |
| .jsoneditor-modal-transform .pico-modal-header { | |
| background: transparent ; /* usuwa niebieskie tło */ | |
| color: var(--vsc-blue) ; /* dopasowany akcent Twilight */ | |
| border-bottom: 1px solid var(--vsc-border) ; /* subtelny separator */ | |
| padding-bottom: 6px ; | |
| margin-bottom: 10px ; | |
| font-weight: 600 ; | |
| font-size: 15px ; | |
| text-shadow: none ; | |
| text-transform: uppercase ; | |
| } | |
| /* === JSONEditor Sort Modal (Dark Twilight Theme) === */ | |
| .jsoneditor-modal.jsoneditor-modal-sort, | |
| .pico-content.jsoneditor-modal-sort { | |
| background: var(--vsc-panel-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 8px ; | |
| padding: 20px ; | |
| box-shadow: 0 0 25px rgba(0, 0, 0, 0.6) ; | |
| } | |
| /* Nagłówek */ | |
| .jsoneditor-modal-sort .pico-modal-header { | |
| background: transparent ; | |
| color: var(--vsc-blue) ; | |
| border-bottom: 1px solid var(--vsc-border) ; | |
| padding-bottom: 6px ; | |
| margin-bottom: 12px ; | |
| font-weight: 600 ; | |
| font-size: 15px ; | |
| text-transform: uppercase ; | |
| } | |
| /* Teksty, etykiety */ | |
| .jsoneditor-modal-sort td { | |
| color: var(--vsc-foreground) ; | |
| font-size: 13px ; | |
| padding: 6px 8px ; | |
| } | |
| /* Select (Field) */ | |
| .jsoneditor-modal-sort select { | |
| background: var(--vsc-editor-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 4px ; | |
| padding: 4px 6px ; | |
| font-size: 13px ; | |
| } | |
| .jsoneditor-modal-sort select:focus { | |
| border-color: var(--vsc-blue) ; | |
| outline: none ; | |
| } | |
| /* Kierunek sortowania (Asc / Desc) */ | |
| .jsoneditor-modal-sort .jsoneditor-button-group input[type="button"] { | |
| background: var(--vsc-button-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 4px ; | |
| padding: 4px 10px ; | |
| margin: 0 2px ; | |
| font-size: 13px ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease-in-out ; | |
| } | |
| .jsoneditor-modal-sort .jsoneditor-button-group input[type="button"]:hover { | |
| background: var(--vsc-button-hover-bg) ; | |
| border-color: var(--vsc-blue) ; | |
| } | |
| /* Aktywny przycisk (aktualny kierunek sortowania) */ | |
| .jsoneditor-modal-sort .jsoneditor-button-group-value-asc .jsoneditor-button-asc, | |
| .jsoneditor-modal-sort .jsoneditor-button-group-value-desc .jsoneditor-button-desc { | |
| background: var(--vsc-blue) ; | |
| color: #fff ; | |
| border-color: var(--vsc-blue) ; | |
| } | |
| /* Przycisk OK */ | |
| .jsoneditor-modal-sort input[type="submit"], | |
| .jsoneditor-modal-sort button#ok { | |
| background: var(--vsc-button-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 6px ; | |
| padding: 6px 16px ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease-in-out ; | |
| } | |
| .jsoneditor-modal-sort input[type="submit"]:hover, | |
| .jsoneditor-modal-sort button#ok:hover { | |
| background: var(--vsc-button-hover-bg) ; | |
| border-color: var(--vsc-blue) ; | |
| } | |
| /* Przycisk zamknięcia (X) */ | |
| .jsoneditor-modal-sort .pico-close { | |
| background: var(--vsc-button-bg) ; | |
| color: var(--vsc-foreground) ; | |
| border: 1px solid var(--vsc-border) ; | |
| border-radius: 4px ; | |
| width: 20px ; | |
| height: 20px ; | |
| font-size: 14px ; | |
| text-align: center ; | |
| line-height: 18px ; | |
| top: 6px ; | |
| right: 6px ; | |
| position: absolute ; | |
| transition: background 0.2s ease-in-out; | |
| } | |
| .jsoneditor-modal-sort .pico-close:hover { | |
| background: var(--vsc-button-hover-bg) ; | |
| color: var(--vsc-blue) ; | |
| } | |
| /* === Fix: pozycjonowanie selecta w modal-sort === */ | |
| .jsoneditor-modal-sort .jsoneditor-select-wrapper { | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: flex-start ; | |
| margin-top: 8px ; /* 🔹 odstęp od nagłówka */ | |
| margin-bottom: 8px ; | |
| width: 100% ; | |
| } | |
| /* Select sam w sobie */ | |
| .jsoneditor-modal-sort select { | |
| width: 100% ; /* dopasowany do szerokości okna */ | |
| max-width: 240px ; /* niech nie będzie zbyt szeroki */ | |
| box-sizing: border-box ; | |
| } | |
| /* Dodatkowo poprawienie układu w tabeli (wyrównanie w pionie) */ | |
| .jsoneditor-modal-sort table td { | |
| vertical-align: middle ; | |
| padding-top: 6px ; | |
| padding-bottom: 6px ; | |
| } |