From 36c2d8eae8fba6278a8b49c7fa0a8138b595fa27 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Mar 2023 12:50:13 -0400 Subject: [PATCH] update gradio styles --- config.json | 17 ++- extensions-builtin/sd-extension-system-info | 2 +- .../stable-diffusion-webui-images-browser | 2 +- launch.py | 3 - modules/ui.py | 141 ++++++++---------- scripts/postprocessing_upscale.py | 5 +- ui-config.json | 4 +- user.css | 25 ++-- 8 files changed, 99 insertions(+), 100 deletions(-) diff --git a/config.json b/config.json index 3ee167823..22206e8b7 100644 --- a/config.json +++ b/config.json @@ -40,10 +40,12 @@ "directories_max_prompt_words": 8, "disable_weights_auto_swap": false, "disabled_extensions": [ + "a1111-sd-webui-locon", "openOutpaint-webUI-extension", "openpose-editor", "sd-webui-3d-open-pose-editor", - "ScuNET" + "ScuNET", + "sd-webui-model-converter" ], "do_not_add_watermark": true, "do_not_show_images": false, @@ -175,11 +177,11 @@ "save_training_settings_to_txt": false, "save_txt": false, "sd_checkpoint_cache": 0, - "sd_checkpoint_hash": "cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516", + "sd_checkpoint_hash": "6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa", "sd_hypernetwork_strength": 1.0, "sd_hypernetwork": "None", "sd_lora": "", - "sd_model_checkpoint": "sd-v15-runwayml.ckpt [cc6cb27103]", + "sd_model_checkpoint": "v1-5-pruned-emaonly.safetensors [6ce0161689]", "sd_vae_as_default": false, "sd_vae_checkpoint_cache": 0, "sd_vae": "vae-ft-mse-840000-ema-pruned.ckpt", @@ -223,5 +225,12 @@ "uni_pc_variant": "bh1", "uni_pc_skip_type": "time_uniform", "uni_pc_lower_order_final": true, - "image_browser_hidden_components": [] + "image_browser_hidden_components": [], + "save_mask": false, + "save_mask_composite": false, + "extra_networks_card_width": 0.0, + "extra_networks_card_height": 0.0, + "return_mask": false, + "return_mask_composite": false, + "control_net_sync_field_args": false } \ No newline at end of file diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info index 949229f65..907887c51 160000 --- a/extensions-builtin/sd-extension-system-info +++ b/extensions-builtin/sd-extension-system-info @@ -1 +1 @@ -Subproject commit 949229f655d6f5d4bcd02b1d71eb0cf9c7a1922d +Subproject commit 907887c51c1dd86c0693d306a1eb31059e979092 diff --git a/extensions-builtin/stable-diffusion-webui-images-browser b/extensions-builtin/stable-diffusion-webui-images-browser index f711a6929..230b62db3 160000 --- a/extensions-builtin/stable-diffusion-webui-images-browser +++ b/extensions-builtin/stable-diffusion-webui-images-browser @@ -1 +1 @@ -Subproject commit f711a692942d478660824ec5cd046fe22173f88b +Subproject commit 230b62db303f729642d9718ce578aa4594df2841 diff --git a/launch.py b/launch.py index 23012633f..431f6173f 100644 --- a/launch.py +++ b/launch.py @@ -234,9 +234,6 @@ def prepare_environment(): commit = commit_hash() - print(f"Python {sys.version}") - print(f"Commit hash: {commit}") - if args.reinstall_torch or not is_installed("torch") or not is_installed("torchvision"): run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True) diff --git a/modules/ui.py b/modules/ui.py index bffd228a1..66bb80ffe 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -185,13 +185,7 @@ def create_seed_inputs(target_interface): random_seed = ToolButton(random_symbol, elem_id=target_interface + '_random_seed') reuse_seed = ToolButton(reuse_symbol, elem_id=target_interface + '_reuse_seed') - seed_checkbox = gr.Checkbox(label='Extra', elem_id=target_interface + '_subseed_show', value=False) - - # Components to show/hide based on the 'Extra' checkbox - seed_extras = [] - - with FormRow(visible=False, elem_id=target_interface + '_subseed_row') as seed_extra_row_1: - seed_extras.append(seed_extra_row_1) + with FormRow(visible=True, elem_id=target_interface + '_subseed_row') as seed_extra_row_1: subseed = gr.Number(label='Variation seed', value=-1, elem_id=target_interface + '_subseed') subseed.style(container=False) random_subseed = ToolButton(random_symbol, elem_id=target_interface + '_random_subseed') @@ -199,19 +193,13 @@ def create_seed_inputs(target_interface): subseed_strength = gr.Slider(label='Variation strength', value=0.0, minimum=0, maximum=1, step=0.01, elem_id=target_interface + '_subseed_strength') with FormRow(visible=False) as seed_extra_row_2: - seed_extras.append(seed_extra_row_2) seed_resize_from_w = gr.Slider(minimum=0, maximum=2048, step=8, label="Resize seed from width", value=0, elem_id=target_interface + '_seed_resize_from_w') seed_resize_from_h = gr.Slider(minimum=0, maximum=2048, step=8, label="Resize seed from height", value=0, elem_id=target_interface + '_seed_resize_from_h') random_seed.click(fn=lambda: -1, show_progress=False, inputs=[], outputs=[seed]) random_subseed.click(fn=lambda: -1, show_progress=False, inputs=[], outputs=[subseed]) - def change_visibility(show): - return {comp: gr_show(show) for comp in seed_extras} - - seed_checkbox.change(change_visibility, show_progress=False, inputs=[seed_checkbox], outputs=seed_extras) - - return seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox + return seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w @@ -475,22 +463,24 @@ def create_ui(): elif category == "dimensions": with FormRow(): with gr.Column(elem_id="txt2img_column_size", scale=4): - width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="txt2img_width") - height = gr.Slider(minimum=64, maximum=2048, step=8, label="Height", value=512, elem_id="txt2img_height") + with FormRow(elem_id="txt2img_row_dimension"): + width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="txt2img_width") + height = gr.Slider(minimum=64, maximum=2048, step=8, label="Height", value=512, elem_id="txt2img_height") with gr.Column(elem_id="txt2img_dimensions_row", scale=1, elem_classes="dimensions-tools"): res_switch_btn = ToolButton(value=switch_values_symbol, elem_id="txt2img_res_switch_btn") if opts.dimensions_and_batch_together: with gr.Column(elem_id="txt2img_column_batch"): - batch_count = gr.Slider(minimum=1, step=1, label='Batch count', value=1, elem_id="txt2img_batch_count") - batch_size = gr.Slider(minimum=1, maximum=8, step=1, label='Batch size', value=1, elem_id="txt2img_batch_size") + with FormRow(elem_id="txt2img_row_batch"): + batch_count = gr.Slider(minimum=1, step=1, label='Batch count', value=1, elem_id="txt2img_batch_count") + batch_size = gr.Slider(minimum=1, maximum=8, step=1, label='Batch size', value=1, elem_id="txt2img_batch_size") elif category == "cfg": cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.5, label='CFG Scale', value=7.0, elem_id="txt2img_cfg_scale") elif category == "seed": - seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox = create_seed_inputs('txt2img') + seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w = create_seed_inputs('txt2img') elif category == "checkboxes": with FormRow(elem_classes="checkboxes-row", variant="compact"): @@ -562,7 +552,7 @@ def create_ui(): batch_size, cfg_scale, seed, - subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox, + subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, height, width, enable_hr, @@ -754,27 +744,26 @@ def create_ui(): elif category == "dimensions": with FormRow(): - with gr.Column(elem_id="img2img_column_size", scale=4): + with FormRow(elem_id="img2img_row_size"): width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="img2img_width") height = gr.Slider(minimum=64, maximum=2048, step=8, label="Height", value=512, elem_id="img2img_height") with gr.Column(elem_id="img2img_dimensions_row", scale=1, elem_classes="dimensions-tools"): res_switch_btn = ToolButton(value=switch_values_symbol, elem_id="img2img_res_switch_btn") - if opts.dimensions_and_batch_together: - with gr.Column(elem_id="img2img_column_batch"): - batch_count = gr.Slider(minimum=1, step=1, label='Batch count', value=1, elem_id="img2img_batch_count") - batch_size = gr.Slider(minimum=1, maximum=8, step=1, label='Batch size', value=1, elem_id="img2img_batch_size") + with FormRow(elem_id="img2img_row_batch"): + batch_count = gr.Slider(minimum=1, step=1, label='Batch count', value=1, elem_id="img2img_batch_count") + batch_size = gr.Slider(minimum=1, maximum=8, step=1, label='Batch size', value=1, elem_id="img2img_batch_size") elif category == "cfg": with FormGroup(): with FormRow(): cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.5, label='CFG Scale', value=7.0, elem_id="img2img_cfg_scale") image_cfg_scale = gr.Slider(minimum=0, maximum=3.0, step=0.05, label='Image CFG Scale', value=1.5, elem_id="img2img_image_cfg_scale", visible=shared.sd_model and shared.sd_model.cond_stage_key == "edit") - denoising_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Denoising strength', value=0.75, elem_id="img2img_denoising_strength") + denoising_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Denoising strength', value=0.75, elem_id="img2img_denoising_strength") elif category == "seed": - seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox = create_seed_inputs('img2img') + seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w = create_seed_inputs('img2img') elif category == "checkboxes": with FormRow(elem_classes="checkboxes-row", variant="compact"): @@ -869,7 +858,7 @@ def create_ui(): image_cfg_scale, denoising_strength, seed, - subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox, + subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, height, width, resize_mode, @@ -1009,49 +998,6 @@ def create_ui(): } return interp_descriptions[value] - with gr.Blocks(analytics_enabled=False) as modelmerger_interface: - with gr.Row().style(equal_height=False): - with gr.Column(variant='compact'): - interp_description = gr.HTML(value=update_interp_description("Weighted sum"), elem_id="modelmerger_interp_description") - - with FormRow(elem_id="modelmerger_models"): - primary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_primary_model_name", label="Primary model (A)") - create_refresh_button(primary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_A") - - secondary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_secondary_model_name", label="Secondary model (B)") - create_refresh_button(secondary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_B") - - tertiary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_tertiary_model_name", label="Tertiary model (C)") - create_refresh_button(tertiary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_C") - - custom_name = gr.Textbox(label="Custom Name (Optional)", elem_id="modelmerger_custom_name") - interp_amount = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Multiplier (M) - set to 0 to get model A', value=0.3, elem_id="modelmerger_interp_amount") - interp_method = gr.Radio(choices=["No interpolation", "Weighted sum", "Add difference"], value="Weighted sum", label="Interpolation Method", elem_id="modelmerger_interp_method") - interp_method.change(fn=update_interp_description, inputs=[interp_method], outputs=[interp_description]) - - with FormRow(): - checkpoint_format = gr.Radio(choices=["ckpt", "safetensors"], value="ckpt", label="Checkpoint format", elem_id="modelmerger_checkpoint_format") - save_as_half = gr.Checkbox(value=False, label="Save as float16", elem_id="modelmerger_save_as_half") - - with FormRow(): - with gr.Column(): - config_source = gr.Radio(choices=["A, B or C", "B", "C", "Don't"], value="A, B or C", label="Copy config from", type="index", elem_id="modelmerger_config_method") - - with gr.Column(): - with FormRow(): - bake_in_vae = gr.Dropdown(choices=["None"] + list(sd_vae.vae_dict), value="None", label="Bake in VAE", elem_id="modelmerger_bake_in_vae") - create_refresh_button(bake_in_vae, sd_vae.refresh_vae_list, lambda: {"choices": ["None"] + list(sd_vae.vae_dict)}, "modelmerger_refresh_bake_in_vae") - - with FormRow(): - discard_weights = gr.Textbox(value="", label="Discard weights with matching name", elem_id="modelmerger_discard_weights") - - with gr.Row(): - modelmerger_merge = gr.Button(elem_id="modelmerger_merge", value="Merge", variant='primary') - - with gr.Column(variant='compact', elem_id="modelmerger_results_container"): - with gr.Group(elem_id="modelmerger_results_panel"): - modelmerger_result = gr.HTML(elem_id="modelmerger_result", show_label=False) - with gr.Blocks(analytics_enabled=False) as train_interface: with gr.Row().style(equal_height=False): gr.HTML(value="

