stable-diffusion-webui/style.css

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1668 lines
36 KiB
CSS
Raw Normal View History

2023-05-13 12:57:32 +00:00
/* temporary fix to load default gradio font in frontend instead of backend */
2024-03-08 18:07:42 +00:00
@import url('/webui-assets/css/sourcesanspro.css');
2022-10-08 21:03:00 +00:00
/* temporary fix to hide gradio crop tool until it's fixed https://github.com/gradio-app/gradio/issues/3810 */
div.gradio-image button[aria-label="Edit"] {
display: none;
}
2023-03-20 13:09:36 +00:00
/* general gradio fixes */
:root, .dark{
2023-03-20 13:09:36 +00:00
--checkbox-label-gap: 0.25em 0.1em;
--section-header-text-size: 12pt;
--block-background-fill: transparent;
2023-08-04 04:50:17 +00:00
2022-10-10 18:34:07 +00:00
}
.block.padded:not(.gradio-accordion) {
padding: 0 !important;
}
2023-03-20 13:09:36 +00:00
div.gradio-container{
max-width: unset !important;
2022-10-10 18:34:07 +00:00
}
2023-03-20 13:09:36 +00:00
.hidden{
2024-01-18 17:13:09 +00:00
display: none !important;
2022-10-10 18:34:07 +00:00
}
2023-03-20 13:09:36 +00:00
.compact{
background: transparent !important;
padding: 0 !important;
2023-03-19 06:05:01 +00:00
}
2022-09-17 04:49:31 +00:00
2023-03-20 13:09:36 +00:00
div.form{
border-width: 0;
box-shadow: none;
background: transparent;
overflow: visible;
gap: 0.5em;
}
2023-03-20 13:09:36 +00:00
.block.gradio-dropdown,
.block.gradio-slider,
.block.gradio-checkbox,
.block.gradio-textbox,
.block.gradio-radio,
.block.gradio-checkboxgroup,
.block.gradio-number,
.block.gradio-colorpicker {
2023-03-20 13:09:36 +00:00
border-width: 0 !important;
box-shadow: none !important;
2022-09-17 04:49:31 +00:00
}
div.gradio-group, div.styler{
border-width: 0 !important;
background: none;
}
2023-03-20 13:09:36 +00:00
.gap.compact{
padding: 0;
gap: 0.2em 0;
}
2023-03-20 13:09:36 +00:00
div.compact{
gap: 1em;
2022-09-17 04:49:31 +00:00
}
.gradio-dropdown label span:not(.has-info),
.gradio-textbox label span:not(.has-info),
.gradio-number label span:not(.has-info)
{
2023-03-20 13:09:36 +00:00
margin-bottom: 0;
2022-09-11 15:48:36 +00:00
}
.gradio-dropdown ul.options{
z-index: 3000;
min-width: fit-content;
max-width: inherit;
white-space: nowrap;
}
2023-08-31 05:07:18 +00:00
@media (pointer:fine) {
.gradio-dropdown ul.options li.item {
padding: 0.05em 0;
}
}
.gradio-dropdown ul.options li.item.selected {
background-color: var(--neutral-100);
}
.dark .gradio-dropdown ul.options li.item.selected {
background-color: var(--neutral-900);
}
2023-03-20 13:09:36 +00:00
.gradio-dropdown div.wrap.wrap.wrap.wrap{
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
2022-09-17 16:27:08 +00:00
}
2023-03-27 03:31:56 +00:00
.gradio-dropdown:not(.multiselect) .wrap-inner.wrap-inner.wrap-inner{
flex-wrap: unset;
2023-01-26 21:25:48 +00:00
}
.gradio-dropdown .single-select{
white-space: nowrap;
overflow: hidden;
2023-01-26 21:25:48 +00:00
}
.gradio-dropdown .token-remove.remove-all.remove-all{
display: none;
2022-09-17 15:58:46 +00:00
}
.gradio-dropdown.multiselect .token-remove.remove-all.remove-all{
display: flex;
2022-09-17 15:58:46 +00:00
}
2023-03-20 13:09:36 +00:00
.gradio-slider input[type="number"]{
width: 6em;
2022-09-17 15:58:46 +00:00
}
2023-03-20 13:09:36 +00:00
.block.gradio-checkbox {
margin: 0.75em 1.5em 0 0;
}
.gradio-html div.wrap{
height: 100%;
}
div.gradio-html.min{
min-height: 0;
}
.block.gradio-gallery{
background: var(--input-background-fill);
}
.gradio-container .prose a, .gradio-container .prose a:visited{
color: unset;
text-decoration: none;
}
a{
font-weight: bold;
cursor: pointer;
}
2023-08-18 08:18:22 +00:00
/* gradio 3.39 puts a lot of overflow: hidden all over the place for an unknown reason. */
div.gradio-container, .block.gradio-textbox, div.gradio-group, div.gradio-dropdown{
2023-08-04 10:45:12 +00:00
overflow: visible !important;
}
/* align-items isn't enough and elements may overflow in Safari. */
.unequal-height {
align-content: flex-start;
}
2023-03-20 13:09:36 +00:00
/* general styled components */
2023-03-20 13:09:36 +00:00
.gradio-button.tool{
max-width: 2.2em;
min-width: 2.2em !important;
height: 2.4em;
align-self: end;
line-height: 1em;
border-radius: 0.5em;
}
.gradio-button.secondary-down{
background: var(--button-secondary-background-fill);
color: var(--button-secondary-text-color);
}
.gradio-button.secondary-down, .gradio-button.secondary-down:hover{
box-shadow: 1px 1px 1px rgba(0,0,0,0.25) inset, 0px 0px 3px rgba(0,0,0,0.15) inset;
}
.gradio-button.secondary-down:hover{
background: var(--button-secondary-background-fill-hover);
color: var(--button-secondary-text-color-hover);
}
button.custom-button{
border-radius: var(--button-large-radius);
padding: var(--button-large-padding);
font-weight: var(--button-large-text-weight);
border: var(--button-border-width) solid var(--button-secondary-border-color);
background: var(--button-secondary-background-fill);
color: var(--button-secondary-text-color);
font-size: var(--button-large-text-size);
display: inline-flex;
justify-content: center;
align-items: center;
transition: var(--button-transition);
box-shadow: var(--button-shadow);
text-align: center;
}
2023-08-10 15:43:27 +00:00
div.block.gradio-accordion {
2023-08-04 11:20:32 +00:00
border: 1px solid var(--block-border-color) !important;
border-radius: 8px !important;
margin: 2px 0;
padding: 8px 8px;
}
input[type="checkbox"].input-accordion-checkbox{
vertical-align: sub;
margin-right: 0.5em;
}
2023-03-20 13:09:36 +00:00
/* txt2img/img2img specific */
2023-03-20 13:09:36 +00:00
.block.token-counter{
position: absolute;
display: inline-block;
right: 1em;
min-width: 0 !important;
2023-03-20 13:09:36 +00:00
width: auto;
z-index: 100;
top: -0.75em;
2022-10-05 18:50:10 +00:00
}
.block.token-counter-visible{
display: block !important;
}
2023-03-20 13:09:36 +00:00
.block.token-counter span{
background: var(--input-background-fill) !important;
box-shadow: 0 0 0.0 0.3em rgba(192,192,192,0.15), inset 0 0 0.6em rgba(192,192,192,0.075);
border: 2px solid rgba(192,192,192,0.4) !important;
border-radius: 0.4em;
}
2023-03-20 13:09:36 +00:00
.block.token-counter.error span{
box-shadow: 0 0 0.0 0.3em rgba(255,0,0,0.15), inset 0 0 0.6em rgba(255,0,0,0.075);
border: 2px solid rgba(255,0,0,0.4) !important;
}
2023-03-20 13:09:36 +00:00
.block.token-counter div{
display: inline;
}
2023-03-20 13:09:36 +00:00
.block.token-counter span{
padding: 0.1em 0.75em;
}
2023-01-28 15:08:38 +00:00
[id$=_subseed_show]{
min-width: auto !important;
flex-grow: 0 !important;
display: flex;
}
[id$=_subseed_show] label{
margin-bottom: 0.65em;
align-self: end;
}
[id$=_seed_extras] > div{
gap: 0.5em;
}
.html-log .comments{
padding-top: 0.5em;
}
.html-log .comments:empty{
padding-top: 0;
}
.html-log .performance {
2023-03-20 13:09:36 +00:00
font-size: 0.85em;
color: #444;
2023-07-14 19:51:58 +00:00
display: flex;
2023-01-14 11:56:39 +00:00
}
.html-log .performance p{
2023-03-20 13:09:36 +00:00
display: inline-block;
}
.html-log .performance p.time, .performance p.vram, .performance p.time abbr, .performance p.vram abbr {
2023-07-14 19:51:58 +00:00
margin-bottom: 0;
color: var(--block-title-text-color);
}
.html-log .performance p.time {
}
.html-log .performance p.vram {
2023-07-14 19:51:58 +00:00
margin-left: auto;
}
.html-log .performance .measurement{
2023-07-14 19:51:58 +00:00
color: var(--body-text-color);
font-weight: bold;
2022-09-09 16:43:16 +00:00
}
2023-03-20 13:09:36 +00:00
#txt2img_generate, #img2img_generate {
min-height: 4.5em;
}
2023-11-05 16:19:55 +00:00
#txt2img_generate, #img2img_generate {
min-height: 4.5em;
}
.generate-box-compact #txt2img_generate, .generate-box-compact #img2img_generate {
min-height: 3em;
}
2023-03-20 13:09:36 +00:00
@media screen and (min-width: 2500px) {
#txt2img_gallery, #img2img_gallery {
min-height: 768px;
}
}
.gradio-gallery .thumbnails img {
object-fit: scale-down !important;
}
2023-03-20 13:09:36 +00:00
#txt2img_actions_column, #img2img_actions_column {
gap: 0.5em;
}
#txt2img_tools, #img2img_tools{
gap: 0.4em;
2022-09-03 14:21:15 +00:00
}
2023-03-20 13:09:36 +00:00
.interrogate-col{
min-width: 0 !important;
max-width: fit-content;
gap: 0.5em;
}
.interrogate-col > button{
flex: 1;
2022-09-03 14:21:15 +00:00
}
2023-03-20 13:09:36 +00:00
.generate-box{
position: relative;
}
2024-02-01 19:34:29 +00:00
.gradio-button.generate-box-skip, .gradio-button.generate-box-interrupt, .gradio-button.generate-box-interrupting{
2022-09-06 16:33:51 +00:00
position: absolute;
2023-03-20 13:09:36 +00:00
width: 50%;
height: 100%;
display: none;
2023-03-25 05:48:34 +00:00
background: #b4c0cc;
}
2024-02-01 19:34:29 +00:00
.gradio-button.generate-box-skip:hover, .gradio-button.generate-box-interrupt:hover, .gradio-button.generate-box-interrupting:hover{
2023-03-25 05:48:34 +00:00
background: #c2cfdb;
2023-03-20 13:09:36 +00:00
}
2024-02-01 19:34:29 +00:00
.gradio-button.generate-box-interrupt, .gradio-button.generate-box-interrupting{
2022-09-06 16:33:51 +00:00
left: 0;
2023-03-20 13:09:36 +00:00
border-radius: 0.5rem 0 0 0.5rem;
}
.gradio-button.generate-box-skip{
2022-09-06 16:33:51 +00:00
right: 0;
2023-03-20 13:09:36 +00:00
border-radius: 0 0.5rem 0.5rem 0;
2022-09-06 16:33:51 +00:00
}
#img2img_scale_resolution_preview.block{
display: flex;
align-items: end;
}
#txtimg_hr_finalres .resolution, #img2img_scale_resolution_preview .resolution{
2023-03-20 13:09:36 +00:00
font-weight: bold;
2022-09-23 17:47:13 +00:00
}
#txtimg_hr_finalres div.pending, #img2img_scale_resolution_preview div.pending {
opacity: 1;
transition: opacity 0s;
}
2023-03-20 13:09:36 +00:00
.inactive{
opacity: 0.5;
2022-09-06 16:33:51 +00:00
}
2023-03-20 13:09:36 +00:00
[id$=_column_batch]{
min-width: min(13.5em, 100%) !important;
}
div.dimensions-tools{
min-width: 1.6em !important;
2023-03-20 13:09:36 +00:00
max-width: fit-content;
flex-direction: column;
place-content: center;
}
2023-03-31 05:19:40 +00:00
div#extras_scale_to_tab div.form{
flex-direction: row;
}
#img2img_sketch, #img2maskimg, #inpaint_sketch {
overflow: overlay !important;
resize: auto;
background: var(--panel-background-fill);
z-index: 5;
}
.image-buttons > .form{
justify-content: center;
}
.infotext {
2023-03-25 09:36:35 +00:00
overflow-wrap: break-word;
}
#img2img_column_batch{
align-self: end;
margin-bottom: 0.9em;
}
#img2img_unused_scale_by_slider{
visibility: hidden;
width: 0.5em;
max-width: 0.5em;
min-width: 0.5em;
}
2023-11-05 16:19:55 +00:00
div.toprow-compact-stylerow{
margin: 0.5em 0;
}
div.toprow-compact-tools{
min-width: fit-content !important;
max-width: fit-content;
}
2023-03-20 13:09:36 +00:00
/* settings */
#quicksettings {
2023-03-27 22:38:42 +00:00
align-items: end;
}
2023-03-20 13:09:36 +00:00
#quicksettings > div, #quicksettings > fieldset{
max-width: 36em;
width: fit-content;
2023-08-12 15:42:59 +00:00
flex: 0 1 fit-content;
2023-03-20 13:09:36 +00:00
padding: 0;
border: none;
2023-03-20 13:09:36 +00:00
box-shadow: none;
background: none;
2022-09-10 12:54:46 +00:00
}
#quicksettings > div.gradio-dropdown{
min-width: 24em !important;
}
2022-09-10 12:54:46 +00:00
#settings{
display: block;
}
#settings > div{
border: none;
margin-left: 10em;
2023-10-01 08:48:41 +00:00
padding: 0 var(--spacing-xl);
}
2023-03-20 13:09:36 +00:00
#settings > div.tab-nav{
float: left;
display: block;
margin-left: 0;
width: 10em;
}
2023-03-20 13:09:36 +00:00
#settings > div.tab-nav button{
display: block;
border: none;
text-align: left;
white-space: initial;
2023-10-01 08:48:41 +00:00
padding: 4px;
}
2023-11-26 14:56:16 +00:00
#settings > div.tab-nav .settings-category{
display: block;
margin: 1em 0 0.25em 0;
font-weight: bold;
text-decoration: underline;
cursor: default;
user-select: none;
}
#settings_result{
height: 1.4em;
margin: 0 1.2em;
}
2023-05-20 21:41:41 +00:00
table.popup-table{
background: var(--body-background-fill);
color: var(--body-text-color);
border-collapse: collapse;
margin: 1em;
border: 4px solid var(--body-background-fill);
}
2023-05-20 21:41:41 +00:00
table.popup-table td{
padding: 0.4em;
border: 1px solid rgba(128, 128, 128, 0.5);
max-width: 36em;
}
2022-11-02 06:47:53 +00:00
2023-05-20 21:41:41 +00:00
table.popup-table .muted{
color: #aaa;
}
table.popup-table .link{
text-decoration: underline;
cursor: pointer;
font-weight: bold;
}
.ui-defaults-none{
color: #aaa !important;
}
#settings span{
color: var(--body-text-color);
}
#settings .gradio-textbox, #settings .gradio-slider, #settings .gradio-number, #settings .gradio-dropdown, #settings .gradio-checkboxgroup, #settings .gradio-radio{
margin-top: 0.75em;
}
#settings span .settings-comment {
display: inline
}
.settings-comment a{
text-decoration: underline;
}
.settings-comment .info{
opacity: 0.75;
}
2024-03-10 11:07:51 +00:00
.settings-comment .info ol{
margin: 0.4em 0 0.8em 1em;
}
#sysinfo_download a.sysinfo_big_link{
2023-06-03 10:55:35 +00:00
font-size: 24pt;
}
#sysinfo_download a{
2023-06-03 10:55:35 +00:00
text-decoration: underline;
}
#sysinfo_validity{
font-size: 18pt;
}
2023-08-05 08:18:13 +00:00
#settings .settings-info{
max-width: 48em;
border: 1px dotted #777;
margin: 0;
padding: 1em;
}
2023-06-03 10:55:35 +00:00
2023-03-20 13:09:36 +00:00
/* live preview */
.progressDiv{
position: absolute;
height: 20px;
background: #b4c0cc;
2023-01-18 10:20:47 +00:00
border-radius: 3px !important;
2023-11-05 16:19:55 +00:00
top: -14px;
left: 0px;
width: 100%;
}
.progress-container{
position: relative;
}
[id$=_results].mobile{
margin-top: 28px;
}
.dark .progressDiv{
background: #424c5b;
}
.progressDiv .progress{
width: 0%;
height: 20px;
background: #0060df;
color: white;
font-weight: bold;
line-height: 20px;
padding: 0 8px 0 0;
text-align: right;
2023-01-18 10:20:47 +00:00
border-radius: 3px;
overflow: visible;
white-space: nowrap;
2023-01-18 10:20:47 +00:00
padding: 0 0.5em;
}
.livePreview{
position: absolute;
z-index: 300;
background: var(--background-fill-primary);
width: 100%;
height: 100%;
}
.livePreview img{
2023-01-15 17:20:29 +00:00
position: absolute;
object-fit: contain;
width: 100%;
height: calc(100% - 60px); /* to match gradio's height */
}
2022-09-06 16:33:51 +00:00
2023-03-20 13:09:36 +00:00
/* fullscreen popup (ie in Lora's (i) button) */
.popup-metadata{
color: black;
background: white;
display: inline-block;
padding: 1em;
white-space: pre-wrap;
}
.global-popup{
display: flex;
position: fixed;
z-index: 1001;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
}
.global-popup *{
box-sizing: border-box;
}
.global-popup-close:before {
content: "×";
position: fixed;
right: 0.25em;
top: 0;
cursor: pointer;
color: white;
font-size: 32pt;
}
2023-10-03 04:22:15 +00:00
.global-popup-close{
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(20, 20, 20, 0.95);
}
.global-popup-inner{
display: inline-block;
margin: auto;
padding: 2em;
2023-10-03 04:22:15 +00:00
z-index: 1001;
max-height: 90%;
max-width: 90%;
}
2023-03-20 13:09:36 +00:00
/* fullpage image viewer */
2022-09-17 00:00:45 +00:00
#lightboxModal{
2023-03-25 05:28:21 +00:00
display: none;
position: fixed;
z-index: 1001;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(20, 20, 20, 0.95);
user-select: none;
-webkit-user-select: none;
flex-direction: column;
2022-09-17 00:00:45 +00:00
}
.modalControls {
2023-03-25 05:28:21 +00:00
display: flex;
position: absolute;
right: 0px;
left: 0px;
2023-03-25 05:28:21 +00:00
gap: 1em;
padding: 1em;
background-color:rgba(0,0,0,0);
z-index: 1;
transition: 0.2s ease background-color;
}
.modalControls:hover {
background-color:rgba(0,0,0, var(--sd-webui-modal-lightbox-toolbar-opacity));
}
.modalClose {
2023-03-25 05:28:21 +00:00
margin-left: auto;
2022-09-19 01:33:37 +00:00
}
2023-03-25 05:28:21 +00:00
.modalControls span{
color: white;
text-shadow: 0px 0px 0.25em black;
2023-03-25 05:28:21 +00:00
font-size: 35px;
font-weight: bold;
cursor: pointer;
2023-03-25 05:28:21 +00:00
width: 1em;
}
2023-03-25 05:28:21 +00:00
.modalControls span:hover, .modalControls span:focus{
color: #999;
text-decoration: none;
2022-09-17 00:00:45 +00:00
}
2023-03-25 05:28:21 +00:00
#lightboxModal > img {
2022-09-17 00:00:45 +00:00
display: block;
margin: auto;
2022-09-17 00:00:45 +00:00
width: auto;
}
2023-03-25 05:28:21 +00:00
#lightboxModal > img.modalImageFullscreen{
2022-09-19 15:53:40 +00:00
object-fit: contain;
2023-03-25 05:28:21 +00:00
height: 100%;
width: 100%;
min-height: 0;
2022-09-19 01:33:37 +00:00
}
2022-09-17 16:56:53 +00:00
.modalPrev,
.modalNext {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
padding: 16px;
margin-top: -50px;
color: white;
font-weight: bold;
font-size: 20px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
-webkit-user-select: none;
}
.modalNext {
right: 0;
border-radius: 3px 0 0 3px;
}
.modalPrev:hover,
.modalNext:hover {
background-color: rgba(0, 0, 0, 0.8);
}
2022-09-22 00:50:42 +00:00
#imageARPreview {
position: absolute;
top: 0px;
left: 0px;
border: 2px solid red;
background: rgba(255, 0, 0, 0.3);
z-index: 900;
pointer-events: none;
display: none;
}
@media (pointer: fine) {
.modalPrev:hover,
.modalNext:hover,
.modalControls:hover ~ .modalPrev,
.modalControls:hover ~ .modalNext,
.modalControls:hover .cursor {
opacity: 1;
}
.modalPrev,
.modalNext,
.modalControls .cursor {
opacity: var(--sd-webui-modal-lightbox-icon-opacity);
}
}
2023-03-20 13:09:36 +00:00
/* context menu (ie for the generate button) */
2022-10-08 04:35:03 +00:00
#context-menu{
z-index:9999;
position:absolute;
display:block;
padding:0px 0;
border:2px solid #a55000;
border-radius:8px;
box-shadow:1px 1px 2px #CE6400;
width: 200px;
}
.context-menu-items{
list-style: none;
margin: 0;
padding: 0;
}
.context-menu-items a{
display:block;
padding:5px;
cursor:pointer;
}
.context-menu-items a:hover{
background: #a55000;
}
2023-03-20 13:09:36 +00:00
/* extensions */
#tab_extensions table{
border-collapse: collapse;
}
2022-11-01 06:59:00 +00:00
#tab_extensions table td, #tab_extensions table th{
border: 1px solid #ccc;
padding: 0.25em 0.5em;
}
2022-11-01 06:59:00 +00:00
#tab_extensions table input[type="checkbox"]{
margin-right: 0.5em;
2023-03-20 13:09:36 +00:00
appearance: checkbox;
}
#tab_extensions button{
max-width: 16em;
}
2022-11-01 06:59:00 +00:00
#tab_extensions input[disabled="disabled"]{
opacity: 0.5;
}
.extension-tag{
font-weight: bold;
font-size: 95%;
}
#available_extensions .info{
margin: 0;
}
2023-06-29 10:25:34 +00:00
#available_extensions .info{
margin: 0.5em 0;
display: flex;
margin-top: auto;
opacity: 0.80;
font-size: 90%;
}
2023-06-29 10:25:34 +00:00
#available_extensions .date_added{
margin-right: auto;
display: inline-block;
}
#available_extensions .star_count{
margin-left: auto;
display: inline-block;
}
/* extensions tab table row hover highlight */
#extensions tr:hover td,
#config_state_extensions tr:hover td,
#available_extensions tr:hover td {
background: rgba(0, 0, 0, 0.15);
}
.dark #extensions tr:hover td ,
.dark #config_state_extensions tr:hover td ,
.dark #available_extensions tr:hover td {
background: rgba(255, 255, 255, 0.15);
}
2023-03-20 13:09:36 +00:00
/* replace original footer with ours */
footer {
display: none !important;
}
#footer{
text-align: center;
}
#footer div{
display: inline-block;
}
2023-01-01 10:08:40 +00:00
2023-01-05 08:57:01 +00:00
#footer .versions{
font-size: 85%;
opacity: 0.85;
}
2023-03-20 13:09:36 +00:00
/* extra networks UI */
.extra-page > div.gap{
gap: 0;
}
.extra-page-prompts{
margin-bottom: 0;
}
.extra-page-prompts.extra-page-prompts-active{
margin-bottom: 1em;
2023-11-05 16:19:55 +00:00
}
.extra-networks > div.tab-nav{
min-height: 2.7rem;
}
.extra-networks > div > [id *= '_extra_']{
margin: 0.3em;
}
2023-06-02 04:08:45 +00:00
.extra-networks .tab-nav .search,
.extra-networks .tab-nav .sort
{
2023-01-21 14:20:24 +00:00
margin: 0.3em;
align-self: center;
width: auto;
2023-06-02 04:08:45 +00:00
}
.extra-networks .tab-nav .search {
2023-03-21 06:24:19 +00:00
width: 16em;
2023-06-02 04:08:45 +00:00
max-width: 16em;
}
.extra-networks .tab-nav .sort {
width: 12em;
max-width: 12em;
2023-01-21 14:20:24 +00:00
}
#txt2img_extra_view, #img2img_extra_view {
width: auto;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .nocards{
margin: 1.25em 0.5em 0.5em 0.5em;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .nocards h1{
font-size: 1.5em;
margin-bottom: 1em;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .nocards li{
margin-left: 0.5em;
}
2024-01-15 18:40:47 +00:00
.extra-network-pane .card .button-row{
2024-01-10 23:11:48 +00:00
display: inline-flex;
visibility: hidden;
color: white;
position: absolute;
right: 0;
2024-01-10 23:11:48 +00:00
z-index: 1;
}
2024-01-10 23:11:48 +00:00
2024-01-15 18:40:47 +00:00
.extra-network-pane .card:hover .button-row{
2024-01-10 23:11:48 +00:00
visibility: visible;
}
.extra-network-pane .card-button{
color: white;
2024-03-13 21:11:44 +00:00
width: 1.5em;
text-shadow: 2px 2px 3px black;
color: white;
padding: 0.25em 0.1em;
font-size: 2rem;
}
2024-01-13 18:16:39 +00:00
.extra-network-pane .copy-path-button::before {
2024-01-10 23:11:48 +00:00
content: "⎘";
}
2024-01-13 18:16:39 +00:00
.extra-network-pane .metadata-button::before{
content: "🛈";
}
2024-01-13 18:16:39 +00:00
.extra-network-pane .edit-button::before{
content: "🛠";
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card-button:hover{
color: red;
}
.standalone-card-preview.card .preview{
position: absolute;
object-fit: cover;
width: 100%;
height:100%;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card, .standalone-card-preview.card{
display: inline-block;
margin: 0.5rem;
width: 16rem;
height: 24rem;
box-shadow: 0 0 5px rgba(128, 128, 128, 0.5);
border-radius: 0.2rem;
position: relative;
background-size: auto 100%;
background-position: center;
overflow: hidden;
cursor: pointer;
background-image: url('./file=html/card-no-preview.png')
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card:hover{
box-shadow: 0 0 2px 0.3em rgba(0, 128, 255, 0.35);
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions .additional{
display: none;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions{
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 0.5em;
background: rgba(0,0,0,0.5);
box-shadow: 0 0 0.25em 0.25em rgba(0,0,0,0.5);
text-shadow: 0 0 0.2em black;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions *{
2023-03-21 06:24:19 +00:00
color: white;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions .name{
font-size: 1.7em;
font-weight: bold;
line-break: anywhere;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions .description {
display: block;
max-height: 3em;
white-space: pre-wrap;
line-height: 1.1;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions .description:hover {
max-height: none;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .actions:hover .additional{
display: block;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card ul{
margin: 0.25em 0 0.75em 0.25em;
cursor: unset;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card ul a{
cursor: pointer;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card ul a:hover{
color: red;
}
2024-01-10 23:11:48 +00:00
.extra-network-pane .card .preview{
2023-03-21 22:07:24 +00:00
position: absolute;
object-fit: cover;
width: 100%;
height:100%;
}
div.block.gradio-box.edit-user-metadata {
width: 56em;
background: var(--body-background-fill);
padding: 2em !important;
}
.edit-user-metadata .extra-network-name{
font-size: 18pt;
color: var(--body-text-color);
}
2023-07-15 22:09:19 +00:00
.edit-user-metadata .file-metadata{
color: var(--body-text-color);
}
.edit-user-metadata .file-metadata th{
text-align: left;
}
.edit-user-metadata .file-metadata th, .edit-user-metadata .file-metadata td{
padding: 0.3em 1em;
overflow-wrap: anywhere;
word-break: break-word;
}
.edit-user-metadata .wrap.translucent{
background: var(--body-background-fill);
}
.edit-user-metadata .gradio-highlightedtext span{
word-break: break-word;
}
.edit-user-metadata-buttons{
margin-top: 1.5em;
}
div.block.gradio-box.popup-dialog, .popup-dialog {
width: 56em;
background: var(--body-background-fill);
padding: 2em !important;
}
div.block.gradio-box.popup-dialog > div:last-child, .popup-dialog > div:last-child{
margin-top: 1em;
}
div.block.input-accordion{
}
.input-accordion-extra{
flex: 0 0 auto !important;
margin: 0 0.5em 0 auto;
}
div.accordions > div.input-accordion{
min-width: fit-content !important;
}
div.accordions > div.gradio-accordion .label-wrap span{
white-space: nowrap;
margin-right: 0.25em;
}
div.accordions{
gap: 0.5em;
}
div.accordions > div.input-accordion.input-accordion-open{
flex: 1 auto;
flex-flow: column;
}
2023-08-18 08:18:22 +00:00
/* sticky right hand columns */
#img2img_results, #txt2img_results, #extras_results {
position: sticky;
top: 0.5em;
}
body.resizing {
2023-08-22 09:48:17 +00:00
cursor: col-resize !important;
}
2023-08-22 12:21:06 +00:00
body.resizing * {
pointer-events: none !important;
}
2023-08-22 12:21:06 +00:00
body.resizing .resize-handle {
pointer-events: initial !important;
}
2023-08-22 07:40:50 +00:00
.resize-handle {
position: relative;
2023-08-22 09:48:17 +00:00
cursor: col-resize;
grid-column: 2 / 3;
min-width: 16px !important;
max-width: 16px !important;
height: 100%;
2023-08-22 07:40:50 +00:00
}
2023-08-22 07:40:50 +00:00
.resize-handle::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 7.5px;
border-left: 1px dashed var(--border-color-primary);
}
2024-01-13 18:16:39 +00:00
/* ========================= */
.clusterize-scroll {
width: 100%;
height: 100%;
/* Use scroll instead of auto so that content size doesn't change when there is no content. */
overflow: clip scroll;
}
.clusterize-content {
flex: 1;
outline: 0;
/* need to manually set the gap to 0 to fix item dimension calcs. */
gap: 0;
counter-reset: clusterize-counter;
padding: var(--spacing-md);
}
.clusterize-extra-row {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.clusterize-extra-row.clusterize-keep-parity {
display: none;
}
.clusterize-no-data {
text-align: center;
2024-03-19 01:59:41 +00:00
color: var(--input-placeholder-color) !important;
}
2024-01-13 18:16:39 +00:00
.extra-network-pane {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
2024-01-16 18:35:01 +00:00
height: calc(100vh - 24rem);
resize: vertical;
min-height: 52rem;
2024-01-21 16:27:24 +00:00
overflow: hidden;
}
.extra-network-content {
display: flex;
flex-wrap: nowrap;
width: 100%;
height: 100%;
}
2024-03-19 01:59:41 +00:00
.extra-network-content--container {
2024-03-21 20:03:27 +00:00
display: flex;
flex-wrap: nowrap;
width: 100%;
height: 100%;
2024-03-19 01:59:41 +00:00
flex-direction: column;
gap: var(--spacing-sm);
}
2024-03-27 20:11:13 +00:00
.extra-network-content--dirs-view {
flex: 0 1 min-content;
flex-flow: row wrap;
max-height: 20%;
2024-03-19 01:59:41 +00:00
gap: var(--spacing-sm);
overflow: clip auto;
border: 1px solid var(--block-border-color);
padding: var(--spacing-md);
2024-01-16 18:35:01 +00:00
}
2024-03-19 01:59:41 +00:00
.extra-network-content--cards {
flex: 1;
flex-direction: row;
2024-03-21 20:03:27 +00:00
min-height: 0; /* prevent children from oversizing this container */
2024-03-19 01:59:41 +00:00
}
.extra-network-content.resize-handle-col {
display: flex;
flex-direction: column;
overflow: auto;
}
2024-03-19 01:59:41 +00:00
2024-04-17 23:23:38 +00:00
/* Can be simplified using :has but this is only recently supported in firefox. */
.resize-handle-row.resize-handle-hidden .resize-handle {
display: none;
}
/* Can be simplified using :has but this is only recently supported in firefox. */
.resize-handle-row.resize-handle-hidden {
display: flex !important;
}
/*
.resize-handle-row:has(> .resize-handle-col.hidden) {
display: flex !important;
2024-01-16 18:35:01 +00:00
}
.resize-handle-row:has(> .resize-handle-col.hidden)>.resize-handle {
display: none;
2024-01-16 18:35:01 +00:00
}
2024-04-17 23:23:38 +00:00
*/
2024-01-16 18:35:01 +00:00
.extra-network-tree {
display: flex;
border: 1px solid var(--block-border-color);
2024-01-16 18:35:01 +00:00
}
.extra-network-cards {
display: flex;
border: 1px solid var(--block-border-color);
}
.extra-network-controls-div {
margin-left: auto !important;
}
2024-03-19 01:59:41 +00:00
.extra-network-controls {
display: flex;
flex-wrap: wrap;
flex-direction: row;
margin-bottom: var(--spacing-sm);
}
.extra-network-controls--container {
display: flex;
flex-direction: column;
margin-left: var(--spacing-xxl);
margin-right: var(--spacing-xxl);
}
.extra-network-controls--header {
flex: 1;
2024-03-19 01:59:41 +00:00
text-align: center;
color: var(--input-placeholder-color);
padding: 0;
margin: 0;
border-bottom: var(--input-border-width) solid var(--input-placeholder-color);
line-height: var(--text-sm);
}
.extra-network-controls--buttons {
display: flex;
flex-direction: row;
flex: 1;
gap: 0 var(--spacing-sm);
place-items: center stretch;
justify-content: space-evenly;
2024-03-19 01:59:41 +00:00
}
.extra-network-control {
background: transparent;
border: var(--input-border-width) solid transparent;
2024-03-19 01:59:41 +00:00
border-radius: var(--input-radius);
box-sizing: border-box;
cursor: pointer;
user-select: none;
}
.extra-network-control--icon {
width: var(--text-xxl);
height: var(--text-xxl);
color: var(--input-placeholder-color);
background: transparent;
margin: var(--spacing-sm);
2024-03-19 01:59:41 +00:00
}
.extra-network-control:hover {
background: var(--button-secondary-background-fill-hover);
}
.extra-network-control:active {
background: var(--button-secondary-background-fill);
}
.extra-network-control:active .extra-network-control--icon {
color: var(--button-secondary-text-color-hover);
2024-03-19 01:59:41 +00:00
}
.extra-network-control[data-selected] .extra-network-control--icon {
color: var(--button-secondary-text-color);
}
/* ==== SEARCH INPUT ==== */
2024-03-13 21:11:44 +00:00
.extra-network-control--search {
align-self: end;
2024-03-13 21:11:44 +00:00
display: flex;
flex-direction: row;
outline: var(--input-border-width) solid var(--input-border-color);
border-radius: var(--input-radius);
align-items: center;
justify-content: center;
2024-03-13 21:11:44 +00:00
gap: var(--spacing-sm);
box-sizing: border-box;
background: var(--input-background-fill);
}
2024-03-13 21:11:44 +00:00
/* Add outline to the contianer when the inner search-text <input> has focus. */
.extra-network-control--search:focus-within {
outline: calc(var(--input-border-width) * 2) solid var(--input-border-color-focus);
}
2024-03-13 21:11:44 +00:00
/* Search icon on left of container. */
.extra-network-control--search-icon {
2024-03-13 21:11:44 +00:00
user-select: none;
color: var(--input-placeholder-color);
width: var(--input-text-size);
height: var(--input-text-size);
margin-left: var(--input-padding);
}
/* circle with X icon on right of container used to clear input. */
.extra-network-control--search-clear-icon {
user-select: none;
cursor: pointer;
color: var(--input-placeholder-color);
width: var(--input-text-size);
height: var(--input-text-size);
2024-03-13 21:11:44 +00:00
}
2024-03-13 21:11:44 +00:00
/* <input> text in container. */
.extra-network-control--search .extra-network-control--search-text {
display: flex;
color: var(--body-text-color);
background: transparent;
font-weight: var(--input-text-weight);
font-size: var(--input-text-size);
line-height: var(--line-sm);
padding: var(--input-padding) var(--spacing-sm) var(--input-padding) var(--spacing-sm);
margin: 0;
border: none;
outline: none;
}
2024-03-13 21:11:44 +00:00
/* Make "clear" button visible when user has entered text in search-text <input>. */
.extra-network-control--search .extra-network-control--search-text:not(:placeholder-shown)+.extra-network-control--search-clear {
visibility: visible;
}
2024-03-13 21:11:44 +00:00
/* "Clear" button on right of container. Invisible until user enters text in <input>. */
.extra-network-control--search .extra-network-control--search-clear {
visibility: hidden;
border-radius: 0 var(--input-radius) var(--input-radius) 0;
border: var(--input-border-width) solid transparent;
2024-03-13 21:11:44 +00:00
transition: background var(--button-transition);
user-select: none;
cursor: pointer;
align-self: stretch;
/* forces button to fill vertical */
2024-03-13 21:11:44 +00:00
padding: var(--input-padding);
}
.extra-network-control--search .extra-network-control--search-clear:hover {
color: var(--button-secondary-background-fill-hover);
}
.extra-network-control--search .extra-network-control--search-clear:hover .extra-network-control--search-clear-icon {
color: var(--button-secondary-text-color-hover);
}
/* Customize behavior or sort direction button icon. */
2024-03-27 20:11:13 +00:00
.extra-network-control--sort-dir[data-sort-dir="ascending"] .extra-network-control--sort-dir-icon-ascending {
fill: var(--button-secondary-text-color);
stroke: var(--button-secondary-text-color);
}
2024-03-27 20:11:13 +00:00
.extra-network-control--sort-dir[data-sort-dir="ascending"] .extra-network-control--sort-dir-icon-descending {
stroke: var(--input-placeholder-color);
}
2024-03-27 20:11:13 +00:00
.extra-network-control--sort-dir[data-sort-dir="descending"] .extra-network-control--sort-dir-icon-descending {
fill: var(--button-secondary-text-color);
stroke: var(--button-secondary-text-color);
}
2024-03-27 20:11:13 +00:00
.extra-network-control--sort-dir[data-sort-dir="descending"] .extra-network-control--sort-dir-icon-ascending {
stroke: var(--input-placeholder-color);
}
/* ==== ICONS ==== */
.extra-network-control--refresh:hover .extra-network-control--icon {
2024-03-27 20:11:13 +00:00
animation: extra-network-control--refresh-keyframe-rotate 3s infinite;
transform-origin: 50% 50%;
transform-box: fill-box;
2024-03-27 20:11:13 +00:00
color: var(--button-secondary-text-color);
}
2024-03-27 20:11:13 +00:00
@keyframes extra-network-control--refresh-keyframe-rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* BUTTON ELEMENTS */
/* <button> */
.tree-list-item {
display: grid;
flex: 1;
width: 100%;
position: relative;
padding-top: 0 !important;
padding-bottom: 0 !important;
padding-right: 0 !important;
margin: 0 !important;
user-select: none;
background: transparent;
border: none;
transition: background 33.333ms linear;
grid-template-rows: min-content;
grid-template-areas: "leading-action leading-visual label trailing-visual trailing-action";
2024-03-15 18:31:58 +00:00
grid-template-columns: min-content min-content minmax(calc(var(--body-text-size) * 1), auto) min-content min-content;
grid-gap: var(--spacing-sm);
place-items: center stretch;
text-align: center;
}
2024-04-23 16:18:37 +00:00
.tree-list-item[data-selected] {
background: var(--button-secondary-background-fill);
}
.tree-list-item:hover {
-webkit-transition: all 0.05s ease-in-out;
transition: all 0.05s ease-in-out;
background: var(--button-secondary-background-fill-hover);
}
.tree-list-item>span {
font-size: var(--button-large-text-size);
color: var(--button-secondary-text-color);
}
/* ==== TREE VIEW EXPAND/COLLAPSE BUTTONS ==== */
.tree-list-item-action-expand::before {
content: "≫";
}
.tree-list-item-action-expand {
transform: rotate(90deg);
}
.tree-list-item-action-collapse::before {
content: "≫";
}
.tree-list-item-action-collapse {
transform: rotate(-90deg);
}
/* ==== CHEVRON ICON ACTIONS ==== */
/* Define the animation for the arrow when it is clicked. */
.tree-list-item-action-chevron {
display: inline-flex;
height: var(--button-large-text-size);
width: var(--button-large-text-size);
mask-image: url('data:image/svg+xml,<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M 4 4 H 12 V 12"/></svg>');
mask-repeat: no-repeat;
mask-position: center center;
mask-size: 100%;
background: var(--input-placeholder-color);
transform: rotate(45deg);
}
.tree-list-item[data-expanded] .tree-list-item-action-chevron {
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
transition: transform 0.2s;
/* currently broken since we remove/add elements to clusterize.js list */
}
2024-01-13 18:16:39 +00:00
/* Text for button. */
2024-03-13 21:11:44 +00:00
.tree-list-item-label {
2024-01-10 23:11:48 +00:00
position: relative;
2024-01-13 18:16:39 +00:00
grid-area: label;
2024-03-13 21:11:44 +00:00
padding-left: 0.25em;
text-align: start;
}
2024-01-13 18:16:39 +00:00
/* Text for button truncated. */
2024-03-13 21:11:44 +00:00
.tree-list-item-label--truncate {
2024-01-13 18:16:39 +00:00
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
2024-01-13 18:16:39 +00:00
/* Icon for button. */
2024-03-13 21:11:44 +00:00
.tree-list-item-visual {
2024-01-13 18:16:39 +00:00
pointer-events: none;
align-items: right;
}
2024-01-13 18:16:39 +00:00
/* Icon for button when it is before label. */
2024-03-13 21:11:44 +00:00
.tree-list-item-visual--leading {
2024-01-13 18:16:39 +00:00
grid-area: leading-visual;
width: var(--button-large-text-size);
2024-01-15 18:40:47 +00:00
text-align: right;
}
2024-01-13 18:16:39 +00:00
/* Icon for button when it is after label. */
2024-03-13 21:11:44 +00:00
.tree-list-item-visual--trailing {
2024-01-13 18:16:39 +00:00
grid-area: trailing-visual;
width: var(--button-large-text-size);
2024-01-15 18:40:47 +00:00
text-align: right;
2024-01-13 18:16:39 +00:00
}
/* Dropdown arrow for button. */
2024-03-13 21:11:44 +00:00
.tree-list-item-action--leading {
grid-area: leading-action;
2024-01-15 18:40:47 +00:00
}
.tree-list-item--file .tree-list-item-action--leading {
2024-01-15 18:40:47 +00:00
visibility: hidden;
2024-01-13 18:16:39 +00:00
}
2024-04-23 16:18:37 +00:00
/* Allow trailing action to overlap previous columns when area is too small. */
2024-03-13 21:11:44 +00:00
.tree-list-item-action--trailing {
2024-04-23 16:18:37 +00:00
z-index: 10;
grid-area: 1 / label / 1 / trailing-action;
justify-self: end;
padding-left: var(--spacing-sm);
}
/* Force background color on hover to hide any overlapped column content. */
.tree-list-item:hover .tree-list-item-action--trailing {
background: var(--button-secondary-background-fill-hover);
2024-01-13 18:16:39 +00:00
}
.tree-list-item .button-row {
display: flex;
2024-01-15 18:40:47 +00:00
visibility: hidden;
flex-direction: row;
align-items: center;
place-content: center;
gap: var(--spacing-sm);
box-sizing: border-box;
margin: 0;
margin-right: var(--spacing-sm);
}
2024-01-10 23:11:48 +00:00
.tree-list-item:hover .button-row {
2024-01-13 18:16:39 +00:00
visibility: visible;
2024-01-10 23:11:48 +00:00
}
.tree-list-item .card-button {
width: 100%;
height: 100%;
text-shadow: var(--shadow-drop);
font-size: var(--button-large-text-size);
color: var(--button-secondary-text-color);
padding: 0;
margin: 0;
}
.extra-network-dirs-view-button:hover {
-webkit-transition: all 0.05s ease-in-out;
transition: all 0.05s ease-in-out;
background: var(--button-secondary-background-fill-hover);
}
.extra-network-dirs-view-button[data-selected] {
background: var(--button-primary-background-fill);
2024-03-19 01:59:41 +00:00
border-color: var(--button-primary-border-color);
2024-04-15 17:48:53 +00:00
}
/* Custom scrollbar style. Only works on chromium based browsers. */
.styled-scrollbar::-webkit-scrollbar {
background: transparent;
width: var(--text-lg);
}
.styled-scrollbar::-webkit-scrollbar-track {
background: transparent;
background-clip: content-box;
}
.styled-scrollbar::-webkit-scrollbar-thumb {
background: var(--border-color-primary);
border-radius: var(--radius-xl);
border: calc(var(--button-border-width) * 4) solid var(--background-fill-primary);
}
.styled-scrollbar::-webkit-scrollbar-button {
display: none;
}