See wiki for detailed explanation.

") @@ -1059,6 +1005,49 @@ def create_ui(): with gr.Row(variant="compact").style(equal_height=False): with gr.Tabs(elem_id="train_tabs"): + with gr.Tab(label="Merge models") as modelmerger_interface: + with gr.Row().style(equal_height=False): + with gr.Column(variant='compact'): + interp_description = gr.HTML(value=update_interp_description("Weighted sum"), elem_id="modelmerger_interp_description") + + with FormRow(elem_id="modelmerger_models"): + primary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_primary_model_name", label="Primary model (A)") + create_refresh_button(primary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_A") + + secondary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_secondary_model_name", label="Secondary model (B)") + create_refresh_button(secondary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_B") + + tertiary_model_name = gr.Dropdown(modules.sd_models.checkpoint_tiles(), elem_id="modelmerger_tertiary_model_name", label="Tertiary model (C)") + create_refresh_button(tertiary_model_name, modules.sd_models.list_models, lambda: {"choices": modules.sd_models.checkpoint_tiles()}, "refresh_checkpoint_C") + + custom_name = gr.Textbox(label="Custom Name (Optional)", elem_id="modelmerger_custom_name") + interp_amount = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Multiplier (M) - set to 0 to get model A', value=0.3, elem_id="modelmerger_interp_amount") + interp_method = gr.Radio(choices=["No interpolation", "Weighted sum", "Add difference"], value="Weighted sum", label="Interpolation Method", elem_id="modelmerger_interp_method") + interp_method.change(fn=update_interp_description, inputs=[interp_method], outputs=[interp_description]) + + with FormRow(): + checkpoint_format = gr.Radio(choices=["ckpt", "safetensors"], value="ckpt", label="Checkpoint format", elem_id="modelmerger_checkpoint_format") + save_as_half = gr.Checkbox(value=False, label="Save as float16", elem_id="modelmerger_save_as_half") + + with FormRow(): + with gr.Column(): + config_source = gr.Radio(choices=["A, B or C", "B", "C", "Don't"], value="A, B or C", label="Copy config from", type="index", elem_id="modelmerger_config_method") + + with gr.Column(): + with FormRow(): + bake_in_vae = gr.Dropdown(choices=["None"] + list(sd_vae.vae_dict), value="None", label="Bake in VAE", elem_id="modelmerger_bake_in_vae") + create_refresh_button(bake_in_vae, sd_vae.refresh_vae_list, lambda: {"choices": ["None"] + list(sd_vae.vae_dict)}, "modelmerger_refresh_bake_in_vae") + + with FormRow(): + discard_weights = gr.Textbox(value="", label="Discard weights with matching name", elem_id="modelmerger_discard_weights") + + with gr.Row(): + modelmerger_merge = gr.Button(elem_id="modelmerger_merge", value="Merge", variant='primary') + + with gr.Column(variant='compact', elem_id="modelmerger_results_container"): + with gr.Group(elem_id="modelmerger_results_panel"): + modelmerger_result = gr.HTML(elem_id="modelmerger_result", show_label=False) + with gr.Tab(label="Create embedding"): new_embedding_name = gr.Textbox(label="Name", elem_id="train_new_embedding_name") initialization_text = gr.Textbox(label="Initialization text", value="*", elem_id="train_initialization_text") @@ -1558,11 +1547,11 @@ def create_ui(): ) interfaces = [ - (txt2img_interface, "txt2img", "txt2img"), - (img2img_interface, "img2img", "img2img"), - (extras_interface, "Extras", "extras"), - (pnginfo_interface, "PNG Info", "pnginfo"), - (modelmerger_interface, "Checkpoint Merger", "modelmerger"), + (txt2img_interface, "From Text", "txt2img"), + (img2img_interface, "From Image", "img2img"), + (extras_interface, "Process", "extras"), + (pnginfo_interface, "Image Info", "pnginfo"), + # (modelmerger_interface, "Checkpoint Merger", "modelmerger"), (train_interface, "Train", "ti"), ] diff --git a/scripts/postprocessing_upscale.py b/scripts/postprocessing_upscale.py index 069dfd1ac..027e3bc05 100644 --- a/scripts/postprocessing_upscale.py +++ b/scripts/postprocessing_upscale.py @@ -19,8 +19,9 @@ class ScriptPostprocessingUpscale(scripts_postprocessing.ScriptPostprocessing): with gr.Tabs(elem_id="extras_resize_mode"): with gr.TabItem('Scale by', elem_id="extras_scale_by_tab") as tab_scale_by: - upscaling_resize = gr.Slider(minimum=1.0, maximum=8.0, step=0.05, label="Resize", value=4, elem_id="extras_upscaling_resize") - extras_upscaler_1 = gr.Dropdown(label='Upscaler 1', elem_id="extras_upscaler_1", choices=[x.name for x in shared.sd_upscalers], value=shared.sd_upscalers[0].name) + with FormRow(): + upscaling_resize = gr.Slider(minimum=1.0, maximum=8.0, step=0.05, label="Resize", value=4, elem_id="extras_upscaling_resize") + extras_upscaler_1 = gr.Dropdown(label='Upscaler', elem_id="extras_upscaler_1", choices=[x.name for x in shared.sd_upscalers], value=shared.sd_upscalers[0].name) with gr.TabItem('Scale to', elem_id="extras_scale_to_tab") as tab_scale_to: with FormRow(): diff --git a/ui-config.json b/ui-config.json index 23771bdc0..ece85df4f 100644 --- a/ui-config.json +++ b/ui-config.json @@ -1544,5 +1544,7 @@ "customscript/loopback.py/img2img/Final denoising strength/maximum": 1, "customscript/loopback.py/img2img/Final denoising strength/step": 0.01, "customscript/loopback.py/img2img/Denoising strength curve/visible": true, - "customscript/loopback.py/img2img/Denoising strength curve/value": "Linear" + "customscript/loopback.py/img2img/Denoising strength curve/value": "Linear", + "customscript/postprocessing_upscale.py/extras/Upscaler/visible": true, + "customscript/postprocessing_upscale.py/extras/Upscaler/value": "None" } \ No newline at end of file diff --git a/user.css b/user.css index 50a4eaf78..356897576 100644 --- a/user.css +++ b/user.css @@ -1,15 +1,16 @@ /* generic html tags */ html { font-size: 16px; } -body, button, input, select, textarea { font-family: "Segoe UI"; font-variant: small-caps; overflow-x: hidden; } +body, button, input, select, textarea { font-family: "Segoe UI"; font-variant: small-caps; overflow-x: hidden; background-color: black !important } button { font-size: 1.2rem; } img { background-color: black; } -input[type=range] { height: 14px; appearance: none; margin-top: 12px; min-width: 160px } +input[type=range] { height: 16px; appearance: none; margin-top: 0; min-width: 160px } input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 18px; cursor: pointer; box-shadow: 2px 2px 3px #111111; background: #50555C; border-radius: 2px; border: 0px solid #222222; } input[type=range]::-webkit-slider-thumb { box-shadow: 2px 2px 3px #111111; border: 0px solid #000000; height: 18px; width: 40px; border-radius: 2px; background: var(--highlight-color); cursor: pointer; -webkit-appearance: none; margin-top: 0px; } ::-webkit-scrollbar { width: 12px; } ::-webkit-scrollbar-track { background: #333333; } ::-webkit-scrollbar-thumb { background-color: var(--highlight-color); border-radius: 2px; border-width: 0; box-shadow: 2px 2px 3px #111111; } svg.feather.feather-image { display: none; } +div.form { border-width: 0; box-shadow: none; background: transparent; overflow: visible; gap: 0.5em; margin-bottom: 6px; } /* main gradio components by selector */ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { background-color: black; } @@ -33,7 +34,7 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr .dark .gr-input-label { color: lightyellow; border-width: 0; background: transparent; padding: 2px !important; } .dark .gr-panel { border-radius: 0; background-color: black; } .dark { background-color: black; } -.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { background-color: #222222; padding: 0; margin-top: -4px; } +.dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { padding: 0; margin-top: -4px; } .dark fieldset span.text-gray-500, .dark .gr-block.gr-box span.text-gray-500, .dark label.block span { border-radius: 0;} .eta-bar { display: none !important } .extra-network-cards .card .actions .name { font-weight: 400; font-size: 1.2rem; } @@ -57,7 +58,7 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr .gradio-slider input[type="number"] { width: 4em; } /* automatic style classes */ -.progressDiv { border-radius: 0 !important; position: fixed; top: 272px; right: 30px; max-width: 248px; height: 36px; } +.progressDiv { border-radius: 0 !important; position: fixed; top: 308px; right: 30px; max-width: 248px; height: 36px; } .progressDiv .progress { border-radius: 0 !important; background: var(--highlight-color); line-height: 2.1rem; height: 36px; } .gallery-item { box-shadow: none !important; } .performance { color: #888; } @@ -69,7 +70,7 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr #img2img_neg_prompt > label > textarea { font-size: 1.2rem; } #img2img_prompt > label > textarea { font-size: 1.2rem; } #img2img_settings { min-width: calc(2 * var(--left-column)); max-width: calc(2 * var(--left-column)); background-color: #111111; padding-top: 16px; } -#interrogate, #deepbooru { margin: 20px 0 0 0px; min-width: 150px; padding: 2px; } +#interrogate, #deepbooru { margin: 16px 0px 16px 0px; max-width: 100px; max-height: 74px; font-weight: normal; font-size: 14px; } #lightboxModal { background-color: rgba(20, 20, 20, 0.8) } #quicksettings .gr-button-tool { font-size: 1.6rem; box-shadow: none; margin-left: -20px; margin-top: -2px; } #refresh_txt2img_styles, #refresh_img2img_styles, #open_folder_txt2img, #open_folder_img2img, #open_folder_extras, #footer, #style_pos_col, #style_neg_col, #roll_col, #save_zip_txt2img, #save_zip_img2img, #extras_upscaler_2, #extras_upscaler_2_visibility, #txt2img_res_switch_btn, #img2img_res_switch_btn, #txt2img_seed_resize_from_w, #txt2img_seed_resize_from_h, #txt2img_subseed_show, #txt2img_reuse_seed, #txt2img_reuse_subseed, #txt2img_tiling, #img2img_subseed_show { display: none; } @@ -77,13 +78,13 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr #script_list { padding: 4px; margin-top: 20px; } #settings > div.flex-wrap { width: 15em; } #tab_extensions table { background-color: #222222; } -#txt2img_actions_column #img2img_actions_column { min-width: 260px !important; max-width: 260px !important; } +#txt2img_actions_column, #img2img_actions_column { min-width: 260px !important; max-width: 260px !important; } #txt2img_cfg_scale { min-width: 200px; } #txt2img_checkboxes, #img2img_checkboxes { background-color: transparent; } #txt2img_checkboxes, #img2img_checkboxes { margin-bottom: 0.2em; } #txt2img_gallery, #img2img_gallery, #extras_gallery { background: black !important; padding: 0; margin: 0; object-fit: contain; box-shadow: none; min-height: 0; } -#txt2img_generate, #img2img_generate { margin-left: 10px; height: 36px; border: none; border-radius: 0; min-height: 36px; } -#txt2img_interrupt, #img2img_interrupt, #txt2img_skip, #img2img_skip { margin-left: 10px; height: 36px; min-width: 116px; max-width: 116px; border: none; border-radius: 0; background-color: var(--inactive-color); margin-top: 46px; display: block !important } +#txt2img_generate, #img2img_generate { margin-left: 10px; height: 36px; border: none; border-radius: 0; min-height: 36px; padding: 0; } +#txt2img_interrupt, #img2img_interrupt, #txt2img_skip, #img2img_skip { margin-left: 10px; height: 36px; min-width: 116px; max-width: 116px; border: none; border-radius: 0; background-color: var(--inactive-color); margin-top: 46px; display: block !important; padding: 0; } #txt2img_neg_prompt > label > textarea { font-size: 1.2rem; } #txt2img_progress_row > div { min-width: var(--left-column); max-width: var(--left-column); } #txt2img_prompt > label > textarea { font-size: 1.2rem; } @@ -139,8 +140,8 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr --checkbox-border-color-hover: var(--neutral-600); --checkbox-border-color-selected: var(--secondary-600); --checkbox-border-width: var(--input-border-width); - --checkbox-label-background-fill: linear-gradient(to top, var(--neutral-900), var(--neutral-800)); - --checkbox-label-background-fill-hover: linear-gradient(to top, var(--neutral-900), var(--neutral-800)); + --checkbox-label-background-fill: None; + --checkbox-label-background-fill-hover: None; --checkbox-label-background-fill-selected: var(--checkbox-label-background-fill); --checkbox-label-border-color: var(--border-color-primary); --checkbox-label-border-color-hover: var(--checkbox-label-border-color); @@ -277,7 +278,7 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr --section-header-text-size: var(--text-md); --section-header-text-weight: 400; --checkbox-border-radius: var(--radius-sm); - --checkbox-label-gap: var(--spacing-lg); + --checkbox-label-gap: 2px; --checkbox-label-padding: var(--spacing-md) calc(2 * var(--spacing-md)); --checkbox-label-shadow: var(--shadow-drop); --checkbox-label-text-size: var(--text-md); @@ -287,7 +288,7 @@ div.gradio-container.dark > div.w-full.flex.flex-col.min-h-screen > div { backgr --checkbox-shadow: var(--input-shadow); --error-border-width: 1px; --input-border-width: 0; - --input-padding: var(--spacing-xl); + --input-padding: 6px; --input-radius: var(--radius-lg); --input-shadow: 0 0 0 var(--shadow-spread) transparent, var(--shadow-inset); --input-text-size: var(--text-md);